Towards a fully non-blocking share-everything PDES platform

Mauro Ianni, Romolo Marotta, Alessandro Pellegrini, F. Quaglia
{"title":"Towards a fully non-blocking share-everything PDES platform","authors":"Mauro Ianni, Romolo Marotta, Alessandro Pellegrini, F. Quaglia","doi":"10.1109/DISTRA.2017.8167663","DOIUrl":null,"url":null,"abstract":"Shared-memory multi-core platforms are changing the nature of Parallel Discrete Event Simulation (PDES) because of the possibility to fully share the workload of events to be processed across threads. In this context, one rising PDES paradigm — referred to as share-everything PDES — is no longer based on the concept of (temporary) biding of simulation objects to worker threads. Rather, each worker threads can — at any time — pick from a fully shared event pool an event to process which can be destined to whatever simulation object. While attention has been posed on the design of concurrent shared pools, allowing non-blocking parallel operations, the scenario where two (or more) threads pick events destined to the same simulation object still lacks adequate synchronization support. In fact, these events are currently sequentialized and processed in a critical section touching the simulation object state, thus leading threads to mutually block each other. In this article we present the design of a share-everything speculative PDES engine that prevents mutual thread blocks because of the access to a same object state. In our design, the non-blocking property is seen as a vertical attribute of the engine (not only of the event pool). This vertical view demands for innovative event-dispatching schemes and, at the same time, innovative interactions with (and management of) the fully-shared event pool, which are features that we embed in our innovative design.","PeriodicalId":109971,"journal":{"name":"2017 IEEE/ACM 21st International Symposium on Distributed Simulation and Real Time Applications (DS-RT)","volume":"3 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2017-10-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"5","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2017 IEEE/ACM 21st International Symposium on Distributed Simulation and Real Time Applications (DS-RT)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/DISTRA.2017.8167663","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 5

Abstract

Shared-memory multi-core platforms are changing the nature of Parallel Discrete Event Simulation (PDES) because of the possibility to fully share the workload of events to be processed across threads. In this context, one rising PDES paradigm — referred to as share-everything PDES — is no longer based on the concept of (temporary) biding of simulation objects to worker threads. Rather, each worker threads can — at any time — pick from a fully shared event pool an event to process which can be destined to whatever simulation object. While attention has been posed on the design of concurrent shared pools, allowing non-blocking parallel operations, the scenario where two (or more) threads pick events destined to the same simulation object still lacks adequate synchronization support. In fact, these events are currently sequentialized and processed in a critical section touching the simulation object state, thus leading threads to mutually block each other. In this article we present the design of a share-everything speculative PDES engine that prevents mutual thread blocks because of the access to a same object state. In our design, the non-blocking property is seen as a vertical attribute of the engine (not only of the event pool). This vertical view demands for innovative event-dispatching schemes and, at the same time, innovative interactions with (and management of) the fully-shared event pool, which are features that we embed in our innovative design.
迈向一个完全无阻塞共享一切的PDES平台
共享内存多核平台正在改变并行离散事件模拟(PDES)的性质,因为可以跨线程完全共享要处理的事件的工作负载。在这种情况下,一种正在兴起的PDES范式(称为共享一切PDES)不再基于将模拟对象(临时)绑定到工作线程的概念。相反,每个工作线程可以——在任何时候——从一个完全共享的事件池中选择一个事件来处理,这个事件可以被指定给任何模拟对象。虽然关注并发共享池的设计,允许非阻塞并行操作,但两个(或更多)线程选择指向相同模拟对象的事件的场景仍然缺乏足够的同步支持。事实上,这些事件当前是在触及模拟对象状态的临界段中被序列化和处理的,因此导致线程相互阻塞。在本文中,我们介绍了一个共享一切的推测性PDES引擎的设计,它可以防止由于访问相同的对象状态而导致的相互线程阻塞。在我们的设计中,非阻塞属性被视为引擎的垂直属性(不仅仅是事件池的)。这种垂直视图需要创新的事件调度方案,同时需要与完全共享的事件池进行创新的交互(和管理),这些都是我们在创新设计中嵌入的功能。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信