{"title":"用开放MPI/GSL和Matlab PCT解决ARGESIM基准CP2“并行和分布式仿真”-蒙特卡罗和PDE案例研究","authors":"David Jammer, P. Junglas, S. Pawletta","doi":"10.11128/sne.32.bncp2.10625","DOIUrl":null,"url":null,"abstract":"The ARGESIM benchmark CP2 provides three different tasks to study current technologies for the parallelization of simulation programs. The first task is the Monte Carlo study. In this study, a spring-mass system is simulated with different damping factors. The second task is a Latice Boltzmann simulation in which the flow of a fluid in a special geomentry is simulated. The third problem is a partial differential equation (PDE) describing a swinging rope, which is solved by the Method of Lines. TheMonte Carlo and the PDE study are solved here, each one with two different methods: The first one applies the standard MPI message passing library together with the GNU Scientific Library, the second one uses Matlab from The MathWorks in combination with the Parallel Computing Toolbox. A special focus of this work is on the parallel processing functions provided byMatlab. The solutions are compared with each other in terms of performance and scalability. In most cases, the solutions with OpenMPI and GSL were faster than the solutions with Matlab PCT. The Matlab PCT offers many functionalities and applications to accelerate, but these usually have a poor runtime behavior. Introduction In simulation technology, methods to accelerate simulation were investigated in the early phases. The first benchmarks (CP1) of the SNE series dealing with this topic date back to 1994 [1] and were successfully solved and investigated with different technologies and on different platforms. This benchmark got an update (CP2) in 2007 [2] to adapt it to the increasing computing power. Unfortunately, no further solutions were submitted after this change. Since 2007, the computing power and the architecture of the hardware and software have changed a lot, so the parallel benchmarks should be brought back to life. In this paper, two tasks of CP2 will be investigated. The tasks were implemented with two different technologies. The first technology is the Message Passing Interface (MPI) [3] in version 4 together with the GNU Scientific Library (GSL) [4]. MPI was developed in the early 1990s and standardized in 1994. Since then MPI has been developed continuously and is still one of the standard technologies in parallel processing. MPI has been implemented by several institutes. In this paper Open MPI 4 [5] was used. GSL was developed in 1996 by M. Galassi and J. Theiler from Los Alamos National Laboratory and is currently updated and further developed. The solutions designed with it were implemented in the C language. Thus, the first solution is based on open source solutions.","PeriodicalId":262785,"journal":{"name":"Simul. Notes Eur.","volume":"44 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2022-12-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"2","resultStr":"{\"title\":\"Solving ARGESIM Benchmark CP2 'Parallel and Distributed Simulation' with Open MPI/GSL and Matlab PCT - Monte Carlo and PDE Case Studies\",\"authors\":\"David Jammer, P. Junglas, S. Pawletta\",\"doi\":\"10.11128/sne.32.bncp2.10625\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"The ARGESIM benchmark CP2 provides three different tasks to study current technologies for the parallelization of simulation programs. The first task is the Monte Carlo study. In this study, a spring-mass system is simulated with different damping factors. The second task is a Latice Boltzmann simulation in which the flow of a fluid in a special geomentry is simulated. The third problem is a partial differential equation (PDE) describing a swinging rope, which is solved by the Method of Lines. TheMonte Carlo and the PDE study are solved here, each one with two different methods: The first one applies the standard MPI message passing library together with the GNU Scientific Library, the second one uses Matlab from The MathWorks in combination with the Parallel Computing Toolbox. A special focus of this work is on the parallel processing functions provided byMatlab. The solutions are compared with each other in terms of performance and scalability. In most cases, the solutions with OpenMPI and GSL were faster than the solutions with Matlab PCT. The Matlab PCT offers many functionalities and applications to accelerate, but these usually have a poor runtime behavior. Introduction In simulation technology, methods to accelerate simulation were investigated in the early phases. The first benchmarks (CP1) of the SNE series dealing with this topic date back to 1994 [1] and were successfully solved and investigated with different technologies and on different platforms. This benchmark got an update (CP2) in 2007 [2] to adapt it to the increasing computing power. Unfortunately, no further solutions were submitted after this change. Since 2007, the computing power and the architecture of the hardware and software have changed a lot, so the parallel benchmarks should be brought back to life. In this paper, two tasks of CP2 will be investigated. The tasks were implemented with two different technologies. The first technology is the Message Passing Interface (MPI) [3] in version 4 together with the GNU Scientific Library (GSL) [4]. MPI was developed in the early 1990s and standardized in 1994. Since then MPI has been developed continuously and is still one of the standard technologies in parallel processing. MPI has been implemented by several institutes. In this paper Open MPI 4 [5] was used. GSL was developed in 1996 by M. Galassi and J. Theiler from Los Alamos National Laboratory and is currently updated and further developed. The solutions designed with it were implemented in the C language. Thus, the first solution is based on open source solutions.\",\"PeriodicalId\":262785,\"journal\":{\"name\":\"Simul. Notes Eur.\",\"volume\":\"44 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2022-12-01\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"2\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"Simul. Notes Eur.\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.11128/sne.32.bncp2.10625\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"Simul. Notes Eur.","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.11128/sne.32.bncp2.10625","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
Solving ARGESIM Benchmark CP2 'Parallel and Distributed Simulation' with Open MPI/GSL and Matlab PCT - Monte Carlo and PDE Case Studies
The ARGESIM benchmark CP2 provides three different tasks to study current technologies for the parallelization of simulation programs. The first task is the Monte Carlo study. In this study, a spring-mass system is simulated with different damping factors. The second task is a Latice Boltzmann simulation in which the flow of a fluid in a special geomentry is simulated. The third problem is a partial differential equation (PDE) describing a swinging rope, which is solved by the Method of Lines. TheMonte Carlo and the PDE study are solved here, each one with two different methods: The first one applies the standard MPI message passing library together with the GNU Scientific Library, the second one uses Matlab from The MathWorks in combination with the Parallel Computing Toolbox. A special focus of this work is on the parallel processing functions provided byMatlab. The solutions are compared with each other in terms of performance and scalability. In most cases, the solutions with OpenMPI and GSL were faster than the solutions with Matlab PCT. The Matlab PCT offers many functionalities and applications to accelerate, but these usually have a poor runtime behavior. Introduction In simulation technology, methods to accelerate simulation were investigated in the early phases. The first benchmarks (CP1) of the SNE series dealing with this topic date back to 1994 [1] and were successfully solved and investigated with different technologies and on different platforms. This benchmark got an update (CP2) in 2007 [2] to adapt it to the increasing computing power. Unfortunately, no further solutions were submitted after this change. Since 2007, the computing power and the architecture of the hardware and software have changed a lot, so the parallel benchmarks should be brought back to life. In this paper, two tasks of CP2 will be investigated. The tasks were implemented with two different technologies. The first technology is the Message Passing Interface (MPI) [3] in version 4 together with the GNU Scientific Library (GSL) [4]. MPI was developed in the early 1990s and standardized in 1994. Since then MPI has been developed continuously and is still one of the standard technologies in parallel processing. MPI has been implemented by several institutes. In this paper Open MPI 4 [5] was used. GSL was developed in 1996 by M. Galassi and J. Theiler from Los Alamos National Laboratory and is currently updated and further developed. The solutions designed with it were implemented in the C language. Thus, the first solution is based on open source solutions.