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