Tässä kurssin osassa alamme hahmotella vastauksia näihin kysymyksiin ja keskustelemme nykyaikaisten supertietokoneiden perusrakenneosista.
Voi olla yllättävää, että nykyaikaiset supertietokoneet koostuvat samoista pöytätietokoneissakin käytetyistä peruselementeistä, kuten suorittimista, muistista ja levystä. Ero on pitkälti mittakaavakysymys. Syy on varsin yksinkertainen: uusien laitteistojen kehittämiskustannukset ovat miljardeja euroja ja kuluttajatuotteiden markkinat ovat huomattavasti suuremmat kuin supertietokoneiden. Tästä syystä kehittynein tekniikka löytyy itse asiassa yleiskäyttöisistä tietokoneista.
Suorittimella tarkoitamme tietokoneen keskusyksikköä (CPU), jota voidaan pitää myös tietokoneen aivoina. Keskusyksikkö suorittaa tietokoneohjelman ohjeita, ja suoritin- ja keskusyksikkö-termit ovat kumpikin yleisesti käytössä ja niillä viitataan samaan asiaan. Hieman hämmentävää voi olla se, että nykyaikainen keskusyksikkö sisältää itse asiassa useita itsenäisiä aivoja – se on oikeastaan useiden erillisten suoritinyksiköiden kokoelma. Siksi tarvitaan toinen termi sekaannusten välttämiseksi, ja tällä kurssilla kutsummekin jokaista itsenäistä suoritinyksikköä suoritinytimeksi tai vain yksinkertaisesti ytimeksi.
Nykyaikaisessa kodin laitteessa (esim. kannettavassa tietokoneessa, matkapuhelimessa tai tabletissa) on yksi suoritin, jossa on vain muutama ydin, tavallisesti 4-8. Huippuluokan peli- ja grafiikkasovelluksissa (esim. videoeditoinnissa) käytettävissä kodin laitteissa on lisäksi grafiikkasuorittimet sovellusten nopeuttamiseksi, ja useissa nykyaikaisissa supertietokoneissakin hyödynnetään grafiikkasuorittimia.
Supertietokoneissa käytettävät suorittimet ja grafiikkasuorittimet ovat usein melko samanlaisia kuin kuluttajalaitteissakin, mutta mittakaava on huomattavasti suurempi. Nykyaikainen supertietokone voi sisältää satoja tuhansia suoritinytimiä ja tuhansia grafiikkasuorittimia. Supertietokoneen teho tulee kaikista näistä suoritinytimistä ja grafiikkasuorittimista, jotka toimivat yhdessä samanaikaisesti – rinnakkain. Jokapäiväisestä tietojenkäsittelystä tuttua toimintatapaa, jossa yksi suoritinydin suorittaa yhtä laskutoimitusta, kutsutaankin tässä peräkkäislaskennaksi.
Supertietokoneet muodostuvat solmuista, ja yksittäinen solmu sisältää muutamia moniytimisiä suorittimia, mahdollisesti grafiikkasuorittimia sekä muistia. Muistin määrä solmua kohden vaihtelee tyypillisesti sadasta gigatavusta muutamaan tuhanteen gigatavuun (huippuluokan kannettavassa tietokoneessa voi olla 32 gigatavua muistia). Yhteensä supertietokoneessa voi olla miljoonia gigatavuja muistia.
Kaikkien näiden suoritinytimien ja grafiikkasuorittimien on pystyttävä kommunikoimaan keskenään, jotta ne voivat toimia yhdessä. Supertietokoneessa solmut on yhdistetty toisiinsa kytkentäverkon kautta. Kytkentäverkko on oleellinen komponentti, joka mahdollistaa supertietokoneen massiivisen rinnakkaislaskentakyvyn. Vaikka solmuilla voi olla paikallisia levyjä, yleensä olemassa on myös erillinen levytallennusjärjestelmä, jota kaikki solmut voivat käyttää.
Supertietokoneet eroavat kuluttajalaitteista myös siinä, että ne on pakattu paljon tiiviimmin. Fyysisesti supertietokone koostuu useista kabineteista, joista jokainen on perinteisen puhelinkopin kokoinen ja joissa kaikissa on useita palvelimia kehikossa ja solmuja niiden sisällä (kuva alla).
Jos Kajaanissa sijaitseva LUMI-supertietokoneen laskentateho saataisiin huippuluokan kannettavista tietokoneista, pino olisi yli 23 kilometriä korkea. Sen sijaan LUMI mahtuu muutamaan kymmeneen kabinettiin noin tenniskentän kokoisella alueella.
Copyright SURFsara, EPCC at the University of Edinburgh, CSC - IT Center for Science Ltd.