Datorarkitekturer Sammanfattande bedömning Datorarkitektur är det teknikvetenskapliga ämne som behandlar principer för konstruktion av datorsystem. Datorns arkitektur definierar ett funktionellt gränssnitt mot programvaran, den så kallade exekveringsmodellen. Viktiga fält inom datorarkitektur behandlar principer för exekveringsmodeller, principer för implementering av dessa modeller i given implementeringsteknologi samt metoder för analys av egenskaper såsom beräkningsprestanda, effektutveckling samt tillförlitlighet i given implementeringsteknologi. Ämnet angränsar till programvaruteknik genom dess koppling till programvara via exekveringsmodeller och till elektronik genom dess koppling till implementeringsteknologier. En viktig drivkraft bakom ämnet är dels den mångfacetterade användningen av datorer i vitt skilda tillämpningar och de krav de ställer på funktionalitet och beräkningsprestanda. En annan drivkraft är de ramvillkor som den teknologi som datorer utvecklas i ställer på implementering av datorsystem. Ämnet har historiskt intagit en central plats i USA men har på grund av satsningar på excellensnätverk fått en framskjuten plats inom Europa. I Asien har Japan varit ledande inom området men ämnet ägnas ett tilltagande intresse i Korea och Kina. Sverige har medvetet byggt upp en god och, inom vissa fält, internationellt erkänd forskning inom ämnet, speciellt inom parallelldatorer. Forskningen inom vissa fält är dock förhållandevis svag givet dess betydelse. Ett identifierat hot är inverkan av parallelldatorer på möjligheterna för programvara att utnyttja framtida datorers beräkningsprestanda. För att accelerera genombrott föreslås stimulans av tvärvetenskapliga samarbeten mellan datorarkitektur och relevanta grupperingar inom programvaruteknik. Ett annat identifierat hot avser implementeringsteknologins möjligheter att ge rätta förutsättningar för ökning av beräkningsprestanda i framtiden. Det är sannolikt att nya implementeringsteknologier snart måste beaktas och detta kommer att ge nya utmaningar för ämnet datorarkitektur. Det konstateras att de identifierade hoten ger goda möjligheter för svensk forskning inom datorarkitektur. Sverige har förhållandevis stark forskning inom såväl programvaruteknik som materialforskning. Genom att brygga dessa ämnen med datorarkitektur kan nya tvärvetenskapliga samarbeten potentiellt bryta de barriärer som identifieras. Ämnesbeskrivning Datorarkitektur är det teknikvetenskapliga ämne som behandlar principer för konstruktion av datorsystem. Inom ämnet studeras å ena sidan principer för datorns exekveringsmodell för programvaran och å andra sidan principer för hur exekveringsmodellen implementeras för att nå önskvärda egenskaper avseende exempelvis beräkningsprestanda, tillförlitlighet, och energieffektivitet i given implementeringsteknologi. Ämnet angränsar därför till programvaruteknik och ämnen rörande implementeringsteknologier som idag domineras av halvledarelektronik.
Ämnet lägger grunden för å ena sidan hur datorsystem konstrueras för att utgöra ett funktionellt gränssnitt för utveckling av datorbaserade tillämpningar och å andra sidan hur datorsystem kan uppfylla önskvärda egenskaper i given implementeringsteknologi. Genom ämnets koppling till å ena sidan programvaruteknik och å andra sidan elektronik påverkar ämnesutvecklingen inom alla tre områden varandra. Man kan dela in datorarkitekturämnet i tre fält: Principer för exekveringsmodeller för datorsystem och organisation av datorsystem. Principer för implementering av exekveringsmodeller för datorsystem mikroarkitektur, minnessystem och interna nätverk. Metoder för kvantitativ analys av konstruktionsprinciper för datorsystem. Inom fältet principer för exekveringsmodeller för datorsystem behandlas frågor rörande det funktionella gränssnittet mot programvaran. Inom fältet principer för implementering av exekveringsmodeller behandlas frågeställningar hur man kan uppfylla önskvärda egenskaper givet möjligheter och begränsningar i given implementeringsteknologi. Detta fält har tydliga underfält som beaktar mikroarkitektur, minnessystem samt interna nätverk. Notera att en exekveringsmodell kan vara ett gränssnitt som implementeras delvis i hårdvara och delvis i programvara varför vissa underfält inom programvaruteknik, såsom operativsystem och kompilatorteknik, överlappar med ämnet datorarkitektur. Slutligen behandlar fältet metoder för kvantitativ analys allmänt hur man analyserar kvantitativa egenskaper hos givna datorsystemimplementeringar av en given exekveringsmodell i en given implementeringsteknologi. Styrkor, svagheter och ämnesmässiga trender Ämnesmässiga drivkrafter Datorns historia är kort. Den första elektroniska datorn ENIAC stod klar 1946. Datorutvecklingen drevs i början av behovet att automatisera beräkningar men i och med intåget av halvledarelektronik under tidigt 1970-tal ledde den gynnsamma prisutvecklingen till att datorn blev en massmarknadsprodukt som idag finns integrerad i de flesta tekniska system. Utvecklingen inom halvledarelektronik brukar sammanfattas under benämningen Moore s lag: antalet transistorer i en integrerad krets ett chip fördubblas cirka vartannat år. Detta har lett till en fördubbling i beräkningsprestanda cirka vartannat år under de senaste tre decennierna som till stor del kan hänföras till bidrag från ämnesutvecklingen inom datorarkitektur. Under 1970-talet studerades i synnerhet principer för parallella exekveringsmodeller och exekveringsmodeller för olika programmeringsspråk. 1980-talet lade grunden för ämnet som en teknikvetenskaplig disciplin genom de genombrott som gjordes vid Stanford och Berkeley kring principerna bakom så kallade RISC-datorer. Tyngdpunkten för forskningen under 1980- och 1990-talen var inom fältet principer för implementering av exekveringsmodeller och fokuserade på hur man kan utvinna instruktionsparallellism och underfälten mikroarkitektur, minnessystem och interna nätverk blev centrala fält. Grunden för fältet metoder för kvantitativ analys lades och har sedan dess varit ett aktivt fält. Om än tyngdpunkten låg kring sekventiella exekveringsmodeller fanns också en betydande verksamhet inom parallella exekveringsmodeller. Frågeställningar har drivits huvudsakligen av utvecklingen inom halvledarelektronik då exekveringsmodellen varit relativt fixerad. Dock skedde under tidigt 2000-tal ett skifte mot parallella exekveringsmodeller genom att man då nådde gränsen för
effektutvecklingen på ett chip varvid parallelldatorer (så kallade multicores) ansågs vara enda vägen framåt. Ämnesmässiga trender Datorarkitekturämnets frågeställningar förväntas fortsättningsvis att drivas av utvecklingen inom halvledarelektroniken. Enligt halvledarelektronikens roadmap förväntas en fortsatt exponentiell ökning av antalet transistorer på ett chip under de kommande tio åren. Effektutvecklingen på ett chip kommer dock att bli en alltmer begränsande faktor. Som en följd av detta kommer beräkningsprestandaökning bli än mer beroende av att man kan utvinna parallellism. Detta förväntas ha en stor inverkan på forskningen i de olika fälten inom datorarkitektur. Principer för i synnerhet parallella exekveringsmodeller förväntas öka i betydelse. Principer för implementering av exekveringsmodeller förblir viktigt. Inom underfälten mikroarkitektur kommer frågan hur man utvinner parallellism dynamiskt att vara viktig. Underfältet minnessystem kommer att behöva göra genombrott hur man ska kunna erhålla en hög minnesbandbredd. Här erhåller underfältet interna nätverk också utmaningar. Övergripande kommer alla underfält att inrikta frågeställningarna mot hur man kan uppnå högre beräkningsprestanda med avsevärt mindre effektutveckling. Detta kommer att öka intresset för principer för specialiserade, och därför effektsnålare, såväl som anpassningsbara beräkningsstrukturer. I takt med att beräkningsstrukturerna i datorer blir alltmer komplicerade system kommer metoder för kvantitativ analys att finna nya utmaningar att adressera. På 5 års sikt kommer det att bli alltmer utmanande att utnyttja halvledarelektronik, som idag är CMOS, som implementeringsteknologi för datorer. Intresset för alternativa teknologier och exekveringsmodeller kommer därför att öka och ha betydelse för inriktningen av forskningen på 5 till 10 års sikt. Ämnets betydelse internationellt och nationellt styrkor och svagheter Ämnet intar naturligt en central plats i USA där de större universiteten har världsledande forskning. Ämnet är också välrepresenterat i Europa och har växt i betydelse under 2000-talet genom bildandet av det EU-finansierade nätverket HiPEAC som engagerar över 800 hundra forskare. Sverige är representerat i HiPEAC genom Chalmers. Ämnet har traditionellt också varit centralt i Asien, i framförallt Japan, men stiger i betydelse i Korea och Kina. Sverige byggde redan under 1950-talet upp kompetens genom de tidiga datorprojekten BARK, BESK och SMIL. STU (Styrelsen för teknisk utveckling) satsade under 1980-talet på en kompetensuppbyggnad inom datavetenskap och lade grunden för datorarkitekturforskning vid de större universiteten. Idag finns betydande verksamhet inom datorarkitektur vid Chalmers, Halmstad, Jönköping, KTH, Linköping och i Uppsala. Parallelldatorer har ägnats stor uppmärksamhet i Sverige. Forskningen håller god kvalitet och är i vissa fall internationellt erkänd. Att parallelldatorer nu är norm gör svensk datorarkitekturforskning mycket relevant. Det relativt nyligen skapade nätverket Swedish Multicore Initiative (SMI), anordnar årligen en informationsdag som besöks av över 200 forskare och ingenjörer från akademi och industri. En svaghet är att ämnet är relativt litet i Sverige. Därför kan endast ett fåtal fält ägnas uppmärksamhet. Principer för exekveringsmodeller ägnas relativt lite uppmärksamhet givet dess betydelse. Principer för implementering av exekveringsmodeller har däremot en gedigen verksamhet speciellt inom underfälten minnessystem. Underfältet mikroarkitektur är dock relativt styvmoderligt
behandlat. Fältet metoder för kvantitativ analys täcks till viss del om än inte motsvarande dess betydelse i framtiden. Frågeställningarna inom datorarkitektur drivs huvudsakligen av ämnesutveckling inom såväl teknologier (idag: halvledarelektronik) som programvaruteknik. En svaghet internationellt såväl som i Sverige är att relativt lite kopplingar finns mellan dessa ämnen. Betydelsen av att skapa bryggor mellan ämnena kommer att öka i betydelse i framtiden. Hot och möjligheter Sedan början av 2000-talet gjordes ett skifte i datorindustrin mot parallelldatorer (multicores) framtvingat av teknologibegränsningar. Antalet processorer på ett chip förväntas nu fördubblas vartannat år. För att kunna utnyttja beräkningsprestanda måste den mesta programvaran skrivas om. Detta är svårt och tidsödande. Det finns idag ingen framgångsrik metod för att med rimliga insatser anpassa programvaran till parallelldatorer om än stora forskningsresurser läggs ned på detta internationellt. Om framsteg dröjer kan det riskera att minska drivkraften inom hela det informationstekniska fältet och utgör därmed ett hot för informationsteknikens expansion. Halvledarelektronikens betydelse för datorer har byggt på möjligheten att miniatyrisera transistorer i enlighet med Moore s lag. Även om detta enligt teknikprognoser kan fortsätta ytterligare i 10 år kommer det till en ände (end-of-moore) med användandet av CMOSteknologi. Ännu tidigare kommer datorkonstruktörer att brottas med att finna sätt att minska effektutveckling och att tampas med transistorer vars egenskaper påverkas av kvantmekaniska fenomen. Detta kommer att skapa enorma utmaningar för datorarkitektur inom en 10- årsperiod. Ovanstående hot utgör samtidigt möjligheter. Vad avser de två teknikbarriärer som identifierats ovan teknologins påverkan på exekveringsmodeller (skiftet mot multicore) och exekveringsmodellens påverkan på teknologin finns intressanta möjligheter för tvärvetenskapliga utmaningar. Sverige är förhållandevis starkt inom materialvetenskap såväl som inom programvaruteknik. Genom att skapa broar mellan datorarkitektur och materialvetenskap skulle det finnas möjligheter att göra genombrott kring helt nya sätt att konstruera datorer. På samma sätt skulle problematiken kring parallellism kunna adresseras effektivare genom broar mellan datorarkitektur och relevanta grupperingar inom programvaruteknik. Forskningsinfrastruktur Forskningsmetodiken inom ämnet datorarkitektur är experimentell i sin natur. Modeller av datorsystem byggs upp antingen baserade på simulering eller på analytiska modeller. Analytiska modeller används med fördel i en tidig fas för att etablera om ett angreppssätt är meningsfullt. Senare i processen, då hög noggrannhet är av betydelse, utvecklas simuleringsmodeller av det tänkta objektet som kan modellera skeenden i datorsystemet till en noggrannhet ner till klockcykelnivå. Beräkningsprestanda för ett datorsystem etableras typiskt genom mätning av exekveringstiden för ett stort antal datortillämpningar på dessa simuleringsmodeller. Typiskt tar varje simulering ett dygn i anspråk. För en studie inom ämnet är det inte ovanligt att det behövs flera hundra simuleringar. Ämnet i sig har alltså behov av högpresterande datorer för att utföra den stora mängd simuleringar som krävs för att göra framsteg.
Tack och lov har ämnets behov av beräkningar kunnat mötas genom de beräkningskluster som Swedish National Infrastructure for Computing (SNIC) ställer till förfogande. Tyvärr ökar kraven för beräkningsprestanda i takt med att datorsystem innehåller allt fler subsystem. Moore s lag förutser exempelvis att antalet beräkningskärnor fördubblas vartannat år. Givet detta skulle man kunna tänka sig att teknikutvecklingen ger den prestandatillväxt som är nödvändig för områdets självförsörjning av prestanda. Dock har så inte visat sig fallet och detta har huvudsakligen sin grund i den redan nämnda svårigheten att utnyttja beräkningspotentialen hos parallelldatorer. Som en följd av detta har användningen av testriggar som består av specialbyggda datorsystem blivit allt vanligare. Inom en 5- till 10- årsperiod kommer det att behövas bygga upp speciella testriggar för att studera principer för implementering av nya datorarkitekturer, precis som är norm inom exempelvis experimentell fysik.