liu.seSearch for publications in DiVA
34567896 of 13
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • harvard1
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • oxford
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf
Automatic and Explicit Parallelization Approaches for Equation Based Mathematical Modeling and Simulation
Linköping University, Department of Computer and Information Science, Software and Systems. Linköping University, Faculty of Science & Engineering.
2018 (English)Doctoral thesis, monograph (Other academic)
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.

Place, publisher, year, edition, pages
Linköping: Linköping University Electronic Press, 2018. , p. 210
Series
Linköping Studies in Science and Technology. Dissertations, ISSN 0345-7524 ; 1967
Keywords [en]
Modelling, Simulation, Multi-core, Automatic Parallelization, Clustering, Scheduling, Explicit Parallelization, ParModelica, Task Systems, GPGPU
National Category
Computer Systems Computer Sciences
Identifiers
URN: urn:nbn:se:liu:diva-152789ISBN: 9789176851630 (print)OAI: oai:DiVA.org:liu-152789DiVA, id: diva2:1265975
Public defence
2019-01-24, Ada Lovelace, B-huset, Campus Valla, Linköping, 10:15 (English)
Opponent
Supervisors
Available from: 2019-01-07 Created: 2018-11-26 Last updated: 2019-01-07Bibliographically approved

Open Access in DiVA

No full text in DiVA

Authority records BETA

Gebremedhin, Mahder

Search in DiVA

By author/editor
Gebremedhin, Mahder
By organisation
Software and SystemsFaculty of Science & Engineering
Computer SystemsComputer Sciences

Search outside of DiVA

GoogleGoogle Scholar

isbn
urn-nbn

Altmetric score

isbn
urn-nbn
Total: 66 hits
34567896 of 13
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • harvard1
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • oxford
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf