Kursinforation Föreläsning : Introduktion Isak Jonsson isak@cs.uu.se www.cs.uu.se/~isak Kursinforation å: www.cs.uu.se/kurser/tdbc/ht laborationer, läsanvisningar, beskrivning av föreläsningar, etc Handledning via eost: johanl@cs.uu.se Innehåll Tekniska Beräkningar 87vsK Motivera och definiera arallella beräkningar Design av arallella algoriter Översikt av olika klasser av arallella syste Översikt av olika rograeringskoncet Förhistoriska och nutida arallella syste Alikationer so kräver HPC Forskning ino detta oråde å institutionen 987 Minisuercouters (-Mflo/s): Alliant, Convex, DEC Parallelvector rocessors (PVP) (- Mflo/s) PC:s RISC Workstations (5-4 Mflo/s): DEC, HP, IBM, SGI, Sun RISC based syetric ultirocessors (.5-6 Gflo/s): HP- Convex, SGI, DEC, SUN Parallelvector rocessors (-5 Gflo/s): Convex, SGI-CRI, Fujiutsu, Hitachi, NEC Highly arallel rocessors (- Gflo/s): HP-Convex, SGI-CRI, IBM, NEC, Fujiutsu, Hitachi Historia å institutionen Vetenskaliga tilläningar (Forskning å institutionen) 986: IBM 9VF6 Geensat inne 6 rocessorer ed vektorenhet 987:Intel ipsc/: -8 noder Distribuerat innes MIMD Hyerkub ed 64 noder (i86 + 4M er nod) 6 noder ed vektorbord 99X: Alliant FX8 Geensat innes askin MIMD 7 i86 rocessorer 996: IBM SP 64 Tunna noder Höga noder a 4 rocessorer 997: SGI Onyx MIPS R 998: -vägs POWER 999: Litet Linuxkluster : Häftigare POWER :??? BLAS/LAPACK BLAS-, atris-vektor oerationer BLAS-, atris-atris oerationer LAPACK Linjär algebra + egenvärdes roble Ickelinjär otiering Neurala nätverk Utvecklingsiljöer CONLAB/CONLAB-koilatorn Funktionella sråk
The Deand for Seed! Exeeltilläning Grand Challenge Probles Siuleringar av alla slag Dee Blue Dataanalys Kryto Global atosheric circulation Förutsäga väder Differentialekvationer (över tiden) Diskretisering å ett gitter Tekniska tilläningar Mera Tilläningar VLSI-design siulering olika grindar å en nivå kan testas // då de ej åverkar varandra utlacering (flytta o block sluässigt för att iniera en objeksfunktion so exeelvis kabellängd) kabeldragning Design siulera flöden runt konstruktioner so bil, flyg, båt hållfasthetsberäkningar väredistribution Siulera atobober (ASCI) Scientific visualization visar stora dataängder grafiskt från tex artikelaccelerator Signal och bildbehandling Reservoir odeling Olja i Norge tex Fjärranalys av tex Jorden Satellitdata bearbetas, analyseras, katalogiseras Fil och rekla Stjärnornas krig och liknande,,,,,,... Parallella beräkningar! Motiv & Mål En saling rocessorer so kounicerar och saarbetar för att lösa ett stort roble fort. Kounikationsedia Tillverkning Fysikaliska lagar begränsar rocessorernas hastighet Moores lag Pris/Prestanda Billigare att ta ånga billiga relativt snabba rocessorer än att utveckla en suersnabb Möjligt att använda färre sorters kretsar i större antal Användning Minska wall clock tie Lösa större roble
Kan alla roble lösas arallellt? Design av arallella rogra Gräva ett hål i arken: Ja Kan arallelliseras? Nej x Gräva ett dike: Kan arallelliseras? Ja x Nej Dataartitionering fördela data å de olika rocessorerna Kornighet storlek å de arallella delarna Lastbalans se till så att alla rocessorer har saa last Databeroende: Kan en sten läggas var Ja so helst när so helst? Nej Parallell rogradesign, exeel Lastbalansering Räkna alla å ett D nät Mål: Alla rocessorer skall utföra saa ängd arbete Betrakta förgående exeel: ax 4 rocessorer grovkornigt lite kounikation ax 6 rocessorer finkornigt ycket kounikation Kounikationstid a + ßk Lastbalansering Flynn s klassindelning Radblocksaning Proc.: Antal : Kolunblocksaning Proc.: Antal : 4 9 Block-cyklisk aning Proc.: Antal : 4 Nuber of Instruction Streas Single Multile Nuber of Data Streas Multile Single SISD (von Neuan) MISD (?) SIMD (vector, array) MIMD (ultile icros) Flynn beskriver ej oderniteter so t ex ielining eory odel interconnection network
Paradiger Synkrona aradiger, Vektor/Array En odell av världen so används för att forulera en datorlösning till ett roble Varje rocessor tilldelas en ycket liten oeration Pieline arallellis Bra då oerationer kan brytas ned i finkorniga steg Synkrona aradiger, SIMD Asynkrona aradiger, MIMD Dataarallell! Alla gör saa sak satidigt eller är idle. Fas : Dataartitionering och distribution Fas : Dataarallel bearbetning Bra för stora reguljära datastrukturer Processorerna arbetar oberoende av varandra Måste synkroniseras eddelandeöverföring utual exclusion (locks) Passar bäst för grovkorniga roble Geensat inne virtuellt geensat, fysiskt geensat UMA, NUMA, COMA, CC-NUMA Distribuerat inne Highly arallel systes, NOWS, COWS Geensat Minne-Architekturer Delat Minne-Architekturer Alla rocessorer har tillgång till en global accessryd UMA, NUMA Access till det geensaa innet can ske geno en buss eller ett switchat nätverk Hårdvaran skalar inte ed assivt arallella nivåer Meory Meory bus/switching network P P P P P Varje nod har sitt egna lokala inne (Ingen geensa adressryd) Processorerna kounicerar ed varandra över ett nätverk ed hjäl av eddelanden Nätverkstoologin kan vara statisk eller dynaisk Hårdvaran skalar bra. Prograering svårare än delat inne. Beräkningar ycket snabbare än kounikation Mesh, ring, linear array, D-torus, D-esh D-torus, tree fat tree, hyerkub, star, vulkan switch, cube connected cycl oega, crossbar, Network etc,...
SPMD, Single Progra Multile Data Kontroll vs Dataarallelis asyncronous data arallel rocessing jukvaruekvivalent till SIMD exekverar saa rogra en å olika data asynkront Kontrollarallelis (instruktions arallelis) utnyttjar arallelis i ett rogras kontrollstrukturer olika oberoende delar av ett rogra exekveras arallellt inneboende kontrollarallellisen är av storleksorn. 5- Dataarallelis En rocessor er dataeleent (block av data) Varje rocessor behöver searat data inne iljontals rocessorer kan aliceras å stora roble Parallel Prograering, Ilicit Reetition Gala Fortran, C,... Mycket beroenden ellan olika rogradelar Koilatorn åste hitta beroenden Koilatorn ostrukturerar rograet för att identifiera er arallellis Fördel: Bakåtkoatibelt ed existerande rogra Nya sråk och extensioner ger er arallellitet Fortran 9 HPF OenMP MPI } Foralia Introduktion Parallella beräkningar Klassindelningar Minne, aradiger Tilläningar von Neuann's bottleneck Non-von dator von Neuann askin En kontrollenhet so kolar iho inne och rocessor Kolingen ellan rocessor och inne flaskhals Meory Flaskhals Non von P-rocessorer, Q-innen, R-kontrollenheter, ett nätverk Kan utföra PT intruktioner er sekund inus overhead där T är antalet instruktioner er sekund Processor Processor Processor Instruction/Data Bus Control Unit Meory Meory Meory Processing Unit
Usnabbning (Seedu) Vad begränsar restandan? t s, tiden att exekvera den bästa seriella algoriten å en rocessor t(), tiden att exekvera arallella algoriten å en rocessor t t(n), tiden att exekvera arallella algoriten å n rocessorer S( n) seedu( n) t t S( n) t seedu( n) t < n Tillgänglig arallellitet Lastbalansen vissa rocessorer gör er än andra några arbetar edan andra idlar kö (väntan) till extern resurs Extra arbete hantering av arallellitet kounikation Adahl's Law Adahl's Law - ilikationer The seed of a couter is liited by its serial art ts S( n) fts + ( f ) ts / n n fn / n + ( f ) / n + f ( n ) Givet att f är den seriella delen av koden ft s är tiden att beräkna seriella delen av rograet (-f) t s /n är tiden att beräkna arallella delen av rogr. S(n) 6 f f,5 8 f, f, 4 4 5 6 7 8 9 4 5 6 7 8 9 n Gustavson-Barsis Law Gustavson-Barsis Law - ilikationer The arallel fraction of the roble is scalable - increases with roble size Obervation, Adahls lag gör antagandet att (- f) är oberoende av n, vilket det oftast inte är Ny Lag: S s ( n) n + s( ) Antag att Parallellis kan användas för att öka arallella delen av robleet Varje rocessor beräknar både seriell (s) och arallell () del S(n) f 6 f, 8 4 4 5 6 7 8 9 4 5 6 7 8 9 n
Kontrollfrågor Att läsa: Kaitel Vilka sorters arallelldatorsyste finns det? Vid en testkörning å en rocessor tog ett rogra sekunder för att lösa ett roble av storlek n. När ytterligare tre rocessorer lades till krävde saa rogra sekunder för saa roblestorlek. Hur lång tid tar det att lösa ett roble av storlek n å rocessorer ed detta rogra, enligt Adahls lag, och vad blir usnabbningen? Hur lång tid tar det att lösa ett roble av storlek n å rocessorer ed detta rogra, enligt Gustavson-Barsis lag, och vad blir usnabbningen? En ultirocessoraskin består av 6 rocessorer, var och en ed en torestanda å 8 MIPS. Vad blir systeets restanda för en alikation o de instruktioner so ska utföras består till % av sekventiell kod, % av kod so kan köras å u till två rocessorer satidigt, och 7% av kod so är fullt arallelliserbar?