Dynamic Compilation for Reducing Energy Consumption of I/O ... › lcpc05 › slides ›...

22
Dynamic Compilation for Reducing Dynamic Compilation for Reducing Energy Consumption of I/O Energy Consumption of I/O - - Intensive Intensive Applications Applications Seung Woo Son Seung Woo Son , , Guangyu Guangyu Chen, Chen, Mahmut Kandemir Mahmut Kandemir Dep Dep t. t. of of CSE CSE Pennsylvania State University Pennsylvania State University { { sson,gchen,kandemir}@cse.psu.edu sson,gchen,kandemir}@cse.psu.edu The 18th International Workshop on Languages and Compilers for Parallel Computing (LCPC 05) October 20~22, 2005 Alok Alok Choudhary Choudhary Dep Dep t. t. of of ECE ECE Northwestern Northwestern University University choudhar choudhar @ @ ece.northwestern ece.northwestern .edu .edu

Transcript of Dynamic Compilation for Reducing Energy Consumption of I/O ... › lcpc05 › slides ›...

Page 1: Dynamic Compilation for Reducing Energy Consumption of I/O ... › lcpc05 › slides › lcpc05-slides-14.pdf · Dynamic Compilation for Reducing Energy Consumption of I/O-Intensive

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

Page 2: Dynamic Compilation for Reducing Energy Consumption of I/O ... › lcpc05 › slides › lcpc05-slides-14.pdf · Dynamic Compilation for Reducing Energy Consumption of I/O-Intensive

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

Page 3: Dynamic Compilation for Reducing Energy Consumption of I/O ... › lcpc05 › slides › lcpc05-slides-14.pdf · Dynamic Compilation for Reducing Energy Consumption of I/O-Intensive

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

Page 4: Dynamic Compilation for Reducing Energy Consumption of I/O ... › lcpc05 › slides › lcpc05-slides-14.pdf · Dynamic Compilation for Reducing Energy Consumption of I/O-Intensive

10/22/200510/22/2005 LCPC 2005LCPC 2005 44

*Source: Terascale Data Management, LLNL.

I/O is bottleneckI/O is bottleneck

Page 5: Dynamic Compilation for Reducing Energy Consumption of I/O ... › lcpc05 › slides › lcpc05-slides-14.pdf · Dynamic Compilation for Reducing Energy Consumption of I/O-Intensive

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.

Page 6: Dynamic Compilation for Reducing Energy Consumption of I/O ... › lcpc05 › slides › lcpc05-slides-14.pdf · Dynamic Compilation for Reducing Energy Consumption of I/O-Intensive

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]

Page 7: Dynamic Compilation for Reducing Energy Consumption of I/O ... › lcpc05 › slides › lcpc05-slides-14.pdf · Dynamic Compilation for Reducing Energy Consumption of I/O-Intensive

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

Page 8: Dynamic Compilation for Reducing Energy Consumption of I/O ... › lcpc05 › slides › lcpc05-slides-14.pdf · Dynamic Compilation for Reducing Energy Consumption of I/O-Intensive

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

Page 9: Dynamic Compilation for Reducing Energy Consumption of I/O ... › lcpc05 › slides › lcpc05-slides-14.pdf · Dynamic Compilation for Reducing Energy Consumption of I/O-Intensive

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

Page 10: Dynamic Compilation for Reducing Energy Consumption of I/O ... › lcpc05 › slides › lcpc05-slides-14.pdf · Dynamic Compilation for Reducing Energy Consumption of I/O-Intensive

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

Page 11: Dynamic Compilation for Reducing Energy Consumption of I/O ... › lcpc05 › slides › lcpc05-slides-14.pdf · Dynamic Compilation for Reducing Energy Consumption of I/O-Intensive

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

Page 12: Dynamic Compilation for Reducing Energy Consumption of I/O ... › lcpc05 › slides › lcpc05-slides-14.pdf · Dynamic Compilation for Reducing Energy Consumption of I/O-Intensive

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

Page 13: Dynamic Compilation for Reducing Energy Consumption of I/O ... › lcpc05 › slides › lcpc05-slides-14.pdf · Dynamic Compilation for Reducing Energy Consumption of I/O-Intensive

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

Page 14: Dynamic Compilation for Reducing Energy Consumption of I/O ... › lcpc05 › slides › lcpc05-slides-14.pdf · Dynamic Compilation for Reducing Energy Consumption of I/O-Intensive

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

Page 15: Dynamic Compilation for Reducing Energy Consumption of I/O ... › lcpc05 › slides › lcpc05-slides-14.pdf · Dynamic Compilation for Reducing Energy Consumption of I/O-Intensive

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

Page 16: Dynamic Compilation for Reducing Energy Consumption of I/O ... › lcpc05 › slides › lcpc05-slides-14.pdf · Dynamic Compilation for Reducing Energy Consumption of I/O-Intensive

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]

Page 17: Dynamic Compilation for Reducing Energy Consumption of I/O ... › lcpc05 › slides › lcpc05-slides-14.pdf · Dynamic Compilation for Reducing Energy Consumption of I/O-Intensive

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

Page 18: Dynamic Compilation for Reducing Energy Consumption of I/O ... › lcpc05 › slides › lcpc05-slides-14.pdf · Dynamic Compilation for Reducing Energy Consumption of I/O-Intensive

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%

Page 19: Dynamic Compilation for Reducing Energy Consumption of I/O ... › lcpc05 › slides › lcpc05-slides-14.pdf · Dynamic Compilation for Reducing Energy Consumption of I/O-Intensive

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

Page 20: Dynamic Compilation for Reducing Energy Consumption of I/O ... › lcpc05 › slides › lcpc05-slides-14.pdf · Dynamic Compilation for Reducing Energy Consumption of I/O-Intensive

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

Page 21: Dynamic Compilation for Reducing Energy Consumption of I/O ... › lcpc05 › slides › lcpc05-slides-14.pdf · Dynamic Compilation for Reducing Energy Consumption of I/O-Intensive

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

Page 22: Dynamic Compilation for Reducing Energy Consumption of I/O ... › lcpc05 › slides › lcpc05-slides-14.pdf · Dynamic Compilation for Reducing Energy Consumption of I/O-Intensive

Thank you!Thank [email protected]@cse.psu.edu