Danmarks hurtigste Supercomputer Baggrund, Opbygning og Anvendelse
Overblik Hvad er problemet? Hvad er løsningen? Supercomputer arkitekturer Danmarks bedste Problem eksempler Forskning i Odense
Hvad er problemet? Der findes en lang række problemer som vi ikke kan løse med selv den kraftigste PC: Lange vejrudsigter Gensekvens matching Data-mining Seismiske analyser Kemiske simuleringer og mange flere
Én løsning Vent på at maskinerne bliver hurtige nok Moores lov siger at hastigheden på en processor bliver fordoblet for hver 18 måneder
Nyt problem Vi kan ikke vente 15 år på at maskinerne bliver 1000 gange hurtigere eller 20 år på at de bliver 10K gange hurtigere I 2005 vil opfyldelsen af Moores lov kræve at en transistor består af mindre end 100 atomer der er ikke en teknik til at bygge dem så små endnu I 2020 vil Moores lov ramme et atom per transistor
En anden løsning Gør mere af gangen Vektor Maskiner Symmetriske Multi-Processorer Massive Parallelle Processorer Klynge Computere
Vektor Processorer Mange videnskabelige programmer bygger på lineær algebra A = {a 1, a 2,..., a n } B = {b 1, b 2,..., b n } AB er n beregninger på en almindelig processor men kun én på en vektor processor
Vektor Processorer? Meget hurtige? Udviklet til videnskabelige programmer 3.Dyre 4.Altid én eller to generationer bagud 5.Langsomme
Opgave Parallelitet Hvis én mand kan grave en grøft på 10x1x1m på en dag hvor hurtigt kan to mand gøre det? 10 mand? 1000 mand? Hvad med et hul på 1x1x10 meter?
Symmetriske Multi- Processorer Metafor: Et arkivskab med mange brugere Hvis én skriver x=1 så vil alle læse x=1
SMP Arkitekturer Delt bus 1.Meget simpel 2.Ganske billig Kan vokse til meget få processorer Krydsskifter Mere kompleks Dyrere + Kan vokse til flere processorer
SMP Overblik Simpel måde at bygge hurtigere maskiner Rimeligt lette at skrive programmer til 3. Meget begrænset antal processorer 4. Ganske dyre hvis vi ønsker mange processorer 5. Hvis en fejler så fejler alle
Massive Parallelle Processorer Metafor: Et arkiv fordelt på mange skabe med mange brugere Der er to basale filosofier til delte arkiver: Ethvert kopi antages at være forældet så snart det er taget Når man tager en kopi så skriver man sig på en liste. Før nogen kan ændre et dokument må alle med kopier først have besked på at destruere deres kopi.
MPP Arkitekturer Der er mange måder at forbinde processorerne i en MPP maskine: Ringe Flader Dansesale Hyberrum
Ringe #beskeder i værste fald (ved en ring) n - 1 n 2 (ved 2 ringe)
Flader #beskeder i værste fald n
Dansesale #beskeder log 2 n
Hyberrum #beskeder i værste fald d
MPP Overblik Kan vokse til hundrede af processorer Hvis en processor fejler kan resten overleve 3.Temmelig dyre 4.Ganske svære at programmere
Næste generation supercomputere Klynger af PC ere Lader som om de er store SMP eller MPP maskiner Forbundet med almindelige netværk eller specialiserede klynge-forbindelser
Fordelene ved klyngemaskiner Commercial Of The Shelf (COTS) Dryp modellen Supercomputer? Arbejdsstation? PC Lette at tilpasse specielle behov
Danmarks hurtigste Supercomputer DCSC Supercluster 1000 Pentium 4 CPUer 1TB RAM 45TB disk 100 Gb/sec teoretisk kommunikations kapacitet Pris: 8Mkr Teoretisk regnekraft 4TFLOPS
Fordelingen Odense 520 CPUer Lyngby 480 CPUer
SDU Klyngen
SDU Klyngen
DTU Klyngen
Klynge-maskiner Overblik + Ekstremt billige + Kan vokse sig uendeligt store + Hvis en processor fejler kan resten overleve - Meget svære at programmere
Hvorfor bekymre sig for fejl? Fordi gennemsnitstiden for fejl (MTBF) stiger lineært med antallet af processorer! Med 1000 CPUer har vi i princippet en fejl for hver 9 timer!
Hvorfor bekymre sig for fejl? System MTBF med 1 CPU MTBF på 1 år Sekunder 100000000 10000000 1000000 100000 10000 1000 100 10 1 1 2 4 8 1632 64 128256 512 1K2K 4K 8K16K #processorer 32K 64K 128K256K512K 1M
Samarbejdende Supercomputere Nye generationer af Internet forbindelser tillader supercomputere at samarbejde om løsninger af store problemer Maskiner kan tage de del-problemer de er bedst til at løse
Sammenkoblingen Sammenknytning af de to klynger Forskningsnet Dedikeret 1Gb/sec
Grid Computing IESD DAIMI DTU DIKU IMADA
Videnskabelige Beregninger Atmosfære modellering Dyre flok modellering Protein foldning modellering Simuleringer af sorte huller Simuleringer af bil sammenstød Kvante kemi Virtuelle Vind-tunneller for fly og vindmøller Modellering af metallers egenskaber
Atmosfære modellering
Modellering af flokkes opførsel Data Mining efter information om hvordan dyre-flokke opfører sig Afprøvning af opførselsmodeller Fugle Fisk Mennesker
Gensekvens søgning Det menneskelige gen indeholde mere end 3.000.000.000 bogstaver (a,c,g,t) Hvis vi skal søge efter en sekvens på bare 1000 enheder vil det kræve 3.000.000.000.000 sammenligninger meget mere hvis vi ikke kræver en præcis match Nødvendigt for at finde arvelige sygdomme og andre arvelige egenskaber
Modellering af proteiners foldning Proteiners foldning menes at være årsagen til Parkinsons sygdom Er måske den primære årsag til ældning Meget svært at beregne: IBM bygger en Mega-processor maskine med det formål at modellere protein-foldninger
Simulering af Sorte Huller Bruges til at teste teorier omkring sorte huller: Kan de eksistere? Hvordan opstår et sort hul og risikerer vi at skabe et? Hvordan påvirkes tiden af sorte huller? Hvordan kan det ske at det vi tror er sorte huller synes at udsende materie?
Bil kollision simuleringer Ideen er at simulere sammenstødet mellem to biler i stedet for at gennemføre det Billigere Mere præcist Mulighed for flere og mere varierede kollisions typer
Kvante kemi Bruges til at undersøge forbindelsen mellem atomer i et molekyle Er basalt set en approksimation af en løsning for Schrödinger ligningen for hver par af atomer Dette er blevet et vigtigt redskab i medicin udvikling Et meget vigtigt værktøj i forskningen i hukommelses polymerer Tillader hurtigere udvikling af nye lasere
Simulerede vindtunneller Vigtigt for at forbedre brændstof økonomien på biler og fly Bruges til at forbedre effektiviteten på vind-møller Anvendes til at teste grænsen for vindmøllers styrke
Modellering af metallers egenskaber Forskning i metal-træthed og hvordan vi undgår det Nødvendigt for at kunne finde den rette temperatur for at spray-forme metal objekter
Parallel Rendering
Rendering Data 406 billeder Tid for rendering på en maskine: ca. 9 t 50 min Tid på RoadRunner: ca. 20 min
Hvordan måler man SC ydelse? Linpack Hvor hurtigt kan den løse 100 ligninger med 100 ukendte Hvor hurtigt kan den løse n ligninger med n ukendte
Supercomputer ydelser # Producent Tflop/sec #CPU N 1 NEC 35,6 5120 1.041.216 2 IBM 7,2 8192 518.096 3 HP 4,5 3016 280.000 4 HP 4,0 2560 360.000 5 IBM 3,1 3328 371.712
Problemer vi ikke kan løse Avancerede gensekvens problemer Mange turbulens problemer fx jetmotorer Partikel fysik problemer Materiale egenskaber fx magnetisme Protein foldning Klima modellering Earth simulator er bygget til dette!
Klynge netværk FastEther VIA (clan, etc...) Myrinet SCI Quadrics $ 50 per node $1200 per node $2000 per node $2500 per node $4000 per node
Eliminering af TCP
Eliminering af TCP 32 bytes payload Communication mechanism One-way latency SMP TCP 246 us 206 us UDP 193 us 156 us PF_PACKET 165 us 126 us UL-UL over proc 127 us 100 us UL threads, loops in kernel 105 us 89 us Kernel interrupt handler version 75 us One-way latency uniprocessor 66 us Same with HUB 63 us 54 us Same with B2B cable 62 us 53 us
Hvorfor P4 P3 P4 SPEC-2000: 454/292 kr. 5.200 per CPU; 1Ghz 256KB cache, 512MB ram! SPEC-2000: 515/543 kr. 7.000 per CPU; 1.5 GHz 256KB cache, 1GB ram Athlon SPEC-2000: 496/426 kr. 5000 per node; 1.4 GHz 256 KB cache 1GB ram
Hvorfor P4 Itanium SPEC-2000 370/711 kr. 50.000 per CPU; 733 MHz 2MB cache, 1GB ram Alpha SPEC-2000 380/514 kr. 50.000 per CPU; 667 MHz 4MB cache 256 MB ram Power604e SPEC-2000 248/330 kr. 80.000 per CPU; 375 MHz 8 MB cache, 512 MB ram
Hvorfor (og ikke Athlon) Varme problemer Vi bruger 95KW Fordi Athlon brænder hvis den bliver for varm Well den gjorde i 2001 :) Men P4 bruger Thermal Trottleing...
Thermal Throttling
Thermal Throttling
Thermal Throttling
Single eller SMP? 100000 90000 80000 70000 Price ($) 60000 50000 40000 30000 20000 10000 PIII 800MHz 256KB PIII 800MHz 256KB PIII Xenon 933MHz 256KB PIII Xenon 933MHz 256KB PIII Xenon 700MHz 1MB PIII Xenon 700MHz 1MB 0 Dual Low-End Workstation Dual Low End Server Dual High-End Workstation Dual Server Quad Server Oct Server
Compilere 35 All benchmarks 30 25 Seconds 20 15 10 5 0 P4gcc2.96 P4gcc3.2 P4icc6 I2gcc2.96 I2ecc6 I2ecc7 G4gcc3.2 XP1600+gcc3.2 MCPi SOR Gauss TSP Wator Nbody MxMul
Klynge Programmel Installations programmel Administrations programmel Programmering
Installations Programmel OSCAR Mandrake CLIC System Imager KA-BOOT Meget effektiv Vores valg
Administrations programmel Portable Batch System OpenPBS PBS-Pro Kommerciel Men bruger UDP fremfor TCP MAUI Scheduler Alle de frihedsgrader man kan bede om
Klynge Programmering Message Passing Interface LAM MPI MPICH MESH-MPI Parallel Virtual Machine PVM Virtuelt Delt Lager Linda PastSet
Supercomputing Eksempler
Ørken Kortet Fraktaler er eksempler på programmer der kaldes pinligt parallelle. Et typisk eksempel på et beregningstungt program med mange uafhængige resultater. Meget simpelt at skive Opnår meget god hastigheds forøgelse
Ørken kortet
Løbe fælden Handelsrejse problemet er et klassisk supercomputer problem. Den valgte algoritme er en typisk producent-konsument tilgang. Typisk repræsentant for globale optimerings problemer Kan opnå meget god hastigheds forøgelse
Løbe fælden
Vind fælden Virtuel vind-tunnel En faktisk videnskabelig applikation Repræsenterer pipelined applikations typen Kan opnå meget stor hastighedsforøgelse
Vind Fælden
Frost Fælden Successive Over Relaksation En meget udbredt beregningskerne til videnskabelige applikationer Et typisk eksempel på en matrix applikation Kan opnå meget stor hastighedsforøgelse
Frost Fælden
Kloningsmaskinen Ray tracing er et ægte beregningsproblem Et eksempel på en applikation der kan opnå perfekt hastighedsforøgelse på små problemer og god forøgelse på store (ægte) problemer
Kloningsmaskinen
Aktuel forskning på SDU DANISH RoadRunner SCO PastSet Buliwyf
DANISH Danish Applications for Networked IPC and SHared memory Formål: At gøre det lettere at teste nye værktøjer for klynge arkitekturer At identificere flaskehalse i eksisterende værktøjer
RoadRunner Eksperimentel klynge maskine Formål: At eksperimentere med klynge arkitekturer At udvikle operativsystem støtte for klynge arkitekturer At udvikle hurtigere kommunikation
SCO Scalable Coherent Objects Formål: At afvikle Java programmer på en klyngearkitektur uden at programmøren behøver at vide det
PastSet Sammen med Tromsø Universitet Formål: At tilbyde programmering med fælles hukommelse på klynge maskiner
Den Globale Computer Sammen med de øvrige datalogiske institutter i Danmark Formål: At udvikle værktøjer for samarbejdende supercomputere At undersøge potentialet for lang-distance netværk At etablere Grid i Danmark
Spørgsmål?
Referencer www.imada.sdu.dk/~vinter DANISH.imada.sdu.dk RoadRunner.imada.sdu.dk www.globalecomputer.dk www.cs.uit.no/dos/pastset/