Improved Scheduling Techniques for Parallel Distributed-Solver System Simulation
(English)Manuscript (preprint) (Other academic)
Shortening simulation time is an important step towards efficient simulation-based product development. A long-used method is to exploit physically motivated time delays to split up the model into distributed solvers. In this way, the use of a centralized sequential solver can be circumvented. For maximum simulation performance, however, an efficient scheduling technique is also required. Four task scheduling methods for distributed-solver simulations has been implemented and evaluated. Experiments indicate that the best choice largely depend on model size, load distribution and granularity. Lock-based barrier synchronization provides the highest speed-up for small models. A fork-join implementation, with implicit synchronization and work-stealing scheduling, works better for models with a large total workload. It is common that workload and load distribution of a simulation model varies during execution depending on the current state of the simulation. Three of the implemented schedulers support dynamic load balancing during execution. Results show that task-stealing is the most efficient method for the specific test model. A possible continuation of this work is an automatic selection of the best scheduling technique based on knowledge about model properties and available computer resources.
System simulation, distributed solvers, parallelism, scheduling, transmission line element method
Electrical Engineering, Electronic Engineering, Information Engineering Fluid Mechanics and Acoustics
IdentifiersURN: urn:nbn:se:liu:diva-122749OAI: oai:DiVA.org:liu-122749DiVA: diva2:872635