efficient scientific data management on supercomputers
play

Efficient Scientific Data Management on Supercomputers Suren Byna - PowerPoint PPT Presentation

Efficient Scientific Data Management on Supercomputers Suren Byna Staff Scientist Scientific Data Management Group Data Science and Technology Department Lawrence Berkeley National Laboratory Scientific Data - Where is it coming from?


  1. Efficient Scientific Data Management on Supercomputers Suren Byna Staff Scientist Scientific Data Management Group Data Science and Technology Department Lawrence Berkeley National Laboratory

  2. Scientific Data - Where is it coming from? ▪ Simulations ▪ Experiments ▪ Observations 2

  3. Life of scientific data Generation In situ analysis Processing Storage Analysis Preservation (archive) Sharing Refinement 3

  4. Supercomputing systems 4

  5. Supercomputer architecture - Cori Cori system 5

  6. Supercomputer architecture - Summit Source of the images in this slide: OLCF web pages 6

  7. Scientific Data Management in supercomputers ▪ Data representation Metadata, data structures, data models – ▪ Data storage Storing and retrieving data and metadata to file systems fast – ▪ Data access Improving performance of data access that scientists desire – ▪ Facilitating analysis Strategies for supporting finding the meaning in the data – ▪ Data transfers Transfer data within a supercomputing system and between – different systems 7

  8. Scientific Data Management in supercomputers ▪ Data representation Metadata, data structures, data models – ▪ Data storage Storing and retrieving data and metadata to file systems fast – ▪ Data access Improving performance of data access that scientists desire – ▪ Facilitating analysis Strategies for supporting finding the meaning in the data – ▪ Data transfers Transfer data within a supercomputing system and between – different systems 8

  9. Focus of this presentation ▪ Storing and retrieving data – Parallel I/O and HDF5 Software stack – Modes of parallel I/O – Intro to HDF5 and some tuning I/O of exascale applications – ▪ Autonomous data management system Proactive Data Containers (PDC) system – Metadata management service – Data management service – 9

  10. Trends – Storage system transformation Node-local, Eg. Theta Shared burst buffer Conventional Upcoming (ALCF), Summit (OLCF) Eg. Cori @ NERSC Memory Memory Memory Memory Node-local storage IO Gap Node-local storage NVM-based shared IO Gap storage Parallel file system Shared burst buffer Parallel file system (on Theta) Parallel file system Parallel file system Center-wide storage Campaign / center- (Lustre, GPFS) (Lustre, GPFS) wide storage (on Summit) Archival storage Archival storage Archival Storage Archival Storage (HPSS tape) (HPSS tape) (HPSS tape) (HPSS tape) •IO performance gap in HPC storage is a significant bottleneck because of slow disk-based storage •SSD and new memory technologies are trying to fill the gap, but increase the depth of storage hierarchy 10

  11. Parallel I/O software stack  I/O Libraries – HDF5 (The HDF Group) [LBL, ANL] Applications – ADIOS (ORNL) – PnetCDF (Northwestern, ANL) High Level I/O Library (HDF5, NetCDF, ADIOS) – NetCDF-4 (UCAR) I/O Middleware (MPI-IO) • Middleware – POSIX-IO, MPI-IO I/O Forwarding (ANL) • I/O Forwarding Parallel File System (Lustre, GPFS,..) I/O Hardware • File systems: Lustre (Intel), GPFS (IBM), DataWarp (Cray), …  I/O Hardware (disk-based, SSD- based, …) 12

  12. Parallel I/O – Application view ▪ Types of parallel I/O • 1 writer/reader, 1 file … … … … … P n- • N writers/readers, N files P n- P n- P n- P n- P 0 P 0 P 1 P 1 P n P n P 0 P 0 P 0 P 1 P 1 P 1 P n P n P n 1 1 1 1 1 (File-per-process) • N writers/readers, 1 file file.0 file.0 file.m file.0 file.1 file.n file.n-1 • M writers/readers, 1 file File.1 File.1 M Writers/Readers, 1 File M Writers/Readers, M Files 1 Writer/Reader, 1 File n Writers/Readers, 1 File n Writers/Readers, n Files – Aggregators – Two-phase I/O • M aggregators, M files (file- per-aggregator) – Variations of this mode 13

  13. Parallel I/O – System view Logical view ▪ Parallel file systems – Lustre and Spectrum Scale (GPFS) File ▪ Typical building blocks of parallel file systems Communication – Storage hardware – HDD or SSD network RAID – Storage servers (in Lustre, Object Storage Servers [OSS], and object Physical view on a parallel file system storage targets [OST] – Metadata servers – Client-side processes and interfaces ▪ Management – Stripe files for parallelism OST 0 OST 1 OST 2 OST 3 – Tolerate failures File 14

  14. Applications High Level I/O Library ( HDF5 , NetCDF, ADIOS) I/O Middleware (MPI-IO) I/O Forwarding Parallel File System (Lustre, GPFS,..) I/O Hardware WHAT IS HDF5?

  15. What is HDF5? • HDF5  Hierarchical Data Format, v5 • Open file format – Designed for high volume and complex data • Open source software – Works with data in the format • An extensible data model – Structures for data organization and specification

  16. HDF5 is like …

  17. HDF5 is designed … ▪ for high volume and / or complex data ▪ for every size and type of system – from cell phones to supercomputers ▪ for flexible, efficient storage and I/O ▪ to enable applications to evolve in their use of HDF5 and to accommodate new models ▪ to support long-term data preservation

  18. HDF5 Overview ▪ HDF5 is designed to organize, store, discover, access, analyze, share, and preserve diverse, complex data in continuously evolving heterogeneous computing and storage environments. ▪ First released in 1998, maintained by The HDF Group “De-facto standard for scientific computing” and integrated into every major scientific analytics + visualization tool ▪ Heavily used on DOE supercomputing systems Top library used at NERSC by the number of linked instances and the number of unique users

  19. HDF5 in Exascale Computing Project 19 out of the 26 (22 ECP + 4 NNSA) apps currently use or planning to use HDF5

  20. HDF5 Ecosystem … Tool s Supporters File Format Library Data Model Documentation …

  21. HDF5 DATA MODEL

  22. HDF5 File lat | lon | temp ----|-----|----- 12 | 23 | 3.1 An HDF5 file is a 15 | 24 | 4.2 17 | 21 | 3.6 container that holds data objects.

  23. HDF5 Data Model Dataset Link Group HDF5 Datatype Objects Attribute Dataspace File

  24. HDF5 Dataset HDF5 Datatype Integer: 32-bit, LE HDF5 Dataspace Rank Dimensions 3 Dim[0] = 4 Dim[1] = 5 Dim[2] = 7 Specifications for single data Multi-dimensional array of element and array dimensions identically typed data elements • HDF5 datasets organize and contain data elements. • HDF5 datatype describes individual data elements. • HDF5 dataspace describes the logical layout of the data elements.

  25. HDF5 Dataspace • Describe individual data elements in an HDF5 dataset • Wide range of datatypes supported • Integer • Float • Enum • Array • User-defined (e.g., 13-bit integer) • Variable-length types (e.g., strings, vectors) • Compound (similar to C structs) • More … Extreme Scale Computing Argonne

  26. HDF5 Dataspace Two roles: Dataspace contains spatial information • Rank and dimensions • Permanent part of dataset definition Rank = 2 Dimensions = 4x6 Partial I/0: Dataspace describes application ’ s data buffer and data elements participating in I/O Rank = 1 Dimension = 10

  27. HDF5 Dataset with a 2D array 3 5 12 Datatype: 32-bit Integer Dataspace: Rank = 2 Dimensions = 5 x 3

  28. HDF5 Groups and Links HDF5 groups Every HDF5 file and links / has a root gro up organize Experiment Notes: Serial Number: 99378920 Date: 3/13/09 data objects. Configuration: Standard 3 Parameters 10;100;1000 Viz SimOut lat | lon | temp ----|-----|----- 12 | 23 | 3.1 15 | 24 | 4.2 17 | 21 | 3.6 Timestep 36,000

  29. HDF5 Attributes • Typically contain user metadata • Have a name and a value • Attributes “decorate” HDF5 objects • Value is described by a datatype and a dataspace • Analogous to a dataset, but do not support partial I/O operations • Nor can they be compressed or extended

  30. HDF5 Home Page HDF5 home page: http://www.hdfgroup.org/solutions/hdf5/ • Latest release: HDF5 1.10.5 (1.12 coming soon) HDF5 source code: • Written in C, and includes optional C++, Fortran, and Java APIs Along with “High Level” APIs – • Contains command-line utilities (h5dump, h5repack, h5diff, ..) and compile scripts HDF5 pre-built binaries: • When possible, include C, C++, Fortran, Java and High Level libraries. – Check ./lib/libhdf5.settings file. • Built with and require the SZIP and ZLIB external libraries

  31. HDF5 Software Layers & Storage API Apps … … … netCDF-4 h5dump HDFview VPIC High Level H5Part APIs Language Tunable Properties HDF5 Data Model Objects Interfaces Groups, Datasets, Attributes, … Chunk Size, I/O Driver, … C, Fortran, C++ HDF5 Library Memory Datatype Chunked Version and so on… Internals Filters Mgmt Conversion Storage Compatibility Virtual File Split Posix Layer Custom MPI I/O Files I/O I/O Drivers HDF5 File File on Storage Format Split File Other Parallel Files Filesystem

  32. The General HDF5 API ▪ C , Fortran, Java, C++, and .NET bindings – Also: IDL, MATLAB, Python (H5Py, PyTables), Perl, ADA, Ruby, … ▪ C routines begin with prefix: H5 ? ? is a character corresponding to the type of object the function acts on Example Functions: H5D : D ataset interface e.g., H5Dread H5F : F ile interface e.g., H5Fopen H5S : data S pace interface e.g., H5Sclose

Recommend


More recommend