Datorarkitektur

 

 

 

 

 

 

ERIK HAGERSTEN

förordnad den 23 februari 1999 att från den 1 april 1999 vara professor i datorarkitektur vid Uppsala universitet. Han installeras i sitt ämbete den 5 maj 2000.

Någon gång under mitten av 60-talet tittade jag drömmande in genom fönstren på Sigmahuset i Västerås centrum. Där fanns de magiska stora datorerna med hackigt roterande datorband - höjden av teknologiskt under. Sedan dess har datortekniken haft en fantastisk utveckling i många dimensioner. Jämfört med datorn i Sigmahuset är datorn i mobiltelefonen ungefär en miljon gånger energisnålare, datorn som hanterar bilens ABS bromsar en miljon gånger tillförlitligare och datorsystemet som spår vädret till kvällens nyheter i runda tal en miljon gånger snabbare.

Hälften av datorernas snabba utveckling tillskrivs den nya processteknologi som kan integrera allt fler och snabbare transistorer på en enda kiselskiva. Den andra hälften tillskrivs utvecklingen inom datorarkitekturområdet som resulterat i nya beräkningsmodeller och abstraktioner anpassade för samtidens processteknologier. Man kan likna datorarkitektens arbete med husarkitekten som i stora drag bestämmer var väggar, dörrar och fönster skall placeras för att ett funktionellt, energisnålt och billigt hus skall kunna byggas. Datorarkitekten bestämmer i stora drag funktionen hos de olika komponenterna och hur de skall kopplas samman. Ofta använder vi oss av stora simuleringsmodeller för att utvärdera nya idéer.

Förutsättningarna inom datorområdet ändras mycket snabbt. Ett exempel på detta är relationen mellan den tid det tar att utföra en beräkning, t.ex. en addition, jämfört med tiden som åtgår för hämtning av data från det stora primärminnet (DRAM). I den första datorn jag konstruerade i början på 80-talet tog det samma tid att utföra en addition som att hämta data från minnet medan dagens processorer kan utföra ett hundratal additioner på den tid det tar att läsa från minnet. Eftersom varje ny addition ofta opererar på nya data som hämtas från minnet skulle detta kunna förorsaka en obalans i arkitekturen – additionerna skulle bara kunna utföras en hundradel så ofta. För att mildra denna obalans introducerades ett litet och snabbt minne med en åtkomsttid som är anpassad till beräkningsenhetens snabbhet – ett s.k. cacheminne. Ett cacheminne kan jämföras med en personlig adressbok med telefonnummer till de personer man oftast ringer till. Innehållet i adressboken uppdateras i takt med att det personliga kontaktnätet ändras. Det gäller att undvika långsamma uppslagningar i telefonkatalogen. Cacheminnet fungerar på ett liknande sätt. Dess innehåll ändras dynamiskt så att de mest frekvent efterfrågade data oftast hittas i cacheminnet. Det ökande gapet mellan minnets hastighet och de allt snabbare beräkningsenheterna kan behöva hämtning av data till cacheminnet långt innan processorn utför sin beräkning. Detta kräver spekulativa algoritmer som kan förutspå framtida beräkningsvägar och databehov. Det är inom detta område jag bedrivit en del av min forskning.

De mest kraftfulla datorerna som används för vädersimuleringar, stora kemiska och fysikaliska beräkningar, samt hantering av stora databaser, består av flera snabba samverkande processorer som gemensamt arbetar för att hitta lösningen på ett problem, s.k. multiprocessorer. Min forskning har främst varit inriktad mot multiprocessorer där alla processorerna läser och skriver i ett gemensamt minne. Detta ger en stor flexibilitet och enkelhet när arbetet skall delas upp och delresultat kommuniceras mellan processorerna. Här är spekulativa algoritmer av särskilt stor betydelse eftersom de stora avstånden i datorn ytterligare bidrar till fördröjningen av en minnesläsning. Varje processor utrustas med ett cacheminne vars innehåll dynamiskt fylls på med data från det gemensamma minnet så att efterfrågade data oftast finnas tillgängliga i cacheminnet. Trots att processorerna mest läser och skriver i sina lokala cacheminnen är det viktigt att ge illusionen av ett gemensamt minne. När en processor ändrar ett datavärde i sitt lokala cacheminne måste förändring automatiskt reflekteras till andra kopior av samma data som kan finnas i de andra cacheminnena. Processorerna måste också vara överens om ordningen mellan de förändringar som utförs samtidigt, eller nästan samtidigt, i de många cacheminnena. Forskningen har här lett fram till effektiva s.k. koherensprotokoll som skapar en väldefinierad uppdateringsordning och erbjuder en total kapacitet som motsvarar summan av de snabba processorernas behov.

För de riktigt stora datorerna är det för trångt och dyrbart att låta de många processorerna dela på ett gemensamt minne. I stället delar man upp processorerna i flera processorgrupper, var och en med ett för gruppen gemensamt minne. Ett globalt koherensprotokoll används för att även här skapa illusionen av ett för hela systemet gemensamt minne med en väldefinierad uppdateringsordning. I dessa stora system är det extra viktigt att minimera användningen av data från avlägsna minnen belägna i andra processorgrupper. Min forskning har lett till ett system som dynamiskt analyserar det globala databehovet och flyttar och kopierar data mellan de olika processorgruppernas minnen. Resultatet är en självoptimerande superdator som själv placerar och kopierar data på ett sätt som ger processorgruppernas minnen ett slags cacheliknande beteende. Vi har döpt denna nya klass av arkitektur till: Cache-Only Memory Architectures, COMA. Forskningen runt COMA fortsätter idag vid Stanford, MIT, University of Utah, University of Wisconsin och University of Illinois.

