26
N. Inglart*, L. Eeckhout** N. Inglart*, L. Eeckhout** S. Niar*, K. De Bosschere** S. Niar*, K. De Bosschere** SympA'2005 SympA'2005 *LAMIH-ROI, Université de *LAMIH-ROI, Université de Valenciennes, France Valenciennes, France **ELIS, Université de Gand, Belgium **ELIS, Université de Gand, Belgium France Belgium This project is supported by Intel Corporation Méthodes d'accélération Méthodes d'accélération de la simulation pour de la simulation pour l'évaluation des l'évaluation des systèmes embarqués systèmes embarqués

N. Inglart*, L. Eeckhout** S. Niar*, K. De Bosschere** SympA'2005 *LAMIH-ROI, Université de Valenciennes, France **ELIS, Université de Gand, Belgium FranceBelgium

Embed Size (px)

Citation preview

Page 1: N. Inglart*, L. Eeckhout** S. Niar*, K. De Bosschere** SympA'2005 *LAMIH-ROI, Université de Valenciennes, France **ELIS, Université de Gand, Belgium FranceBelgium

N. Inglart*, L. Eeckhout**N. Inglart*, L. Eeckhout**S. Niar*, K. De Bosschere**S. Niar*, K. De Bosschere**

SympA'2005SympA'2005

*LAMIH-ROI, Université de Valenciennes, France*LAMIH-ROI, Université de Valenciennes, France**ELIS, Université de Gand, Belgium**ELIS, Université de Gand, Belgium

France Belgium

This project is supported by Intel Corporation

Méthodes d'accélération de Méthodes d'accélération de la simulation pour la simulation pour

l'évaluation des systèmes l'évaluation des systèmes embarquésembarqués

Page 2: N. Inglart*, L. Eeckhout** S. Niar*, K. De Bosschere** SympA'2005 *LAMIH-ROI, Université de Valenciennes, France **ELIS, Université de Gand, Belgium FranceBelgium

Introduction: Le projet FACSE

Page 3: N. Inglart*, L. Eeckhout** S. Niar*, K. De Bosschere** SympA'2005 *LAMIH-ROI, Université de Valenciennes, France **ELIS, Université de Gand, Belgium FranceBelgium

Motivation (1/2)Motivation (1/2) Loi de MooreLoi de Moore

1 s d'éxécution = plusieurs minutes 1 s d'éxécution = plusieurs minutes de simulationde simulation

Multitude de simulations necessairesMultitude de simulations necessaires Orientation dans le choix des Orientation dans le choix des

architectures architectures Recherche des configurations Recherche des configurations

optimalesoptimales ContraintesContraintes

Temps d'exploration reduitTemps d'exploration reduit Précision satisfaisantePrécision satisfaisante

Page 4: N. Inglart*, L. Eeckhout** S. Niar*, K. De Bosschere** SympA'2005 *LAMIH-ROI, Université de Valenciennes, France **ELIS, Université de Gand, Belgium FranceBelgium

Motivation (2/2)Motivation (2/2) Les applications doivent être optimiséesLes applications doivent être optimisées Les compilateurs offrent:Les compilateurs offrent:

Un ensemble d'options de compilationUn ensemble d'options de compilationUn ensemble de directives de compilationUn ensemble de directives de compilation

La recherche des meilleures options La recherche des meilleures options necessite plusieures iterations(>2necessite plusieures iterations(>21717pour pour ICC)ICC)

Incompatible avec le delai de Incompatible avec le delai de commercialisation commercialisation

Page 5: N. Inglart*, L. Eeckhout** S. Niar*, K. De Bosschere** SympA'2005 *LAMIH-ROI, Université de Valenciennes, France **ELIS, Université de Gand, Belgium FranceBelgium

Objectifs de FACSE (1/2)Objectifs de FACSE (1/2) Framework for Architecture and Compiler Space Framework for Architecture and Compiler Space

ExplorationExploration Créer un outil d'adaptation de la micro-Créer un outil d'adaptation de la micro-

architecture et/ou des optimisations à une architecture et/ou des optimisations à une applicationapplication

Collaboration entre l'université de Valenciennes Collaboration entre l'université de Valenciennes (France) et l'université de Gand (Belgium)(France) et l'université de Gand (Belgium)

Financé par :Financé par : Intel CorporationIntel Corporation Bilateral actions for research program between France Bilateral actions for research program between France

and Belgium. The «Tournesol Program of exchange», for and Belgium. The «Tournesol Program of exchange», for years 2004 and 2005 *years 2004 and 2005 *

