A PLFS Plugin for HDF5 for Improved I/O Performance and Analysis Kshitij Mehta 1, John Bent 2, Aaron Torres 3, Gary Grider 3, Edgar Gabriel 1 1 University.

Slides:



Advertisements
Similar presentations
DAT2343 File Storage and Access © Alan T. Pinck / Algonquin College; 2003.
Advertisements

The HDF Group Parallel HDF5 Developments 1 Copyright © 2010 The HDF Group. All Rights Reserved Quincey Koziol The HDF Group
Non-Blocking Collective MPI I/O Routines Ticket #273.
File Consistency in a Parallel Environment Kenin Coloma
Phillip Dickens, Department of Computer Science, University of Maine. In collaboration with Jeremy Logan, Postdoctoral Research Associate, ORNL. Improving.
1 Projection Indexes in HDF5 Rishi Rakesh Sinha The HDF Group.
Recent Work in Progress
SDM Center Coupling Parallel IO with Remote Data Access Ekow Otoo, Arie Shoshani, Doron Rotem, and Alex Sim Lawrence Berkeley National Lab.
File Systems.
Streaming NetCDF John Caron July What does NetCDF do for you? Data Storage: machine-, OS-, compiler-independent Standard API (Application Programming.
Large Scale Parallel I/O with HDF5 Darren Adams, NCSA Considerations for Parallel File Systems on Distributed HPC Platforms.
areaDetector Developments
File Management Chapter 12. File Management File management system is considered part of the operating system Input to applications is by means of a file.
File Management Chapter 12. File Management A file is a named entity used to save results from a program or provide data to a program. Access control.
File Management.
HDF4 and HDF5 Performance Preliminary Results Elena Pourmal IV HDF-EOS Workshop September
Grid IO APIs William Gropp Mathematics and Computer Science Division.
NetCDF4 Performance Benchmark. Part I Will the performance in netCDF4 comparable with that in netCDF3? Will the performance in netCDF4 comparable with.
DM_PPT_NP_v01 SESIP_0715_JP Indexing HDF5: A Survey Joel Plutchak The HDF Group Champaign Illinois USA This work was supported by NASA/GSFC under Raytheon.
File Management Chapter 12. File Management File management system is considered part of the operating system Input to applications is by means of a file.
Tanzima Z. Islam, Saurabh Bagchi, Rudolf Eigenmann – Purdue University Kathryn Mohror, Adam Moody, Bronis R. de Supinski – Lawrence Livermore National.
EARTH SCIENCE MARKUP LANGUAGE “Define Once Use Anywhere” INFORMATION TECHNOLOGY AND SYSTEMS CENTER UNIVERSITY OF ALABAMA IN HUNTSVILLE.
Parallel HDF5 Introductory Tutorial May 19, 2008 Kent Yang The HDF Group 5/19/20081SCICOMP 14 Tutorial.
1 High level view of HDF5 Data structures and library HDF Summit Boeing Seattle September 19, 2006.
HDF5 A new file format & software for high performance scientific data management.
The HDF Group Parallel HDF5 Design and Programming Model May 30-31, 2012HDF5 Workshop at PSI 1.
A Metadata Based Approach For Supporting Subsetting Queries Over Parallel HDF5 Datasets Vignesh Santhanagopalan Graduate Student Department Of CSE.
February 2-3, 2006SRB Workshop, San Diego P eter Cao, NCSA Mike Wan, SDSC Sponsored by NLADR, NFS PACI Project in Support of NCSA-SDSC Collaboration Object-level.
The HDF Group Virtual Object Layer in HDF5 Exploring new HDF5 concepts May 30-31, 2012HDF5 Workshop at PSI 1.
The HDF Group Multi-threading in HDF5: Paths Forward Current implementation - Future directions May 30-31, 2012HDF5 Workshop at PSI 1.
December 1, 2005HDF & HDF-EOS Workshop IX P eter Cao, NCSA December 1, 2005 Sponsored by NLADR, NFS PACI Project in Support of NCSA-SDSC Collaboration.
CCGrid 2014 Improving I/O Throughput of Scientific Applications using Transparent Parallel Compression Tekin Bicer, Jian Yin and Gagan Agrawal Ohio State.
The HDF Group HDF5 Datasets and I/O Dataset storage and its effect on performance May 30-31, 2012HDF5 Workshop at PSI 1.
Frontiers in Massive Data Analysis Chapter 3.  Difficult to include data from multiple sources  Each organization develops a unique way of representing.
Project 4 : SciDAC All Hands Meeting, September 11-13, 2002 A. Choudhary, W. LiaoW. Gropp, R. Ross, R. Thakur Northwestern UniversityArgonne National Lab.
The Vesta Parallel File System Peter F. Corbett Dror G. Feithlson.
File Management Chapter 12. File Management File management system is considered part of the operating system Input to applications is by means of a file.
1 HDF5 Life cycle of data Boeing September 19, 2006.
The HDF Group Milestone 5.1: Initial POSIX Function Shipping Demonstration Jerome Soumagne, Quincey Koziol 09/24/2013 © 2013 The HDF Group.
CCGrid 2014 Improving I/O Throughput of Scientific Applications using Transparent Parallel Compression Tekin Bicer, Jian Yin and Gagan Agrawal Ohio State.
HDF Hierarchical Data Format Nancy Yeager Mike Folk NCSA University of Illinois at Urbana-Champaign, USA
CCGrid, 2012 Supporting User Defined Subsetting and Aggregation over Parallel NetCDF Datasets Yu Su and Gagan Agrawal Department of Computer Science and.
The HDF Group Introduction to netCDF-4 Elena Pourmal The HDF Group 110/17/2015.
Active Storage Processing in Parallel File Systems Jarek Nieplocha Evan Felix Juan Piernas-Canovas SDM CENTER.
Lecture 18 Windows – NT File System (NTFS)
HDF5 Q4 Demo. Architecture Friday, May 10, 2013 Friday Seminar2.
Parallel I/O Performance Study and Optimizations with HDF5, A Scientific Data Package MuQun Yang, Christian Chilan, Albert Cheng, Quincey Koziol, Mike.
Chapter 8 Physical Database Design. Outline Overview of Physical Database Design Inputs of Physical Database Design File Structures Query Optimization.
FITSIO, HDF4, NetCDF, PDB and HDF5 Performance Some Benchmarks Results Elena Pourmal Science Data Processing Workshop February 27, 2002.
Intro to Parallel HDF5 10/17/151ICALEPCS /17/152 Outline Overview of Parallel HDF5 design Parallel Environment Requirements Performance Analysis.
SDM Center Parallel I/O Storage Efficient Access Team.
What is GIS? “A powerful set of tools for collecting, storing, retrieving, transforming and displaying spatial data”
Parallel I/O Performance Study and Optimizations with HDF5, A Scientific Data Package Christian Chilan, Kent Yang, Albert Cheng, Quincey Koziol, Leon Arber.
LIOProf: Exposing Lustre File System Behavior for I/O Middleware
The HDF Group Introduction to HDF5 Session Two Data Model Comparison HDF5 File Format 1 Copyright © 2010 The HDF Group. All Rights Reserved.
W4118 Operating Systems Instructor: Junfeng Yang.
Model-driven Data Layout Selection for Improving Read Performance Jialin Liu 1, Bin Dong 2, Surendra Byna 2, Kesheng Wu 2, Yong Chen 1 Texas Tech University.
Copyright © 2010 The HDF Group. All Rights Reserved1 Data Storage and I/O in HDF5.
Other Projects Relevant (and Not So Relevant) to the SODA Ideal: NetCDF, HDF, OLE/COM/DCOM, OpenDoc, Zope Sheila Denn INLS April 16, 2001.
- 1 - Overview of Parallel HDF Overview of Parallel HDF5 and Performance Tuning in HDF5 Library NCSA/University of Illinois at Urbana- Champaign.
Efficient data maintenance in GlusterFS using databases
Moving from HDF4 to HDF5/netCDF-4
Introduction to HDF5 Session Five Reading & Writing Raw Data Values
HDF5 Metadata and Page Buffering
Data Resource Management
Yi Wang, Wei Jiang, Gagan Agrawal
Hierarchical Data Format (HDF) Status Update
PVFS: A Parallel File System for Linux Clusters
Introduction to Operating Systems
Presentation transcript:

A PLFS Plugin for HDF5 for Improved I/O Performance and Analysis Kshitij Mehta 1, John Bent 2, Aaron Torres 3, Gary Grider 3, Edgar Gabriel 1 1 University of Houston, Texas 2 EMC Corp. 3 Los Alamos National Lab DISCS 2012

Talk Outline ● Background – HDF5 – PLFS ● Plugin – Goals and Design ● Semantic Analysis ● Experiments and Results ● Conclusion

HDF5 – An Overview ● Hierarchical Data Format ● Data model, File format, and API ● Tool for managing complex data ● Widely used in industry and academia ● User specifies data objects and logical relationship between them ● HDF5 maintains data structures, memory management, metadata creation, file I/O

HDF5 – An Overview (II) ● Parallel HDF5 – Build with an MPI library – File create, dataset create, group create etc. are collective calls ● User can select POSIX I/O, or parallel I/O using MPI-IO (individual/collective) ● File portable between access by sequential, PHDF5

File HDF5 – An Overview (III) Group D1 D2 D3 Metadata D1 D2 D3.h5 file PEs

HDF5 – An Overview (IV) ● File is a top level object, collection of objects ● Dataset is a multi-dimensional array – Dataspace ● Number of dimensions ● Size of each dimension – Datatype ● Native (int, float, etc.) ● Compound (~struct) ● Group is a collection of objects (groups, datasets, attributes) ● Attributes used to annotate user data ● Hyperslab selection – Specify offset, stride in the dataspace – e.g. write selected hyperslab from matrix in memory to selected hyperslab in dataset in file

HDF5 Virtual Object Layer (VOL) ● Recently introduced by the HDF group ● New abstraction layer, intercepts API calls ● Forwards calls to object plugin ● Allows third party plugin development ● Data can be stored in any format – netCDF, HDF4 etc. Public API.h5 netCDF Object Plugin

Opportunities in HDF5 Preserve semantic information about HDF5 objects Single.h5 file a black box Allows performing post-processing on individual HDF5 objects Improve I/O performance on certain file systems N-1 access often results in sub-optimal I/O performance on file systems like Lustre

PLFS Parallel Log Structured File System developed at LANL, CMU, EMC Middleware positioned between application and underlying file system Transforms N-1 access pattern into N-N Processes write to separate files, sufficient metadata maintained to re-create the original shared file Demonstrated benefits on many parallel file systems

Goals of the new plugin Store data in a new format, different from the native single file format Preserves semantic information Perform additional analysis and optimizations Use PLFS to read/write data objects Tackles performance problem due to N-1 access

Plugin Design Implementation for various object functions Provide a raw mapping of HDF5 objects to the underlying file system HDF5 file, groups stored as directories Datasets as PLFS files Attributes as PLFS files stored as dataset_name.attr_name Use PLFS API calls in the plugin PLFS Xattrs store dataset metadata (datatype, dataspace,..) Xattrs provide key-value type access

PLFS Plugin ● Relative path describes relationship between objects ● User still sees the same API File Group D1 D2 D3 File/ Group/ D1 D2 Group/ D3

Semantic Analysis (I) Active Analysis Application can provide a data parser function PLFS applies function on the streaming data Function outputs key-value pairs which can be embedded in extensible metadata e.g. recording the height of the largest wave in ocean data within each physical file Quick retrieval of the largest wave, since only need to search extensible metadata Extensible metadata can be stored on burst buffers for faster retrieval

Active Analysis (II) PE PLFS data Parser Parser Output FS Burst Buffer

Semantic Analysis (II) Semantic Restructuring Allows re-organizing data into a new set of PLFS shards e.g. assume ocean model stored row-wise Column-wise access expensive Analysis routine can ask for “column-wise re- ordering” PLFS knows what it means, since it knows the structure Avoids application having to restructure data by calculating a huge list of logical offsets

Semantic Restructuring (II) Restructure HDF5 Datasets “Re-order wave lengths recorded in October 2012 in column-major (Hour x Day)”

Experiments and Results ● Lustre FS, 12 OSTs, 1M stripe size ● HDF5 performance tool “h5perf” ● Multiple processes write data to multiple datasets in a file ● Bandwidth values presented are average of 3 runs ● 1,2,4,8,32,64 PEs – 4 PEs/node max ● 10 datasets, minimum total data size 64G ● Comparing MPI-IO Lustre, Plugin, AD_PLFS (PLFS MPI-IO driver) ● Individual I/O (non-collective) tests

Write Contiguous Aligned transfer size of 1M For almost all cases, plugin better than MPI-IO, AD_PLFS shows best performance

Write Interleaved Unaligned transfer size of (1M + 10 bytes) Plugin performance > MPI-IO

Read Performance Contiguous reads ( 1M ) and Interleaved reads ( 1M+10 bytes ) Similar trend as in writes MPI-IO < Plugin < AD_PLFS

Conclusion ● New plugin for HDF5 developed using PLFS API ● New output format allows for Semantic Analysis ● Using PLFS improves I/O performance ● Tests show plugin performs better than MPI-IO in most cases, AD_PLFS shows best performance ● Future Work: Use AD_PLFS API calls in the plugin instead of native PLFS API calls, provide collective I/O in the plugin

Thank You Acknowledgements: Quincey Koziol, Mohamad Chaarawi – HDF group University of Dresden for access to Lustre FS

Why not use AD_PLFS on default.h5 file ? Changing output format allows for semantic analysis Provides a more object-based storage (DOE fast forward proposal – EMC, Intel, HDF working towards an object stack) Questions