Case studies De Intel 80x86 reeks voor PC IBM SP2 parallel computer Yolande Berbers Structuur en Organisatie van Computersystemen: deel 2 slide 1 De Intel 80x86 reeks voor PC Yolande Berbers Structuur en Organisatie van Computersystemen: deel 2 slide 2 Voorgeschiedenis Intel 4004 1971 4-bit architectuur Intel 8008 1972 8-bit architectuur Intel 8080 1974 ook 8-bit architectuur grotere instructie set adres ruimte van 64Kb machine met accumulator 6 chips Yolande Berbers Structuur en Organisatie van Computersystemen: deel 2 slide 3 8086 (1978) eerste processor van de 80x86 reeks 16-bit processor 16-bit adressen alleen 640Kbytes is adresseerbaar klok-frequentie: 4.7 MHz snelheid: 0.33 MIPS (vergelijk met de andere in de reeks) 8 registers (dit blijft zo voor de hele reeks) alle parameters worden via de stapel doorgegeven (dit blijft zo voor de hele reeks) -> vaak gebruik van cache (zie later) basis voor IBM PC XT (1981) Yolande Berbers Structuur en Organisatie van Computersystemen: deel 2 slide 4 80286 (1982) = 8086+ het blijft een 16-bit processor hogere klok-frequenties: tot 16 MHz 5 maal sneller dan de 8086 (1.6 - 2.1 MIPS) protected mode en real mode (oude 8086 mode) in protected mode zijn er 4 verschillende geprivilegieerde niveaus biedt ondersteuning voor multi-tasking besturingssystemen (bv OS/2) Yolande Berbers Structuur en Organisatie van Computersystemen: deel 2 slide 5 80286 (vervolg) 24-bit adressen adresbereik van 16Mbytes (DOS gebruikt dat echter niet) maar geen lineaire adresruimte, wel segmenten van 64K kunst- en vliegwerk voor programmeren slechte overdraagbaarheid van programma's (naar bv de Motorola 68000) ook klok-frequentie van 8086 werkt nog, zodat toepassingen die daarop steunen (om timing te doen) nog kunnen draaien basis voor de IBM PC AT Yolande Berbers Structuur en Organisatie van Computersystemen: deel 2 slide 6 i386 (1985) 32-bit processor hogere klok-frequenties: 16 - 20 - 25 MHz snelheid (3 - 7 MIPS) van een mainframe van 1970 32-bit adressen geeft een adresbereik van 4Gbytes prefetch queue van 16 bytes paginatie unit die paginatie op aanvraag ondersteunt Yolande Berbers Structuur en Organisatie van Computersystemen: deel 2 slide 7 i386 (vervolg) DOS maakt van de nieuwe mogelijkheden geen gebruik (UNIX wel) voor compatibiliteitsreden: de 8086-real-mode kan nog altijd op de i386 weer een nieuwe mode: virtual 8086 mode = real mode maar bovenop de protected mode, zodat je de protectie er bij hebt Yolande Berbers Structuur en Organisatie van Computersystemen: deel 2 slide 8 i486 (1991) natuurlijk volledig compatible met de vorige processoren in de reeks integreert op 1 chip een (krachtigere) i386 de i387 (FP-coprocessor) 8Kbyte cache prefetch queue van 32 bytes 4 write buffers om resultaten bij te houden als de bus bezet is bevat 1.2 miljoen transistoren (=50 keer zoveel als op de 8086) betekent veel hogere snelheid dan de i386: 20 - 54 MIPS is +- 3 maal sneller als de i386 met dezelfde klok-frequentie Yolande Berbers Structuur en Organisatie van Computersystemen: deel 2 slide 9 i486 (vervolg) vaak bevindt zich op het moederbord nog een 'secondlevel cache' van 128 tot 256 Kbytes on-chip cache: 1 klok cyclus second-level cache: 1 bus cyclus (= 2 klok cycli) Yolande Berbers Structuur en Organisatie van Computersystemen: deel 2 slide 10 i486 (vervolg) klok-frequenties tussen 25 en 50 MHz mogelijkheid tot "internal frequency doubling" = de frequentie op de chip wordt verdubbeld, niet de frequentie op het moederbord dit vermijdt resonantie problemen op het moederbord naam: i486DX2 25 MHz => 50 MHz 33 MHz => 66 MHz 50 MHz => 100 MHz Yolande Berbers Structuur en Organisatie van Computersystemen: deel 2 slide 11 i486 (vervolg) de i486 is een kruising van een CISC met een RISC: vaak gebruikte instructies (zoals de MOV) worden zonder microprogrammatie uitgevoerd de zeer complexe (en niet zo vaak uitgevoerde instructies) worden via microcode uitgevoerd uitspraak over DOS: "DOS running on the i486 is about the same as a supertanker with an outboard motor" Yolande Berbers Structuur en Organisatie van Computersystemen: deel 2 slide 12 i486 (vervolg) ook een SX versie bestaat: een "lichtere" i486 geen FP op de chip lagere klok-frequentie (25 MHz, die soms aan 33 MHz wordt gebruikt) i486DX chips die bij de tests niet de hoge frequentie aankunnen (door een kleine lay-out verschuiving bv) worden als SX-versies verkocht concept van "upgradable" de chip kan bijgestaan worden door een upgrade chip die eigenlijk de vorige vervangt via een verbinding tussen de twee chips wordt ervoor gezorgd dat de oude chip in wachttoestand blijft gewone gebruikers moeten deze upgrade kunnen uitvoeren Yolande Berbers Structuur en Organisatie van Computersystemen: deel 2 slide 13 Pentium (1993) kleine naamverandering omdat cijfers niet patenteerbaar zijn als naam "The design started in 1989 with the primary goal of maximizing performance while preserving software compatibility within the practical constraints of available technology." 3.1 miljoen transistoren deze grote hoeveelheid transistoren op één chip is mogelijk door kleinere component-maten groter gebruik van geconnecteerde lagen Yolande Berbers Structuur en Organisatie van Computersystemen: deel 2 slide 14 Pentium (vervolg) performantie: 112 MIPS statische superscalaire processor: 2 integer pipelines, met 5 stages elk de twee pipelines werken volledig synchroon ze volgen de volgorde van het programma hier is een belangrijke rol voor de compilers 64-bit externe data-bus (maar een 32-bit processor en 32bit adressen) Yolande Berbers Structuur en Organisatie van Computersystemen: deel 2 slide 15 Pentium (vervolg) 8Kbyte instructie cache + 8Kbyte gegevens cache telkens "dual ported" om door de twee pipelines tegelijkertijd gebruikt te kunnen worden nodig omdat een superscalaire processor een grotere bandbreedte nodig heeft sprong-voorspellingen een "branch target buffer (BTB)" in associatief geheugen houdt paren bij van sprong-instructies en gekozen sprongadressen (met geschiedenis informatie) compilers werden samen met chip ontworpen (gebeurt klassiek bij RISC processoren) Yolande Berbers Structuur en Organisatie van Computersystemen: deel 2 slide 16 Pentium (vervolg) "The Pentium achieves roughly two times the speedup on integer code and up to five times the speedup on floating-point vector code when compared with an i486 CPU of identical clock frequency" Yolande Berbers Structuur en Organisatie van Computersystemen: deel 2 slide 17 Pentium (vervolg) floating point: i486 geen FP-pipeline (als een FP instructie in uitvoering is, kan er geen tweede beginnen) vermenigvuldiging is in microcode Pentium: FP pipeline (8 stages) voor optelling, aftrekking, vermenigvuldiging en vergelijking (allemaal 3 klokcycli) deling kost 18-32 klokcycli 8 speciale functies worden in microcode uitgevoerd: fsin, fcos, ... 3 formaten worden gesupporteerd: single-precision (32 bit), double precision (64 bit) volgens IEEE formaat, en extended-precision (80 bit) Yolande Berbers Structuur en Organisatie van Computersystemen: deel 2 slide 18 Pentium (vervolg) compatibiliteit vereist precieze bepaling van uitzondering -> on-chip logica bepaalt of een instructie gegarandeerd zonder uitzondering zal eindigen; indien ja kan de pipeline gewoon verder gevuld worden Yolande Berbers Structuur en Organisatie van Computersystemen: deel 2 slide 19 Intel Pentium Pro Processor naam was origineel P6, maar omdat de naam Pentium zo gekend was wilde men deze behouden is volgende architectuursprong, blijft t/m Pentium III gebruikt een superpipeline met 10 stages ter vergelijking: de Pentium had 5 stages dit maakt hogere kloksnelheden mogelijk met gelijke silicontechnologie (1 stage: 33% kleiner, dus kloksnelheid: 33% hoger) superscalair: kan 3 instructies tegelijk uitvoeren bevat een L2 cache op de chip van 256K (of 512K) maakt gebruik van (in Intel terminologie): dynamic execution, multiple branch prediction, data flow analysis, speculative execution dynamisch schedulen (gebaseerd op algoritme v. Tomasulo) Yolande Berbers Structuur en Organisatie van Computersystemen: deel 2 slide 20 Intel Pentium Pro Processor (vervolg) processor architectuur in meer detail: 3 stappen (fig. 3) FETCH/DECODE unit DISPATCH/EXECUTE unit RETIRE unit FETCH/DECODE unit (fig. 4) leest de instructies in volgorde uit de instructie cache leest 20 tot 30 instructies vooruit voorspelt sprongen met behulp van de Branch Target Buffer 20 à 30 instructies bevatten gemakkelijk 5 sprongen Yolande Berbers Structuur en Organisatie van Computersystemen: deel 2 slide 21 Intel Pentium Pro Processor (vervolg) FETCH/DECODE unit (fig. 4) (vervolg) vertaalt de (CISC) instructie in u-operaties van vaste lengte meest gebruikte IA instr. worden vertaald door 1 u-op sommige in 4 u-op de complexe instructies gaan volledig in microcode (een klein programma van u-ops) de u-op worden in een queue geplaatst en gaan naar de Register Alias Table (RAT) RAT: herbenoemt registers de u-op gaan naar de instruction pool (ook genoemd de ReOrder Buffer dat een associatief geheugen is) Yolande Berbers Structuur en Organisatie van Computersystemen: deel 2 slide 22 Intel Pentium Pro Processor (vervolg) DISPATCH/EXECUTE unit (fig. 5) bevat 2 integer units, 1 jump unit, 1 FP arithmetic unit, FP multiplier, divider and shifter, 2 address generation units bediend door de Reservation Station via 5 poorten wanneer status van u-op aanduidt dat operanden aanwezig zijn kan een u-op uitgevoerd worden (hier zorgt de dispatch unit voor): instructies worden niet in volgorde uitgevoerd, maar volgens de data-flow principes (dynamic scheduling) resultaten worden terug naar de ROB gestuurd als blijkt dat een slechte sprongvoorspelling gemaakt werd zal de JEU de status van alle u-op na de branch veranderen zodat deze uit de instruction pool genomen worden (speculative execution) de BTB wordt aangepast Yolande Berbers Structuur en Organisatie van Computersystemen: deel 2 slide 23 Intel Pentium Pro Processor (vervolg) RETIRE unit (fig. 6) zoekt in de instruction pool naar instructies die uitgevoerd zijn en uit de pool mogen deze unit herstelt de programma volgorde van de instructies houdt rekening met misvoorspellingen en exceptions kan 3 u-op per klok cyclus behandelen Yolande Berbers Structuur en Organisatie van Computersystemen: deel 2 slide 24 Intel Pentium Pro Processor (vervolg) Bus interface unit (fig. 7) loads kunnen stores voorbijsteken hiervoor dient de Memory Order Buffer (MOB) Dual Independent Bus (D.I.B.) Architecture tweede gescheiden bussen systeembus naar hoofdgeheugen en randapparaten – snelheid klassiek 66MHz, nu al tot 100MHz aparte bus naar L2 cache – helft van kloksnelheid van chip (schaalt mee met processor) beide bussen kunnen in parallel werken piekbandbreedte 3X zo groot als bij Pentium Yolande Berbers Structuur en Organisatie van Computersystemen: deel 2 slide 25 Intel Pentium Pro Processor (vervolg) Error Checking and Correction (ECC) eigenschappen detecteert één- en twee-bit fouten verbetert automatisch één-bit fouten standaard aanwezig vanaf 300MHz op L2 cache standaard op geheugen enkele cijfertjes 5.5 miljoen transistoren voor CPU, 15.5 miljoen voor L2 cache 150/166/180/200 en meer MHz 0.35 micron technologie Yolande Berbers Structuur en Organisatie van Computersystemen: deel 2 slide 26 MMX MMX technologie: uitbreiding van Intel Architectuur om performantie van multimedia toepassingen te verhogen inhoudelijk: zie later bij algemene behandeling van DSP en multimedia extensies toepassingen 2D en 3D visualisaties full-screen, full-motion video combinaties van grafische elementen met video audio synthese spraak synthese en compressie, telefonie, video-conferentie realistische grafische weergaven 3D-spelletjes Yolande Berbers Structuur en Organisatie van Computersystemen: deel 2 slide 27 MMX (vervolg) uitgewerkt als module om toe te voegen aan Pentium Pentium MMX Pentium Pro Pentium II bevat 57 nieuwe instructies 8 64-bit nieuwe MMX registers 4 nieuwe data types Yolande Berbers Structuur en Organisatie van Computersystemen: deel 2 slide 28 Pentium MMX doelstelling minstens zelfde performantie als Pentium minstens zelfde kloksnelheid op gebied van marketing was dit heel belangrijk veel mensen associëren frequentie met snelheid minstens zelfde CPI Yolande Berbers Structuur en Organisatie van Computersystemen: deel 2 slide 29 Pentium MMX probleem 1: toevoegen van MMX op bestaande Pentium architectuur verlaagt de kloksnelheid Pentium architectuur heeft pipeline met 5 stages bottlenecks: decode en cache Pre-fetch, Decode1, Decode2, Execute, Writeback oplossing pipeline herschikken in 6 stages nieuwe stage vooraan, en de rest herschikken Pre-fetch, Fetch, Decode1, Decode2, Execute, Writeback cache aanpassingen Yolande Berbers Structuur en Organisatie van Computersystemen: deel 2 slide 30 Pentium MMX probleem 2: toevoegen van pipeline stage verlaagt CPI branch hazard is langer er gaat meer tijd verloren bij misvoorspelde sprongen verhogen van CPI door toevoegen van Return Stack Buffer naast Branch Target Buffer speciale buffer met geschiedenis van procedure oproepen verbetering van CPI met 8% verbetering relatie snelheid van processor en snelheid van bus verbetering van CPI met 5% grotere cache, volledig associatieve Translation Lookaside Buffers 16Kb ipv 8Kb voor zowel instructie- als data cache verbetering van CPI met 7 tot 10% totale verbetering tov Pentium CPI: 15% Yolande Berbers Structuur en Organisatie van Computersystemen: deel 2 slide 31 Pentium II op architecturaal niveau: niets nieuws tov Pentium Pro nog altijd superpipeline met 10 stages dynamic execution, multiple branch prediction, data flow analysis, speculative execution wel verbeterde technologie en kleine verbeteringen alles aanpassen aan MMX betere sprongvoorspelling ‘dynamic, two-level, adaptive-training, branch prediction’ grotere L1 cache (2X 16Kb) kan tot 3 instructies per klokcyclus decoderen kan tot 40 instructies voorruit kijken (30 bij Pentium Pro) kan tot 4 instructies tegelijk uitvoeren (3 bij Pentium Pro) verbinding met moederbord: Single Edge Contact ipv pinnen Yolande Berbers Structuur en Organisatie van Computersystemen: deel 2 slide 32 Pentium III op architecturaal niveau: niets nieuws tov Pentium II nog altijd superpipeline met 10 stages dynamic execution, multiple branch prediction, data flow analysis, speculative execution wel verbeterde technologie en 70 nieuwe instructies Intel Processor Serial Number uniek cijfer per processor, opvraagbaar gebruik in beveiliging gebruik in beheer (remote system load and configuration) enkele cijfertjes 9.5 miljoen transistoren voor CPU (Pentium Pro: 5,5) 28 miljoen transistoren inclusief L2 cache 450 tot 1 GHz (Pentium Pro: 150/166/180/200) 0.25 tot 0.18 micron technologie (Pentium Pro: 0.35) grootte L1 en L2 cache: zoals betere Pentium II (2x16K en 512K) Yolande Berbers Structuur en Organisatie van Computersystemen: deel 2 slide 33 Pentium III (vervolg) 70 nieuwe instructies (SSE: Streaming SIMD Extensions) SIMD floating point SIMD integer ‘cacheability control instructions’ technologieën die hiervan kunnen gebruik maken geavanceerde beeldverwerking 3D streaming audio en video spraakherkenning voordelen hogere resoluties en hogere kwaliteit van beelden hogere kwaliteit audio, MPEG2 video, simultaan MPEG2 encodering en decodering verminderd gebruik van CPU voor spraakherkenning, hogere betrouwbaarheid en snellere respons Yolande Berbers Structuur en Organisatie van Computersystemen: deel 2 slide 34 Pentium III: toepassingsdomeinen Yolande Berbers Structuur en Organisatie van Computersystemen: deel 2 slide 35 Pentium III: toepassingsdomeinen (vervolg) Productivity software Multimedia software gaming, modeling, and simulation applications Internet applications includes audio, video, imaging, and creativity applications 3D software applications such as word processing, presentation, and personal finance programs Internet browsers, as well as 3D and multimedia Web content benchmarks: zie tabel 1-5 Yolande Berbers Structuur en Organisatie van Computersystemen: deel 2 slide 36 Pentium 4 (2001) eerste belangrijke architecturale vernieuwing sinds Pentium Pro (4 jaar eerder) gebaseerd op .18 micron technologie, maar mikt op .13 bevat 42 milj transistoren (14 milj meer dan PentiumIII) naam: Intel NetBurst Micro-Architecture de chip is dus ook substantieel groter 1.4 GHz, zal 2 GHz worden bij .13 micron tech. Yolande Berbers Structuur en Organisatie van Computersystemen: deel 2 slide 37 Pentium 4 Hyper Pipelined Technology pipeline met 20 stages (verdubbeling tov P6) bij verkeerde voorspellingen is straf zwaarder !! Level 1 Execution Trace Cache speciale instructie cache bewaart geen geheugen blokken maar reeds gebruikte, gedecodeerde instructies (micro-ops) 12K micro-ops bewaart dus geen niet-gebruikte instructies fetching en decode voor instructies uit cache valt weg Yolande Berbers Structuur en Organisatie van Computersystemen: deel 2 slide 38 Pentium 4 Advanced Dynamic Execution kijkt 126 instructies vooruit (ipv 42 bij Pentium III) betere branch prediction (33% minder mis-voorspellingen) beter algoritme, 4KB BTB, geschiedenis-gebaseerd Rapid Execution Engine 2 integer ALU’s werken aan dubbele kloksnelheid (3GHz) Yolande Berbers Structuur en Organisatie van Computersystemen: deel 2 slide 39 Pentium 4 400MHz Front Side Bus quad-pumped 100MHz-system bus geeft 3 maal grotere bandbreedte dan Pentium III 3.2 GB/s ivm 1.06 GB/s bij Pentium III 256KB Level 2 Advanced Transfer Cache transfers vanuit L2: op elke klok cyclus (ipv om de 2) Pentium 4 1.5 GHz geeft 48GB/s vgl: Pentium III 1 GHz geeft 16GB/s 8-way set associatief 256-bit data bus Yolande Berbers Structuur en Organisatie van Computersystemen: deel 2 slide 40 Pentium 4 SSE2 (Streaming SIMS Extension 2) 144 nieuwe instructies !! nadeel: enkel nieuwe software maakt hiervan gebruik interessant voor video, speech, beeld- en fotoverwerking, encryptie, finantiele berekeningen, wetenschappelijke toepassingen Geheugen gebruikt (dure) RDRAM (Rambus DRAM) per paar geheugen upgrades zijn daarom duur Yolande Berbers Structuur en Organisatie van Computersystemen: deel 2 slide 41 Pentium 4 Benchmarks SPECint en SPECfp zijn nog niet uit (voor zover ik weet) Pentium 4 is niet sneller voor Productivity Software (zoals Word en Excel) wel sneller voor de andere toepassingen (3D, multimedia, scientific, …) Yolande Berbers Structuur en Organisatie van Computersystemen: deel 2 slide 42 IBM SP2 parallel computer Yolande Berbers Structuur en Organisatie van Computersystemen: deel 2 slide 43 Globaal overzicht SP2 = Scalable Powerparallel 2 multicomputer, met 4 tot 128 knooppunten, met gedistribueerd geheugen de processoren zijn Power2 processoren (zie uitleg verder) “thin” processoren voornamelijk bedoeld voor veel rekenwerk 64 KB data cache, 64-512 MB geheugen, 1-4 GB disk “wide” processoren voornamelijk bedoeld als zware servers 256 KB data cache, 64-2048 MB geh., 1-8 GB disk kan een mix van jobs ondersteunen: zowel seriële als parallelle jobs zowel interactieve als batch jobs Yolande Berbers Structuur en Organisatie van Computersystemen: deel 2 slide 44 Globaal overzicht (vervolg) 1 frame kan 16 “thin” knooppunten herbergen, of 8 “wide” knooppunten of een mengeling van beide een SP2 kan natuurlijk bestaan uit meerdere frames een interconnectie netwerk (High Performance Switch) verbindt de knooppunten (zie tekening) type: multistage zeer performant 1 switch per frame potentieel kan elke processor met een andere processor simultaan communiceren de afstand tussen 2 willekeurige knooppunten is gelijk Yolande Berbers Structuur en Organisatie van Computersystemen: deel 2 slide 45 Power2 processor in 1990 kondigt IBM het RISC Systeem/6000 aan: een nieuwe familie van (superscalaire) processoren eerste implementatie heet IBM POWER (Performance Optimized With Enhanced RISC) tweede implementatie: POWER2 met hogere kloksnelheid, grotere caches, en nog meer superscalair de processor bestaat uit 8 chips ICU: FXU: FPU: SCU: 4 DCU: instruction cache unit fixed point unit floating point unit storage control unit data cache units niet te verwarren met de PowerChip (alles op 1 chip) Yolande Berbers Structuur en Organisatie van Computersystemen: deel 2 slide 46 Power2 processor (vervolg) de ICU: bevat een 32 KB instructie cache (I-cache) kan 8 instructies per cyclus ophalen uit de I-cache kan 6 instructies per cyclus schedulen: 2 zelf 2 voor de FXU 2 voor de FPU voert voorwaardelijke en onvoorwaardelijke sprong-instructies uit stuurt de andere instructies naar de FXU of de FPU bij een sprong: doet een prefetch van de 2 mogelijke paden als de sprong niet genomen wordt: meestal geen tijdsverlies als de sprong wel genomen wordt: meestal 1 cyclus verlies Yolande Berbers Structuur en Organisatie van Computersystemen: deel 2 slide 47 Power2 processor (vervolg) de FXU doet loads en stores, rekenkundige en logische bewerkingen bevat 32 32-bit general purpose registers bevat 2 functionele eenheden: 1: optellen en logische bewerkingen uitvoeren 2: idem + vermenigvuldigen (2 cycli) en delen (13-17 cycli) inter-pipeline-forwarding mogelijkheid tussen de uitgang van de ALU van de 1ste functionele eenheid en de ingang van de ALU van de 2de functionele eenheid (dit verhoogt het parallel gebruik van de twee eenheden) Yolande Berbers Structuur en Organisatie van Computersystemen: deel 2 slide 48 Power2 processor (vervolg) de FPU de CSU regelt alle communicatie tussen de verschillende chips van de CPU en het geheugen controleert de bus de 4 DCU’s bevat 32 64-bit FP registers bevat nog veel meer verborgen registers, voor bv elke load (dit verhoogt het parallel gebruik van de twee eenheden) bevat 2 autonome identieke functionele eenheden 64 KB data cache - 256 KB data cache de CPU (alle chips samen) bevatten 23 miljoen transistoren (zie tabel) Yolande Berbers Structuur en Organisatie van Computersystemen: deel 2 slide 49 oude SP2 configuratie op het rekencentrum de SP2 is verbonden met (zie tekening) de SP2 bevat 16 “thin” knooppunten, elk met 4 GB disk de IBM 3090 (een oude mainframe) een rack met 16 GB Kuleuvennet werkstations en X-terminalen via ethernet 8 met 128 MB geheugen 8 met 256 MB geheugen het rack met 16 GB (met alle gebruikersbestanden) hangt aan 1 bepaalde knoop (sp09) 1 bepaalde knoop is de communicatie server (ethernet, FDDI, kanaal naar de IBM 3090) (sp10) Yolande Berbers Structuur en Organisatie van Computersystemen: deel 2 slide 50 software organisatie elke knoop draait AIX (IBM's versie van UNIX) als besturingssysteem (zoals in een netwerk) PSSP: Parallel System Support Program boot procedures, installatie van switch, systeem monitoring, resource manager, job accounting Parallel Environment (PE) initialisatie van parallelle omgeving, allocatie van knopen aan taken, laden van de executables op elke knoop, set up van input en output per knoop, tools om applicatie te analyseren (status, visualisatie, performantie, ...) message passing libraries, geparalleliseerde numerieke routines parallel compiler: HPF (High Performance Fortran voor data parallellisme) Yolande Berbers Structuur en Organisatie van Computersystemen: deel 2 slide 51 2 knooppunten zijn ‘interactieve knooppunten’ (voor interactieve jobs) (sp05, sp06) hier kan men het zware rekenwerk voorbereiden (editeren, compileren), en resultaten bekijken de andere knooppunten zijn ‘batch knooppunten’ 4 voor parallelle jobs (sp13, sp14, sp15, sp16) 8 voor seriële jobs (sp01-sp04, sp07, sp08, sp11, sp12) 2 voor speciale doeleinden (sp09: discs, sp10: communicatie) Load Leveler: scheduling van batch jobs jobs kunnen ‘submit’ worden aan de LL voor elke job moet de gebruiker een jobklasse specificeren (hiermee geeft hij aan hoe lang zijn job max. zal duren) lichtere jobs krijgen een hogere uitvoerprioriteit opsplitsing van de knopen volgens klasse: zie aparte slide Yolande Berbers Structuur en Organisatie van Computersystemen: deel 2 slide 52 Uitbreiding SP LUDIT Yolande Berbers Structuur en Organisatie van Computersystemen: deel 2 slide 53 Doel SP tegemoet komen aan nood aan rekencapaciteit. tegemoet komen aan de nood aan parallelle architectuur. voorzien van een stabiele machine met een breed gamma software dat op elk moment door elke onderzoeker kan aangesproken worden. Yolande Berbers Structuur en Organisatie van Computersystemen: deel 2 slide 54 Uitbreiding SP Een stukje geschiedenis eind 1994 : SP wordt geïnstalleerd met 16 nodes eind 1996: SP wordt uitgebreid (21 nodes) 2 frames / nieuwe switch september 1997: Gebruikers worden bijeengebracht in het kader van de gezamelijke nood aan rekencapaciteit. januari 1998: Het rapport ‘Centrale High Performance Computing Capaciteit voor K.U.Leuven: een noodzaak’ wordt gefinaliseerd juli 1998: de SP wordt uitgebreid tot 31 nodes, waarbij eveneens 8 van de eerste generatie nodes worden vervangen door nodes van het nieuwere type. Yolande Berbers Structuur en Organisatie van Computersystemen: deel 2 slide 55 Hardware Oude configuratie Thin 66 MHz, 128MB 8 Thin 66 MHz, 256MB 8 Thin 120 MHz, 256 MB 2 Thin 120 MHz, 512 MB (*) 2 Wide 135 MHz, 512 MB 1 Thin 160 MHz, 256 MB 0 Totale SPECint95 Totale SPECftp Totale TPP Mflops 78 204 4956 Nieuwe configuratie 0 8 2 2 1 18 208 608 13015 (*) = nodes eigendom van afdeling Kwantumchemie, departement scheikunde Yolande Berbers Structuur en Organisatie van Computersystemen: deel 2 slide 56 De uitbreiding 18 juli 1998 Yolande Berbers Structuur en Organisatie van Computersystemen: deel 2 slide 57 Configuratie Batch 166Mhz 256Mb 166Mhz 256Mb 166Mhz/256MB Parallel 66Mhz 128Mb Batch Lange jobs (geen switch grote tmp) Interactief 120Mhz/512MB 120Mhz/256MB Scheikunde Interactief 135Mhz/512MB Yolande Berbers Structuur en Organisatie van Computersystemen: deel 2 slide 58 Netwerk connectie Frame1 Frame2 48GB KULeuvenNet 100 Mbit Yolande Berbers Structuur en Organisatie van Computersystemen: deel 2 slide 59 Software Software wordt geïnstalleerd in samenspraak met de gebruiker: Software voor algemeen gebruik Software voor specifieke berekeningen, vakoverschrijdend Wordt niet doorgerekend aan de gebruiker Gezamelijke financiering Gespecialiseerde software gebruikt door één onderzoekgroep Wordt volledig betaald door de onderzoeksgroep Yolande Berbers Structuur en Organisatie van Computersystemen: deel 2 slide 60 Interavtief vs. Batch Interactief werken jobs waarbij regelmatig interventie vanaf het klavier nodig is. Met meerdere gebruikers op 1 node, duur van de job is afhankelijk van de belasting en deze is niet voorspelbaar. Tijdelijke diskruimte wordt door meerdere gebruikers tegelijk beschreven. Vrije diskruimte niet gegarandeerd. Batch Jobs waar gedurende meer dan 10 min. geen interventie nodig is. 1 job per node volledige CPU/volledige /tmp voor 1 gebruiker. Batch queueing systeem: loadleveler Yolande Berbers Structuur en Organisatie van Computersystemen: deel 2 slide 61 Batch klassen Batch klassen voor seriele jobs: s-ul s-7d s-3d s-24u s-12u s-6u s-3u s-1u s-10m Yolande Berbers none 7+00:00:00 3+00:00:00 1+00:00:00 0+12:00:00 0+06:00:00 0+03:00:00 0+01:00:00 0+00:10:00 > < < < < < < < < 7 dagen CPU 7 dagen CPU 3 dagen CPU 24 uur CPU 12 uur CPU 6 uur CPU 3 uur CPU 1 uur CPU 10 min CPU Structuur en Organisatie van Computersystemen: deel 2 slide 62 Batch klassen Batch klassen voor parallelle jobs: p-2n-12u p-2n-6u p-2n-2u p-4n-24u p-4n-12u p-4n-6u p-4n-2u p-8n-6u p-8n-12u p-8n-24u Yolande Berbers 0+12:00:00 0+06:00:00 0+02:00:00 1+00:00:00 0+12:00:00 0+06:00:00 0+02:00:00 0+06:00:00 0+12:00:00 1+00:00:00 4 2 2 4 4 4 4 8 8 8 nodes, nodes, nodes, nodes, nodes, nodes, nodes, nodes, nodes, nodes, < < < < < < < < < < 12 uur CPU per node 6 uur CPU per node 2 uur CPU per node 24 uur CPU per node 12 uur CPU per node 6 uur CPU per node 2 uur CPU per node 6 uur CPU per node 12 uur CPU per node 24 uur CPU per node Structuur en Organisatie van Computersystemen: deel 2 slide 63 Batch configuratie en verdeling van de capaciteit s-ul s-7d s-3d s-24u s-12u s-6u s-3u s-1u s-10m beschikbaar beschikbaar beschikbaar beschikbaar beschikbaar beschikbaar beschikbaar beschikbaar beschikbaar op op op op op op op op op aanvraag 1 node 3 nodes 7 nodes 11 nodes 13 nodes 15 nodes 16 nodes 16 nodes 8 nodes zijn permanent beschikbaar voor parallel werk Yolande Berbers Structuur en Organisatie van Computersystemen: deel 2 slide 64