Linnémiljö:

Uppsala Programming for Multicore Architectures Research Center, UPMARC

UPMARC samlar ett antal internationellt framstående forskargrupper, som spänner över ett brett spektrum av kompetensområden. Grupperna har gjort ledande insatser inom konstruktion av parallella superdatorer, implementering av parallella programspråk, parallellprogrammering för högprestandaberäkningar, automatisk analys och verifiering av parallella program, analys av hur program kan använda cache-minnen optimalt, teorier för att modellera och resonera om parallella beräkningar, för att ta några exempel.

Datorerna blir allt mindre och allt snabbare. Antalet transistorer som får plats på en kiselkrets har fördubblats ungefär var 18:e månad, och klockfrekvensen som styr beräkningstempot i en krets, har också ökat på samma sätt.

Avancerade beräkningar vanligare


Allt sammantaget har datorprogram kunnat exekvera allt snabbare, och gjort att datorer idag utför avancerade beräkningar överallt i vår vardag. Denna utveckling har nu nått en kritisk punkt: vi har nått gränsen för att använda fler transistorer och ökad klockfrekvens till att få en processor att exekvera ett datorprogram ännu snabbare.

Framtidens processorkretsar kommer att innehålla fler transistorer, men de kommer att användas till flera processorer, så kallade kärnor, vilka exekverar parallellt. Detta är det enda sättet att få en krets att kunna göra fler beräkningar per tidsenhet, och det enda sättet att göra kretsarna energisnålare. Idag säljs många kretsar med två eller fyra processorkärnor, men om några år kommer kretsar med tiotals kärnor att bli vanliga.
 

Svårigheter


De flerkärniga processorernas intåg gör att den programmerare som i framtiden vill göra sitt program snabbare inte bara kan vänta på att nästa års krets räknar fortare, utan måste skriva om programmet så att det blir parallellt, det vill säga så att det gör flera saker samtidigt. Tyvärr är det ofta inte så lätt att skriva parallella program.

Det är ofta svårt att lista ut vilka delberäkningar som bäst ska göras parallellt. Dessutom är det mycket svårare att skriva korrekta program, eftersom det är svårt att förutse på vilka sätt som olika delar kan interagera och störa varandra.

Framtiden kräver


För att vi i framtiden ska kunna utnyttja de tekniska framstegen inom processortillverkning krävs omfattande forskning inom programvaruteknologi och datavetenskapliga basämnen för att ta fram kunskap, metodik och verktyg för att utveckla effektiva och säkra parallella program inom ett brett spektrum av tillämpningsområden.

UPMARC är ett forskningsprogram som möter denna utmaning. Viktiga forskningsinriktningar är att utveckla

  • principer för att skriva effektiva parallella program i olika tillämpningsområden som utnyttjar flerkärniga processorers speciella egenskaper
  • konstruktioner i programmeringsspråk som underlättar för programmeraren att skriva parallella program,
  • språkimplementeringar och optimeringar som så långt som möjligt automatiserar komplicerade delar av parallellprogrammeringen,
  • teorier, metodik och verktyg för att utnyttja processorkärnor
  • cache-minnen, kommunikationskanaler och andra resurser på ett optimalt sätt för att göra program effektiva och förutsägbara,
  • tekniker för att verifiera och testa program, samt att automatiskt analysera dem för att hitta fel.
Dela |

Senast uppdaterad: 2014-04-30

Forskningsmiljö
Uppsala Programming for Multicore Architectures Research Center, UPMARC

Sökande universitet
Uppsala universitet

Mer information
UPMARClänk till annan webbplats, öppnas i nytt fönster