Demand-Driven PDES: Exploiting Locality in Simulation Models

Ali Eker, B. Williams, K. Chiu, D. Ponomarev
{"title":"Demand-Driven PDES: Exploiting Locality in Simulation Models","authors":"Ali Eker, B. Williams, K. Chiu, D. Ponomarev","doi":"10.1145/3384441.3395976","DOIUrl":null,"url":null,"abstract":"Traditional parallel discrete event simulation (PDES) systems treat each simulation thread in the same manner, regardless of whether a thread has events to process in its input queue or not. At the same time, many real-life simulation models exhibit significant execution locality, where only part of the model (and thus a subset of threads) are actively sending or receiving messages in a given time period. These inactive threads still continuously check their queues and participate in simulation-wide time synchronization mechanisms, such as computing Global Virtual Time (GVT). This wastes resources, ties up CPU cores with threads that offer no contribution to event processing and limits the performance and scalability of the simulation. In this paper, we propose a new paradigm for managing PDES threads that we call Demand-Driven PDES (DD-PDES). The key idea behind DD-PDES is to identify threads that have no events to process and de-schedule them from the CPU until they receive a message requiring event processing. Furthermore, these inactive threads are also excluded from participation in the GVT computation, accelerating that process as a result. DD-PDES ensures that the CPU cycles are mostly spent on actual event processing, resulting in performance improvements. This architecture allows for significant over-subscription of threads by exceeding the number of available hardware thread contexts on the chip. We demonstrate that on a Knights Landing processor, DD-PDES significantly outperforms the traditional simulation equipped with the best currently proposed GVT algorithms.","PeriodicalId":422248,"journal":{"name":"Proceedings of the 2020 ACM SIGSIM Conference on Principles of Advanced Discrete Simulation","volume":"21 10 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2020-06-06","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"4","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings of the 2020 ACM SIGSIM Conference on Principles of Advanced Discrete Simulation","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/3384441.3395976","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 4

Abstract

Traditional parallel discrete event simulation (PDES) systems treat each simulation thread in the same manner, regardless of whether a thread has events to process in its input queue or not. At the same time, many real-life simulation models exhibit significant execution locality, where only part of the model (and thus a subset of threads) are actively sending or receiving messages in a given time period. These inactive threads still continuously check their queues and participate in simulation-wide time synchronization mechanisms, such as computing Global Virtual Time (GVT). This wastes resources, ties up CPU cores with threads that offer no contribution to event processing and limits the performance and scalability of the simulation. In this paper, we propose a new paradigm for managing PDES threads that we call Demand-Driven PDES (DD-PDES). The key idea behind DD-PDES is to identify threads that have no events to process and de-schedule them from the CPU until they receive a message requiring event processing. Furthermore, these inactive threads are also excluded from participation in the GVT computation, accelerating that process as a result. DD-PDES ensures that the CPU cycles are mostly spent on actual event processing, resulting in performance improvements. This architecture allows for significant over-subscription of threads by exceeding the number of available hardware thread contexts on the chip. We demonstrate that on a Knights Landing processor, DD-PDES significantly outperforms the traditional simulation equipped with the best currently proposed GVT algorithms.
需求驱动的PDES:利用仿真模型中的局部性
传统的并行离散事件模拟(PDES)系统以相同的方式对待每个模拟线程,而不管线程在其输入队列中是否有要处理的事件。与此同时,许多现实生活中的仿真模型显示出重要的执行局部性,在给定的时间段内,只有部分模型(因此是线程的子集)在积极地发送或接收消息。这些非活动线程仍然持续检查它们的队列,并参与模拟范围的时间同步机制,例如计算全局虚拟时间(GVT)。这会浪费资源,将CPU内核与对事件处理没有贡献的线程捆绑在一起,并限制了模拟的性能和可伸缩性。在本文中,我们提出了一个管理PDES线程的新范式,我们称之为需求驱动的PDES (DD-PDES)。DD-PDES背后的关键思想是识别没有事件要处理的线程,并从CPU中取消对它们的调度,直到它们接收到需要处理事件的消息。此外,这些不活动的线程也被排除在GVT计算之外,从而加速了该过程。DD-PDES确保CPU周期主要用于实际的事件处理,从而提高了性能。这种体系结构允许通过超过芯片上可用的硬件线程上下文的数量来大量超额订阅线程。我们证明了在Knights Landing处理器上,DD-PDES明显优于配备了目前提出的最佳GVT算法的传统仿真。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约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学术文献互助群
群 号:604180095
Book学术官方微信