Font Size: a A A

Parallelization Of Simulation Model Portability Specification On Multi-core Computer

Posted on:2011-10-12Degree:DoctorType:Dissertation
Country:ChinaCandidate:N L SuFull Text:PDF
GTID:1118360308985571Subject:Control Science and Engineering
Abstract/Summary:PDF Full Text Request
Currently, the development of computer microprocessors has stepped into the era of multi-core, and keeps going forward from multi-core to many-core. Traditional desktop simulation softwares can't make full use of the computing capability provided by multi-core & many-core platforms and show the predicted performance. Parallelization of desktop simulation softwares is an efficient way to exploit higher usage of the computing capability and speed up the execution of simulation. Simulation Model Portability standard 2 (SMP2) is an open modeling & simulation specification published by the European Space Agency. It has been applied successfully to a series of projects in the aerospace simulation and the military simulation. However, it only supports the serial simulation. It will bring two-fold benefits to parallelize the SMP2 specification on the multi-core platform: i) this work will accelerate the running of SMP2-based simulations, and ii) it will provide a better framework for the design, development, integration and execution of parallel models.Aiming at speeding up the execution of SMP2-based applications and promoting the development of the Parallel Discrete Event Simulation (PDES) through software engineering approaches, this dissertation focuses on addressing how to parallelize the SMP2 simulation engine on multi-core computers and how to modify SMP2 simulation models to fit the parallel environment. It solves the related problems both in theory and in practice during the parallelization of the SMP2 specification on multi-core computers. The contents to research include the following parts:(1) To execute the SMP2 simulation engine in parallel, the architecture of Parallel SMP2 (P-SMP2) and the four-layer load distributing model of P-SMP2 are proposed. The consistency between serial simulation models and parallel simulation models as well as the consistency of simulation models for different synchronization protocols are analyzed. The modeling and simulation framework based on P-SMP2 is also presented.(2) In order to effectively integrate multiple algorithms on three different levels, i.e., synchronization protocol level, simulation service level and data structure level, a plug-in mechanism is proposed for the P-SMP2 simulation engine. The developing approach of plug-ins for logical processes using three synchronization protocols is discussed to demonstrate the capability of the plug-in mechanism to integrate multiple algorithms. These three synchronization protocols are optimized according to the features of multi-core computers.(3) The automated load balancing framework for the P-SMP2 simulation engine on multi-core computers is discussed. In the context of the Time Warp synchronization protocol, this dissertation presents a static partitioning scheme which uses a graph partitioning package called Metis and a dynamic load balancing scheme which uses the strategy of priority scheduling.(4) In order to support the model-driven & component-based development approach of P-SMP2 simulation models, three interaction patterns among SMP2 model components are modified to fit the parallel environment, two techniques of the model-driven engineering for developing P-SMP2 model components are also investigated: a rapid method based on the Eclipse Modeling Framework to develop a domain-specific modeling environment and a code generation method based on code templates.(5) On the basis of the SMP2 simulation engine, the P-SMP2 simulation engine prototype is designed and implemented with the OpenMP programming language and the Parallel Studio parallel programming development environment. The service performance simulation of satellite navigation systems is developed as a case study. It achieves a 5.8x-6.3x speedup on an HP computer with 8 processor cores.The creative work of this dissertation lies in two aspects: i) taking the SMP2 specification as an example, this dissertation presents a systemic solution for the parallelization of desktop simulation softwares on multi-core computers and ii) by introducing the advanced ideas of the SMP2 specification and the modern software engineering into PDES, it promotes the development of PDES through software engineering approaches. Around these two aspects, the primary contributions of this dissertation can be summarized as follows:This dissertation proposes a parallelization approach for serial simulation softwares on multi-core computers which exploits parallelism on the model level through multi-threading and distributes model instances to cores through a four-layer load balancing model. It puts forward the P-SMP2 architecture based on the formalism of PDES and the four-layer load distributing model for P-SMP2 which can fit the multi-core computers'feature of non-dedicated very well.This dissertation proposes a plug-in mechanism for a parallel simulation engine to integrate multiple algorithms. The plug-in mechanism introduces the means of extension point, extension and plug-in composition on the basis of the component structure. With this mechanism, algorithms can be configured before the execution of a simulation, new algorithms can be embedded into the simulation engine, and various algorithms can be managed effectively. The plug-in mechanism can integrate various algorithms on three different levels, i.e., synchronization protocol, simulation service and data structure. Compared with other integration mechanisms, it has advantages of high flexibility, low coupling, high development efficiency and good maintainability.This dissertation proposes a dynamic load balancing scheme which is based on the priority scheduling of logical processes. Existing dynamic load balancing schemes usually adopt migration-based methods which migrate logical processes or model instances from one processor to another. Multi-core computers use the shared memory communication model, and they exploit concurrency through multi-threading. The proposed scheme makes full use of these features, and it needs not migrate model instances, which makes it easy to implement.This dissertation proposes a model-driven & component-based development approach of parallel simulation models. Existing development approaches for parallel simulation models require modelers to manually write codes according to the API of simulation engines. The proposed approach combines component-based development and model-driven development. It can shield modelers from the difference between the development of serial models and the development of parallel models, reduce the amount of hand-written codes obviously, as well as improve the portability and reusability of simulation models.To sum up, this dissertation gives an effective solution for the parallelization of the SMP2 simulation engine and the modification of SMP2 simulation models in the parallel environment. The dissertation has reference values both in theory and in practice to the parallelization of other desktop simulation software on multi-core computers.
Keywords/Search Tags:Multi-core, Many-core, Parallelization, Parallel Discrete Event Simulation, Plug-in, Load Balancing, Model-Driven Engineering, Satellite Navigation System
PDF Full Text Request
Related items