dynamic compilation for reducing energy consumption of i/o ... › lcpc05 › slides ›...
TRANSCRIPT
Dynamic Compilation for Reducing Dynamic Compilation for Reducing Energy Consumption of I/OEnergy Consumption of I/O--Intensive Intensive
ApplicationsApplicationsSeung Woo SonSeung Woo Son, , GuangyuGuangyu Chen, Chen,
Mahmut KandemirMahmut KandemirDepDept.t. of of CSECSE
Pennsylvania State UniversityPennsylvania State University{{sson,gchen,kandemir}@cse.psu.edusson,gchen,kandemir}@cse.psu.edu
The 18th International Workshop on Languages and Compilers for Parallel Computing (LCPC 05)
October 20~22, 2005
AlokAlok ChoudharyChoudharyDepDept.t. of of ECEECE
NorthwesternNorthwestern UniversityUniversitychoudharchoudhar@@ece.northwesternece.northwestern.edu.edu
10/22/200510/22/2005 LCPC 2005LCPC 2005 22
OutlineOutlineMotivationMotivationDynamic CompilationDynamic CompilationOur Dynamic Compilation FrameworkOur Dynamic Compilation Framework–– Dynamic compiler/linkerDynamic compiler/linker–– Metadata managerMetadata manager–– Layout managerLayout manager–– HighHigh--level I/O librarylevel I/O libraryExperimental ResultsExperimental ResultsConclusionConclusion
10/22/200510/22/2005 LCPC 2005LCPC 2005 33
MotivationMotivationTeraTera--scale highscale high--performance computing performance computing has enabled scientists to tackle very has enabled scientists to tackle very large and computationally challenging large and computationally challenging problemsproblems–– DataData--intensive, I/Ointensive, I/O--intensive, and energy intensive, and energy consumingconsuming
To cope with larger problems and data To cope with larger problems and data sizes, models and applications need to sizes, models and applications need to be dynamic in naturebe dynamic in nature
10/22/200510/22/2005 LCPC 2005LCPC 2005 44
*Source: Terascale Data Management, LLNL.
I/O is bottleneckI/O is bottleneck
10/22/200510/22/2005 LCPC 2005LCPC 2005 55
Energy Consumption?Energy Consumption?
I/O26%
Memory7%
Processor17%
Others10% Cooling
40%
*Source: Mike Rosenfield, ACEED, February 2003.
10/22/200510/22/2005 LCPC 2005LCPC 2005 66
Related WorkRelated WorkAcademic/industryAcademic/industry--based dynamic compilersbased dynamic compilers–– Dynamo, DAISY, PIN, Dynamo, DAISY, PIN, DyCDyC, , ……All efforts focused on enhancing the All efforts focused on enhancing the performance, i.e., their goal is to reduce the performance, i.e., their goal is to reduce the execution cyclesexecution cyclesRecently, dynamic voltage/frequency scaling Recently, dynamic voltage/frequency scaling technique proposed using dynamic compilation technique proposed using dynamic compilation --> focused on reducing processor> focused on reducing processor’’s energy s energy consumption [MICROconsumption [MICRO--38]38]
10/22/200510/22/2005 LCPC 2005LCPC 2005 77
Our GoalOur GoalTo capture highTo capture high--level dynamic behaviors level dynamic behaviors in the I/Oin the I/O--intensive applications using intensive applications using dynamic compilersdynamic compilersPropose a dynamic compilation Propose a dynamic compilation framework for I/Oframework for I/O--intensive intensive applicationsapplications–– Dynamic compiler/linker, metadata manager, Dynamic compiler/linker, metadata manager, highhigh--level I/O library, and layout managerlevel I/O library, and layout manager
10/22/200510/22/2005 LCPC 2005LCPC 2005 88
Why Dynamic Compilation?Why Dynamic Compilation?Dynamic compilation exploits runDynamic compilation exploits run--time time state to generate code that is specific state to generate code that is specific to runto run--time behaviortime behaviorLargeLarge--scale scientific applications scale scientific applications exhibit the changes in data access exhibit the changes in data access patternspatterns–– Simulation runs, postSimulation runs, post--processing, and processing, and analysisanalysis
–– Large quantities of data are generated and Large quantities of data are generated and frequent data layout changes occurfrequent data layout changes occur
10/22/200510/22/2005 LCPC 2005LCPC 2005 99
Application CodesApplication Codes
51,11446104.0GBRemote SensingDatabase
RSense 2.0
49,51811106.1GBQuantumChemistry
SCF 3.042,9053195.5GB3D VisualizationVisuo
36,0762787.4GBSparseCholeskyFactorization
Cholesky
39,4511996.6GBFast FourierTransform
FFT57,32238153.3GBAstrophysicsAST
Energy consumed
(J)Number of
PhaseChanges
DataSize
DescriptionApplicationName
10/22/200510/22/2005 LCPC 2005LCPC 2005 1010
Framework overviewFramework overview
Dynamic Compiler/Linker
HLL
Mini Database(Metadata Manager) Layout Manager
Parallel, HierarchicalStorage System
Application
10/22/200510/22/2005 LCPC 2005LCPC 2005 1111
Dynamic Compiler/linkerDynamic Compiler/linkerSteering
Unit
PerformanceTracer
Data AccessPattern
PerformanceStatistics
DynamicCompiler
DynamicLinker
CompilationRequest
LinkingRequest
Suggestions to Layout Manager
10/22/200510/22/2005 LCPC 2005LCPC 2005 1212
Optimization RulesOptimization Rules
PrestagingPrestagingPREPRESubfilingSubfilingSUBSUB
Collective I/OCollective I/OCIOCIO
Data PurgingData PurgingDPDPData MigrationData MigrationDMDMSetting Striping UnitSetting Striping UnitSSUSSUReplacement Policy SelectionReplacement Policy SelectionPOLPOLStridedStrided PrefetchingPrefetchingSTDSTDSequential Sequential PrefetchingPrefetchingSPSPMultiMulti--collective I/Ocollective I/OMCIOMCIO
OptimizationOptimizationOpt ruleOpt rule
10/22/200510/22/2005 LCPC 2005LCPC 2005 1313
Optimization RulesOptimization RulesCollective I/O (CIO)Collective I/O (CIO)–– Invoked if access pattern of the data is Invoked if access pattern of the data is different from its storage pattern, and different from its storage pattern, and multiple processors are used to access the multiple processors are used to access the datadata
SubfilingSubfiling (SUB)(SUB)–– Invoked if a small Invoked if a small subregionsubregion of a file is of a file is accessed with high temporal localityaccessed with high temporal locality
10/22/200510/22/2005 LCPC 2005LCPC 2005 1414
Example: CIOExample: CIO
ParallelIndependentI/O
column-wiseaccess pattern
column-wiseaccess pattern
column-majorstorage layout
row-majorstorage layout
CollectiveI/O
and
and
10/22/200510/22/2005 LCPC 2005LCPC 2005 1515
Experiment Experiment –– application codesapplication codes
51,11446104.0GBRemote SensingDatabase
RSense 2.0
49,51811106.1GBQuantumChemistry
SCF 3.042,9053195.5GB3D VisualizationVisuo
36,0762787.4GBSparseCholeskyFactorization
Cholesky
39,4511996.6GBFast FourierTransform
FFT57,32238153.3GBAstrophysicsAST
Energy consumed
(J)Number of
PhaseChanges
DataSize
DescriptionApplicationName
10/22/200510/22/2005 LCPC 2005LCPC 2005 1616
Simulation parametersSimulation parametersParallel processors: total 16Parallel processors: total 16–– 1.8 GHz with 2MB 41.8 GHz with 2MB 4--way setway set--associative cache, 1GB associative cache, 1GB main memorymain memory
–– Energy consumption measured using Energy consumption measured using WattchWattch[ISCA[ISCA’’00]00]
Parallel disksParallel disks–– 8*18GB disks with low8*18GB disks with low--power mode (spinpower mode (spin--down)down)–– TPM disk power model [ISCATPM disk power model [ISCA’’03]03]Interconnect Interconnect –– 2D mesh2D mesh–– InfinibandInfiniband switch/link power model [ISLPEDswitch/link power model [ISLPED’’03]03]
10/22/200510/22/2005 LCPC 2005LCPC 2005 1717
Architecture ConsideredArchitecture ConsideredP/M
P/M
P/M
P/M
I/O Netw
ork
Interp
rocess
orCo
mmuni
cation
Netw
ork
Disk Subsystem
TapeSubsystem
10/22/200510/22/2005 LCPC 2005LCPC 2005 1818
Normalized Energy ConsumptionNormalized Energy ConsumptionAST
0102030405060708090
100110
CIOM
CIO SPSTDPOLSSS
DM DPPRESUB
MCIO
+POL
MCIO
+POL+S
TDBEST
No
rmal
ized
En
erg
y (%
)
<AVERAGE>Hand-Optimized: 19.8%Our Approach: 16.1%
10/22/200510/22/2005 LCPC 2005LCPC 2005 1919
Breakdown of Dynamic Breakdown of Dynamic Compilation EnergyCompilation Energy
Dynamic Compiler Dynamic LinkerPerformance Tracer Steering Unit
10/22/200510/22/2005 LCPC 2005LCPC 2005 2020
Sensitivity Analysis Sensitivity Analysis ––# of processors# of processors
���������������������������������������������������������
���������������������������������������������������������
���������������������������������������������������������
���������������������������������������������������������
���������������������������������������������������������
������������������������������������������������������������������������������������������������������������������
���������������������������������������������������������
���������������������������������������������������������
���������������������������������������������������������
������������������������������������������������������������������������������������������������������������������
���������������������������������������������������������
���������������������������������������������������������
���������������������������������������������������������
���������������������������������������������������������
�����������������������������������������������������������������������������������������������������������������
��������������������������������������������������������
��������������������������������������������������������
��������������������������������������������������������
�����������������������������������������������������������������������������������������������������������������
���������������������������������������������������������
���������������������������������������������������������
���������������������������������������������������������
���������������������������������������������������������
�������������������������������������������������������������������������������������������������������������������
����������������������������������������������������������
����������������������������������������������������������
����������������������������������������������������������
����������������������������������������������������������
����������������������������������������������������������
����������������������������������������������������������
����������������������������������������������������������
60
70
80
90
100
2 4 8 16 32 64 128Number of Processors
No
rmal
ized
En
erg
y (%
)
ASTFFTCholeskyVisuoSCF3.0
��������������������� Rsense 2.0
10/22/200510/22/2005 LCPC 2005LCPC 2005 2121
ConclusionConclusionProposed a dynamic compilation Proposed a dynamic compilation framework for I/Oframework for I/O--intensive intensive applications applications –– Composed of four componentsComposed of four components–– Employ a set of I/O optimizationsEmploy a set of I/O optimizationsReduce energy consumption of I/OReduce energy consumption of I/O--intensive applicationsintensive applications
Thank you!Thank [email protected]@cse.psu.edu