Superdatorarkitektur
Tillvägagångssätt för superdatorarkitektur har tagit dramatiska vändningar sedan de tidigaste systemen introducerades på 1960-talet. Tidiga superdatorarkitekturer pionjärer av Seymour Cray förlitade sig på kompakta innovativa konstruktioner och lokal parallellism för att uppnå överlägsen beräkningsprestanda. Men med tiden inledde efterfrågan på ökad beräkningskraft en tidsålder av massivt parallella system.
Medan 1970-talets superdatorer bara använde ett fåtal processorer , började det dyka upp maskiner med tusentals processorer på 1990-talet och i slutet av 1900-talet var massivt parallella superdatorer med tiotusentals kommersiella processorer norm. Superdatorer från 2000-talet kan använda över 100 000 processorer (en del är grafiska enheter ) anslutna med snabba anslutningar.
Under decennierna har hanteringen av värmedensitet förblivit en nyckelfråga för de flesta centraliserade superdatorer. Den stora mängden värme som genereras av ett system kan också ha andra effekter, som att minska livslängden för andra systemkomponenter. Det har funnits olika tillvägagångssätt för värmehantering, från att pumpa Fluorinert genom systemet, till ett hybrid vätske-luftkylningssystem eller luftkylning med normala luftkonditioneringstemperaturer .
System med ett enormt antal processorer tar i allmänhet en av två vägar: i ett tillvägagångssätt, t.ex. vid gridberäkning, används processorkraften hos ett stort antal datorer i distribuerade, olika administrativa domäner opportunistiskt närhelst en dator är tillgänglig. I ett annat tillvägagångssätt används ett stort antal processorer i närheten av varandra, t.ex. i ett datorkluster . I ett sådant centraliserat massivt parallellt system blir hastigheten och flexibiliteten för sammankopplingen mycket viktig, och moderna superdatorer har använt olika tillvägagångssätt, allt från förbättrade Infiniband -system till tredimensionella torus-sammankopplingar .
Sammanhang och översikt
Sedan slutet av 1960-talet har tillväxten i kraft och spridning av superdatorer varit dramatisk, och de underliggande arkitektoniska riktningarna för dessa system har tagit betydande vändningar. Medan de tidiga superdatorerna förlitade sig på ett litet antal nära sammankopplade processorer som fick åtkomst till delat minne , använder superdatorerna på 2000-talet över 100 000 processorer anslutna via snabba nätverk.
Under decennierna har hanteringen av värmedensitet förblivit en nyckelfråga för de flesta centraliserade superdatorer. Seymour Crays motto "get the heat out" var central i hans designfilosofi och har fortsatt att vara en nyckelfråga i superdatorarkitekturer, t.ex. i storskaliga experiment som Blue Waters . Den stora mängden värme som genereras av ett system kan också ha andra effekter, som att minska livslängden för andra systemkomponenter.
Det har funnits olika tillvägagångssätt för värmehantering, t.ex. pumpade Cray 2 Fluorinert genom systemet, medan System X använde ett hybridvätske-luftkylningssystem och Blue Gene/P är luftkyld med normala luftkonditioneringstemperaturer . Värmen från Aquasar används för att värma upp ett universitetsområde.
Värmetätheten som genereras av en superdator har ett direkt beroende av processortypen som används i systemet, med mer kraftfulla processorer som vanligtvis genererar mer värme, givet liknande underliggande halvledarteknologier . Medan tidiga superdatorer använde ett fåtal snabba, tätt packade processorer som utnyttjade lokal parallellism (t.ex. pipelining och vektorbearbetning ), växte antalet processorer med tiden och datornoder kunde placeras längre bort, t.ex. i ett datorkluster , eller kan vara geografiskt spridd i grid computing . När antalet processorer i en superdator växer, börjar " komponentfelfrekvensen " bli ett allvarligt problem. Om en superdator använder tusentals noder, som var och en kan misslyckas en gång per år i genomsnitt, kommer systemet att uppleva flera nodfel varje dag.
Eftersom priset/prestandan för generella grafiska processorer (GPGPU) har förbättrats har ett antal petaflop -superdatorer som Tianhe-I och Nebulae börjat lita på dem. Andra system som K-datorn fortsätter dock att använda konventionella processorer såsom SPARC -baserade konstruktioner och den övergripande tillämpbarheten av GPGPU:er i generella högpresterande datorapplikationer har varit föremål för debatt, eftersom en GPGPU kan ställas in för att få poäng. väl på specifika riktmärken kan dess övergripande tillämpbarhet på vardagliga algoritmer vara begränsad om inte betydande ansträngningar läggs ner på att anpassa applikationen till det. GPU:er vinner dock mark och 2012 förvandlades Jaguars superdator till Titan genom att ersätta CPU:er med GPU:er.
När antalet oberoende processorer i en superdator ökar, blir sättet de kommer åt data i filsystemet och hur de delar och får åtkomst till sekundära lagringsresurser framträdande. Under årens lopp har ett antal system för distribuerad filhantering utvecklats, t.ex. IBM General Parallel File System , BeeGFS , Parallel Virtual File System , Hadoop , etc. Ett antal superdatorer på TOP100 -listan som Tianhe-I använder Linuxs Luster -filsystem .
Tidiga system med några få processorer
CDC 6600 -serien av datorer var mycket tidiga försök till superdatorer och fick sin fördel gentemot de befintliga systemen genom att delegera arbete till kringutrustning , vilket frigjorde CPU ( Central Processing Unit ) för att bearbeta faktiska data. Med Minnesota FORTRAN- kompilatorn kunde 6600 klara 500 kiloflops på matematiska standardoperationer.
Andra tidiga superdatorer som Cray 1 och Cray 2 som dök upp efteråt använde ett litet antal snabba processorer som fungerade i harmoni och var enhetligt kopplade till den största mängden delat minne som kunde hanteras vid den tiden.
Dessa tidiga arkitekturer introducerade parallell bearbetning på processornivå, med innovationer som vektorbearbetning , där processorn kan utföra flera operationer under en klockcykel , snarare än att behöva vänta på successiva cykler.
Med tiden, när antalet processorer ökade, uppstod olika arkitektoniska frågor. Två frågor som måste åtgärdas när antalet processorer ökar är fördelningen av minne och bearbetning. I tillvägagångssättet med distribuerat minne är varje processor fysiskt förpackad nära med något lokalt minne. Minnet som är associerat med andra processorer är sedan "längre bort" baserat på bandbredds- och latensparametrar i olikformig minnesåtkomst .
På 1960-talet sågs pipelining som en innovation, och på 1970-talet var användningen av vektorprocessorer väl etablerad. På 1980-talet använde många superdatorer parallella vektorprocessorer.
Det relativt lilla antalet processorer i tidiga system gjorde det möjligt för dem att enkelt använda en delad minnesarkitektur , vilket gör det möjligt för processorer att komma åt en gemensam minnespool. I de tidiga dagarna var ett vanligt tillvägagångssätt användningen av enhetlig minnesåtkomst (UMA), där åtkomsttiden till en minnesplats var liknande mellan processorer. Användningen av icke-uniform minnesåtkomst (NUMA) gjorde det möjligt för en processor att komma åt sitt eget lokala minne snabbare än andra minnesplatser, medan cache-minnesarkitekturer (COMA) gjorde det möjligt för varje processors lokala minne att användas som cache, alltså kräver koordinering när minnesvärden ändras.
När antalet processorer ökar blir effektiv interprocessorkommunikation och synkronisering på en superdator en utmaning. Ett antal tillvägagångssätt kan användas för att uppnå detta mål. Till exempel, i början av 1980-talet, i Cray X-MP- systemet, användes delade register . I detta tillvägagångssätt hade alla processorer tillgång till delade register som inte flyttade data fram och tillbaka utan endast användes för interprocessorkommunikation och synkronisering. Men inneboende utmaningar med att hantera en stor mängd delat minne bland många processorer resulterade i en övergång till mer distribuerade arkitekturer .
Massiv centraliserad parallellism
Under 1980-talet, när efterfrågan på datorkraft ökade, började trenden mot ett mycket större antal processorer, vilket inledde en tidsålder av massivt parallella system, med distribuerat minne och distribuerade filsystem , med tanke på att delade minnesarkitekturer inte kunde skalas till en stort antal processorer. Hybridmetoder som distribuerat delat minne dök också upp efter de tidiga systemen.
Datorklustringsmetoden kopplar ihop ett antal lättillgängliga datornoder (t.ex. persondatorer som används som servrar) via ett snabbt, privat lokalt nätverk . Datornodernas aktiviteter orkestreras av "clustering middleware", ett mjukvarulager som sitter ovanpå noderna och tillåter användarna att behandla klustret som i stort sett en sammanhängande datorenhet, t.ex. via ett enda systembildskoncept .
Datorklustring bygger på en centraliserad hanteringsmetod som gör noderna tillgängliga som orkestrerade delade servrar . Det skiljer sig från andra tillvägagångssätt som peer-to-peer eller grid computing som också använder många noder, men med en mycket mer distribuerad karaktär . På 2000-talet TOP500 -organisationens halvårsvisa lista över de 500 snabbaste superdatorerna ofta många kluster, t.ex. världens snabbaste 2011, K-datorn med ett distribuerat minne , klusterarkitektur.
När ett stort antal lokala halvoberoende beräkningsnoder används (t.ex. i en klusterarkitektur) blir hastigheten och flexibiliteten hos sammankopplingen mycket viktig. Moderna superdatorer har tagit olika tillvägagångssätt för att lösa detta problem, t.ex. Tianhe-1 ett proprietärt höghastighetsnätverk baserat på Infiniband QDR, förstärkt med FeiTeng-1000- processorer. Å andra sidan Blue Gene /L-systemet en tredimensionell torus -sammankoppling med hjälpnätverk för global kommunikation. I detta tillvägagångssätt är varje nod ansluten till sina sex närmaste grannar. En liknande torus användes av Cray T3E .
Massiva centraliserade system använder ibland specialprocessorer designade för en specifik applikation, och kan använda fältprogrammerbara gate arrays (FPGA)-chips för att få prestanda genom att offra allmänhet. Exempel på superdatorer för speciella ändamål inkluderar Belle , Deep Blue och Hydra , för att spela schack , Gravity Pipe för astrofysik, MDGRAPE-3 för proteinstrukturberäkning av molekylär dynamik och Deep Crack , för att bryta DES- chifferet .
Massiv fördelad parallellism
Grid computing använder ett stort antal datorer i distribuerade, olika administrativa domäner. Det är ett opportunistiskt tillvägagångssätt som använder resurser när de är tillgängliga. Ett exempel är BOINC , ett volontärbaserat , opportunistiskt nätsystem. Vissa BOINC- applikationer har nått fler petaflop-nivåer genom att använda nära en halv miljon datorer anslutna till internet, närhelst frivilliga resurser blir tillgängliga. Men den här typen av resultat visas ofta inte i TOP500 -betygen eftersom de inte kör det allmänna Linpack -riktmärket.
Även om grid computing har haft framgång i parallellt exekvering av uppgifter, har krävande superdatortillämpningar som vädersimuleringar eller beräkningsvätskedynamik varit utom räckhåll, delvis på grund av hindren för tillförlitlig undertilldelning av ett stort antal uppgifter samt pålitlig tillgänglighet resurser vid en given tidpunkt.
I kvasi-opportunistisk superdator är ett stort antal geografiskt spridda datorer orkestrerade med inbyggda skyddsanordningar . Det kvasi-opportunistiska tillvägagångssättet går utöver volontärberäkning på ett högt distribuerat system som BOINC , eller generell grid-beräkning på ett system som Globus genom att tillåta mellanvaran att ge nästan sömlös åtkomst till många datorkluster så att befintliga program på språk som Fortran eller C kan fördelas mellan flera datorresurser.
Kvasiopportunistisk superdator syftar till att tillhandahålla en högre tjänstekvalitet än opportunistisk resursdelning . Det kvasi-opportunistiska tillvägagångssättet möjliggör exekvering av krävande applikationer inom datornät genom att upprätta nätmässiga resursallokeringsavtal; och feltoleranta meddelanden som skickas för att abstrakt skydda mot de underliggande resursernas misslyckanden, vilket bibehåller viss opportunism, samtidigt som en högre kontrollnivå tillåts.
2000-talets arkitektoniska trender
Den luftkylda IBM Blue Gene superdatorarkitekturen byter ut processorhastighet mot låg strömförbrukning så att ett större antal processorer kan användas i rumstemperatur, genom att använda normal luftkonditionering. Andra generationens Blue Gene/P-system har processorer med integrerad nod-till-nod kommunikationslogik. Den är energieffektiv och uppnår 371 MFLOPS/W .
K -datorn är ett vattenkylt , homogent processor, distribuerat minnessystem med en klusterarkitektur . Den använder mer än 80 000 SPARC64 VIIIfx- processorer, var och en med åtta kärnor , för totalt över 700 000 kärnor – nästan dubbelt så många som alla andra system. Den består av mer än 800 skåp, var och en med 96 datornoder (var och en med 16 GB minne) och 6 I/O-noder. Även om den är kraftfullare än de kommande fem systemen på TOP500-listan tillsammans, har den vid 824,56 MFLOPS/W det lägsta förhållandet mellan effekt och prestanda av alla nuvarande stora superdatorsystem. Uppföljningssystemet för K-datorn, kallat PRIMEHPC FX10, använder samma sexdimensionella torus-interconnect, men fortfarande bara en processor per nod.
Till skillnad från K-datorn använder Tianhe-1A- systemet en hybridarkitektur och integrerar CPU:er och GPU:er. Den använder mer än 14 000 Xeon -processorer för generella ändamål och mer än 7 000 Nvidia Tesla -grafikprocessorer för allmänna ändamål ( GPGPU) på cirka 3 500 blad . Den har 112 datorskåp och 262 terabyte distribuerat minne; 2 petabyte disklagring implementeras via Luster- klustrade filer. Tianhe-1 använder ett proprietärt höghastighetskommunikationsnätverk för att ansluta processorerna. Det proprietära sammankopplingsnätverket var baserat på Infiniband QDR, utökat med kinesisktillverkade FeiTeng-1000- processorer. När det gäller sammankopplingen är systemet dubbelt så snabbt som Infiniband, men långsammare än vissa sammankopplingar på andra superdatorer.
Gränserna för specifika tillvägagångssätt fortsätter att testas, eftersom gränser nås genom storskaliga experiment, t.ex. avslutade IBM 2011 sitt deltagande i Blue Waters petaflops-projekt vid University of Illinois. Blue Waters-arkitekturen var baserad på IBM POWER7 -processorn och avsedd att ha 200 000 kärnor med en petabyte av "globalt adresserbart minne" och 10 petabyte diskutrymme. Målet med en uthållig petaflop ledde till designval som optimerade enkärnas prestanda, och därmed ett lägre antal kärnor. Det lägre antalet kärnor förväntades då hjälpa prestanda på program som inte skalade bra till ett stort antal processorer. Den stora globalt adresserbara minnesarkitekturen syftade till att lösa minnesadressproblem på ett effektivt sätt, för samma typ av program. Blue Waters hade förväntats köra med ihållande hastigheter på minst en petaflop och förlitade sig på den specifika vattenkylningsmetoden för att hantera värme. Under de fyra första verksamhetsåren spenderade National Science Foundation cirka 200 miljoner dollar på projektet. IBM släppte Power 775- datornoden som härrörde från det projektets teknologi strax därefter, men övergav i praktiken Blue Waters-metoden.
Arkitektoniska experiment fortsätter i ett antal riktningar, t.ex. använder Cyclops64- systemet en "superdator på ett chip", i en riktning bort från användningen av massiva distribuerade processorer. Varje 64-bitars Cyclops64-chip innehåller 80 processorer, och hela systemet använder en globalt adresserbar minnesarkitektur. Processorerna är anslutna till icke-internt blockerande tvärstångsomkopplare och kommunicerar med varandra via globalt interfolierat minne. Det finns ingen datacache i arkitekturen, men hälften av varje SRAM- bank kan användas som ett skraplotterminne. Även om denna typ av arkitektur tillåter ostrukturerad parallellism i ett dynamiskt icke-sammanhängande minnessystem, skapar den också utmaningar i den effektiva kartläggningen av parallella algoritmer till ett system med många kärnor .