liu.seSök publikationer i DiVA
Ändra sökning
Länk till posten
Permanent länk

Direktlänk
BETA
Gebremedhin, Mahder
Publikationer (7 of 7) Visa alla publikationer
Gebremedhin, M. (2018). Automatic and Explicit Parallelization Approaches for Equation Based Mathematical Modeling and Simulation. (Doctoral dissertation). Linköping: Linköping University Electronic Press
Öppna denna publikation i ny flik eller fönster >>Automatic and Explicit Parallelization Approaches for Equation Based Mathematical Modeling and Simulation
2018 (Engelska)Doktorsavhandling, monografi (Övrigt vetenskapligt)
Abstract [en]

The move from single-core processor systems to multi-core and manyprocessor systems comes with the requirement of implementing computations in a way that can utilize these multiple computational units efficiently. This task of writing efficient parallel algorithms will not be possible without improving programming languages and compilers to provide the supporting mechanisms. Computer aided mathematical modelling and simulation is one of the most computationally intensive areas of computer science. Even simplified models of physical systems can impose a considerable computational load on the processors at hand. Being able to take advantage of the potential computational power provided by multi-core systems is vital in this area of application. This thesis tries to address how to take advantage of the potential computational power provided by these modern processors in order to improve the performance of simulations, especially for models in the Modelica modelling language compiled and simulated using the OpenModelica compiler and run-time environment.

Two approaches of utilizing the computational power provided by modern multi-core architectures for simulation of Mathematical models are presented in this thesis: Automatic and Explicit parallelization respectively. The Automatic approach presents the process of extracting and utilizing potential parallelism from equation systems in an automatic way without any need for extra effort from the modellers/programmers. This thesis explains new and improved methods together with improvements made to the OpenModelica compiler and a new accompanying task systems library for efficient representation, clustering, scheduling, profiling, and executing complex equation/ task systems with heavy dependencies. The Explicit parallelization approach allows utilizing parallelism with the help of the modeller or programmer. New programming constructs have been introduced to the Modelica language in order to enable modellers to express parallelized algorithms to take advantage of the computational capabilities provided by modern multicore CPUs and GPUs. The OpenModelica compiler has been improved accordingly to recognize and utilize the information from these new algorithmic constructs and to generate parallel code for enhanced computational performance, portable to a range of parallel architectures through the OpenCL standard.

Abstract [sv]

Övergången från datorer med en processor till datorer med flera processorkärnor ställer krav på att implementera beräkningar på ett sådant sätt att dessa multipla beräkningsenheter kan användas effektivt. Skrivande av effektiva parallella algoritmer är mycket arbetskrävande och en stor källa till fel om inte programmeringsspråk och tillhörande kompilatorer kan förbättras till att erbjuda bättre stödmekanismer. Datorstödd matematisk modellering och simulering är ett av de mest beräkningsintensiva områdena inom datavetenskap. Även simuleringar av förenklade modeller av fysikaliska system kan vara mycket beräkningstungt med användning av standardprocessorer. Att kunna dra nytta av den beräkningskraft som erbjuds av moderna flerkärniga arkitekturer är mycket viktigt inom detta tillämpningsområde. Denna avhandling syftar till att ge bidrag till hur beräkningskraften hos moderna flerkärniga processor kan utnyttja för att öka prestanda för simuleringar, speciellt för modeller uttryckta i det ekvationsbaserade högnivåmodelleringsspråket Modelica, kompilerade och simulerade med användning av OpenModelica’s modellkompilator och beräkningsmiljö.

Denna avhandling presenterar två metoder för att simulera matematiska modeller på ett sådant sätt att beräkningskraften hos moderna flerkärniga datorer kan utnyttjas: automatisk respektive explicit parallellisering. Den automatiska metoden utför automatiskt processen att extrahera och använda potentiell parallelism i ekvationssystem från den matematiska modellen utan att programmeraren eller modelleraren behöver göra någon extra ansträngning. I denna avhandling presenteras nya och förbättrade metoder tillsammans med förbättringar i OpenModelicakompilatorn samt ett nytt programbibliotek som stödjer effektiv representation, gruppering, planering, prestandamätning och exekvering av komplexa system av ekvationer och beräkningar, där dessa ofta är beroende av varandra. Den explicita parallelliseringsmetoden utnyttjar parallellism som uttrycks explicit med hjälp av programmeraren eller modelleraren. Nya språkkonstruktioner i Modelicaspråket har introduceras för att göra det möjligt för modellerare att på ett bekvämt sätt uttrycka parallelliserad algoritmer som kan utnyttja beräkningskraften som erbjuds av moderna flerkärniga standardprocessorer och grafikprocessorer. OpenModelicakompilatorn har utökats för att kunna hantera och utnyttja informationen från dessa nya språkkonstruktioner samt att generera parallell kod med ökad beräkningsprestanda. Den genererade koden är portabel till ett antal parallella datorarkitekturer genom OpenCL standarden. Dessutom presenteras prestandamätningar av testmodeller med användning av båda metoderna.

