La lecture à portée de main
Découvre YouScribe en t'inscrivant gratuitement
Je m'inscrisDécouvre YouScribe en t'inscrivant gratuitement
Je m'inscrisDescription
Informations
Publié par | rheinisch-westfalischen_technischen_hochschule_-rwth-_aachen |
Publié le | 01 janvier 2011 |
Nombre de lectures | 17 |
Langue | English |
Poids de l'ouvrage | 5 Mo |
Extrait
DesignandAnalysisof
EfficientMPSoCSimulationTechniques
VonderFakultat¨ fu¨rElektrotechnikundInformationstechnik
derRheinisch–Westfal¨ ischenTechnischenHochschuleAachen
zurErlangungdesakademischenGrades
einesDoktorsderIngenieurwissenschaften
genehmigteDissertation
vorgelegtvon
Diplom–IngenieurStefanKraemer
ausHeidelberg/Baden-Wu¨rttemberg
Berichter: Universitat¨ sprofessorDr.rer.nat.RainerLeupers
Universitat¨ sprofessorDr.-Ing.NorbertWehn
Tagdermu¨ndlichenPru¨fung:14.07.2011
DieseDissertationistaufdenInternetseiten
derHochschulbibliothekonlineverfu¨gbar.Acknowledgments
This thesis is the result of more than five years of work. During that time I have been
supportedbymanypeople. Withouttheirhelpthisthesiswouldnothavebeenpossi-
ble. ThereforeIwouldliketotaketheopportunitytothankthem.
First,IwouldliketothankmydoctoraladvisorProfessorRainerLeupersforgiving
metheopportunitytoworkinhisgroup,andforhisconstantsupportandconstructive
feedbackthroughoutthecourseofmyresearch. Iwouldliketothankhimforsharing
his experience with me and giving me the opportunity to learn the importance of de-
tails for successfully conducting an engineering project. His comments and insights
havebeenasourceforre-evaluatingmyideasandunveilingnewperspectives.
I am also thankful to Professor Gerd Ascheid and Professor Heinrich Meyr. Their
discussions and experience have revealed interesting aspects and new ideas. Also I
would like to thank Professor Norbert Wehn for his competent and helpful feedback
duringhisreviewofmythesis.
Duringmytimeattheinstituteanumberofpeoplehaveenrichedmyprofessional
lifebygivingmetheopportunitytodiscussmyideasandbygivingvaluablefeedback.
I am particular indebted to Dietmar Petras and Thomas Philipp for working with me
on the Checkpoint/Restore framework. Without their contribution, their support and
the good working atmosphere this work would have been impossible. I am also in-
debted to Lei Gao for good and inspiring discussions and cooperation on the hybrid
simulation project. I also like to thank Christoph Schumacher and Jovana Jovic´ for
supporting me in the context of the NoC hybrid simulation. My time at the institute
would have been less enjoyable without the funny moments and good discussions I
hadwithmycolleagues. Ithankyouall!
I was fortunate to have been supported by highly motivated students working
towards their theses. I would like to thank Xiaowei Pan and Jan Weinstock for their
excellentworkwhichcontributedtothatthesis.
I am also very grateful to Christoph Schumacher, Felix Engel, Jovana Jovic´ and
Stefan Schur¨ mans who sacrificed a lot of their time for carefully proof-reading this
work. Their feedback throughout the different stages has been a valuable source for
shapingthisthesisuponcompletion.
34
Finally,IwouldliketothankthosepeopleIcaremost,myparentsandmyfriends.
ThankyouBernd,FelixandFranziskaforsupportingandencouragingmeallthetime
and for being patient with me during the last months of my work. It is good to have
friendsthatremindyoufromtimetotimethatthereisaworldoutsidetheuniversity.
My biggest thanks go to my parents, who nurtured my interests in all technical
problemsandencouragedmetobecomeanengineer.Contents
1 Introduction 1
1.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 OutlineoftheThesis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2 IntroductiontoVirtualPlatforms 5
2.1 CharacteristicsofVirtualPlatforms . . . . . . . . . . . . . . . . . . . . . . 6
2.1.1 Advantages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.1.2 Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.2 CaseStudy: WirelessInternetDevice . . . . . . . . . . . . . . . . . . . . . 9
2.2.1 ChumbyDevice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.2.2 ObjectivesoftheVirtualPlatform . . . . . . . . . . . . . . . . . . . 11
2.2.3 VirtualConnectivity . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.3 Synopsis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3 RelatedWork 17
3.1 OverviewofProcessorSimulationTechniques . . . . . . . . . . . . . . . 17
3.1.1 FundamentalSimulationTechniques . . . . . . . . . . . . . . . . . 17
3.1.2 CompositeSimulationTechniques . . . . . . . . . . . . . . . . . . 20
3.2 SimulatorsandSimulationFrameworks . . . . . . . . . . . . . . . . . . . 22
3.3 CommercialVirtualPlatforms . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.4 CodeInstrumentationFrameworks . . . . . . . . . . . . . . . . . . . . . . 28
3.4.1 LANCE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.4.2 LowLevelVirtualMachine . . . . . . . . . . . . . . . . . . . . . . 28
3.5 Synopsis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
4 SHAPES–AHeterogeneousScalableMulti-TilePlatform 31
iii CONTENTS
4.1 SHAPESHardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
4.1.1 DistributedNetworkProcessor . . . . . . . . . . . . . . . . . . . . 33
4.2 SHAPESSoftwareToolchain . . . . . . . . . . . . . . . . . . . . . . . . . . 35
4.2.1 DistributedOperationLayer . . . . . . . . . . . . . . . . . . . . . . 36
4.2.2 HardwareDependentSoftware . . . . . . . . . . . . . . . . . . . . 39
4.2.3 SimulationEnvironment . . . . . . . . . . . . . . . . . . . . . . . . 41
4.3 SHAPESApplications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
4.3.1 LatticeQuantumChromo-Dynamics . . . . . . . . . . . . . . . . . 46
4.3.2 WaveFieldSynthesis . . . . . . . . . . . . . . . . . . . . . . . . . . 46
4.3.3 Hilbert-Transformation . . . . . . . . . . . . . . . . . . . . . . . . . 46
4.4 Synopsis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
5 Checkpointing 49
5.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
5.2 RelatedWork . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
5.3 VirtualPlatformCheckpointFramework . . . . . . . . . . . . . . . . . . . 54
5.3.1 ProcessCheckpointing . . . . . . . . . . . . . . . . . . . . . . . . . 57
5.4 IntegrationofUser-DefinedModules . . . . . . . . . . . . . . . . . . . . . 59
5.5 PerformanceoftheCheckpoint/RestoreMechanism . . . . . . . . . . . . 61
5.6 CaseStudy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
5.7 ConclusionsandOutlook . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
6 HybridSimulation 65
6.1 ConceptofHybridSimulation . . . . . . . . . . . . . . . . . . . . . . . . . 66
6.1.1 ArchitectureoftheHybridProcessorSimulator . . . . . . . . . . . 67
6.1.2 SoftwareFlow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
6.1.3 AbstractSimulator . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
6.2 SourceCodeInstrumentation . . . . . . . . . . . . . . . . . . . . . . . . . 71
6.2.1 BidirectionalInvocation . . . . . . . . . . . . . . . . . . . . . . . . 71
6.2.2 Instrumentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
6.3 ApplicationPartitioning . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
6.3.1 GlobalControlFlowGraph . . . . . . . . . . . . . . . . . . . . . . 77
6.3.2 ProblemFormulation . . . . . . . . . . . . . . . . . . . . . . . . . . 80
6.3.3 AutomaticGCFGPartitioning . . . . . . . . . . . . . . . . . . . . . 80CONTENTS iii
6.4 IntegrationintoaCommercialSimulationFramework . . . . . . . . . . . 81
6.4.1 AbstractSimulationPerformanceConsiderations . . . . . . . . . 84
6.4.2 HySimPerformanceConsiderations . . . . . . . . . . . . . . . . . 86
6.5 PerformanceEstimation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
6.5.1 EvaluationofStatisticalSampling . . . . . . . . . . . . . . . . . . 89
6.5.2 EvaluationofSampleBasedPerformanceEstimation . . . . . . . 90
6.6 ExperimentalResults . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
6.7 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
7 TimingApproximateNoCSimulation 97
7.1 GeneralApproach . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
7.2 RelatedWork . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
7.3 AnalyticalNoCModel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
7.3.1 AssumptionsandParameterDescription . . . . . . . . . . . . . . 101
7.3.2 AnalyticalRouterModel . . . . . . . . . . . . . . . . . . . . . . . . 102
7.3.3 AnalyticalNoCModel . . . . . . . . . . . . . . . . . . . . . . . . . 105
7.4 SimulationEnvironment . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
7.4.1 SimulatedHardware . . . . . . . . . . . . . . . . . . . . . . . . . . 106
7.4.2 SoftwareStack . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
7.4.3 Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
7.5 ExperimentalResults&Evaluation . . . . . . . . . . . . . . . . . . . . . . 111
7.5.1 AverageLatency . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
7.5.2 CriticalPathLatency . . . . . . . . . . . . . . . . . . . . . . . . . . 113
7.5.3 SimulationSpeedup . . . . . . . . . . . . . . . . . . . . . . . . . . 116
7.6 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
8 Summa