A GPU-Based Application Framework Supporting Fast Discrete-Event Simulation
Authors:
- 22 October 2009
- journal article
- research article
- Published by SAGE Publications in SIMULATION
- Vol. 86 (10) , 613-628
Abstract
The graphics processing unit (GPU) has evolved into a flexible and powerful processor of relatively low cost, compared to processors used for other available parallel computing systems. The majority of studies using the GPU within the graphics and simulation communities have focused on the use of the GPU for models that are traditionally simulated using regular time increments, whether these increments are accomplished through the addition of a time delta (i.e., numerical integration) or event scheduling using the delta (i.e., discrete event approximations of continuous-time systems). These types of models have the property of being decomposable over a variable or parameter space. In prior studies, discrete event simulation has been characterized as being an inefficient application for the GPU primarily due to the inherent synchronicity of the GPU organization and an apparent mismatch between the classic event scheduling cycle and the GPU’s basic functionality. However, we have found that irregular time advances of the sort common in discrete event models can be successfully mapped to a GPU, thus making it possible to execute discrete event systems on an inexpensive personal computer platform at speedups close to 10x. This speedup is achieved through the development of a special purpose code library we developed that uses an approximate time-based event scheduling approach. We present the design and implementation of this library, which is based on the compute unified device architecture (CUDA) general purpose parallel applications programming interface for the NVIDIA class of GPUs.Keywords
This publication has 18 references indexed in Scilit:
- A Survey of General‐Purpose Computation on Graphics HardwareComputer Graphics Forum, 2007
- A comparative study of parallel and sequential priority queue algorithmsACM Transactions on Modeling and Computer Simulation, 1997
- An efficient algorithm for concurrent priority queue heapsInformation Processing Letters, 1996
- Effectiveness of global event queues in rollback reduction and load balancingACM SIGSIM Simulation Digest, 1995
- Parallel Discrete Event Simulation on SIMD ComputersJournal of Parallel and Distributed Computing, 1993
- Concurrent operations on priority queuesCommunications of the ACM, 1989
- Concurrent access of priority queuesIEEE Transactions on Computers, 1988
- Calendar queues: a fast 0(1) priority queue implementation for the simulation event set problemCommunications of the ACM, 1988
- Self-adjusting binary search treesJournal of the ACM, 1985
- The simulation of a master-slave event set processorSIMULATION, 1984