Övergången från datorer med en processor till datorer med flera processorkärnor ställer krav på att implementera beräkningar på ett sådant sätt att dessa multipla beräkningsenheter kan användas effektivt. Skrivande av effektiva parallella algoritmer är mycket arbetskrävande och en stor källa till fel om inte programmeringsspråk och tillhörande kompilatorer kan förbättras till att erbjuda bättre stödmekanismer. Datorstödd matematisk modellering och simulering är ett av de mest beräkningsintensiva områdena inom datavetenskap. Även simuleringar av förenklade modeller av fysikaliska system kan vara mycket beräkningstungt med användning av standardprocessorer. Att kunna dra nytta av den beräkningskraft som erbjuds av moderna flerkärniga arkitekturer är mycket viktigt inom detta tillämpningsområde. Denna avhandling syftar till att ge bidrag till hur beräkningskraften hos moderna flerkärniga processor kan utnyttja för att öka prestanda för simuleringar, speciellt för modeller uttryckta i det ekvationsbaserade högnivåmodelleringsspråket Modelica, kompilerade och simulerade med användning av OpenModelica’s modellkompilator och beräkningsmiljö.

Denna avhandling presenterar två metoder för att simulera matematiska modeller på ett sådant sätt att beräkningskraften hos moderna flerkärniga datorer kan utnyttjas: automatisk respektive explicit parallellisering. Den automatiska metoden utför automatiskt processen att extrahera och använda potentiell parallelism i ekvationssystem från den matematiska modellen utan att programmeraren eller modelleraren behöver göra någon extra ansträngning. I denna avhandling presenteras nya och förbättrade metoder tillsammans med förbättringar i OpenModelicakompilatorn samt ett nytt programbibliotek som stödjer effektiv representation, gruppering, planering, prestandamätning och exekvering av komplexa system av ekvationer och beräkningar, där dessa ofta är beroende av varandra. Den explicita parallelliseringsmetoden utnyttjar parallellism som uttrycks explicit med hjälp av programmeraren eller modelleraren. Nya språkkonstruktioner i Modelicaspråket har introduceras för att göra det möjligt för modellerare att på ett bekvämt sätt uttrycka parallelliserad algoritmer som kan utnyttja beräkningskraften som erbjuds av moderna flerkärniga standardprocessorer och grafikprocessorer. OpenModelicakompilatorn har utökats för att kunna hantera och utnyttja informationen från dessa nya språkkonstruktioner samt att generera parallell kod med ökad beräkningsprestanda. Den genererade koden är portabel till ett antal parallella datorarkitekturer genom OpenCL standarden. Dessutom presenteras prestandamätningar av testmodeller med användning av båda metoderna.

Ort, förlag, år, upplaga, sidor
Linköping: Linköping University Electronic Press, 2018. s. 210
Serie
Linköping Studies in Science and Technology. Dissertations, ISSN 0345-7524 ; 1967
Nyckelord
Modelling, Simulation, Multi-core, Automatic Parallelization, Clustering, Scheduling, Explicit Parallelization, ParModelica, Task Systems, GPGPU
Nationell ämneskategori
Datorsystem Datavetenskap (datalogi)
Identifikatorer
urn:nbn:se:liu:diva-152789 (URN)10.3384/diss.diva-152789 (DOI)9789176851630 (ISBN)
Disputation
2019-01-24, Ada Lovelace, B-huset, Campus Valla, Linköping, 10:15 (Engelska)
Opponent
Handledare
Tillgänglig från: 2019-01-07 Skapad: 2018-11-26 Senast uppdaterad: 2019-01-17Bibliografiskt granskad
Gebremedhin, M. (2015). Automatic and Explicit Parallelization Approaches for Mathematical Simulation Models. (Licentiate dissertation). Linköping: Linköping University Electronic Press
Öppna denna publikation i ny flik eller fönster >>Automatic and Explicit Parallelization Approaches for Mathematical Simulation Models
2015 (Engelska)Licentiatavhandling, monografi (Övrigt vetenskapligt)
Abstract [en]

