Fåglar hjälper forskare
programmera masskärnor
Ett forskningsprojekt på IBM testar ett radikalt nytt angreppssätt för att programmera processorer med många kärnor. Den stora tidstjuven är att få kärnorna att synkronisera sig. Så sluta med det – och acceptera att beräkningen inte blir deterministisk eller till och med fel. Inspirationen kommer från myror, fågelflockar och akvariefiskar.Då föreslår ett forskningsprojekt på IBM att det redan kan vara dags att byta strategi. Metoderna som fungerar för processorer med ett fåtal kärnor kan inte skalas upp till masskärnor med hundratals cpu:er.
System med tusentals kärnor finns visserligen i superdatorer och molnservrar. Men kommunikationen mellan kärnorna på ett enda chip går betydligt snabbare – så strategier därifrån kan inte användas.
Man kan heller inte, som i dagens multikärnor, utgå från att det på chipet finns ett gemensamt minne för alla kärnor – minnet skulle ligga för långt bort och det skulle bli för trångt om saligheten när 1000 kärnor vill använda det samtidigt.
Forskarnas kollegor har försökt lösa problemet genom att lätta på kraven på synkronisering mellan kärnorna – att minimera kommunikationen och minimera tiden som kärnor måste vänta på varandra. Renässansprojektet driver idén till sin spets: ha ingen synkronisering alls.
Idén kräver nya algoritmer. Det kan till och med vara ok att ett beräkningselement returnerar ett felaktigt svar, "om felet är hanterbart och om det ger möjlighet att utnyttja billig massiv parallellism”.
Sättet att hantera eventuella fel eller motsägelser kan vara att reparera dem i efterskott. Eller att minska frekvensen av fel genom att avdela resurser som letar efter och testar data efter fel.
En typ av fel som kan uppstå när det inte finns någon synkronisering är att data har blivit föråldrade — att nya värden börjat gälla utan att den informationen nått fram till alla beräkningselement.
Den robusthet som finns i naturen är en inspirationskälla. Forskarna funderar bland annat över fågelflockar, myrstackar och akvariefiskar, där alla individer agerar självständigt och det trots detta uppstår ett komplext meningsfullt beteende i gruppen som helhet – fenomenet kallas ”emergens” bland filosofer.
Renässansprojektet bedrivs i samarbete med universitet i Bryssel och i Portland State.
– Det tycks existera en fundamental avvägning mellan determinism och prestanda, säger projektledaren.
Forskarna har byggt system som körs på en 64-kärnig Tileraprocessor, på Linux eller Mac, eller till och med på en Ipad-app.
Här är en länk till mer information och till program du kan ladda hem: länk.