Benchmarking the Performance of Scientific Applications with Irregular I/O at the Extreme Scale Stephen ¡Herbein , ¡University ¡of ¡Delaware ¡ Sco4 ¡Klasky, ¡Oak ¡Ridge ¡Na<onal ¡Laboratory ¡ Michela ¡Taufer, ¡University ¡of ¡Delaware ¡ ¡
Mo<va<on ¡ Let’s ¡consider ¡an ¡applica<on ¡with ¡ QMCPack time – execution vs. I/O on Titan irregular ¡I/O ¡such ¡as ¡QMCPack: ¡ ¡ ¡ ¡ ¡512 ¡ ¡ ¡ ¡ ¡ ¡ ¡1K ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡2K ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡4K ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡8K ¡ ¡ Nodes ¡ n cores=8192 n cores=16384 n cores=32768 n cores=65536 n cores=131072 • I/O ¡overhead ¡can ¡take ¡up ¡to ¡ 100% Execution Time 30% ¡regardless ¡of ¡I/O ¡library ¡ 90% I/O Time 80% • Full ¡scale ¡overhead ¡is ¡ 70% projected ¡to ¡be ¡50% ¡or ¡higher ¡ 60% Time (%) 50% What ¡are ¡the ¡factors ¡impac<ng ¡ 40% the ¡I/O ¡performance? ¡ 30% ¡ 20% 10% Could ¡irregular ¡I/O ¡be ¡causing ¡ 0% ADIOS AGGR 2to1 ADIOS AGGR 4to1 ADIOS AGGR 8to1 ADIOS AGGR 2to1 ADIOS AGGR 4to1 ADIOS AGGR 8to1 ADIOS AGGR 2to1 ADIOS AGGR 4to1 ADIOS AGGR 8to1 ADIOS AGGR 2to1 ADIOS AGGR 4to1 ADIOS AGGR 8to1 ADIOS AGGR 2to1 ADIOS AGGR 4to1 ADIOS AGGR 8to1 the ¡increasing ¡I/O ¡overhead? ¡ H H H H H D D D D D F F F F F 5 5 5 5 5 S. ¡Herbein, ¡et ¡al. ¡Performance ¡Impact ¡of ¡I/O ¡on ¡QMCPack ¡ 1 Simula<ons ¡at ¡the ¡Petascale ¡and ¡Beyond. ¡CSE ¡2013. ¡
Outline ¡ • QMCPack ¡and ¡ADIOS ¡ – Overview ¡of ¡the ¡codes ¡ • I/O ¡kernels ¡ – From ¡real ¡to ¡synthe<c ¡ • ADIOS ¡phases ¡ – In-‑depth ¡overview ¡of ¡the ¡I/O ¡library ¡and ¡phases ¡ • Understanding ¡I/O ¡impact ¡ – Does ¡the ¡irregular ¡I/O ¡ indeed ¡impact ¡performance? ¡ • Conclusion ¡and ¡future ¡work ¡ 2
Outline ¡ • QMCPack ¡and ¡ADIOS ¡ – Overview ¡of ¡the ¡codes ¡ • I/O ¡kernels ¡ – From ¡real ¡to ¡synthe<c ¡ • ADIOS ¡phases ¡ – In-‑depth ¡overview ¡of ¡the ¡I/O ¡library ¡and ¡phases ¡ • Understanding ¡I/O ¡impact ¡ – Does ¡the ¡irregular ¡I/O ¡ indeed ¡impact ¡performance? ¡ • Conclusion ¡and ¡future ¡work ¡ 3
QMCPack ¡ • QMCPack ¡is ¡a ¡Quantum ¡Monte ¡ w0 ¡ Carlo ¡applica<on ¡ p0 ¡ w1 ¡ • Use ¡loosely ¡coupled ¡algorithm: ¡ ¡ w2 ¡ § Each ¡process ¡runs ¡ n ¡independent ¡ walkers ¡ ¡ w0 ¡ § Walkers ¡are ¡generated ¡randomly ¡ p1 ¡ w1 ¡ and ¡evolve ¡over ¡a ¡series ¡of ¡steps ¡ towards ¡a ¡higher ¡energy ¡level ¡ step ¡ step ¡ step ¡ step ¡ § Walker ¡evolu<on ¡results ¡in ¡a ¡ unbalanced ¡load ¡across ¡nodes ¡ block ¡ block ¡ Write in Write in ¡ output output In ¡theory, ¡QMCPack ¡is ¡the ¡ Kim, et al. Hybrid algorithms in quantum Monte perfect ¡exascale ¡applica<on ¡ Carlo. J. of Physics: Conference Series, 2012. 4
Scien<fic ¡Data: ¡From ¡Single ¡Sta<s<cs ¡To ¡Traces ¡ New ¡QMCPack ¡– ¡par9cle ¡traces ¡ Old ¡QMCPack ¡– ¡single ¡sta9s9cs ¡ ¡ Process ¡1 ¡ Process ¡2 ¡ Process ¡3 ¡ Process ¡1 ¡ Process ¡2 ¡ Process ¡3 ¡ Walker ¡1 ¡ Walker ¡2 ¡ Walker ¡3 ¡ Walker ¡1 ¡ Walker ¡2 ¡ Walker ¡3 ¡ Walker ¡1 ¡ Walker ¡2 ¡ Walker ¡3 ¡ Walker ¡1 ¡ Walker ¡1 ¡ Walker ¡1 ¡ Walker ¡2 ¡ Walker ¡3 ¡ Walker ¡2 ¡ Walker ¡3 ¡ Walker ¡2 ¡ Walker ¡3 ¡ avg ¡ avg ¡ avg ¡ I/O ¡Method ¡ avg ¡ 5
ADIOS ADIOS ¡ components and supported methods • Includes ¡suite ¡of ¡simple, ¡easy-‑to-‑ use ¡APIs ¡ ¡and ¡metadata ¡stored ¡in ¡ external ¡XML ¡file ¡ QMCPack • Allow ¡flexible ¡selec<on ¡of ¡most ¡ effec<ve ¡I/O ¡method ¡ – Different ¡I/O ¡transport ¡methods ¡ – Different ¡supercomputers ¡ – Li4le ¡code ¡modifica<on ¡ • Provide ¡both ¡high ¡performance, ¡ reliability, ¡and ¡usability ¡ Lofstead ¡et ¡al. ¡ADIOS: ¡Adaptable, ¡Metadata ¡Rich ¡I/O ¡ Methods ¡for ¡Portable ¡High ¡Performance ¡I/O. ¡PDSW ¡2008 ¡ 6
I/O ¡Methods ¡ HDF ¡ ADIOS-‑POSIX ¡ ADIOS-‑AGGR ¡ Process Group In POSIX each writer creates a Each process group is a collection of file on the file system. writers, one of which is the aggregator 7
QMCPack ¡I/O ¡Performance ¡ Nodes ¡ ¡ ¡ ¡ ¡ ¡512 ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡1K ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡2K ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡4K ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡8K ¡ ¡ n cores=8192 n cores=16384 n cores=32768 n cores=65536 n cores=131072 100% Execution Time 90% I/O Time 80% 70% 60% Time (%) 50% 40% 30% 20% 10% 0% ADIOS AGGR 2to1 ADIOS AGGR 4to1 ADIOS AGGR 8to1 ADIOS AGGR 2to1 ADIOS AGGR 4to1 ADIOS AGGR 8to1 ADIOS AGGR 2to1 ADIOS AGGR 4to1 ADIOS AGGR 8to1 ADIOS AGGR 2to1 ADIOS AGGR 4to1 ADIOS AGGR 8to1 ADIOS AGGR 2to1 ADIOS AGGR 4to1 ADIOS AGGR 8to1 HDF5 HDF5 HDF5 HDF5 HDF5 8
Are ¡we ¡at ¡the ¡Peak ¡I/O ¡Performance? ¡ • Max ¡I/O ¡bandwidth ¡achieved ¡in ¡QMCPack ¡runs ¡ ¡16 ¡GB/s ¡= ¡29% ¡I/O ¡Overhead ¡ • Theore<cal ¡peak ¡of ¡ORNL’s ¡filesystem ¡at ¡the ¡<me ¡ ¡80 ¡GB/s ¡= ¡7.5% ¡I/O ¡Overhead ¡ 9
Irregular ¡I/O ¡Pa4ern ¡= ¡Poor ¡Performance? ¡ ¡ What ¡is ¡the ¡key ¡factor ¡affec<ng ¡the ¡performance ¡of ¡QMCPack? ¡ ¡ • We ¡hypothesized ¡that ¡the ¡irregular ¡I/O ¡pa4ern ¡of ¡QMCPack ¡ was ¡causing ¡I/O ¡imbalance ¡which ¡in ¡turn ¡was ¡causing ¡a ¡ slowdown ¡ • To ¡test ¡this ¡hypothesis, ¡we ¡sta<s<cally ¡modeled ¡the ¡I/O ¡ pa4ern ¡of ¡QMCPack ¡and ¡other ¡scien<fic ¡applica<ons ¡ • We ¡benchmarked ¡and ¡profiled ¡I/O ¡kernels ¡generated ¡from ¡ these ¡models ¡ 10
Outline ¡ • QMCPack ¡and ¡ADIOS ¡ – Overview ¡of ¡the ¡codes ¡ • I/O ¡kernels ¡ – From ¡real ¡to ¡synthe<c ¡ • ADIOS ¡phases ¡ – In-‑depth ¡overview ¡of ¡the ¡I/O ¡library ¡and ¡phases ¡ • Understanding ¡I/O ¡impact ¡ – Does ¡the ¡irregular ¡I/O ¡ indeed ¡impact ¡performance? ¡ • Conclusion ¡and ¡future ¡work ¡ 11
I/O ¡Kernels ¡ • I/O ¡kernels ¡used ¡to ¡mimic ¡I/O ¡of ¡real ¡applica<ons ¡ – Include ¡a ¡broader ¡range ¡of ¡I/O ¡pa4erns ¡ • Advantages ¡of ¡I/O ¡kernels ¡ – Faster ¡to ¡run ¡and ¡profile ¡ – Easier ¡to ¡understand ¡ – Safer ¡to ¡distribute ¡ • State ¡of ¡the ¡prac<ce ¡ – Manual ¡extract ¡of ¡I/O ¡rou<nes ¡from ¡large ¡applica<ons ¡ – Automa<c ¡genera<on ¡from ¡I/O ¡pa4erns ¡ ¡ 12
I/O ¡Kernels ¡ • I/O ¡kernels ¡used ¡to ¡mimic ¡I/O ¡of ¡real ¡applica<ons ¡ – Include ¡a ¡broader ¡range ¡of ¡I/O ¡pa4erns ¡ • Advantages ¡of ¡I/O ¡kernels ¡ – Faster ¡to ¡run ¡and ¡profile ¡ – Easier ¡to ¡understand ¡ – Safer ¡to ¡distribute ¡ • State ¡of ¡the ¡prac<ce ¡ – Manual ¡extract ¡of ¡I/O ¡rou<nes ¡from ¡large ¡applica<ons ¡ – Automa9c ¡genera9on ¡from ¡I/O ¡paCerns ¡ ¡ 13
Flavors ¡of ¡Real ¡I/O ¡Pa4erns ¡ QMCPack 256 processes (2 per node) ENZO 256 processes (2 per node) 45 70000 40 60000 35 B B B B B B B B B B B B B B B 50000 Number of walkers Data size (KBytes) 30 40000 25 B B B B B B B B B B B B B B B 20 30000 15 20000 10 10000 5 0 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Number of write steps Number of write steps Profiles ¡of ¡the ¡number ¡of ¡walkers ¡per ¡ Profiles ¡of ¡the ¡data ¡wri4en ¡per ¡process ¡ process ¡for ¡15 ¡steps ¡of ¡a ¡QMCPack ¡ for ¡15 ¡steps ¡of ¡an ¡ENZO ¡simula<on ¡ simula<on ¡studying ¡a ¡4x4x2 ¡graphite ¡on ¡ studying ¡the ¡NFW ¡Cool-‑Core ¡Cluster ¡test ¡ 256 ¡nodes ¡on ¡Titan ¡ on ¡256 ¡nodes ¡of ¡Titan ¡ 14
Recommend
More recommend