Supertietokoneen suorituskyky

Supertietokoneiden suorituskyvyn mittaamiseen ja vertailuun on olemassa muutamia yleisiä mittareita. Vanhin ja perinteisin niistä on liukulukutoimitusten määrä sekunnissa (FLOP/s), jonka tietokone voi suorittaa.

Mitä FLOP/s oikein tarkoittaa? Liukuluku merkitsee reaalilukuja tietokoneen esittämänä. Jos suoritamme sekunnissa yhden laskutoimituksen, jossa on kaksi reaalilukua, kuten 2,1 + 4,3, suorituskyky on yksi liukulukutoimitus sekunnissa (1 FLOP/s).

Vaikka tietokoneet voivat käsitellä myös kokonaislukuja, mikä onkin joissakin sovelluksissa tärkeää, useimmissa tieteellisissä ongelmissa käytettävät algoritmit edellyttävät reaaliluvuilla laskemista. Tästä syystä tähän mittariin sisältyvät toiminnot ovat aritmeettisia perustoimintoja: yhteen-, vähennys-, kerto- ja jakolasku. Vuosien mittaan FLOP/s on muodostunut vakiomittayksiköksi.

Kun tietokoneen suorituskyky on

  • yksi miljardi FLOP/s, sen suorituskyky on yksi gigaflops (GFLOP/s)
  • yksi biljoona (1012) FLOP/s, sen suorituskyky on yksi teraflops (TFLOP/s)
  • yksi kvadriljoona tai 1015 FLOP/s, sen suorituskyky on yksi petaflops (PFLOP/s).

Suorittimen ytimen teoreettinen laskentateho määräytyy kellonopeuden ja niiden liukulukutoimintojen enimmäism��ärän mukaan, jonka se voi suorittaa yhden kellojakson aikana. Esimerkiksi tyypillisen kannettavan tietokoneen suoritinytimen kellonopeus voi olla 3 GHz, mikä tarkoittaa sitä, että se suorittaa kolme miljardia jaksoa sekunnissa.

$ 3\text{GHz}=3\times10^{9}\frac{1}{\text{s}} $

Oletetaan lisäksi, että tämä teoreettinen ydin voi suorittaa 16 liukulukutoimintoa eli flopsia jaksossa. Kaiken kaikkiaan ytimen huipputeho on 48 GFLOP/s.

$ 3\times10^{9}\frac{1}{\text{s}} \times16\text{FLOP}=48\frac{\text{GFLOP}}{\text{s}}$



Grafiikkasuorittimien teoreettinen huippusuorituskyky voidaan laskea vastaavalla tavalla. Lisäksi koko supertietokoneen teoreettinen huippusuorituskyky saadaan kertomalla sen suorittimien ja grafiikkasuorittimien teoreettinen huippusuorituskyky näiden järjestelmässä käytettyjen komponenttien määrällä.


Suorituskykyterminologiaa:

| Toimintoa sekunnissa | Tieteellinen merkintä | Mitan etuliite | Yksikkö | |---------------------------|---------------------|---------------|---------| | 1 000 | 103 | Kilo | KFLOP/s | | 1 000 000 | 106 | Mega | MFLOP/s | | 1 000 000 000 | 109 | Giga | GFLOP/s | | 1 000 000 000 000 | 1012 | Tera | TFLOP/s | | 1 000 000 000 000 000 | 1015 | Peta | PFLOP/s | | 1 000 000 000 000 000 000 | 1018 | Exa | EFLOP/s |






Teoreettinen-termi viittaakin jo siihen, että tätä laskentatehoa ei yleensä voida saavuttaa todellisissa laskelmissa. Ennen kuin suoritin voi tehdä laskutoimituksen 2,1 + 4,3, sen on haettava kaksi numeroa muistista ja sen jälkeen tallennettava tulos muistiin. Tämä ei tapahdu välittömästi, joten käytännössä laskentanopeus määräytyy suorittimen teoreettisen laskentatehon lisäksi myös sen mukaan, kuinka nopeasti suoritin voi käyttää muistia.

