Measuring system activity on multi-core and multi-processor platforms
No Thumbnail Available
URL
Journal Title
Journal ISSN
Volume Title
Elektroniikan, tietoliikenteen ja automaation tiedekunta |
Master's thesis
Unless otherwise stated, all rights belong to the author. You may download, display and print this publication for Your own personal use. Commercial use is prohibited.
Authors
Date
2010
Department
Major/Subject
Ohjelmistotekniikka
Mcode
T-106
Degree programme
Language
en
Pages
66
Series
Abstract
Rinnakkaisohjelmointi on tullut moniydin- ja moniprosessorijärjestelmien suosion myötä pinnalle. Rinnakkaisohjelmointia on tutkittu kauan ja joitakin perustavanlaatuisia ratkaisuja ohjelmointimalleihin on tarjolla. Niin ikään on olemassa useita tiettyihin erikoistapauksiin keskittyviä ohjelmointimalliratkaisuja. Tästä huolimatta rinnakkaisohjelmien käyttäytymisen ymmärtäminen on kokeneillekin ohjelmoijille vaikeaa. Lisäksi tämänhetkiset rinnakkaisohjelmointityökalut eivät täysin tue rinnakkaisohjelmointia. Käyttöjärjestelmän toiminnan mittaamiseen on olemassa useita metriikoita, kuten prosessin käyttämä aika prosessorilla tai kontekstin vaihtojen määrä. Nämä metriikat antavat kuitenkin vain kvantitatiivisen näkymän toiminnasta, kun taas rinnakkaisen ohjelman toiminnan ymmärtäminen vaatii käsitystä rauta- ja ohjelmatason säikeiden käyttäytymisestä. Tässä diplomityössä on mitattu jäljitystyökalulla moniydin- ja moniprosessorijärjestelmiä erilaisilla rinnakkaistetuilla työkuormilla. Tulosten havainnollistuksesta voidaan rinnakkaisohjelman suoritusta analysoida ja tunnistaa ongelmakohtia rauta- ja ohjelmatason säikeiden käyttäytymisessä.The recent emergence of multi-core and multi-processor systems has brought parallel programming back into the spotlight. Despite being a widely studied concept with a few well founded general solution programming models and a lot of specific solutions for certain problems, the behaviour and performance of a parallel program is difficult to grasp for even the most experienced programmers. There are a lot of metrics for measuring operating system activity and performance: CPU time per process, system queue length, number of context switches and so on. However these metrics only give a quantitative view of the activity when the understanding and improving of parallel program performance requires visualization of hardware and software thread interaction. In this Master's Thesis I present how a kernel event tracer can be applied for measuring the behaviour of software and hardware threads in a multi-core- and multi-processor systems. The resulting visualization of thread-level interaction can be then used for the analysis of parallel program execution and the identification of possible problematic sections that further benefit the understanding of parallel programming.Description
Supervisor
Saikkonen, HeikkiThesis advisor
Hirvisalo, VesaKeywords
multi-processor system, event tracing, parallel programming, moniprosessorijärjestelmä, tapahtumajäljitys, rinnakkaisohjelmointi