An Adaptive Persistence and Work-stealing Combined Algorithm for Load Balancing on Parallel Discrete Event Simulation
Tang Wenjie,Yao Yiping,Li Tianlin,Song Xiao,Zhu Feng
DOI: https://doi.org/10.1145/3364218
IF: 0.851
2020-01-01
ACM Transactions on Modeling and Computer Simulation
Abstract:Load imbalance has always been a crucial challenge in Parallel Discrete Event Simulation (PDES). In the past few years, we have witnessed an increased interest in using multithreading PDES on multi/many-core platforms. In multithreading PDES, migrating logical processes and coordinating threads are more convenient and cause lower overhead, which provides a better circumstance for load balancing. However, current algorithms, including the persistence-based scheme and work-stealing-based scheme, have their drawbacks. On one hand, persistence-based load balancers, which use the historical data to predict the future, will inevitably make some error. On the other hand, the work-stealing scheme ignores the application-related characteristic, which may limit the potential performance improvement. In this article, we propose an adaptive persistence and work-stealing combined dynamic load balancing algorithm (APWS). The algorithm detects load imbalance, adaptively rebalances the distribution of logical processes, and uses a greedy lock-free work-stealing scheme to eliminate bias at runtime. We assess the performance of the APWS algorithm by a series of experiments. Results demonstrate that our APWS algorithm achieves better performance in different scenarios.