Andreas Brunnert, André van Hoorn, Felix Willnecker, Alexandru Danciu,
Wilhelm Hasselbring, Christoph Heger, Nikolas Roman Herbst, Pooyan Jamshidi,
Reiner Jung, Jóakim von Kistowski, Anne Koziolek, Johannes Kroß,
Simon Spinner, Christian Vögele, Jürgen Walter, and Alexander
Wert.
Performance-oriented devops: A research agenda.
Technical Report SPEC-RG-2015-01, SPEC Research Group - DevOps
Performance Working Group, Standard Performance Evaluation Corporation
(SPEC), 2015.
[ bib |
http ]
Jürgen Walter.
Parallel Simulation of Queueing Petri Net Models.
Diploma thesis, Karlsruhe Institute of Technology (KIT), Am
Fasanengarten 5, 76131 Karlsruhe, Germany, October 2013.
[ bib |
.pdf | Abstract ]
For years the CPU clock frequency was the key to improve processor performance. Nowadays, modern processors enable performance improvements by increasing the number of cores. However, existing software needs to be adapted to be able to utilize multiple cores. Such an adaptation poses many challenges in the field of discrete-event software simulation. Decades of intensive research have been spent to find a general solution for parallel discrete event simulation. In this context, QNs and PNs have been extensively studied. However, to the best of our knowledge, there is only one previous work that considers the concurrent simulation of QPN [Juergens1997]. This work focuses on comparing different synchronization algorithms and excludes a majority of lookahead calculation and net decomposition. In this thesis, we build upon and extend this work. For this purpose, we adapted and extended findings from QNs, PNs and parallel simulation in general. We apply our findings to SimQPN, which is a sequential simulation engine for QPN. Among other application areas, SimQPN is currently applied to online performance prediction for which a speedup due to parallelization is desirable. We present a parallel SimQPN implementation that employs application level and event level parallelism. A validation ensures the functional correctness of the new parallel implementations. The parallelization of multiple runs enables almost linear speedup. We parallelized the execution of a single run by the use of a conservative barrier-based synchronization algorithm. The speedup for a single run depends on the capability of the model. Hence, a number of experiments on different net characteristics were conducted showing that for certain models a superlinear speedup is possible.