ORNL is managed by UT-Battelle for the US Department of Energy
Data Staging and Asynchronous I/O in ADIOS Hasan Abbasi ORNL Jong - - PowerPoint PPT Presentation
Data Staging and Asynchronous I/O in ADIOS Hasan Abbasi ORNL Jong - - PowerPoint PPT Presentation
Data Staging and Asynchronous I/O in ADIOS Hasan Abbasi ORNL Jong Choi ORNL Greg Eisenhauer Georgia Tech Scott Klasky ORNL Manish Parashar Rutgers Norbert Podhorszki ORNL Nagiza Samatova NCSU Karsten Schwan Georgia Tech Matthew
2 Presentation_name
Outline ¡
- ADIOS ¡Overview ¡
- Introduc3on ¡to ¡Staging ¡
- Data ¡Management ¡in ¡I/O ¡Pipelines ¡
- Staging ¡in ¡ADIOS ¡
- Network ¡and ¡System ¡service ¡discussion ¡
3 Presentation_name
ADIOS ¡
- Abstracts ¡Data-‑at-‑Rest ¡to ¡Data-‑in-‑Mo3on ¡for ¡HPC ¡
– Provides ¡portable, ¡fast, ¡scalable, ¡easy-‑to-‑use, ¡metadata ¡rich ¡
- utput ¡ ¡
– Dynamically ¡allows ¡users ¡to ¡change ¡the ¡method ¡during ¡an ¡ experiment/simula3on ¡
- Provides ¡solu3ons ¡for ¡“90% ¡of ¡the ¡applica3ons” ¡
- ADIOS ¡has ¡been ¡cited ¡almost ¡1,000 ¡3mes ¡
Interface)to)apps)for)descrip/on)of)data)(ADIOS,)etc.)) Buffering) Feedback) )Schedule) Mul/Bresolu/on) methods) Data)Compression) methods) Data)Indexing) (FastBit))methods) Data)Management)Services) Workflow))Engine) Run/me)engine) Data)movement) Provenance) Plugins)to)the)hybrid)staging)area)
Visualiza/on)Plugins) Analysis)Plugins)
Parallel)and)Distributed)File)System) IDX) HDF5) AdiosBbp) pnetcdf) “raw”)data) Image)data) Viz.)Client)
- Astrophysics
- Climate
- Combustion
- CFD
- Environmental Science
- Fusion
- Geoscience
- Materials Science
- Medical: Pathology
- Neutron Science
- Nuclear Science
- Quantum Turbulence
- Relativity
- Seismology
- Sub-surface modeling
- Weather
hNp://www.nccs.gov/user-‑support/center-‑projects/adios/ ¡
4 Presentation_name
Improving ¡I/O ¡Methods ¡for ¡High ¡End ¡simula3ons ¡
- Reduce ¡I/O ¡overhead, ¡reduce ¡network ¡data ¡
movement, ¡improve ¡wri3ng ¡and ¡reading ¡performance ¡ ¡
- To ¡achieve ¡this ¡goal, ¡ADIOS ¡provides ¡many ¡methods ¡
– Posix ¡(1 ¡file ¡per ¡process, ¡independent ¡set ¡of ¡files) ¡ – Posix ¡(1 ¡file ¡per ¡process ¡+ ¡metadata; ¡read ¡as ¡one ¡dataset) ¡ – MPI-‑Lustre ¡(MPI-‑IO ¡wri3ng ¡to ¡1 ¡global ¡file) ¡ – Aggregate ¡ ¡(1 ¡file ¡per ¡OST) ¡+ ¡1 ¡metadata ¡file ¡ – BG ¡(1 ¡file ¡per ¡rack) ¡+ ¡1 ¡metadata ¡file ¡ – …. ¡
- There’s ¡no ¡single ¡right ¡answer ¡for ¡all ¡users. ¡
– ADIOS ¡gives ¡the ¡user ¡flexibility ¡without ¡rewri3ng ¡code. ¡
5 Presentation_name
Large ¡Writes ¡Per ¡Many ¡cores ¡
- First ¡effort ¡shows ¡performance ¡goes ¡from ¡50 ¡GB/s ¡to ¡over ¡
100 ¡GB/s ¡
- New ¡features ¡for ¡IBM ¡BG/Q ¡to ¡eliminate ¡the ¡serial ¡process ¡in ¡
ADIOS ¡for ¡the ¡metadata ¡crea3on ¡is ¡now ¡op3onal ¡
– Metadata ¡crea3on ¡is ¡serial ¡due ¡to ¡ the ¡problem ¡of ¡threadsafe ¡MPI ¡on ¡ most ¡systems ¡
- Tes3ng ¡has ¡begun ¡to ¡use ¡staging ¡
to ¡write ¡data ¡
– Problem ¡is ¡size ¡of ¡the ¡staging ¡area ¡
- Requires ¡over ¡10K ¡cores ¡for ¡staging… ¡
- GPU ¡on ¡staging ¡is ¡useless ¡if ¡we ¡do ¡NOT ¡
do ¡other ¡processing ¡
6 Presentation_name
Small Writes per many cores (Combustion)
- Requires ¡high ¡performance ¡I/O ¡due ¡to ¡large ¡output ¡
(200 ¡GB/10 ¡minutes) ¡
- Frequent ¡reading ¡of ¡large ¡datasets ¡on ¡a ¡small ¡number ¡
- f ¡processors ¡for ¡analy3cs ¡
- Individual ¡process ¡output ¡is ¡small, ¡leading ¡to ¡low ¡
u3liza3on ¡of ¡network ¡bandwidth ¡with ¡other ¡I/O ¡ solu3ons ¡
- Reading ¡of ¡large ¡datasets ¡with ¡a ¡different ¡access ¡
paNern ¡than ¡they ¡were ¡wriNen ¡out ¡leads ¡to ¡
- frequent ¡seeking ¡for ¡data ¡
- very ¡low ¡read ¡bandwidth ¡
- Analysis ¡codes ¡spend ¡90% ¡of ¡their ¡3me ¡reading ¡data ¡
- Allowed ¡ADIOS ¡team ¡to ¡focus ¡on ¡small ¡but ¡frequent ¡
- utput ¡data ¡
7 Presentation_name
Spa3al ¡Temporal ¡Aggrega3on ¡
- Temporal ¡aggrega3on ¡is ¡to ¡open ¡up ¡another ¡horizon ¡to ¡further ¡consolidate ¡data ¡
- Data ¡of ¡mul3ple ¡3me ¡steps ¡are ¡merged ¡at ¡each ¡process ¡
- Data ¡is ¡wriNen ¡out ¡only ¡at ¡the ¡last ¡3me ¡step ¡or ¡reaches ¡the ¡boundary ¡of ¡memory ¡
capacity ¡
- Achieved ¡up ¡to ¡70x ¡speedup ¡for ¡read ¡performance, ¡and ¡11x ¡speedup ¡for ¡write ¡
performance ¡in ¡mission ¡cri3cal ¡climate ¡simula3on ¡GEOS-‑5 ¡(NASA), ¡on ¡Jaguar ¡
Read performance of a 2D slice
- f a 3D variable + time
GEOS-5 Results
- Common read patterns
for GEOS-5 users are reduced from 10 – 0.1 seconds
- Allows interactive data
exploration for mission critical visualizations
Temperature)tendency)from)moist)physics)
La4tude)
Date) 10/29/79) 10/30/79) 10/31/79) 90) 30) =30) =60) 0) 60)
t1 t2 t3
t Original( New(
A 2-D variable at 3 time steps are merged into a 3-D variable with time as new dimension
V1 V2 V3 … V1 V2 V3 … V1 V2 V3 …
T1 T2 T3 T1,2,3
V1 V2 V3 … Original( New(
Data ¡layout ¡
8 Presentation_name
I/O ¡Variability ¡
20 40 60 80 100 Runs 50 100 150 200 250 300 Throughput (MB/sec)
- Problem
- Techniques that achieved
high performance I/O
- Aggregation with write-behind strategy
- Stripe alignment: to avoid contention
- Are these techniques sufficient to get
the peak I/O performance?
Single Storage Target Performance Variations
20 40 60 80 100 Run (21:20PM to 1:20AM, 3/1/2013, no noise injected) 200 400 600 800 1000 I/O Time (sec) Static I/O Re-routing (TF=0.1)
50 100 150 200 250 Run (21:20PM to 23:30PM, 2/27/2013, no noise injected) 11 12 13 14 15 16 I/O Time (sec) Static I/O Re-routing (TF=0.1)
Titan Hopper
9 Presentation_name
Introduc3on ¡to ¡Staging ¡
- Initial development as a research effort to minimize I/O overhead
- Draws from past work on threaded I/O
- Exploits network hardware support for fast data transfer to remote memory
Hasan Abbasi, Matthew Wolf, Greg Eisenhauer, Scott Klasky, Karsten Schwan, Fang Zheng: DataStager: scalable data staging services for petascale applications. Cluster Computing 13(3): 277-290 (2010) Ciprian Docan, Manish Parashar, Scott Klasky: DataSpaces: an interaction and coordination framework for coupled simulation workflows. Cluster Computing 15(2): 163-181 (2012)
10 Presentation_name
Data ¡Management ¡in ¡I/O ¡Pipelines ¡
- Perform computation in the right
location
- Support dynamic placement
- Use data reduction techniques
- Aggrega3on ¡and ¡chunking ¡to ¡improve ¡data ¡
access ¡
- End-‑to-‑End ¡approach ¡to ¡data ¡management ¡
Space Filling Curve Reordering Optimized Chunk Size? Hierarchical Spatial Aggregation
Dynamic Subchunking
Yes
Offsetorg Offsetnew
Intra-chunk level Chunk level Storage Application Data chunks
Optimized Chunking Model
…
< >
11 Presentation_name
Indexing ¡and ¡Compression ¡
- Extreme ¡scale ¡data ¡
enhancement ¡and ¡reduc3on ¡
- U3lize ¡in ¡transit ¡and ¡in ¡situ ¡
mechanisms ¡
- Scien3fic ¡compression ¡
schemes ¡(ISABELA ¡and ¡ ISOBAR) ¡
- In ¡situ ¡indexing ¡to ¡enable ¡
fast ¡query ¡and ¡data ¡access ¡ ¡
- Deployed ¡as ¡services ¡in ¡the ¡
pipeline ¡
12 Presentation_name
Predata: ¡I/O ¡Pipelines ¡
- Use ¡the ¡staging ¡nodes ¡and ¡create ¡a ¡workflow ¡in ¡the ¡staging ¡nodes. ¡
- Allows ¡us ¡to ¡explore ¡many ¡research ¡aspects. ¡
- Improve ¡total ¡simula3on ¡3me ¡by ¡2.7% ¡ ¡
- Allow ¡the ¡ability ¡to ¡generate ¡online ¡insights ¡into ¡the ¡260GB ¡data ¡being ¡output ¡from ¡
16,384 ¡compute ¡cores ¡in ¡40 ¡seconds. ¡ ¡
Sort Sort Bitmap Indexing Bitmap Indexing Histogram Histogram 2D Histogram 2D Histogram BP writer BP writer Particle array sorted array BP file Index file Plotter Plotter Plotter Plotter
13 Presentation_name
In-‑Memory ¡Data ¡Staging ¡with ¡DataSpaces ¡
Staging-‑based ¡(ADIOS ¡DATASPACES ¡transport ¡method) ¡
- Extract ¡data ¡from ¡running ¡simula3ons ¡into ¡the ¡memory ¡of ¡staging ¡servers ¡
- Enables ¡more ¡loosely ¡coupled ¡data ¡interac3ons ¡
- Reduced ¡resource ¡conten3on, ¡e.g., ¡on-‑node ¡memory ¡ ¡
14 Presentation_name
In-‑Memory ¡Data ¡Staging ¡with ¡DIMES ¡
DIMES ¡(ADIOS ¡DIMES ¡transport ¡method) ¡
- Extract ¡data ¡from ¡running ¡simula3ons ¡directly ¡into ¡another ¡applica3on’s ¡memory ¡
space ¡
- Enable ¡more ¡3ghtly ¡coupled ¡data ¡interac3ons ¡
- Reduced ¡network ¡data ¡movement ¡(as ¡compared ¡to ¡staging) ¡ ¡ ¡
15 Presentation_name
Applica3on ¡Coupling ¡
Loose ¡coupling ¡of ¡XGC0 ¡and ¡ M3D-‑OMP ¡and ¡ELITE ¡through ¡ ADIOS ¡using ¡DataSpaces ¡
ADIOS XGC1 BP File ADIOS XGCa Staging Services DataSpaces DIMES Embedded Schema to add semantics of data Plotter/Analysis Plotter/Analysis Chunk- based Operation Monitoring System
Tight coupling of XGC1 and XGCa in combination with a monitoring dashboard
16 Presentation_name
Loosely ¡Coupled ¡in-‑situ ¡Visualiza3on ¡
- Visualiza3on ¡and ¡applica3on ¡are ¡de-‑coupled ¡
- Uses ¡ADIOS ¡on ¡Dataspaces ¡
- Viz ¡opera3ons ¡and ¡rendering ¡performed ¡on ¡system ¡nodes ¡
- XGC ¡SciDAC ¡simula3on ¡example ¡
Vis/Analysis
(EAVL)
ADIOS
HPC Application
ADIOS
Staging
(Data Spaces)
17 Presentation_name
ICEE ¡Method ¡Enables ¡WAN ¡Staging ¡
- Streaming ¡data ¡from ¡experimental ¡sources ¡
- Transparent ¡abstrac3on ¡for ¡moving ¡data ¡over ¡LAN ¡or ¡WAN ¡
- Integra3on ¡of ¡indexing/querying ¡to ¡minimize ¡long ¡distance ¡
data ¡movement ¡
- Mul3ple ¡methods ¡for ¡moving ¡data ¡(ICEE, ¡DataSpaces, ¡Flexpath) ¡
Data ¡Generation
Compr ession
Data Trans form
FastBi t Index
ADIOS Data ¡Stream ADIOS Data ¡ Hub Analysis Analysis Analysis Memory-‑to-‑memory ¡data ¡delivery ¡(code ¡coupling) Transparent ¡workflow ¡execution WAN ¡Transportation
- FlexPath/EVPath
- DataSpaces
- ICEE
18 Presentation_name
Network ¡Services ¡
- Managing ¡Conten3on ¡
– We ¡need ¡to ¡avoid ¡resource ¡conten3on ¡to ¡minimize ¡I/O ¡overhead ¡on ¡ applica3on ¡performance ¡
- Priority ¡based ¡flow ¡control ¡
– Par33oning ¡of ¡streams ¡into ¡data ¡and ¡control ¡will ¡improve ¡scalability ¡
- Mul3cast ¡for ¡RDMA ¡
– A ¡single ¡source ¡can ¡be ¡feeding ¡data ¡to ¡mul3ple ¡consumers ¡for ¡data ¡staging ¡
- pera3ons ¡
- Select/Callback ¡support ¡
– Simple ¡mechanism ¡to ¡check ¡availability ¡of ¡data, ¡par3cularly ¡useful ¡in ¡ combina3on ¡with ¡1-‑sided ¡communica3on ¡
19 Presentation_name
System ¡Services ¡
- Fault ¡Tolerance ¡
– I/O ¡services ¡can ¡add ¡their ¡own ¡resiliency ¡but ¡need ¡appropriate ¡no3fica3on ¡ from ¡the ¡network ¡layer ¡to ¡ini3ate ¡recovery ¡
- ScaNer-‑Gather ¡
– More ¡consistent ¡support ¡for ¡scaNer-‑gather ¡(iovecs) ¡across ¡plaqorms ¡
- RDMA ¡to ¡NVRAM ¡ ¡
– Par3cularly ¡important ¡for ¡Summit ¡ ¡
- Rendezvous ¡and ¡discovery ¡
– Iden3fy ¡I/O ¡services, ¡ini3ate ¡and ¡manage ¡connec3ons ¡ – Support ¡for ¡WANs ¡and ¡LANs ¡in ¡a ¡similar ¡API ¡
- Feedback/progress ¡APIs ¡for ¡RDMA ¡opera3ons ¡