* http://www.egide.asso.fr/fr/programmes/pai/appels/tournesolfl.jhtml

Page 6: N. Inglart*, L. Eeckhout** S. Niar*, K. De Bosschere** SympA'2005 *LAMIH-ROI, Université de Valenciennes, France **ELIS, Université de Gand, Belgium FranceBelgium

Objectifs de FACSE (2/2)Objectifs de FACSE (2/2) Configuration rapide des choix architecturauxConfiguration rapide des choix architecturaux

Pour les SoC utilisant les cores Xscale et StrongArmPour les SoC utilisant les cores Xscale et StrongArm Pour Intel Itanium2 et ces versions futures (multi-Pour Intel Itanium2 et ces versions futures (multi-

cores Montecito )cores Montecito ) Configuration rapide des options de Configuration rapide des options de

compilationcompilation Pour améliorer les performances des applicationsPour améliorer les performances des applications Pour definir des solutions adaptées aux contraintesPour definir des solutions adaptées aux contraintes

Page 7: N. Inglart*, L. Eeckhout** S. Niar*, K. De Bosschere** SympA'2005 *LAMIH-ROI, Université de Valenciennes, France **ELIS, Université de Gand, Belgium FranceBelgium

Structure de FACSEStructure de FACSE

XscaleItanium2

Montecito

….

Cache? Branch Pred? Funct. Unit?RSE config?

FACSEArchitecture Configuration Exploration

Compiler Option Exploration

….….

….Xscale Itanium2Montecito

….

O1, O2, O3? Funct. Inlining?

….….

….

Loop Unroll?

StrongArm

GPO?

Page 8: N. Inglart*, L. Eeckhout** S. Niar*, K. De Bosschere** SympA'2005 *LAMIH-ROI, Université de Valenciennes, France **ELIS, Université de Gand, Belgium FranceBelgium

Utilisation de FACSEUtilisation de FACSE(micro) Architecture

Parameters

Compilation Options

Performance & PowerConsumption Measurement

Architecture Parameters & Compilation Options

Management(Exploration)

Page 9: N. Inglart*, L. Eeckhout** S. Niar*, K. De Bosschere** SympA'2005 *LAMIH-ROI, Université de Valenciennes, France **ELIS, Université de Gand, Belgium FranceBelgium

Cette présentation….Cette présentation….

Se focalise sur l'exploration de l'espace Se focalise sur l'exploration de l'espace des configurations micro-architecturalesdes configurations micro-architecturales

Rendez-vous à une prochaine rencontre Rendez-vous à une prochaine rencontre SympA pour l'exploration de l'espace des SympA pour l'exploration de l'espace des optimisations...optimisations...

Page 10: N. Inglart*, L. Eeckhout** S. Niar*, K. De Bosschere** SympA'2005 *LAMIH-ROI, Université de Valenciennes, France **ELIS, Université de Gand, Belgium FranceBelgium

00110..0001..

…..1111

Program

AANBHJKJHTFRDES

Total Detailed SimulationTDS

Cycle accurateseveral hours

Ex: PowerAnalyzer, Wattch, Simplescalar …

Execution Time

Power Consumptio

n….

Performances

ReferenceData input

AANBHJKJHTFRDES

Data output

Total Detailed Simulation (TDS) : Total Detailed Simulation (TDS) : Approche classiqueApproche classique

Micro-archi details

Power Consumption

models

Page 11: N. Inglart*, L. Eeckhout** S. Niar*, K. De Bosschere** SympA'2005 *LAMIH-ROI, Université de Valenciennes, France **ELIS, Université de Gand, Belgium FranceBelgium

Méthodes(1/2)Méthodes(1/2)Trois méthodes:Trois méthodes:

Adaptées aux processeurs embarqués à core Adaptées aux processeurs embarqués à core StrongArm et Xscale StrongArm et Xscale

Rapides et ayant une précision satisfaisanteRapides et ayant une précision satisfaisante

Statistical simulation (SS) : Statistical simulation (SS) : Génère une trace synthétique courte par Génère une trace synthétique courte par

profilageprofilage Offre une accéleration importanteOffre une accéleration importante

Page 12: N. Inglart*, L. Eeckhout** S. Niar*, K. De Bosschere** SympA'2005 *LAMIH-ROI, Université de Valenciennes, France **ELIS, Université de Gand, Belgium FranceBelgium

Méthodes(2/2)Méthodes(2/2) Analytical modeling (AM):Analytical modeling (AM):

