Jos laskutehtävä on iso, tarvitaan tehokas tietokone. Jos tehtävä on liian iso tehokkaallekin tietokoneelle, niitä tarvitaan monta.
Kuulostaa itsestäänselvyydeltä, mutta ei oikeastaan ole sitä, kertoo rinnakkaisen ja hajautetun datatieteen professori Keijo Heljanko. Hän toimii myös Helsinki Centre for Data Science (HiData) -tutkimuskeskuksen varajohtajana. Keskus on Helsingin yliopiston ja Aalto-yliopiston yhteinen.
Se, miten koneet jakavat tietoa ja keskustelevat laskennan aikana, vaikuttaa suuresti laskennan tehokkuuteen.
— Rinnakkaista laskentaa, jossa useampi tietokone on saman ongelman kimpussa, ei ole ihan helppo organisoida. Se, miten koneet jakavat tietoa ja keskustelevat laskennan aikana, vaikuttaa suuresti laskennan tehokkuuteen.
Tämän kysymyksen parissa Heljanko on tehnyt töitä vuosituhannen vaihteesta. Ensin hän analysoi rinnakkaisen laskennan järjestelmiä ja kehitti siihen sopivia työkaluja, mutta sittemmin hän on siirtynyt kehittämään rinnakkaisen laskennan järjestelmiä itsekin.
Kysymys ei ole pelkästään akateeminen. Syitä tähän on kaksi. Niistä ensimmäinen ovat jatkuvasti kasvavat datamassat. Esimerkiksi Google-haut tai geenitiedon analyysi vaativat jo niin paljon laskentatehoa, ettei niistä yksittäinen kone selviä. Maailman datan määrän on arvioitu kymmenkertaistuvan vuodesta 2013 vuoteen 2020, eikä kasvulle näy loppua. Uudet ominaisuudet tarvitsevat lisää dataa.
— Ajatellaan vaikka automaattista kasvojentunnistusta, jolla olisi paljon sovelluksia esimerkiksi tietoturvassa. Tunnistuksen tuominen arjen laitteisiin vaatii kuitenkin valtavasti laskentatehoa.
Toinen syy on laitteiden kuumeneminen. Aiemmin kasvava laskentatehontarve on voitu tyydyttää mikroprosessorien kellotaajuutta kasvattamalla, eli käytännössä ahtamalla samaan tilaan yhä enemmän ja enemmän transistoreita. Nyt transistoreita alkaa kuitenkin olla jo niin tiheässä, ettei lisääminen ole enää mahdollista. Yhä kovempien tehojen vaatiminen uhkaa kuumentaa koneet rikki.
Ratkaisu ovat koneet, jotka optimoidaan vain tiettyjä laskutoimituksia varten, kuten esimerkiksi tekoälyohjelmistojen toteuttamiseen. Rajattuun tehtävään erikoistuneiden koneiden avulla tehokkuutta voidaan kasvattaa edelleen.
Optimoitujen koneiden hyödyntäminen edellyttää kuitenkin erilaisten koneiden kytkemistä yhteen niin, että kukin niistä keskittyy vain siihen tehtävään, missä juuri se on paras. Tämä vaatii entistä parempia rinnakkaislaskentamenetelmiä.
— Rinnakkaisen laskennan merkitys kasvaa tulevaisuudessa. Koska tietomäärät kasvavat nopeasti, sille ei oikein ole vaihtoehtoja, Heljanko sanoo.