Eri sovelluksilla on eri suhteet liukulukutoiminnoille muistin käyttöä kohden. Joissakin tapauksissa samaa lukua käytetään useissa laskutoimituksissa, kuten laskettaessa samanaikaisesti sekä 2,1 + 4,3 että 2,1 + 5,3. Oletetaan, että muistin käyttönopeus on rajoittava tekijä (kuten useimmissa nykyaikaisissa tietokoneissa). Tällöin sovellukset, jotka suorittavat useita liukulukutoimintoja samalla datalla, voivat saavuttaa korkeamman suorituskyvyn kuin sovellukset, joilla on vähemmän laskutoimituksia datayksikköä kohden.

Rinnakkaislaskennassa yhden solmun suorittimen on toisinaan käytettävä myös toisen solmun dataa. Siten myös solmujen välisen tiedonsiirron nopeus voi rajoittaa käytännön suorituskykyä. Lisäksi tosielämän sovellusten on luettava ja kirjoitettava tietoja levylle, minkä vuoksi I/O-nopeus (syöttö/tulostus, tiedonsiirto suorittimien ja tallennustilan välillä) saattaa rajoittaa suorituskykyä entisestään.

Top500-lista

Koetinkuorma tai vertailusovellus (benchmark) on standarditesti, jolla voidaan mitata tietyn laitteen, kuten (super)tietokoneen, suorituskykyä ja toiminnallisuutta. Yleensä mitataan vertailuarvosovelluksen suoritusaika ja sitä käytetään mittarina. Vertailuarvojen avulla eri tietokoneiden suorituskykyä on helppo vertailla.

LINPACK on yleinen benchmark, joka mittaa järjestelmän liukulukutehoa. Linpack ratkoo tiheän lineaarisen yhtälöryhmän numeerisesti, ja saavuttaa tavallisesti noin 75 prosenttia teoreettisesta huippusuorituskyvystä.

TOP500 on supertietokoneiden sijoituslista, joka kerää supertietokoneita käyttävien organisaatioiden lähettämät LINPACK-tulokset. Lista päivitetään kahdesti vuodessa, ja 500 tehokkainta supertietokonetta sijoitetaan listalle niiden LINPACK-vertailuarvon mukaisen laskentatehon mukaan.

Ensimmäisen, kesäkuussa 1993 julkaistun TOP500-listan tehokkain supertietokone tuli Yhdysvalloista, ja sen suorituskyky oli 60 GFLOP/s. Vertailun vuoksi marraskuussa 2020 nopeimman (japanilaisen) supertietokoneen suorituskyky oli 440 PFLOP/s, mikä on lähes seitsemän miljoonaa kertaa nopeampi kuin voittajalla 27 vuotta sitten. Vastaavasti kesäkuun 1993 listan viimeisellä sijalla (500) olevan supertietokoneen suorituskyky oli 0,4 GFLOP/s, kun taas marraskuussa 2020 samalla sijalla olevalla se oli 1,3 PFLOP/s, mikä on noin kolme miljoonaa kertaa nopeampi. Tavallisten tietokoneiden tapaan myös supertietokoneiden laskentateho on kasvanut huomattavasti vuosien varrella.

Alla oleva kuva havainnollistaa TOP 500 -supertietokoneiden suorituskyvyn kehitystä vuosina 1993–2021. Vihreät pisteet (summa) näyttävät 500 nopeimman tietokoneen kokonaissuorituskyvyn, oranssit kolmiot näyttävät sijan 1 tietokoneen ja siniset neliöt sijan 500 tietokoneen tehon.

Top500-lista vuodelta 1993




Vertailun vuoksi nykyaikaisen kannettavan tietokoneen suorituskyky voi olla noin 300 GFLOP/s, eli se olisi siis ollut tehokkain supertietokone kesäkuussa 1993. Vuonna 2020 tehokkaimman supertietokoneen suorituskyky vastasi yli miljoonaa tällaista kannettavaa tietokonetta.



CSC – Tieteen tietotekniikan keskuksen Mahti-supertietokoneen suorituskyky on 7,5 PFLOP/s, eli se pystyy suorittamaan $ 7,5\times10^{15} $ operaatiota sekunnissa, mikä vastaa noin 24 000 kannettavan tietokoneen tehoa. Vaikka maailman kaikki ihmiset ratkaisisivat kukin yhden matemaattisen ongelman sekunnissa, kokonaissuorituskyky olisi silti miljoonasosa Mahdin tehosta.

LUMI-supertietokoneen teoreettinen huippusuorituskyky on yli 550 PFLOP/s, ja sen odotetaan olevan maailman kymmenen parhaan supertietokoneen joukossa, kun asennus valmistuu vuonna 2022.