Nytt språk för parallellprogrammering

Ett nytt programmeringsspråk har designats för att få ut det mesta av de senaste flerkärniga datorprocessorerna. Om den finner fördel bland kodare kan den ge kraftfullare programvara för många datorer.





Under de senaste åren, när de har stött på de fysiska gränserna för miniatyrisering, har mikrochipstillverkare gått från att öka kraften hos processorkärnor – den del av ett chip som hanterar data och instruktioner – till att lägga till fler kärnor till ett enda chip . Till exempel har Intels i3- och i7-processorer två respektive fyra kärnor.

Detta innebär en utmaning för programmerare. Eftersom de flesta programmeringsspråk var designade för single-core chips kan det vara knepigt att dela upp uppgifter och skicka dem till varje kärna parallellt. Om en kodare inte är försiktig kan detta orsaka fel på det sätt som varje kärna i chippet kommer åt de delade minnessektionerna.

Tucker Taft , chief technology officer och ordförande för det Boston-baserade mjukvaruföretaget SofCheck , designade det nya språket — kallat Parallell specifikation och implementeringsspråk (ParaSail) – specifikt för att skriva programvara för flerkärniga processorer. Språket är tänkt att undvika de fallgropar som vanligtvis uppstår när man arbetar med flerkärniga chips.



För en programmerare ser ParaSail ut som en modifierad form av Java eller C#, två ledande språk. Skillnaden är att det automatiskt delar upp ett program i tusentals mindre uppgifter som sedan kan spridas över kärnor – ett trick som kallas pico-threading, som maximerar antalet uppgifter som utförs parallellt, oavsett antalet kärnor. ParaSail gör också felsökningen automatiskt, vilket gör koden säkrare. Allt görs parallellt som standard, om du inte säger något annat, säger Taft.

Under det kommande decenniet förväntas antalet kärnor på datorchips öka ytterligare. Det finns några maskiner där ute med dussintals eller hundratals kärnor nu, säger Taft.

ParaSail använder ett antal andra knep, några som bygger på språk som utvecklades i slutet av 1980-talet och början av 1990-talet för superdatorer - maskiner som kör många individuella datorchips i nätverk. Utformningen av själva språket är i princip komplett, säger Taft, som presenterade detaljer om språket på onsdagen O'Reilly Open Source Convention . Den första versionen av kompilatorn kommer att släppas under nästa månad eller så. Språket fungerar på Windows-, Mac- och Linux-datorer.



Microsoft och Intel lägger 20 miljoner dollar på att anpassa befintliga språk för flerkärniga processorer, så det är svårt att säga om ParaSail kommer att bli allmänt antagen. Det är många som kikar på problemet, tar befintliga språk och försöker göra dem bättre på att hantera parallell bearbetning, säger Taft.

Taft har redan en bevisad meritlista i världen av datorspråkutveckling, säger Denis nicole av Dependable Systems and Software Engineering Group vid Southampton University. Men han tillägger att det vanligtvis krävs företag av Suns storlek för att driva nya språk på samhället.

Dölj