Abstract

We investigate a variety of parallel priority queue data structures to implement the global event queue of the optimistic discrete event simulation. The choice of the data structure is shown to depend on the granularity of the events. For medium-to-coarse-grained systems, a moderately fast data structure, such as a parallelized calendar queue, suffices. For fine-grained systems, such as the logic circuits, a sophisticated data structure, namely, parallel heap, was found necessary to exploit the underlying concurrency. With a suitable choice of data structure, we experimentally demonstrate speedups from two to four using six processors of a small bus-based shared-memory computer. Such speedups are possible because our simulators are based on global event queues which resulted in a drastically reduced rollback frequency and an excellent dynamic load balance, two main problems associated with local-event-queue-based optimistic simulators. In these experiments, the coarse-and the medium-grained networks were carefully selected to cause numerous rollbacks and severe load imbalance in local-event-queue-based simulators. For fine-gained networks, even the global-queue-based simulators which do not employ parallel heap could not achieve any speedup. We include performance data on three simulators based on parallelized calendar queues and a logic simulator based on parallel heaps.< <ETX xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">&gt;</ETX>

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call