Chalmersteknologi i nya Java

Den senaste versionen av programspråket Java innehåller teknologier som Chalmersforskarna Håkan Sundell och Philippas Tsigas var först med att publicera. Med de nya komponenterna blir det både enklare och snabbare att utveckla programvara i nya datorers multiprocessorsystem.​
Håkan Sundell och Philippas Tsigas framför arbetsverktyget superdatorn. Foto: Jan-Olof Yxell Enprocessorsystemet har pressats så långt det går. Den som vill ha högre prestanda på sin dator måste ta steget över till flera processkärnor och flera programtrådar per processor.
- De senaste enprocessorsdatorerna har en effekt på 150 W och där går gränsen. Sedan blir det för varmt för att kyla ner. Värmetätheten är faktiskt större än på en spishäll, säger Håkan Sundell.

Att det fanns en gräns för enprocessorsystemen har man vetat länge. Forskningen kring multiprocessorsystem, eller inbyggd parallellism, har pågått i decennier och på 1970-talet trodde man att övergången skulle ske någon gång under 1980- och 1990-talen. Men konstruktörerna kom hela tiden på nya tricks att öka klockfrekvensen i enprocessorsystemen. Därför har det inte funnits något intresse att använda flera processorer som man visste skulle ställa till problem med programvaran. Med flera sådana måste programmen delas upp i flera programtrådar som kan köras parallellt.

- För att uppföra sig som ett program för användaren måste dessa programtrådar kommunicera sinsemellan och kunna arbeta med gemensamma resurser, till exempel minnet. Då är det mycket viktigt att denna kommunikation görs så effektiv som möjligt, så att inte flaskhalsar uppstår som kan bromsa den övergripande hastigheten.

Det är här som Sundells och Tsigas forskning kommer in i bilden. Den bygger på låsfri synkronisering, där grundprincipen är att ingen programtråd ska kunna blockera någon annan när den används. Sundell och Tsigas har bland annat utvecklat den första låsfria versionen av en så kallad skip-list, för vilken de fick pris för bästa forskningsartikel av Institute of Electrical and Electronic Engineers (IEEE) Computer Society
2003.


Skip-listen, där det speciella är att både inkommande objekt, på bilden de gröna, och utgående objekt, den röda, kan behandlas samtidigt (parallellt) i t ex en databas. Annars måste det göras i separata steg. Bild: Håkan Sundell - En skip-list är en smart organiserad datastruktur som kan liknas vid ett uppslagsverk.Den fungerar som en nyckel som tar sig förbi icke relevanta data till de objekt man vill nå på ett snabbt och effektivt sätt, säger Håkan Sundell.

Denna teknik har alltså Java tagit fasta på i sin senaste version JDK 1.5.0. Eftersom Java är rankat som det mest populära programspråket, kommer den låsfria teknologin att få stor genomslagskraft bland programutvecklare.

Sundell och Tsigas har även utvecklat programkomponenter för programspråket C som de kommer att marknadsföra genom företaget Parallel Scalable Solutions AB.

Mer information
Philippas Tsigas, Avdelningen för datavetenskap, Institutionen för data- och informationsteknik 031-772 5409.
tsigas@cs.chalmers.se

Håkan Sundell, tel: 0704-15 09 35
phs@cs.chalmers.se

Bild på Håkan Sundell och Philippas Tsigas finns att ladda ned för media här>>

Publicerad: ti 28 feb 2006. Ändrad: må 09 maj 2011