Den första superdator jag konstruerade åt Sun Microsystems, WildFire, är ett exempel på ett kommersiellt COMA system. Den finns installerad vid avd. för teknisk databehandling och är idag universitetets snabbaste dator. Två stora gråa skåp, sammanknutna av tjocka kablar, innehåller varsin processorgrupp. Data kopieras och flyttas automatiskt mellan processorgrupperna baserat på den förväntade framtida användningen. Även om WildFire till det yttre ser ut som Sigmas datorer är dess arkitektur helt annorlunda. I mina barns ögon är den fortfarande ett teknologiskt under. Jag undrar vad mina barnbarn kommer att tycka.

Under de närmaste åren hoppas jag utveckla forskning kring spekulativa algoritmer ytterligare. Samtidigt ser jag med spänning på utvecklingen inom nanoteknologins och optikens områden. Kanske är det inom något av dessa områden som processteknologin för framtidens datorer kommer att växa fram. Detta kommer att skapa nya behov och ånyo förändra förutsättningarna för oss datorarkitekter.

Erik Hagersten

 

 

 

Biografiska uppgifter

Erik Hagersten är född den 19 mars 1959 i Finspång. Föräldrar: Karl-Erik Hagersten och Karin Hagersten, född Wängdahl.

Avgångsbetyg från Högbergsskolans gymnasium Ludvika, 1978. Inskriven vid Elektrotekniska sektionen vid Kungliga Tekniska högskolan 1978. Civilingenjörsexamen 1982. Doktorsexamen 1992 i Datorteknik.

Konstruktör vid Ericssons centralprocessor avdelning 1982-1984. Visiting scientist vid Massachusetts institute of technology, USA 1984-1985. Forskare vid Ericsson datalogilab 1985-1988. Forskningsledare vid Swedish Institute of Computer Sceince 1988-1993. Senior Staff Engineer vid server system technology, Sun Microsystems,m USA 1993-1995. Chief Architect vid high-end server engineering, Sun Microsystems, USA 1995-1999.

Gift med Karin Hagersten, född Spongberg. Barn: Elsa (f. 1988) och Carl Victor (f. 1989)

 

 

 

 

 

Urval av Erik Hagerstens tryckta skrifter

Erik Hagersten and Michael Koster. WildFire - a scalable path for SMPs. In Proceedings of the 5th International Symposium on High-Performance Computer Architecture, Orlando January 1999.

Erik Hagersten and Greg Papadopoulos. Scanning the DSM Technology. Proceedings of the IEEE, Vol 87 No 3, March 1999.

Per Stenström, Erik Hagersten, David Lilja, Margaret Martonosi, and Madan Venugopal. Trends in Shared Memory Multiprocessing. IEEE Computer, Vol. 30, No 12, December 1997.

Ashok Singhal, et al. Gigaplane: A High Performance Bus for Large SMPs. In Proceedings of the 5th Hot Interconnect Symposium, Stanford 1996.

Peter Magnusson, Anders Landin, and Erik Hagersten. Queue Locks on Cache Coherent Multiprocessors. In Proceedings of the 8th International Parallel Processing Symposium, Cancun, Mexico, 1994.

Erik Hagersten, Ashley Saulsbury and Anders Landin. "Simple COMA Node Implementations." In Proceedings of the 26th Hawaii Internatiuonal Conference on System Science, January 1994.

Erik Hagersten, Mats Grindal, Anders Landin, Ashley Saulsbury, Bengt Werner and Seif Haridi. Simulating the Data Diffusion Machine. In Proceedings of the 5th International

Parallel Architecture and Languages Conference, Munich June 1993. Springer-Verlag.

Erik Hagersten, Anders Landin and Seif Haridi. DDM-A Cache-Only Memory Architecture. IEEE Computer, Vol 25 No 9, September 1992.

Erik Hagersten. Toward Scalable Cache-Only Memory Architectures. Ph.D. dissertation, Royal Institute of Technology/Swedish Institute of Computer Science, 1992.

Anders Landin, Erik Hagersten and Seif Haridi. Race-Free Interconnection Networks and Multiprocessor Consistency. In Proceedings of the 18th Annual

International Symposium on Computer Architecture, 1991.

Erik Hagersten, Anders Landin and Seif Haridi. Multiprocessor Consistency and Synchronization through Transient Cache States. In M. Dubois and S.

Thakkar, eds., Scalable Shared-Memory Multiprocessors. Norwell, Mass.: Kluwer Academic Publisher, 1991.

Erik Hagersten, Seif Haridi and David H.D.Warren. The Cache Coherence Protocol of the Data Diffusion Machine. In M. Dubois and S. Thakkar, eds.,

Cache and Interconnect Architectures in Multiprocessors. Norwell, Mass.: Kluwer Academic Publisher, 1990.

Erik Hagersten, Seif Haridi and David H.D.Warren. "The Data Diffusion Machine and its Cache Coherence Protocol," in G. Davis, R.T. Boute and B.D.

Shriver, eds., Concepts and Characteristics of Declarative Systems. Budapest (TC10/WG10.1) IFIP, North-Holland, 1990.

Patent

Erik Hagersten och Lars Gauffin DUPER, a High-speed Communication Protocol (The original DTM patent) Swedish patent SE 460 750.

Erik Hagersten and David Wood. Hybrid NUMA COMA caching system and methods for selecting between the caching modes (The original WildFire patent). US patent 5710907.