Instrumentation of OpenMP task scheduling

 |  Login

Show simple item record

dc.contributor Aalto-yliopisto fi
dc.contributor Aalto University en
dc.contributor.advisor Hirvisalo, Vesa
dc.contributor.author Rasa, Marko
dc.date.accessioned 2015-05-13T09:49:05Z
dc.date.available 2015-05-13T09:49:05Z
dc.date.issued 2015-05-11
dc.identifier.uri https://aaltodoc.aalto.fi/handle/123456789/16034
dc.description.abstract Parallel computing models, such as tasking, are increasingly important as the modern processors are scaled mostly by adding processor cores instead of increasing clock speed. Scheduling the tasks requires computational resources and can be implemented with either software or hardware. The goal of the thesis has been to develop a measurement system that is able to yield the basic tasking performance metrics of parallel program execution. The main challenge in developing such system is the overhead caused by the measuring, especially when tasks are extremely fine grained. An additional aim for the thesis has been understanding the scheduling properties of OpenMP task parallelism model. We selected version 4.9 of the GCC compiler and its runtime (GOMP) as the concrete target of our study. The parts of the OpenMP 4.0 specification that are essential for the study are implemented by the compiler. The task scheduling operates by assigning tasks to worker threads. In doing so, it handles dependence structures and task queues, which require synchronisation to ensure correct operation. The studied GOMP implementation uses locking for that purpose. We designed and implemented a measuring system using software performance counters by instrumenting the runtime system (GOMP) and hardware counters by calling PAPI (Performance Application Programming Interface) functions inside the runtime system. We tested the measurement system by implementing a task parallel version of AES (Advanced Encryption Standard), which yields small granularity tasks. In our tests we observed parallel scaling up to four threads, at which point lock congestion rose rapidly. To understand the performance of our measurement systems, we compared the performance of instrumented and non-instrumented versions of the runtime system. The developed measurement system yields low overhead. en
dc.description.abstract Rinnakkaislaskentamallit kuten tehtävärinnakkaisuus ovat yhä tärkeämpiä modernien suorittimien skaalautuessa enimmäkseen suoritinytimien lisäämisellä kellotaajuuden kasvattamisen sijaan. Tehtävien vuoronnus vaatii laskentaresursseja ja voidaan toteuttaa joko ohjelmistolla tai laitteistolla. Tämän työn tavoite on ollut kehittää mittausjärjestelmä, joka antaa perusmittareita tehtävärinnakkaisuuden tehokkuudesta. Päähaaste järjestelmän kehittämisessä on mittauksen aiheuttama kuormitus, erityisesti kun tehtävät ovat erittäin hienojakoisia. Lisätavoite työlle on ollut ymmärtää vuoronnuksen ominaisuuksia OpenMP:n tehtävärinnakkaismallissa. Valitsimme version 4.9 GCC kääntäjästä ja sen ajonaikaisen järjestelmän (GOMP) konkreettiseksi kohteeksi tutkimukselle. Kääntäjä toteuttaa työlle oleelliset osat OpenMP 4.0 määritelmästä. Tehtävien vuoronnus toimii jakamalla tehtäviä työsäikeille. Tämän mahdollistamiseksi sen täytyy käsitellä riippuvuusrakenteita ja tehtäväjonoja, jotka vaativat koordinointia. Tutkittu GOMP toteutus käyttää lukkoja tähän tarkoitukseen. Suunnittelimme ja toteutimme mittausjärjestelmän käyttämällä ohjelmistotehokkuuslaskureita instrumentoimalla ajonaikaisen järjestelmän (GOMP) ja laitteistotehokkuuslaskureita kutsumalla PAPI (Performance Application Programming Interface) funktioita ajonaikaisen järjestelmän sisällä. Testasimme mittausjärjestelmän toteutteuttamalla tehtävärinnakkaisen version AES:stä (Advanced Encryption Standard), joka tuottaa pienijakoisia tehtäviä. Testeissä havaitsimme rinnakkaista skaalautumista neljään säikeeseen asti, jonka jälkeen lukon ruuhkautuminen kasvoi nopeasti. Mittausjärjestelmämme suorituskyvyn ymmärtämiseksi vertasimme instrumentoidun ja instrumentoimattoman ajonaikaisen järjestelmän suorituskykyä. Kehitetyllä mittausjärjestelmällä on matala mittauskuormitus. fi
dc.format.extent 58
dc.format.mimetype application/pdf en
dc.language.iso en en
dc.title Instrumentation of OpenMP task scheduling en
dc.title OpenMP tehtävävuoronnuksen instrumentointi fi
dc.type G2 Pro gradu, diplomityö en
dc.contributor.school Perustieteiden korkeakoulu fi
dc.subject.keyword parallel en
dc.subject.keyword task parallelism en
dc.subject.keyword runtime system en
dc.subject.keyword measuring en
dc.subject.keyword OpenMP en
dc.identifier.urn URN:NBN:fi:aalto-201505142687
dc.programme.major Ohjelmistotekniikka fi
dc.programme.mcode T3001 fi
dc.type.ontasot Master's thesis en
dc.type.ontasot Diplomityö fi
dc.contributor.supervisor Heljanko, Keijo
dc.programme Tietotekniikan koulutusohjelma fi


Files in this item

This item appears in the following Collection(s)

Show simple item record

Search archive


Advanced Search

article-iconSubmit a publication

Browse

My Account