An Approach to Parallel Simulation of Ordinary Differential Equations
- 1 Department of Electrical Engineering and Computer Science, Milwaukee School of Engineering, Milwaukee, WI, USA
- 2 Department of Electrical Engineering and Computer Science, Vanderbilt University, Nashville, TN, USA
Abstract
Cyber-physical systems (CPS) represent a class of complex engineered systems where functionality and behavior emerge through the interaction between the computational and physical domains. Simulation provides design engineers with quick and accurate feedback on the behaviors generated by their designs. However, as systems become more complex, simulating their behaviors becomes computation all complex. But, most modern simulation environments still execute on a single thread, which does not take advantage of the processing power available on modern multi-core CPUs. This paper investigates methods to partition and simulate differential equation-based models of cyber-physical systems using multiple threads on multi-core CPUs that can share data across threads. We describe model partitioning methods using fixed step and variable step numerical in-tegration methods that consider the multi-layer cache structure of these CPUs to avoid simulation performance degradation due to cache conflicts. We study the effectiveness of each parallel simu-lation algorithm by calculating the relative speedup compared to a serial simulation applied to a series of large electric circuit models. We also develop a series of guidelines for maximizing performance when developing parallel simulation software intended for use on multi-core CPUs.
- Krogh, B.H., et al. (2008) Cyber-Physical Systems Executive Summary. CPS Steering Group, Arlington.
- Sztipanovits, J., et al. (2012) Toward a Science of Cyber-Physical System Integration. Proceedings of the IEEE, 100, 29-44. http://dx.doi.org/10.1109/JPROC.2011.2161529
- Lee, E.A. (2008) Cyber Physical Systems: Design Challenges. 11th IEEE International Symposium on Object Oriented Real-Time Distributed Computing (ISORC), Orlando, 5-7 May 2008, 363-369. http://dx.doi.org/10.1109/isorc.2008.25
- Karsai, G. and Sztipanovits, J. (2008) Model-Integrated Development of Cyber-Physical Systems. Software Technologies for Embedded and Ubiquitous Systems, 5287, 46-54. http://dx.doi.org/10.1007/978-3-540-87785-1_5
- Sangiovanni-Vincentelli, A. (2007) Quo Vadis, SLD? Reasoning about the Trends and Challenges of System Level Design. Proceedings of the IEEE, 95, 467-506. http://dx.doi.org/10.1109/JPROC.2006.890107
- Danowitz, A., et al. (2012) CPU DB: Recording Microprocessor History. Communications ACM, USA.
- Patterson, D. and Hennessy, J. (2014) Computer Organization and Design: The Hardware/Software Interface. 5th Edition, Morgan Kaufmann, Burlington.
- Ostrovsky. I. (2010) Gallery of Processor Cache Effects. http://igoro.com/archive/gallery-of-processor-cache-effects
- Meyers, S. (2011) CPU Caches and Why You Care. http://www.aristeia.com/TalkNotes/ACCU2011_CPUCaches.pdf
- Meijer, P. (2011) Tearing Systems of Differential Algebraic Equations. Master’s Thesis.
- Cellier, F.E. and Kofman, E. (2006) Continuous System Simulation. Springer, Berlin, Chapter 2, 25-56.
- Cellier, F.E. and Kofman, E. (2006) Continuous System Simulation. Springer, Berlin, Chapter 8, 319-396.
- Lambert, J.D. (1991) Numerical Methods for Ordinary Differential Systems: The Initial Value Problem. John Wiley & Sons, Inc., Hoboken, Chapter 2, 21-44.
- Fehlberg, E. (1968) Classical Fifth-, Sixth-, Seventh-, and Eighth-Order Runge-Kutta Formulas. Technical Report TR R-287, NASA Johnson Space Center, Houston.
- Elmqvist, H., Otter, M. and Cellier, F.E. (1995) Inline Integration: A New Mixed Symbolic/Numeric Approach for Solving Differential-Algebraic Equation Systems. Proceedings of ESM 95, European Simulation Multiconference. https://www.inf.ethz.ch/personal/cellier/Pubs/OO/esm_95.pdf