Prosessoriarkkitehtuuriin sovitettu tehtäväpohjainen vuoronnus
Kauppi, Elias (2022)
Kauppi, Elias
2022
Tieto- ja sähkötekniikan kandidaattiohjelma - Bachelor's Programme in Computing and Electrical Engineering
Informaatioteknologian ja viestinnän tiedekunta - Faculty of Information Technology and Communication Sciences
This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Hyväksymispäivämäärä
2022-05-12
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tuni-202205104682
https://urn.fi/URN:NBN:fi:tuni-202205104682
Tiivistelmä
Rinnakkaisuus on merkittävä osa nykypäivän prosessoriteknologiaa ja ohjelmistoja. Moniytimisten prosessorien hyödyntäminen ei ole tosin helppoa, sillä ne tarvitsevat usein monimutkaisen ohjelmiston. Yksi korkean tason lähestymistapa on tehtäväpohjainen rinnakkaisuus, jossa suoritus perustuu tehtäviksi jaettuihin käskykokonaisuuksiin. Tehtäväpohjaisessa rinnakkaisuudessa tehtävät osoitetaan niiden tekijöille, eli ytimille ohjelmallisesti. Tätä prosessia kutsutaan vuoronnukseksi ja siinä käytetyt menetelmät vaikuttavat kriittisesti koko ohjelmiston suorituskykyyn.
Tutkielma on toteutettu kirjallisuuskatsauksena. Tutkielmassa keskitytään lähteisiin, jotka tarkastelevat vuoronnusta suorituskyvyn ja reiluuden näkökulmasta. Osassa lähteistä on keskitytty yleisiin vuoronnusmenetelmiin ja toisissa menetelmiin, jotka pyrkivät optimoimaan vuoronnusta prosessoreilla, joilla on epäyhtenäinen muistiarkkitehtuuri tai epäsymmetrisiä ytimiä. Tutkielman lähteet ovat siis rajattu näihin prosessoriarkkitehtuureihin ja vain osaan saatavilla olevista lähteistä, sillä aiheesta on laajaa tutkimusta varsinkin viimeisen kymmenen vuoden ajalta. Rajaukset on tehty lähteiden julkaisuvuosien perusteella ja järjestyksellä hakutuloksissa. Tutkielmassa on lisäksi pyritty käyttämään vertaisarvioituja artikkelilähteitä.
Tutkielmassa tarkastellaan vuorontajien merkittäviä arkkitehtuurirakenteita ja muita ominaisuuksia, jotka tekevät niistä käyttökohteeseensa optimaalisen. Tulokset osoittavat dynaamisen vuoronnuksen olevan yleisesti parempi vaihtoehto kuin staattinen, ja tehtävänvarastuksen olevan lähes aina paras kuormantasausmenetelmä. Epäyhtenäisten ja -symmetristen prosessorien vuoronnukseen sopivat osa tavallisista vuoronnusmenetelmistä, mutta suorituskyvyn parantamiseksi tehtävien paikallisuutta suhteessa suorittaviin ytimiin tulee parantaa. Paikallisuus on käytännössä saavutettavissa tehtävien riippuvuuksista muodostettujen verkkojen avulla. Tutkielmassa havaitaan, että epäsymmetriset ytimet voivat johtaa epäreiluuteen. Tehtävien suorituksesta saadaan reilumpaa vaihtamalla tehtävien suorittajia ajoittain keskenään erinopeudellisten ytimien välillä. Tutkielma myös osoittaa epäyhtenäisten prosessorien vuoronnuksen olevan niiden lisätyn ohjelmallisen monimutkaisuuden arvoinen, mutta epäsymmetrisillä ytimillä tämä on tapauskohtaista.
Tutkielma on toteutettu kirjallisuuskatsauksena. Tutkielmassa keskitytään lähteisiin, jotka tarkastelevat vuoronnusta suorituskyvyn ja reiluuden näkökulmasta. Osassa lähteistä on keskitytty yleisiin vuoronnusmenetelmiin ja toisissa menetelmiin, jotka pyrkivät optimoimaan vuoronnusta prosessoreilla, joilla on epäyhtenäinen muistiarkkitehtuuri tai epäsymmetrisiä ytimiä. Tutkielman lähteet ovat siis rajattu näihin prosessoriarkkitehtuureihin ja vain osaan saatavilla olevista lähteistä, sillä aiheesta on laajaa tutkimusta varsinkin viimeisen kymmenen vuoden ajalta. Rajaukset on tehty lähteiden julkaisuvuosien perusteella ja järjestyksellä hakutuloksissa. Tutkielmassa on lisäksi pyritty käyttämään vertaisarvioituja artikkelilähteitä.
Tutkielmassa tarkastellaan vuorontajien merkittäviä arkkitehtuurirakenteita ja muita ominaisuuksia, jotka tekevät niistä käyttökohteeseensa optimaalisen. Tulokset osoittavat dynaamisen vuoronnuksen olevan yleisesti parempi vaihtoehto kuin staattinen, ja tehtävänvarastuksen olevan lähes aina paras kuormantasausmenetelmä. Epäyhtenäisten ja -symmetristen prosessorien vuoronnukseen sopivat osa tavallisista vuoronnusmenetelmistä, mutta suorituskyvyn parantamiseksi tehtävien paikallisuutta suhteessa suorittaviin ytimiin tulee parantaa. Paikallisuus on käytännössä saavutettavissa tehtävien riippuvuuksista muodostettujen verkkojen avulla. Tutkielmassa havaitaan, että epäsymmetriset ytimet voivat johtaa epäreiluuteen. Tehtävien suorituksesta saadaan reilumpaa vaihtamalla tehtävien suorittajia ajoittain keskenään erinopeudellisten ytimien välillä. Tutkielma myös osoittaa epäyhtenäisten prosessorien vuoronnuksen olevan niiden lisätyn ohjelmallisen monimutkaisuuden arvoinen, mutta epäsymmetrisillä ytimillä tämä on tapauskohtaista.
Kokoelmat
- Kandidaatintutkielmat [8996]