Download de presentatie
De presentatie wordt gedownload. Even geduld aub
GepubliceerdJonathan Molenaar Laatst gewijzigd meer dan 9 jaar geleden
1
Systematisch ontwerp van kosteffectieve sprongvoorspelling Veerle Desmet Promotor: prof. Koen De Bosschere Vakgroep ELIS Doctoraatsverdediging 26 juni 2006
2
Systematisch ontwerp van kosteffectieve sprongvoorspelling – Veerle Desmet – 26 juni 2006 Faculteit Ingenieurswetenschappen – Vakgroep Elektronica en Informatiesystemen 2.comwww @ http Computerarchitectuur gaat over de interne werking van computers
3
Systematisch ontwerp van kosteffectieve sprongvoorspelling – Veerle Desmet – 26 juni 2006 Faculteit Ingenieurswetenschappen – Vakgroep Elektronica en Informatiesystemen 3 instructievenster Superscalaire architectuur instructiecache ophalendecoderenregister hernoemdispatch functionele eenheid functionele eenheid functionele eenheid functionele eenheid ROB register bestand lees A lees B C+=A*B 10 keer? schrijf C nog iets einde 3 4 2 1 5 3 4 2 1 6 7 Sprong- voorspeller
4
Systematisch ontwerp van kosteffectieve sprongvoorspelling – Veerle Desmet – 26 juni 2006 Faculteit Ingenieurswetenschappen – Vakgroep Elektronica en Informatiesystemen 4 instructievenster Sprongvoorspelling instructiecache ophalendecoderenregister hernoemdispatch functionele eenheid functionele eenheid functionele eenheid functionele eenheid ROB register bestand 3 4 2 1 2 1 3 Sprong- voorspeller 4 lees A lees B C+=A*B 10 keer? schrijf C nog iets einde 3 4 2 1 5 6 7
5
Systematisch ontwerp van kosteffectieve sprongvoorspelling – Veerle Desmet – 26 juni 2006 Faculteit Ingenieurswetenschappen – Vakgroep Elektronica en Informatiesystemen 5 instructievenster Elke foute voorspelling die we vermijden, is beter instructiecache ophalendecoderenregister hernoemdispatch functionele eenheid functionele eenheid functionele eenheid functionele eenheid ROB register bestand 3 4 2 1 2 1 3 Sprong- voorspeller 4 3 4 2 1 3 4 2 1 3 42 13 4 2 1 + + + + + + + + + + lees A lees B C+=A*B 10 keer? schrijf C nog iets einde 3 4 2 1 5 6 7
6
Systematisch ontwerp van kosteffectieve sprongvoorspelling – Veerle Desmet – 26 juni 2006 Faculteit Ingenieurswetenschappen – Vakgroep Elektronica en Informatiesystemen 6 Analogie: weersvoorspelling Nodeloos sleuren met paraplu of nat worden naar buiten kijken barometer weerbericht seizoen satellietbeelden weerspreuk temperatuur vochtigheid Nauwkeurigheid hangt samen met hoeveelheid informatie
7
Systematisch ontwerp van kosteffectieve sprongvoorspelling – Veerle Desmet – 26 juni 2006 Faculteit Ingenieurswetenschappen – Vakgroep Elektronica en Informatiesystemen 7 Er zijn 4 groepen informatiebronnen voor sprongvoorspelling Broncode Profiel Uitvoering ? Tijdsverloop van de gemiddelde sprongrichting gedrag recente sprongen; registerinhouden, type geheugen- afhankelijkheid Machinecode lus i<10 lusbegin einde if g == 0 printf() register, lusniveau, basisblokgrootte, afhankelijkheidsafstand, aantal inkomende pijlen in basisblok
8
Systematisch ontwerp van kosteffectieve sprongvoorspelling – Veerle Desmet – 26 juni 2006 Faculteit Ingenieurswetenschappen – Vakgroep Elektronica en Informatiesystemen 8 Conditionele entropie meet de kwaliteit van de informatiebron beter 0,0 0,2 0,4 0,6 0,8 1,0 08162432 hoeveelheid informatie (bit) conditionele entropie (bit) Profiel Uitvoering ? Sprongadres Globale geschiedenis Gshare informatie lus i<10 lusbegin einde if g == 0 printf() Machine- code kost
9
Systematisch ontwerp van kosteffectieve sprongvoorspelling – Veerle Desmet – 26 juni 2006 Faculteit Ingenieurswetenschappen – Vakgroep Elektronica en Informatiesystemen 9 lus opcode call return lusbegin store postdom heuristiek niet-genomen genomen niet-genomen genomen afstand niet-genomen <3 ongedefinieerd ≥3 neeja Cluster Statisch Dynamisch 2FAR Informatiebronnen entropie
10
Systematisch ontwerp van kosteffectieve sprongvoorspelling – Veerle Desmet – 26 juni 2006 Faculteit Ingenieurswetenschappen – Vakgroep Elektronica en Informatiesystemen 10 Statische sprongvoorspelling maakt 25-35% foute voorspellingen BTFNT: Backward Taken, Forward Not Taken Lussen (bv. for, while) In de zomermaanden geen regen lus i<10 lusbegin einde if g == 0 printf() Machine- code nee ja lus i<10 lusbegin einde if getal == 0 printf() ja nee
11
Systematisch ontwerp van kosteffectieve sprongvoorspelling – Veerle Desmet – 26 juni 2006 Faculteit Ingenieurswetenschappen – Vakgroep Elektronica en Informatiesystemen 11 Prioriteiten wanneer meerdere informatiebronnen ter beschikking lus i<10 lusbegin einde if getal == 0 printf() lus pointer call opcode return store ja heuristiek nee heuristiek nee ja [Ball & Larus] lusbegin guard nee random empirisch 34% foute voorspellingen ja nee
12
Systematisch ontwerp van kosteffectieve sprongvoorspelling – Veerle Desmet – 26 juni 2006 Faculteit Ingenieurswetenschappen – Vakgroep Elektronica en Informatiesystemen 12 Beslissingsbomen kunnen informatiebronnen ordenen lus pointer call opcode return store ja heuristiek nee heuristiek nee ja [Ball & Larus] lusbegin guard nee random lus opcode call return lusbegin store ja heuristiek nee ja nee heuristiek pointer nee empirisch C4.5
13
Systematisch ontwerp van kosteffectieve sprongvoorspelling – Veerle Desmet – 26 juni 2006 Faculteit Ingenieurswetenschappen – Vakgroep Elektronica en Informatiesystemen 13 beter 0 5 10 15 20 25 30 35 40 45 50 gzip vpr gcc mcf crafty parser perl gap vortex bzip2twolf compress go ijpeg li m88ksim gemiddelde foute voorspellingen (%) Systematische ordening vermindert foute voorspellingen Ball & Larus: 34% Systematische volgorde: 33%
14
Systematisch ontwerp van kosteffectieve sprongvoorspelling – Veerle Desmet – 26 juni 2006 Faculteit Ingenieurswetenschappen – Vakgroep Elektronica en Informatiesystemen 14 if -blok postdominerend blok if (input ≥ 0) opcode Extra informatiebronnen toegevoegd SPEC CPU2000 INT SPEC CPU95 INT postdom nee ja afstand nee <3 ongedefinieerd ≥3 neeja lus call return lusbegin store ja heuristiek nee ja nee heuristiek pointer nee ld r3,(r1) beq r2 cmplt r1,10,r2 add r3,r4,r5 bne r2 afstand 2 afstand ongedefinieerd +
15
Systematisch ontwerp van kosteffectieve sprongvoorspelling – Veerle Desmet – 26 juni 2006 Faculteit Ingenieurswetenschappen – Vakgroep Elektronica en Informatiesystemen 15 Nieuwe heuristieken maken minder vaak foute voorspellingen beter 0 5 10 15 20 25 30 35 40 45 50 gzip vpr gcc mcf crafty parser perl gap vortex bzip2twolf compress go ijpeg li m88ksim gemiddelde foute voorspellingen (%) Ball & Larus: 34% Systematische volgorde: 33% Systematisch, met extra heuristieken: 28.9% [ACSAC2005, Using Decision Trees to Improve Static Branch Prediction]
16
Systematisch ontwerp van kosteffectieve sprongvoorspelling – Veerle Desmet – 26 juni 2006 Faculteit Ingenieurswetenschappen – Vakgroep Elektronica en Informatiesystemen 16 lus opcode call return lusbegin store postdom heuristiek niet-genomen genomen niet-genomen genomen afstand niet-genomen <3 ongedefinieerd ≥3 neeja Cluster Statisch Dynamisch 2FAR Informatiebronnen -14.7% entropie
17
Systematisch ontwerp van kosteffectieve sprongvoorspelling – Veerle Desmet – 26 juni 2006 Faculteit Ingenieurswetenschappen – Vakgroep Elektronica en Informatiesystemen 17 I Dynamische sprongvoorspelling Sprongadres Globale geschiedenis Lokale geschiedenis nee ja E elementen Uitvoering ?
18
Systematisch ontwerp van kosteffectieve sprongvoorspelling – Veerle Desmet – 26 juni 2006 Faculteit Ingenieurswetenschappen – Vakgroep Elektronica en Informatiesystemen 18 tabelgrootte (in # elementen E) foute voorspellingen (%) SPEC CPU2000 INT beter Hoe groter de tabel, des te minder foute voorspellingen gshare [McFarling] = Sprongadres Globale geschiedenis I 0 5 10 15 20 25 1001000100001000001000000 7.3% voor E=4096 5% voor E=32768 N sprongen N >> E interferentie
19
Systematisch ontwerp van kosteffectieve sprongvoorspelling – Veerle Desmet – 26 juni 2006 Faculteit Ingenieurswetenschappen – Vakgroep Elektronica en Informatiesystemen 19 Interferentie is vaker destructief dan constructief neutraaldestructief constructiefneutraal E elementen tabelgrootte (in # elementen E) oneindig # elementen 0 5 10 15 20 25 30 35 40 45 128256512 1024 2048 40968192 163843276865536 131072 262144 interferentie (%)
20
Systematisch ontwerp van kosteffectieve sprongvoorspelling – Veerle Desmet – 26 juni 2006 Faculteit Ingenieurswetenschappen – Vakgroep Elektronica en Informatiesystemen 20 Cluster Sprongclustering om interferentie te structureren tijd N sprongen k-means clusteralgoritme gemiddelde sprongrichting 75-100% 25-50% 0-25% niet uitgevoerd Cluster Profiel
21
Systematisch ontwerp van kosteffectieve sprongvoorspelling – Veerle Desmet – 26 juni 2006 Faculteit Ingenieurswetenschappen – Vakgroep Elektronica en Informatiesystemen 21 I Sprongclustering introduceert subtabellen Sprongadres Globale geschiedenis Lokale geschiedenis Cluster nee ja E/k elementen per subtabel
22
Systematisch ontwerp van kosteffectieve sprongvoorspelling – Veerle Desmet – 26 juni 2006 Faculteit Ingenieurswetenschappen – Vakgroep Elektronica en Informatiesystemen 22 Sprongclustering effectief voor kleine tabellen tabelgrootte (in # elementen E) bimodaal [Smith] Sprongadres foute voorspellingen (%) 0 5 10 15 20 25 1001000100001000001000000 origineel sprongclustering tabelgrootte (in # elementen E) Sprongadres Globale geschiedenis ipv 7.3% E=4096 gshare foute voorspellingen (%) 6.4% 0 5 10 15 20 25 1001000100001000001000000 origineel sprongclustering 100-tal elemente n
23
Systematisch ontwerp van kosteffectieve sprongvoorspelling – Veerle Desmet – 26 juni 2006 Faculteit Ingenieurswetenschappen – Vakgroep Elektronica en Informatiesystemen 23 I Sprongclustering introduceert subtabellen Sprongadres Globale geschiedenis Lokale geschiedenis Cluster nee ja E/k elementen per subtabel Sprongclustering met verhakselen E elementen
24
Systematisch ontwerp van kosteffectieve sprongvoorspelling – Veerle Desmet – 26 juni 2006 Faculteit Ingenieurswetenschappen – Vakgroep Elektronica en Informatiesystemen 24 Sprongclustering met verhakselen werkt voor grote tabellen tabelgrootte (in # elementen E) gshare foute voorspellingen (%) 0 5 10 15 20 25 1001000100001000001000000 tabelgrootte (in # elementen E) 3 3,5 4 4,5 5 5,5 6 10000100000100000010M origineel sprongclustering
25
Systematisch ontwerp van kosteffectieve sprongvoorspelling – Veerle Desmet – 26 juni 2006 Faculteit Ingenieurswetenschappen – Vakgroep Elektronica en Informatiesystemen 25 lus opcode call return lusbegin store postdom heuristiek niet-genomen genomen niet-genomen genomen afstand niet-genomen <3 ongedefinieerd ≥3 neeja 2-8x kleiner Cluster Statisch Dynamisch 2FAR Informatiebronnen -14.7% entropie -12.3%
26
Systematisch ontwerp van kosteffectieve sprongvoorspelling – Veerle Desmet – 26 juni 2006 Faculteit Ingenieurswetenschappen – Vakgroep Elektronica en Informatiesystemen 26 Dynamische sprongclustering in nieuwe 2FAR sprongvoorspeller [CBP2004, JILP2005: 2bcgskew fused by a redundant history perceptron predictor] dynamische clustervoorspeller 32 Kbit sprong- voorspeller 29 Kbit 3 Kbit Lokale gesch Sprongadres Globale geschiedenis nee ja
27
Systematisch ontwerp van kosteffectieve sprongvoorspelling – Veerle Desmet – 26 juni 2006 Faculteit Ingenieurswetenschappen – Vakgroep Elektronica en Informatiesystemen 27 I Sprongclusteringsmogelijkheden in een perceptronvoorspeller Sprongadres Globale geschiedenis Lokale geschiedenis Cluster nee ja +
28
Systematisch ontwerp van kosteffectieve sprongvoorspelling – Veerle Desmet – 26 juni 2006 Faculteit Ingenieurswetenschappen – Vakgroep Elektronica en Informatiesystemen 28 Minder foute voorspellingen 64 Kbit (32768 elementen) foute voorspellingen (%) beter 0 2 4 6 8 10 12 gzip vpr gcc mcf crafty parser eon perlbmk gap vortex bzip2 twolf gemiddelde [JILP2005] gshare 5% 2FAR 3.25% O-GEHL 3.20%
29
Systematisch ontwerp van kosteffectieve sprongvoorspelling – Veerle Desmet – 26 juni 2006 Faculteit Ingenieurswetenschappen – Vakgroep Elektronica en Informatiesystemen 29 lus opcode call return lusbegin store postdom heuristiek niet-genomen genomen niet-genomen genomen afstand niet-genomen <3 ongedefinieerd ≥3 neeja Cluster Statisch Dynamisch 2FAR Informatiebronnen -35% -14.7% entropie -12.3% 2-8x kleiner
30
Systematisch ontwerp van kosteffectieve sprongvoorspelling Veerle Desmet Promotor: prof. Koen De Bosschere Vakgroep ELIS Doctoraatsverdediging 26 juni 2006
Verwante presentaties
© 2024 SlidePlayer.nl Inc.
All rights reserved.