420 likes | 559 Views
Onderzoeksgroep PARIS. Koen De Bosschere Woensdag 10 november 1999. RUG informaticavakgroepen. Toegepaste wetenschappen ELIS, Jan Van Campenhout INTEC, Paul Lagasse TELIN, Herwig Bruneel Wetenschappen TWI, Gilbert Crombez CAGE, Joseph Thas. Vakgroep ELIS. 134 personeelsleden 19 ZAP
E N D
Onderzoeksgroep PARIS Koen De Bosschere Woensdag 10 november 1999 Onderzoeksgroep PARIS
RUG informaticavakgroepen • Toegepaste wetenschappen • ELIS, Jan Van Campenhout • INTEC, Paul Lagasse • TELIN, Herwig Bruneel • Wetenschappen • TWI, Gilbert Crombez • CAGE, Joseph Thas Onderzoeksgroep PARIS
Vakgroep ELIS • 134 personeelsleden • 19 ZAP • 20 ATP • 95 WP (10 postdocs) • Activiteitsdomeinen • Fysische elektronica • Toegepaste elektronica • Informatiesystemen Onderzoeksgroep PARIS
Vakgroep ELIS: activiteiten • Fysische elektronica • LCD-displays • Zonnecellen • Thermo-elektronica • Magnetisme • Toegepaste elektronica • Informatiesystemen Onderzoeksgroep PARIS
Vakgroep ELIS: activiteiten • Fysische elektronica • Toegepaste elektronica • VLSI-ontwerp • Display-technologie (LCD) • Interconnectie-technologie • Analoog circuit- en systeemontwerp • Elektrochemische cellen • Informatiesystemen Onderzoeksgroep PARIS
Vakgroep ELIS: activiteiten • Fysische elektronica • Toegepaste elektronica • Informatiesystemen • Spraakverwerking • Medische beeldverwerking • Parallelle Informatiesystemen Onderzoeksgroep PARIS
Informatiesystemen • Spraakverwerking • spraakherkenning • spraaksynthese • Technologie & Integratie bvba • Medische beeldverwerking • Parallelle Informatiesystemen Onderzoeksgroep PARIS
Informatiesystemen • Spraakverwerking • Medische beeldverwerking • Compressie • Reconstructie • Extractie van informatie • Drukvoorbereiding • Parallelle Informatiesystemen Onderzoeksgroep PARIS
Informatiesystemen • Spraakverwerking • Medische beeldverwerking • Parallelle Informatiesystemen • Automatische parallellisering • Ontwerp van digitale systemen • De hardware-software interface Onderzoeksgroep PARIS
Paris: automatische parallellisering • Detectie van parallellisme in bestaande programma’s • Codegeneratie voor • systemen met gemeenschappelijk geheugen • gedistribueerde systemen: PVM, MPI, DSM • Multicasting, broadcasting Onderzoeksgroep PARIS
Paris: ontwerp van digitale systemen • FPGA’s • VHDL-modellering • Opto-elektronische interconnecties • Topologische eigenschappen van grote circuits Onderzoeksgroep PARIS
Paris: hardware-software interface • Hardware-zijde • Software-zijde Onderzoeksgroep PARIS
Paris: hardware-software interface • Hardware-zijde • modellering van benchmarks • waardevoorspelling • cache-architecturen • blokgestructureerde architecturen • herconfigureerbare architecturen • Software-zijde Onderzoeksgroep PARIS
Paris: hardware-software interface • Hardware-zijde • Software-zijde • optimaliserende linkers • Compaq alpha • Data layout voor DSP’s • parallel debugging • Jiti • Java data race detectie Onderzoeksgroep PARIS
Modellering van Benchmarks • Architectuurbenchmarks: Spec • Moderne processors: > 500 MHz • IPC = 2 • 109 instructies/seconde • Simulatie = 10 000 instructies/seconde • 27 uur simulatie voor 1s uitvoeringstijd • Effect van optimalisatie op benchmark soms zeer moeilijk te voorspellen Onderzoeksgroep PARIS
Modellering van Benchmarks Doelstelling • karakterisering van benchmarktraces • grootte basisblokken • afhankelijkheidsafstanden • working set, enz... • generatie van synthetische benchmarktraces (20% nauwkeurigheid) Onderzoeksgroep PARIS
Waardevoorspelling • Veel berekende waarden kunnen voorspeld worden • adressen • opgeladen waarden • Herhoogt het parallellisme op instructieniveau Onderzoeksgroep PARIS
1 5 6 7 2 3 8 4 Waardevoorspelling 1 2 3 4 5 6 7 8 Onderzoeksgroep PARIS
Waardevoorspelling • Probleem • de meeste instructies kunnen voorspeld worden • voor 64-bit architectuur n x 64 bit nodig voor de historiek • Oplossing • enkel betrouwbare voorspellingen • enkel instructies in kritisch pad Onderzoeksgroep PARIS
Cache-architecturen • Kloof tussen processorsnelheid en geheugensnelheid neemt exponentieel toe (geheugen >100 keer trager) • Oplossing: hiërarchie van caches (tot 3) • Technologische beperking: snelle cache = kleine cache • Dus: hoe sneller de processor, hoe kleiner de cache moet zijn Onderzoeksgroep PARIS
Cache-architecturen • Vaststelling • cachelijnen zeer ongelijk gebruikt • overbevraging in bepaalde gebieden • ongebruikt in andere gebieden • Lokaliteit • gegevens met spatiale lokaliteit kunnen gegevens met temporele lokaliteit verdringen Onderzoeksgroep PARIS
Processor Cache cachebeheerder Geheugen Cache-architecturen • Oplossing S T Onderzoeksgroep PARIS
Blokgestructureerde architecturen • Voor het eerst beschreven door Yale Patt • Idee: • basisblokgrootte opvoeren (16, 32, 64) • predikaten • dataflow-uitvoering • statische registerhernoeming • IPC iets lager, frequentie hoger, prestatie ook hoger Onderzoeksgroep PARIS
Blokgestructureerde architecturen c = c + 1; if ( c == 0 ) { a = a + 1; b = b + 1; } else { a = a + 2; } IN: r1, r2, r3 INSTR: add r3,1 -> i1 sub i1,0 -> i2 (==0,p1) (p1) add r1,1 -> i3 (p1) add r2,1 -> i4 (~p1) add r1,2 -> i5 OUT: i1 -> r3 (p1) i3 -> r1 (~p1) i5 -> r1 (p1) i4 -> r2 BRANCH: - Onderzoeksgroep PARIS
Dataflowdiagramma c = c + 1; if ( c == 0 ) { a = a + 1; b = b + 1; } else { a = a + 2; } c = c + 1 c ==0 ? a = a + 1 a = a + 2 b = b + 1 Onderzoeksgroep PARIS
Dataflowdiagramma BSA IN: r1, r2, r3 INSTR: add r3,1 -> i1 sub i1,0 -> i2 (==0,p1) add r1,1 -> i3 add r2,1 -> i4 add r1,2 -> i5 OUT: i1 -> r3 (p1) i3 -> r1 (~p1) i5 -> r1 (p1) i4 -> r2 BRANCH: - Onderzoeksgroep PARIS
Dataflowdiagramma BSA add r3,1, i1 add r1,1 -> i3 add r2,1 -> i4 add r1,2 -> i5 sub i1,0 -> i2 (==0,p1) i1 -> r3 (p1) i3 -> r1 (p1) i4 -> r2 (~p1) i5 -> r1 Onderzoeksgroep PARIS
Dataflowdiagramma BSA add r3,1, i1 add r1,1 -> i3 add r2,1 -> i4 add r1,2 -> i5 sub i1,0 -> i2 (==0,p1) i1 -> r3 (p1) i3 -> r1 (p1) i4 -> r2 (~p1) i5 -> r1 Onderzoeksgroep PARIS
Herconfigureerbare processors • Nu > 100 miljoen transistors per chip • Geregeld uitbreidingen (b.v. multimedia) • Herconfigureerbaarheid: laat de gebruiker toe om zelf instructies te definiëren (fpga) • signaalverwerking • bitmanipulaties • ... Onderzoeksgroep PARIS
Optimaliserende linkers • Compiler heeft nooit zicht op het complete programma • b.v. sqrt(2) data-layout (caches, banken) inlining van bibliotheekroutines • Alto: Another Link-Time Optimizer • 20% snelheidswinst Onderzoeksgroep PARIS
Parallel Debugging • Parallelle programma’s worden niet steeds deterministisch uitgevoerd • Cyclisch debuggen onbruikbaar (Heisenbugs) • Oplossing: opnemen van een uitvoering en deze gebruiken om latere uitvoeringen te controleren Onderzoeksgroep PARIS
Parallel Debugging • Probleem: traces die alle niet-determinisme bevatten zijn extreem groot • Compromis: enkel synchronisatie-operaties tracen. • Probleem: data-races kunnen niet heruitgevoerd worden Onderzoeksgroep PARIS
Parallel Debugging • Oplossing: data-race detectie tijdens de heruitvoering: eerste data race wordt gegarandeerd gedetecteerd • Implementatie: Jiti Onderzoeksgroep PARIS
Jiti proces in geheugen proces’ in geheugen CODE DATA trampolines Onderzoeksgroep PARIS
Data race detectie 1,0,0 0,1,0 0,0,1 2,0,0 2,2,0 2,3,0 3,3,0 4,3,0 4,3,2 Onderzoeksgroep PARIS
Data race detectie 1,0,0 0,1,0 0,0,1 2,0,0 2,2,0 2,3,0 3,3,0 4,3,0 4,3,2 Onderzoeksgroep PARIS
2,3,0 4,3,0 4,3,2 Data race detectie 1,0,0 0,1,0 0,0,1 2,0,0 2,2,0 2,3,0 3,3,0 4,3,0 4,3,2 Onderzoeksgroep PARIS
min 2,3,0 Data race detectie 1,0,0 0,1,0 0,0,1 2,0,0 2,2,0 2,3,0 2,3,0 4,3,0 4,3,2 3,3,0 4,3,0 4,3,2 Onderzoeksgroep PARIS
Data race detectie • Nadeel van Jiti: alle geheugenlocaties worden vergeleken • In de praktijk hoeft dit niet • read-only geheugenlocaties kunnen nooit een race veroorzaken • proces-lokale data kunnen nooit een race veroorzaken • b.v. Java Onderzoeksgroep PARIS
Java data race detectie • JVM laat toe te achterhalen welke Java objecten manipuleerbaar zijn • Enkel objecten manipuleerbaar door minstens twee draden vereisen data race detectie • Sterke reductie van het aantal te tracen objecten en geheugenlocaties Onderzoeksgroep PARIS
Conclusie • Centrale thema: hardware-software interface • parallellisme • architecturale verbeteringen • efficiënte tools (compilers, linkers, debuggers) • Symposium over nieuwe tendensen in de computer architectuur 16 december. Onderzoeksgroep PARIS