Energy and performance profiling of scientific computing

 |  Login

Show simple item record

dc.contributor Aalto-yliopisto fi
dc.contributor Aalto University en
dc.contributor.advisor Ou, Zhonghong
dc.contributor.author Hirki, Mikael
dc.date.accessioned 2015-12-16T07:54:36Z
dc.date.available 2015-12-16T07:54:36Z
dc.date.issued 2015
dc.identifier.uri https://aaltodoc.aalto.fi/handle/123456789/19181
dc.description.abstract In this thesis, we study the energy consumption and performance of scientific software. Our goal is to find the causes of energy and power consumption from a software perspective, and then to explore approaches to minimize energy consumption and maximize performance. We use the Intel RAPL (Running Average Power Limit) feature for our energy measurements. RAPL is a built-in hardware feature that estimates the power consumption of the processor package. Overall, we study three specific problem areas. First, we evaluate how suitable the RAPL feature is for energy profiling. Energy profiling requires measuring power consumption at a high sample rate. RAPL updates the energy counters approximately every millisecond, resulting in a fairly high sample rate of 1000 samples per second. Unfortunately, due to the timing of these updates being unpredictable, it is very difficult to take full advantage of the high sample rate. We still think RAPL is suitable for energy profiling but the accuracy is limited. Second, we study the energy consumption and performance of ParFullCMS, which is a high energy physics (HEP) benchmark. We find that power consumption has the highest correlation with the number of instructions executed. In addition, power consumption correlates strongly with cache accesses. We identify a particular power consumption problem with ParFullCMS. The excess code size causes both the micro-operation cache and the L1 instruction cache to perform poorly. In addition, we uncover one "hotspot" with large power consumption. Third, we investigate the power consumption of the instruction decoders in an Intel x86-64 processor. The instruction decoders are responsible for translating x86-64 instructions into simpler micro-operations. We design a set of benchmarks to specifically trigger the instruction decoders. This allows us to measure the power consumption of the instruction decoders. The results show that the instruction decoders consume relatively little power compared to other components in the processor. Therefore, the x86-64 instruction set is not a significant drawback in terms of energy efficiency. en
dc.description.abstract Tässä diplomityössä tutkitaan tieteellisen laskennan energiankulutusta ja suorituskykyä. Tavoitteena on löytää energian- ja tehonkulutuksen syyt ohjelmiston näkökulmasta. Työssä yritetään minimoida energiankulutusta ja maksimoida suorituskyky. Tehonkulutusta mitataan Intelin RAPL (Running Average Power Limit) -toiminnon avulla. RAPL on laitteistoon sisäänrakennettu toiminto, joka arvioi suoritinpiirin tehonkulutuksen. Työ käsittelee kaiken kaikkiaan kolmea aihealuetta. Työssä arvioidaan RAPL-ominaisuuden soveltuvuutta energiaprofilointiin. Energiaprofiloinnissa täytyy pystyä mittamaan tehonkulutusta suurella näytteenottotaajuudella. RAPL päivittää energialaskurit keskimäärin yhden millisekunnin välein, joten näytteenottotaajuus on suhteellisen korkea 1000 näytettä sekunnissa. Valitettavasti korkeaa näytteenottotaajuutta ei pysty kuitenkaan täysin hyödyntämään, koska päivitysten ajoitus ei ole ennustettavaa. Tästä huolimatta RAPL soveltuu silti energiaprofilointiin, mutta tarkkuus on rajallinen. Työssä tutkitaan ParFullCMS:n energiankulutusta ja suorituskykyä. ParFullCMS on suurenergiafysiikan suorituskykytestiohjelma. Tehonkulutus korreloi parhaiten suoritettujen käskyjen määrän kanssa. Se korreloi myös välimuistien käytön kanssa. Työssä havaittiin tietty tehonkulutusongelma ParFullCMS:ssä. Koodin suuren koon takia sekä mikro-operaatio välimuisti että L1-käskyvälimuisti toimivat huonosti. Työssä havaittiin myös "hotspotti", joka kuluttaa suuren määrän tehoa. Työssä selvitetään Intelin x86-64 -suorittimen käskydekoodereiden tehonkulutus. Käskydekooderit muuttavat x86-64 -käskyt yksinkertaisemmiksi mikro-operaatioiksi suorittimen sisällä. Työssä suunnitellaan sarja suorituskykytestejä, jotka käynnistävät käskydekooderit. Tällä tavalla pystytään mittaamaan käskydekoodereiden tehonkulutus. Tulosten perusteella käskydekoodereiden tehonkulutus on suhteellisen pieni verrattuna muihin komponentteihin suorittimessa. Näin ollen x86-64 -käskykanta ei ole merkittävä haittapuoli energiatehokkuuden kannalta. fi
dc.format.extent 76
dc.format.mimetype application/pdf en
dc.language.iso en en
dc.title Energy and performance profiling of scientific computing en
dc.title Tieteellisen laskennan energia- ja suorituskykyprofilointi fi
dc.type G2 Pro gradu, diplomityö en
dc.contributor.school Perustieteiden korkeakoulu fi
dc.subject.keyword energy-efficiency en
dc.subject.keyword energy profiling en
dc.subject.keyword performance analysis en
dc.subject.keyword RAPL en
dc.subject.keyword instruction decoders en
dc.identifier.urn URN:NBN:fi:aalto-201512165699
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 Nurminen, Jukka
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