Estimation des performances et de la Estimation des performances et de la consommation par méthode partiellement consommation par méthode partiellement analytiqueanalytique

Précision importante: TDS utilisée sur une Précision importante: TDS utilisée sur une configuration idéale et estimation configuration idéale et estimation elementaire des pénalitéselementaire des pénalités

Hybridation des deux méthodes Hybridation des deux méthodes précédantes: Analytical Modeling with précédantes: Analytical Modeling with Statistical Simulation (AMSS) : Statistical Simulation (AMSS) :

Offre un bon compromis entre la précision et Offre un bon compromis entre la précision et la vitesse la vitesse

Page 13: N. Inglart*, L. Eeckhout** S. Niar*, K. De Bosschere** SympA'2005 *LAMIH-ROI, Université de Valenciennes, France **ELIS, Université de Gand, Belgium FranceBelgium

Cache statistics

Statistical Simulation (SS)Statistical Simulation (SS)

Microarchitecture-dependent profiling tool

Microarchitecture-independentprofiling tool

Synthetic trace generator

Trace-driven simulator

Power/performance characteristics

Sim-cache: cache miss

Real trace several million

of inst.

Branch statistics

Program statistics

Sim-bpred: branch miss

pred.

Sim-profile: inst mix

Synthetic trace100 000 inst.

Page 14: N. Inglart*, L. Eeckhout** S. Niar*, K. De Bosschere** SympA'2005 *LAMIH-ROI, Université de Valenciennes, France **ELIS, Université de Gand, Belgium FranceBelgium

add r1, r2, r3ldr r0, [r1]…..

Program

AANBHJKJHTFRDES

ReferenceData

ApplicationProfiling

(minutes)

Cache Simulation(minutes)

Branch PredictionSimulation(seconds)

Profile of ExecutedInstruction

Cache Statistics

BranchPredictionStatistics

add …ldr ……..

SyntheticProgram

SyntheticProgram

Generation(seconds)

Page 15: N. Inglart*, L. Eeckhout** S. Niar*, K. De Bosschere** SympA'2005 *LAMIH-ROI, Université de Valenciennes, France **ELIS, Université de Gand, Belgium FranceBelgium

Add…Ldr…

SyntheticProgram

Detailed Simulationon trace

(seconds)PowerAnalyzer

Execution Time

Power Consump

tion….

EstimatedPerformances

Statistical simulation (SS)Statistical simulation (SS)

Page 16: N. Inglart*, L. Eeckhout** S. Niar*, K. De Bosschere** SympA'2005 *LAMIH-ROI, Université de Valenciennes, France **ELIS, Université de Gand, Belgium FranceBelgium

Analytical Modeling (AM) Analytical Modeling (AM)

TDS dans le cas parfait (zero miss en TDS dans le cas parfait (zero miss en caches et branchements parfaits): caches et branchements parfaits): Cycles_perfectCycles_perfect

Nombre de défauts en caches et Nombre de défauts en caches et branchements mal predits sont evalués branchements mal predits sont evalués Total_Cycles = Cycles_Perfect Total_Cycles = Cycles_Perfect + Nbr_Cache_Misses * Cache_Penalities+ Nbr_Cache_Misses * Cache_Penalities + Nbr_BranchPred_Misses * + Nbr_BranchPred_Misses * Branch_Pred_PenalitiesBranch_Pred_Penalities

Page 17: N. Inglart*, L. Eeckhout** S. Niar*, K. De Bosschere** SympA'2005 *LAMIH-ROI, Université de Valenciennes, France **ELIS, Université de Gand, Belgium FranceBelgium

Hybridation de AM et SSHybridation de AM et SS

La simulation détaillée de la La simulation détaillée de la configuration parfaite est remplacée configuration parfaite est remplacée par une simulation statistiquepar une simulation statistique

Page 18: N. Inglart*, L. Eeckhout** S. Niar*, K. De Bosschere** SympA'2005 *LAMIH-ROI, Université de Valenciennes, France **ELIS, Université de Gand, Belgium FranceBelgium

Protocole de testProtocole de test

StrongArm coreStrongArm core PowerAnalyzer : basé sur PowerAnalyzer : basé sur

simplescalar, evaluation de la simplescalar, evaluation de la consommation de puissanceconsommation de puissance

Mediabench et Mibench Mediabench et Mibench Trace synthétique de 100K Trace synthétique de 100K

instructionsinstructions

Page 19: N. Inglart*, L. Eeckhout** S. Niar*, K. De Bosschere** SympA'2005 *LAMIH-ROI, Université de Valenciennes, France **ELIS, Université de Gand, Belgium FranceBelgium