The move from single core and processor systems to multi-core and many-processors systemscomes with the requirement of implementing computations in a way that can utilizethese multiple units eciently. This task of writing ecient multi-threaded algorithmswill not be possible with out improving programming languages and compilers to providethe mechanisms to do so. Computer aided mathematical modeling and simulationis one of the most computationally intensive areas of computer science. Even simpli-ed models of physical systems can impose a considerable amount of computational loadon the processors at hand. Being able to take advantage of the potential computationpower provided by multi-core systems is vital in this area of application. This thesis triesto address how we can take advantage of the potential computation power provided bythese modern processors to improve the performance of simulations. The work presentsimprovements for the Modelica modeling language and the OpenModelica compiler.

Two approaches of utilizing the computational power provided by modern multi-corearchitectures are presented in this thesis: Automatic and Explicit parallelization. Therst approach presents the process of extracting and utilizing potential parallelism fromequation systems in an automatic way with out any need for extra eort from the modelers/programmers side. The thesis explains improvements made to the OpenModelicacompiler and presents the accompanying task systems library for ecient representation,clustering, scheduling proling and executing complex equation/task systems with heavydependencies. The Explicit parallelization approach explains the process of utilizing parallelismwith the help of the modeler or programmer. New programming constructs havebeen introduced to the Modelica language in order to enable modelers write parallelizedcode. the OpenModelica compiler has been improved accordingly to recognize and utilizethe information from this new algorithmic constructs and generate parallel code toimprove the performance of computations.

Ort, förlag, år, upplaga, sidor
Linköping: Linköping University Electronic Press, 2015. s. 81
Serie
Linköping Studies in Science and Technology. Thesis, ISSN 0280-7971 ; 1716
Nyckelord
Simulation, Modelling, Parallel Programming, Mutli-core, Modelcia, OpenModelica, ParModelica
Nationell ämneskategori
Datorsystem
Identifikatorer
urn:nbn:se:liu:diva-117346 (URN)10.3384/lic.diva-117346 (DOI)978-91-7519-048-8 (ISBN)
Presentation
2015-06-08, John von Neumann, hus B, Campus Valla, Linköpings universitet, Linköping, 10:15 (Engelska)
Opponent
Handledare
Forskningsfinansiär
VINNOVACUGS (National Graduate School in Computer Science)eLLIIT - The Linköping‐Lund Initiative on IT and Mobile Communications
Anmärkning

The series name Linköping Studies in Science and Technology Licentiate Thesis is incorrect. The correct series name is Linköping Studies in Science and Technology Thesis.

Tillgänglig från: 2015-05-20 Skapad: 2015-04-23 Senast uppdaterad: 2015-05-20Bibliografiskt granskad
Gebremedhin, M. & Fritzson, P. (2014). Automatic Task Based Analysis and Parallelization in the Context of Equation Based Languages. In: EOOLT '14 Proceedings of the 6th International Workshop on Equation-Based Object-Oriented Modeling Languages and Tools: . Paper presented at The 6th International Workshop on Equation-Based Object-Oriented Modeling Languages and Tools, (EOOLT'2014), Berlin, Germany, October 9. (pp. 49-52). New York: ACM
Öppna denna publikation i ny flik eller fönster >>Automatic Task Based Analysis and Parallelization in the Context of Equation Based Languages
2014 (Engelska)Ingår i: EOOLT '14 Proceedings of the 6th International Workshop on Equation-Based Object-Oriented Modeling Languages and Tools, New York: ACM , 2014, s. 49-52Konferensbidrag, Publicerat paper (Refereegranskat)
Abstract [en]

This paper presents an automatic parallelization approach for handling complex task systems with heavy dependencies, including methods of analyzing dependencies, representing them in a convenient way, and processing the resulting task graph representation. We present a library-based task system representation, clustering, profiling, and scheduling approach to simplify the otherwise tedious process of parallelizing complex task systems. We have implemented a flexible and robust task system handling library to manipulate and parallelize these complex task systems on shared memory multi-core and multi-processor systems. The implementation has been developed as part of the OpenModelica simulation environment. We demonstrate methods of extracting and utilizing parallelism in the context of mathematical modeling languages.

