Abstract
Numerical models are used to enhance the understanding of the behavior of real world systems. With increasing complexity of numerical models and their applications, there is a need of more computational power. State of the art processors contain many cores on one single chip. As such, new programming techniques are required if all these cores are to be utilized during model simulation runs. This manuscript reviews the runtime and speedup behavior of parallel model analysis software (e.g. Calimero and Achilles) applied to simulation tools for urban water management (e.g. CityDrain3, EPANET2, SWMM5, par-SWMM). The potential of using a parallel programming environment for ‘coordinating’ tasks of multiple runs of commonly used modeling software is analyzed. This is especially interesting as the modeling software itself can be implanted sequentially or parallel. Performance tests are performed on a set of real-world case studies. Additionally, a benchmark set of 2,280 virtual case studies is used to investigate performance improvement in relation to the size of the system. It was found that speedup depends on the system size and the time spent in critical code sections with increasing number of used cores. Applying parallelism only at the level of the model analysis software performs best.
Highlights
Numerical models are applied in many research fields to better understand the behavior of real world systems
Applying parallelism only on the second level utilizes all available cores better and has a better speedup behavior (Figure 8, diamond marker – CD3 1 thread). In this manuscript the potential of a simple parallelization strategy is outlined for analysis software (Model Controlling Software at level 2 – MCS-2 level), which inherently needs multiple simulations
The parallelization strategy executes several modeling software instances in parallel (the software itself implemented either sequentially or parallel (Modeling Software at level 1 – MS-1 level). This strategy is shown and analyzed based on runtime and speedup using two different analysis software products denoted as Achilles and Calimero
Summary
Numerical models are applied in many research fields to better understand the behavior of real world systems. The era of parallel programming has reached all fields of software development as the necessary hardware has become available on inexpensive desktop machines (Hill & Marty ). This new trend implies several new programming paradigms and frameworks for concurrent programming on different levels. Mediumgrained parallelism is, for example, using programming paradigms like OpenMP (Dagum & Menon ) on shared memory systems and MPI (Message Passing Interface) (Gabriel et al ) on distributed memory systems On this level, the parallelization is mostly realized on functional concurrency.
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have
Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.