Stream processing -arkkitehtuuri
Nymark, Niklas (2023)
Nymark, Niklas
2023
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ä
2023-01-30
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tuni-202301251715
https://urn.fi/URN:NBN:fi:tuni-202301251715
Tiivistelmä
Tietokoneen toiminta perustuu sen prosessoriin, toiselta nimeltään keskusyksikköön. Keskusyksikön rakenne on pääperiaatteiltaan pysynyt samankaltaisena pitkän aikaa. Kuitenkin keskusyksikön rinnalle on viime vuosina tullut grafiikkasuoritin, joka on erikoistunut raskaisiin laskentatehtäviin. Grafiikkasuorittimen toiminta perustuu stream processing -arkkitehtuuriin, joka on hyvin erilainen kuin keskusyksikön arkkitehtuuri. Tämän työn tarkoituksena on selvittää stream processing -arkkitehtuurin toimintaperiaate ja sen käyttökohteet.
Työ on luonteeltaan kirjallisuuskatsaus. Työssä käsitellään olemassaolevan kirjallisuuden perusteella ensin keskusyksikön rakennetta ja sen jälkeen stream processing -arkkitehtuuria. Työssä selvitetään rakenteiden eroja ja samankaltaisuuksia. Lisäksi perehdytään niiden vahvuuksiin ja heikkouksiin. Lopuksi tutkitaan, millaisissa sovelluksissa stream processing -arkkitehtuuria kannattaa hyödyntää.
Työn tuloksena selvisi, että tietokoneen keskusyksikkö soveltuu rakenteensa ansiosta kaikenlaisiin tehtäviin. Stream processing -arkkitehtuuri on kuitenkin ylivertainen raskaissa laskentatehtävissä, joissa tehdään miljoonia laskutoimituksia. Stream processing -arkkitehtuuriin perustuva prosessori suoriutuu tällaisista tehtävistä merkittävästi nopeammin ja tehokkaammin kuin keskusyksikkö. Stream processing -arkkitehtuurin teho perustuu sen kykyyn hyödyntää algoritmien suorittamien laskutoimitusten riippumattomuutta toisistaan. Riippumattomuuden ansiosta laskentayksiköitä voidaan sijoittaa suuri määrä rinnakkain niin, että ne ovat kaikki samanaikaisesti käytössä. Näin saavutetaan hyvin suuri laskentateho. Laskentayksiköiden määrän kasvattaminen on mahdollista, koska datan ohjaukseen ei tarvitse käyttää yhtä paljon pinta-alaa kuin keskusyksikön tapauksessa. Datan ohjaukseen tarvitaan vähemmän pinta-alaa, koska stream processing -arkkitehtuuria hyödyntävää prosessoria käytetään vain sellaisissa tehtävissä, joissa sen vahvuuksia voidaan hyödyntää. Stream processing -arkkitehtuuria hyödynnetään pääasiassa grafiikkasuorittimissa, mutta sitä voidaan käyttää myös erikoistuneissa prosessoreissa, jotka on suunniteltu jotain tiettyä sovellusta varten.
Työ on luonteeltaan kirjallisuuskatsaus. Työssä käsitellään olemassaolevan kirjallisuuden perusteella ensin keskusyksikön rakennetta ja sen jälkeen stream processing -arkkitehtuuria. Työssä selvitetään rakenteiden eroja ja samankaltaisuuksia. Lisäksi perehdytään niiden vahvuuksiin ja heikkouksiin. Lopuksi tutkitaan, millaisissa sovelluksissa stream processing -arkkitehtuuria kannattaa hyödyntää.
Työn tuloksena selvisi, että tietokoneen keskusyksikkö soveltuu rakenteensa ansiosta kaikenlaisiin tehtäviin. Stream processing -arkkitehtuuri on kuitenkin ylivertainen raskaissa laskentatehtävissä, joissa tehdään miljoonia laskutoimituksia. Stream processing -arkkitehtuuriin perustuva prosessori suoriutuu tällaisista tehtävistä merkittävästi nopeammin ja tehokkaammin kuin keskusyksikkö. Stream processing -arkkitehtuurin teho perustuu sen kykyyn hyödyntää algoritmien suorittamien laskutoimitusten riippumattomuutta toisistaan. Riippumattomuuden ansiosta laskentayksiköitä voidaan sijoittaa suuri määrä rinnakkain niin, että ne ovat kaikki samanaikaisesti käytössä. Näin saavutetaan hyvin suuri laskentateho. Laskentayksiköiden määrän kasvattaminen on mahdollista, koska datan ohjaukseen ei tarvitse käyttää yhtä paljon pinta-alaa kuin keskusyksikön tapauksessa. Datan ohjaukseen tarvitaan vähemmän pinta-alaa, koska stream processing -arkkitehtuuria hyödyntävää prosessoria käytetään vain sellaisissa tehtävissä, joissa sen vahvuuksia voidaan hyödyntää. Stream processing -arkkitehtuuria hyödynnetään pääasiassa grafiikkasuorittimissa, mutta sitä voidaan käyttää myös erikoistuneissa prosessoreissa, jotka on suunniteltu jotain tiettyä sovellusta varten.
Kokoelmat
- Kandidaatintutkielmat [8315]