Ort, förlag, år, upplaga, sidor
New York: ACM, 2014
Nyckelord
Task Parallel, Multi-core, Modeling, Simulation, Parallel Simulation, Modelica, OpenModelica
Nationell ämneskategori
Elektroteknik och elektronik
Identifikatorer
urn:nbn:se:liu:diva-114208 (URN)10.1145/2666202.2666210 (DOI)978-1-4503-2953-8 (ISBN)
Konferens
The 6th International Workshop on Equation-Based Object-Oriented Modeling Languages and Tools, (EOOLT'2014), Berlin, Germany, October 9.
Tillgänglig från: 2015-02-13 Skapad: 2015-02-13 Senast uppdaterad: 2015-05-20Bibliografiskt granskad
Shitahun, A., Ruge, V., Gebremedhin, M., Bachmann, B., Eriksson, L., Andersson, J., . . . Fritzson, P. (2013). Model-Based Dynamic Optimization with OpenModelica and CasADi. In: IFAC-AAC 2013: . Paper presented at 7th IFAC Symposium on Advances in Automotive Control, Tokyo, Japan, 4-7 September 2013 (pp. 446-451).
Öppna denna publikation i ny flik eller fönster >>Model-Based Dynamic Optimization with OpenModelica and CasADi
Visa övriga...
2013 (Engelska)Ingår i: IFAC-AAC 2013, 2013, s. 446-451Konferensbidrag, Publicerat paper (Refereegranskat)
Abstract [en]

This paper demonstrates model-based dynamic optimization through the coupling of two open source tools: OpenModelica, which is a Modelica-based modeling and simulation platform, and CasADi, a framework for numerical optimization. The coupling uses a standardized XML format for exchange of differential-algebraic equations (DAE) models. OpenModelica supports export of models written in Modelica and the optimization language extension using this XML format, while CasADi supports import of models represented in this format. This allows users to define optimal control problems (OCP) using Modelica and optimization language specification, and solve the underlying model formulation using a range of optimization methods, including direct collocation and direct multiple shooting. The proposed solution has been tested on several industrially relevant optimal control problems, including a diesel-electric power train.

Serie
IFAC Proceedings series, ISSN 1474-6670
Nationell ämneskategori
Elektroteknik och elektronik
Identifikatorer
urn:nbn:se:liu:diva-110329 (URN)10.3182/20130904-4-JP-2042.00166 (DOI)978-390282343-4 (ISBN)
Konferens
7th IFAC Symposium on Advances in Automotive Control, Tokyo, Japan, 4-7 September 2013
Tillgänglig från: 2014-09-08 Skapad: 2014-09-08 Senast uppdaterad: 2018-01-30
Sjölund, M., Gebremedhin, M. & Fritzson, P. (2013). Parallelizing Equation-Based Models for Simulation on Multi-Core Platforms by Utilizing Model Structure. In: : . Paper presented at 17th International Workshop on Compilers for Parallel Computing (CPC 2013), Lyon, France, July 3-5, 2013.
Öppna denna publikation i ny flik eller fönster >>Parallelizing Equation-Based Models for Simulation on Multi-Core Platforms by Utilizing Model Structure
2013 (Engelska)Konferensbidrag, Publicerat paper (Refereegranskat)
Abstract [en]

In today’s world of high tech manufacturing and computer-aided design simulations of models is at the heart of the whole manufacturing process. Trying to represent and study the variables of real world models using simulation computer programs can turn out to be a very expensive and time consuming task. On the other hand advancements in modern multi-core CPUs promise remarkable computational power. Modern modeling environments provide different optimization and parallelization options to take advantage of the available computational power. Some of these parallelization approaches are based on automatically extracting parallelism with the help of the model compiler or translator. Another approach is to provide the model programmers with the necessary language constructs to express any potential parallelism in their models.

In this paper we present an automatic parallelization approach for Modelica models using Transmission Line Modeling (TLM). TLM is suitable for parallel simulations because larger models can be partitioned into smaller independent sub-models. TLM introduces parallelism into the system by decoupling subsystems using delays greater than the step size of the numerical solver. A prototype has been implemented in the OpenModelica Compiler (OMC) framework. Our approach re-uses the dependency analysis from the sequential translation step of OMC. With the help of the dependency analysis information the set of equations for a model is partitioned into a number of sub-systems. The resulting independent sub-systems are scheduled and executed in parallel. The run-time system for OMC has been improved to provide thread safety and handle parallelism while keeping the introduced overhead to minimum for normal sequential operation and maintaining portability.

Nyckelord
Transmission Line Modeling; Parallel Computing;Simulation; Modelica; Compiler; Multi-Core
Nationell ämneskategori
Elektroteknik och elektronik
Identifikatorer
urn:nbn:se:liu:diva-110322 (URN)
Konferens
17th International Workshop on Compilers for Parallel Computing (CPC 2013), Lyon, France, July 3-5, 2013
Tillgänglig från: 2014-09-08 Skapad: 2014-09-08 Senast uppdaterad: 2014-10-14Bibliografiskt granskad
Bachmann, B., Ochel, L., Ruge, V., Gebremedhin, M., Fritzson, P., Nezhadali, V., . . . Sivertsson, M. (2012). Parallel Multiple-Shooting and Collocation Optimization with OpenModelica. In: Proceedings of the 9th International MODELICA Conference; September 3-5; 2012; Munich; Germany: . Paper presented at The 9th International MODELICA Conference, Munich, Germany September 3-5 2012 (pp. 659-668). Linköping University Electronic Press, Article ID 067.
Öppna denna publikation i ny flik eller fönster >>Parallel Multiple-Shooting and Collocation Optimization with OpenModelica
Visa övriga...
2012 (Engelska)Ingår i: Proceedings of the 9th International MODELICA Conference; September 3-5; 2012; Munich; Germany, Linköping University Electronic Press, 2012, s. 659-668, artikel-id 067Konferensbidrag, Publicerat paper (Refereegranskat)
Abstract [en]

Nonlinear model predictive control (NMPC) has become increasingly important for today’s control engineers during the last decade. In order to apply NMPC a nonlinear optimal control problem (NOCP) must be solved which needs a high computational effort.

State-of-the-art solution algorithms are based on multiple shooting or collocation algorithms; which are required to solve the underlying dynamic model formulation. This paper describes a general discretization scheme applied to the dynamic model description which can be further concretized to reproduce the mul-tiple shooting or collocation approach. Furthermore; this approach can be refined to represent a total collocation method in order to solve the underlying NOCP much more efficiently. Further speedup of optimization has been achieved by parallelizing the calculation of model specific parts (e.g. constraints; Jacobians; etc.) and is presented in the coming sections.

The corresponding discretized optimization problem has been solved by the interior optimizer Ipopt. The proposed parallelized algorithms have been tested on different applications. As industrial relevant application an optimal control of a Diesel-Electric power train has been investigated. The modeling and problem description has been done in Optimica and Modelica. The simulation has been performed using OpenModelica. Speedup curves for parallel execution are presented.

Ort, förlag, år, upplaga, sidor
Linköping University Electronic Press, 2012
Serie
Linköping Electronic Conference Proceedings, ISSN 1650-3686, E-ISSN 1650-3740 ; 076
Nyckelord
Modelica; Optimica; optimization; multiple shooting; collocation; parallel; simulation
Nationell ämneskategori
Reglerteknik
Identifikatorer
urn:nbn:se:liu:diva-137731 (URN)10.3384/ecp12076659 (DOI)978-91-7519-826-2 (ISBN)
Konferens
The 9th International MODELICA Conference, Munich, Germany September 3-5 2012
Tillgänglig från: 2017-06-09 Skapad: 2017-06-09 Senast uppdaterad: 2018-01-30Bibliografiskt granskad
Moghadam, A. H., Gebremedhin, M., Stavåker, K. & Fritzson, P. (2011). Simulation and benchmarking of Modelica models on multi-core architectures with explicit parallel algorithmic language extensions. In: Kessler, Christoph (Ed.), Fourth Swedish Workshop on Multi-Core Computing MCC-2011: . Paper presented at Fourth Swedish Workshop on Multi-Core Computing (MCC-2011), November 23-25, 2011, Linköping, Sweden (pp. 109-114). , S. 109-114
Öppna denna publikation i ny flik eller fönster >>Simulation and benchmarking of Modelica models on multi-core architectures with explicit parallel algorithmic language extensions
2011 (Engelska)Ingår i: Fourth Swedish Workshop on Multi-Core Computing MCC-2011 / [ed] Kessler, Christoph, 2011, Vol. S. 109-114, s. 109-114Konferensbidrag, Publicerat paper (Övrigt vetenskapligt)
Abstract [en]

In this paper we introduce new parallel programming language construcructs which can be used in the algorithmic parts of Modelica models, and we present a benchmark test suite of suitable algorithmic Modelica models that makes use of the new constructs (such as models containing large matrix computations). We provide measurements of simulating three models fraom this benchmark test suite using single-core and multi-core CPUs as well as GPUs. 

Nyckelord
Simulation, Benchmarking, Modelica, Compilers, GPU, OpenCL
Nationell ämneskategori
Datorsystem
Identifikatorer
urn:nbn:se:liu:diva-106592 (URN)
Konferens
Fourth Swedish Workshop on Multi-Core Computing (MCC-2011), November 23-25, 2011, Linköping, Sweden
Tillgänglig från: 2014-05-13 Skapad: 2014-05-13 Senast uppdaterad: 2014-10-06
Organisationer

Sök vidare i DiVA

Visa alla publikationer