Practical Experiences with Modern Parallel Performance Analysis Tools An Evaluation”. http
- 格式:pdf
- 大小:186.79 KB
- 文档页数:10
PracticalExperienceswithModernParallelPerformance
AnalysisTools:AnEvaluation
AdamLeko
leko@hcs.ufl.eduHansSherburne
sherburne@hcs.ufl.eduHung-HsunSu
su@hcs.ufl.edu
BryanGolden
golden@hcs.ufl.eduAlanD.George
george@hcs.ufl.edu
High-PerformanceComputingandSimulation(HCS)Laboratory
DepartmentofElectricalandComputerEngineering
UniversityofFlorida,Gainesville,FL,USA
ABSTRACT
Achievingasignificantfractionofpeakperformanceona
modernhigh-performancecomputerisachallengingtask.
Fortunately,manyperformanceanalysistoolsexistthatcan
beusedtoimprovetheefficiencyofparallelprograms.How-
ever,whilethesetoolscanbeveryeffectiveattroubleshoot-
ingperformanceproblems,findingtherightperformance
toolforeachsituationcanbeatime-consumingtask.Since
performanceoptimizationisgenerallyconsiderednearthe
endofsoftwaredevelopmentcycles,mostdeveloperscannot
affordtospendtimeexaminingeachavailableperformance
tool.Thus,itiscommonpracticefordeveloperstorelyon
ad-hocperformanceanalysistechniques.
Wehaverecentlyconcludedanextensivestudyofseveral
existingperformanceanalysistools.Thispapersummarizes
ourfindingsandismeanttoserveasaguidetothelatest
softwareinparallelperformanceanalysistools.Weevaluate
eachtoolusingastandardmethodologyandhighlighteach
tool’skeyfeaturesandrelativestrengths.Finally,wegive
generalrecommendationsonhowtobestuseeachperfor-
manceanalysistool.
Keywords
Parallelperformanceanalysistool,Toolevaluation,MPI
performancetool
1.INTRODUCTION
Whilehardwareadvancementshaveledtoever-increasing
maximumpeakperformanceformodernhigh-performance
computingplatforms,mostsoftwarehasnotbeenabletoex-
ploittheseadvancestoattainsimilarperformanceincreases.
Permissiontomakedigitalorhardcopiesofallorpartofthisworkforpersonalorclassroomuseisgrantedwithoutfeeprovidedthatcopiesarenotmadeordistributedforprofitorcommercialadvantageandthatcopiesbearthisnoticeandthefullcitationonthefirstpage.Tocopyotherwise,torepublish,topostonserversortoredistributetolists,requirespriorspecificpermissionand/orafee.Copyright200XACMX-XXXXX-XX-X/XX/XX...$5.00.Thegapbetweentheoreticalpeakperformanceandreal-
worldperformancehasbeendrivenfurtherapartbyincreas-
inghardwareandsoftwarecomplexity.Asaresult,parallel
performancetoolsareplayinganincreasinglyimportantrole
inthesoftwaredevelopmentprocess.
Theexistenceofseveralperformancetoolsgivessoftware
developersmanychoicesforanalyzingperformancebottle-
necksintheircode.Whiletheplethoraofperformancetools
affordsdevelopersmuchflexibility,thesheernumberandva-
rietyoftoolscanbedaunting.Acomprehensiveoverview
ofavailableparallelperformancetoolsaidsdeveloperssince
itservesasaroadmapforwhattoolsandanalysismeth-
odsarecurrentlyavailable.Additionally,anoverviewalso
aidsresearchersdevelopingnewtoolsbyenablingthemto
seewhatfunctionalityiscurrentlyavailableandwhatopen
researchissuesstillexist.
Wearecurrentlydesigninganext-generationperformance
analysistooldesignedspecificallyforglobaladdresslan-
guages.Aspreparationforthistask,wehaveperformed
anextensivereviewofperformancetools.Wehavechosen
avarietyoftoolsthatemploydifferentanalysistechniques
andhaveevaluatedthemagainstanapplicationsuiteex-
hibitingknownperformanceproblems.Thispaperpresents
thefindingsfromthattoolstudy,givinganindicationof
therelativestrengthsandweaknessesofeachtoolandgiv-
ingrecommendationsonappropriateusesforeachtool.
SinceMPI[25]isaverypopularstandardforcurrent
high-performancecomputingsoftware,mostofthetoolswe
examinedaregearedtowardsperformanceanalysisofMPI
programs.Also,whiletechniquessuchasmodelingandsim-
ulationmaybeusedtoreasonaboutaprogram’sperfor-
mance,experimentalperformanceanalysishashistorically
beenthemosteffectivemethodfortroubleshootingperfor-
manceproblemsinrealcode.Therefore,thispaperfocuses
onexperimentalperformanceanalysistoolsasthesetypes
oftoolswillbethemostusefulforthemajorityofsoftware
developers.
Therestofthispaperisorganizedasfollows.Wefirst
giveanintroductiontothebasicterminologyandtechniques
usedbyperformancetoolsinSection2.Wepresentour
reviewofperformancetoolsinSection3andfinallypresent
ourconclusionsinSection4.2.BACKGROUND
Inexperimentalperformanceanalysis,therearetwomajor
techniquesthatinfluencetheoveralldesignandworkflowof
performancetools[31].Thefirsttechnique,profiling,keeps
trackofbasicstatisticalinformationaboutaprogram’sper-
formanceatruntime.Thiscompactrepresentationofapro-
gram’sexecutionisusuallypresentedtothedeveloperimme-
diatelyaftertheprogramhasfinishedexecuting,andgives
thedeveloperahigh-levelviewofwheretimeisbeingspent
intheirapplicationcode.Thesecondtechnique,tracing,
keepsacompletelogofallactivitiesperformedbyadevel-
oper’sprograminsideatracefile.Tracingusuallyresultsin
largetracefiles,especiallyforlong-runningprograms.How-
ever,tracingcanbeusedtoreconstructtheexactbehavior