Event pool structures for PDES on many-core Beowulf clusters

  • Authors:
  • Tom Dickman;Sounak Gupta;Philip A. Wilsey

  • Affiliations:
  • University of Cincinnati, Cincinnati, OH, USA;University of Cincinnati, Cincinnati, OH, USA;University of Cincinnati, Cincinnati, OH, USA

  • Venue:
  • Proceedings of the 2013 ACM SIGSIM conference on Principles of advanced discrete simulation
  • Year:
  • 2013

Quantified Score

Hi-index 0.00

Visualization

Abstract

Multi-core and many-core processing chips are becoming widespread and are now being widely integrated into Beowulf clusters. This poses a challenging problem for distributed simulation as it now becomes necessary to extend the algorithms to operate on a platform that includes both shared memory and distributed memory hardware. Furthermore, as the number of on-chip cores grows, the challenges for developing solutions without significant contention for shared data structures grows. This is especially true for the pending event list data structures where multiple execution threads attempt to schedule the next event for execution. This problem is especially aggravated in parallel simulation, where event executions are generally fine-grained leading quickly to non-trivial contention for the pending event list. This manuscript explores the design of the software architecture and several data structures to manage the pending event sets for execution in a Time Warp synchronized parallel simulation engine. The experiments are especially targeting multi-core and many-core Beowulf clusters containing 8-core to 48-core processors. These studies include a two-level structure for holding the pending event sets using three different data structures, namely: splay trees, the STL multiset, and ladder queues. Performance comparisons of the three data structures using two architectures for the pending event sets are presented.