Précision IPC et EPC Précision IPC et EPC

0%

1%

2%

3%

4%

5%

6%

7%

8%IP

C E

rro

r %

SS

AMDS

AMSS

0%

1%

2%

3%

4%

5%

6%

7%

Benchmarks

EP

C E

rro

r%

SS

AMDS

AMSS

Page 20: N. Inglart*, L. Eeckhout** S. Niar*, K. De Bosschere** SympA'2005 *LAMIH-ROI, Université de Valenciennes, France **ELIS, Université de Gand, Belgium FranceBelgium

Exploration de la configuration Exploration de la configuration de la mémoire cache de la mémoire cache

3232128128883232C10C103232161664643232C9C93232323232323232C8C83232646416163232C7C73232881281283232C6C61616161664641616C5C51616323232321616C4C41616

664416161616C3C3

1616881281281616C2C21616128128881616C1C1

Total Total Size (in Size (in KB)KB)AssocAssoc

Bloc Bloc SizeSize

Entries Entries ##Config.Config.

Page 21: N. Inglart*, L. Eeckhout** S. Niar*, K. De Bosschere** SympA'2005 *LAMIH-ROI, Université de Valenciennes, France **ELIS, Université de Gand, Belgium FranceBelgium

EDP= CPI2*EPC

1.00

1.05

1.10

1.15

1.20

1.25

1.30

1.35

1.40

1.45

1.50

C1 C2 C3 C4 c5 C6 C7 C8 C9 C10

CP

ITDS SS AM AMSS

0.50

0.70

0.90

1.10

1.30

1.50

1.70

1.90

C1 C2 C3 C4 c5 C6 C7 C8 C9 C10

EP

C

TDS SS AM AMSS

0.75

1.00

1.25

1.50

1.75

2.00

2.25

2.50

2.75

3.00

3.25

3.50

C1 C2 C3 C4 c5 C6 C7 C8 C9 C10

ED

2P

TDS SS AM AMSS

Page 22: N. Inglart*, L. Eeckhout** S. Niar*, K. De Bosschere** SympA'2005 *LAMIH-ROI, Université de Valenciennes, France **ELIS, Université de Gand, Belgium FranceBelgium

Comparaison des trois Comparaison des trois méthodesméthodes

0

1

2

3

4

5

6

7

8

9

IPC min.error

EPC min.error

IPC aver.error

EPC aver.error

IPC max.error

EPC max.error

Err

or

in % SS

AMSS

AM

IPC and EPC estimation errors with the 3 methods

Page 23: N. Inglart*, L. Eeckhout** S. Niar*, K. De Bosschere** SympA'2005 *LAMIH-ROI, Université de Valenciennes, France **ELIS, Université de Gand, Belgium FranceBelgium

Accélération relativement à Accélération relativement à TDSTDS

1

10

100

1000

First Simulation Cache Exploration Branch Pred.Exploration

Other Param.Exploration

SS

AMSS

AM

Page 24: N. Inglart*, L. Eeckhout** S. Niar*, K. De Bosschere** SympA'2005 *LAMIH-ROI, Université de Valenciennes, France **ELIS, Université de Gand, Belgium FranceBelgium

Comparaison : SS, AM et Comparaison : SS, AM et AMSSAMSS

0100200300400500600700800900

100011001200130014001500160017001800

Tim

e (

Se

c)

SS

AM

AM

SS SS

AM

AM

SS SS

AM

AM

SS SS

AM

AM

SS

First Simulation Cache Exploration Branch Pred.Exploration

Other ParameterExploration

Perfect Conf. Sim.

Trace Sim.

Trace Gen.

Cache Sim.

Branch Pred. Sim.

Profiling

Page 25: N. Inglart*, L. Eeckhout** S. Niar*, K. De Bosschere** SympA'2005 *LAMIH-ROI, Université de Valenciennes, France **ELIS, Université de Gand, Belgium FranceBelgium

Conclusion et perspectiveConclusion et perspective

Trois méthodes aux caracteristiques Trois méthodes aux caracteristiques différentesdifférentes

Methodes parametrables (choix des Methodes parametrables (choix des statistiques,taille de la trace...)statistiques,taille de la trace...)

Integration au projet FACSEIntegration au projet FACSE

Page 26: N. Inglart*, L. Eeckhout** S. Niar*, K. De Bosschere** SympA'2005 *LAMIH-ROI, Université de Valenciennes, France **ELIS, Université de Gand, Belgium FranceBelgium

MERCI!!!