Amerikkalainen MIT on esitellyt uuden Swarm-siruarkkitehtuurin, jonka ansiosta useita suoritinytimiä sisältävien prosessorisirujen suunnittelu helpottuu ja rinnakkaismuotoisen ohjelmakoodin käyttö tehostuu. Rinnakkaiskoodia voidaan ajaa moninkertaisesti nykyistä nopeammin ja samalla koodin määrä saadaan supistetuksi noin kymmenesosaan.
Prosessoriytimien suorituskyky ei sinänsä ole parantunut enää pitkiin aikoihin. Viimeisten kymmenen vuoden aikana tehokkuutta on voitu kasvattaa ainoastaan lisäämällä ytimien lukumäärää prosessorisirulla. Teoriassa moniytimisen piirin suorituskyky paranee suoraan suhteessa ytimien lukumäärään, mutta käytäntö on huomattavasti vaatimattomampi.
Moniytimisten järjestelmien ohjelmointi nykyisin menetelmin on todella hankalaa. Suoritettava tehtävä on jaettava osatehtäviin eri ytimiä varten ja samalla luotava erittäin vahva synkronointi jaettua dataa käyttävien osatehtävien välille. MIT:n kehittämässä Swarm-siruarkkitehtuurissa kaikki täsmällinen synkronointi voidaan poistaa osatehtävien väliltä, jolloin rinnakkaiskoodin ohjelmointi ja ajaminen helpottuvat merkittävästi.
Simulaatioissa tutkijat vertasivat kuuden rinnakkaismuotoisen laskenta-algoritmin Swarm-versioita nykyisiin tehokkaimmiksi todettuihin rinnakkaisversioihin. Swarm-versiot toimivat vähintään kolminkertaisella ja parhaimmillaan 18-kertaisella nopeudella. Samalla koodin määrä saatiin puristetuksi vain kymmenesosaan tai jopa alle sen. Eräässä tapauksessa Swarm nopeutti peräti 75-kertaisesti ohjelmaa, jota tutkijat eivät aiemmin olleet onnistuneet muokkaamaan rinnakkaismuotoon lainkaan.
Ohjelmoinnin kannalta Swarm-arkkitehtuurin käyttäminen on tuskatonta. Funktiota määritellessään ohjelmoijan täytyy lisätä ohjelmaan vain yksi rivi koodia, joka lataa funktion Swarm-sirun tehtäväjonoon.
Seppo Lindstedt