n. inglart*, l. eeckhout** s. niar*, k. de bosschere** sympa'2005 *lamih-roi, université de...
TRANSCRIPT
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
Introduction: Le projet FACSE
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
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
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
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
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?
Utilisation de FACSEUtilisation de FACSE(micro) Architecture
Parameters
Compilation Options
Performance & PowerConsumption Measurement
Architecture Parameters & Compilation Options
Management(Exploration)
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...
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
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
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
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.
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)
Add…Ldr…
SyntheticProgram
Detailed Simulationon trace
(seconds)PowerAnalyzer
Execution Time
Power Consump
tion….
EstimatedPerformances
Statistical simulation (SS)Statistical simulation (SS)
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
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
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
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
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.
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
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
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
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
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
MERCI!!!