MIT versnelt simulaties op multicoreprocessors
Wetenschappers van MIT hebben software ontwikkeld die het uitvoeren van levensechte simulaties op multicoreprocessors aanzienlijk versnelt.
Het team van het Massachusetts Institute of Technology (MIT) berekende door middel van een simulatie van vloeistof in beweging op een systeem met 24 rekenkernen dat hun nieuwe software tot 50 procent efficiënter werkt dan de conventionele methodes.
Atoomsimulaties
Complexe computermodellen zoals atoomsimulaties van fysieke materialen of hoge resolutiemodellen van weersystemen worden doorgaans parallel uitgevoerd op meerdere computers die in een netwerk met elkaar verbonden zijn.
Een stukje software verdeelt het model in aparte rekentaken en verdeelt ze over de computers. Maar met de opkomst van multicoreprocessors de afgelopen vijf jaar is dit oude managementsysteem simpelweg overgenomen.
Geanimeerde weerkaarten
Neem bijvoorbeeld de geanimeerde weerkaarten die tijdens het weerbericht worden gebruikt. De simulatie neemt factoren als temperatuur, vochtigheidsgraad, en windsnelheid – die in verschillende weerstations worden gemeten – in beschouwing.
Op basis van die factoren voorspelt het computermodel hoe de situatie er vijf minuten later uit zal zien. Dit wordt herhaald tot een weersvoorspelling voor de komende uren en dagen.
Berekeningen opsplitsen
Plaatselijke veranderingen in die factoren worden gegroepeerd per meetstation en daardoor kunnen de berekeningen opgesplitst worden. Verschillende computers of rekenkernen kunnen zo een afgebakend geografisch gebied voor hun rekening nemen.
Als dergelijke simulaties op een netwerk van computers worden uitgevoerd probeert de managementsoftware de pakketten zo in te delen dat er een minimale gegevensuitwisseling tussen de verschillende stations nodig is.
Schatting
Hiervoor moet echter op voorhand geschat worden hoe lang een computer over de berekening van een bepaald deel doet. Als dit verkeerd is moet het hele netwerk wachten tot de traagste machine zijn berekeningen heeft uitgevoerd alvorens met een volgende opdracht verder te gaan.
Voordelen multicore
In een multicorechip daarentegen verloopt de communicatie tussen de rekenkernen onderling en tussen de kernen en het geheugen veel efficiënter. Hierdoor kunnen de wetenschappers de simulatie in kleinere delen opsplitsen, die bovendien in een wachtrij worden geplaatst.
Als een kern klaar is met zijn taak, begint hij gewoon aan de volgende. Dit maakt een inschatting van de rekentijd overbodig. Maar belangrijker nog: kleinere delen betekenen dat het systeem beter om kan met het probleem van de grenzen.
Grensgebied
Want wat met de weerstations die op de grens van een deelgebied liggen? De invloed van de factoren op die van naburige weerstations moet uiteraard ook berekend worden. In een netwerk van computers betekent dat dat de computers die aan elkaar grenzende delen berekenen onderling informatie moeten uitwisselen via het relatief trage netwerk.
Cache-geheugen
Multicorechips daarentegen maken gebruik van cache-geheugen. Dat is relatief klein, maar kan zeer snel aangesproken worden. Het MIT-team slaagde er in de simulatie zo klein op te delen dat niet alleen elk deel in zijn geheel in de cache past maar ook de informatie over de nabijgelegen delen.
Een kern die aan een bepaald simulatiedeel werkt kan hierdoor razendsnel informatie vergaren over de nabijgelegen delen. In het geval van de weersimulatie zijn dat de aangrenzende geografische gebieden.
Managementsoftware beperkt snelheid
Een multicoreprocessor met 24 rekenkernen kan in theorie een simulatie 24 keer sneller uitvoeren dan een processor met een enkele kern. In de praktijk is dat echter, door onder meer de onaangepaste managementsoftware, beperkt tot 12 maal die snelheid.
In het februarinummer van Computer Physics Communications meldde het onderzoeksteam van het MIT dat hun testopstelling met een 24 core-processor en de nieuwe software 22 maal zo snel was in het uitvoeren van hun simulatie dan een processor met een kern.
60.000 rekenkernen
Bovendien kan die snelheid volgens de onderzoekers nog opgeschroefd worden als er processors met meer kernen worden ingezet. Vorige week nog stelde de NASA een supercomputer met bijna 60.000 kernen ter beschikking van de wetenschap.