Interval Based I/O: A New Approach to Providing High Performance Parallel I/O

Providing scalable, high-performance parallel I/O for data-intensive computations is beset by a number of difficult challenges. The most often cited difficulties include the non-contiguous I/O patterns prominent in scientific codes, the lack of support for parallel I/O optimizations in POSIX, the high cost of providing strict file consistency semantics, and the cost of accessing storage devices over a network. We believe, however, that a more fundamental problem is the legacy view of a file as a linear sequence of bytes. To address this issue, we are developing a new approach to parallel I/O that is based on what we term intervals and interval files. This paper provides an overview of the interval-IO system and a set of benchmarks demonstrating the power of this new approach.

[1]  John Bent,et al.  PLFS: a checkpoint filesystem for parallel applications , 2009, Proceedings of the Conference on High Performance Computing Networking, Storage and Analysis.

[2]  Wu-chun Feng,et al.  Exploring I/O Strategies for Parallel Sequence-Search Tools with S3aSim , 2006, 2006 15th IEEE International Conference on High Performance Distributed Computing.

[3]  Karsten Schwan,et al.  DataStager: scalable data staging services for petascale applications , 2009, HPDC '09.

[4]  Philip W. Jones,et al.  Overview of the Software Design of the Community Climate System Model , 2005, Int. J. High Perform. Comput. Appl..

[5]  Rajeev Thakur,et al.  On implementing MPI-IO portably and with high performance , 1999, IOPADS '99.

[6]  Robert B. Ross,et al.  Efficient structured data access in parallel file systems , 2003, 2003 Proceedings IEEE International Conference on Cluster Computing.

[7]  Robert B. Ross,et al.  PVFS: A Parallel File System for Linux Clusters , 2000, Annual Linux Showcase & Conference.

[8]  Wei-keng Liao,et al.  Collective caching: application-aware client-side file caching , 2005, HPDC-14. Proceedings. 14th IEEE International Symposium on High Performance Distributed Computing, 2005..

[9]  Gonzalo Hernandez,et al.  Large scale parallel and distributed simulations and visualizations of the Olami-Feder-Christiensen earthquake model , 2001, Proceedings 15th International Parallel and Distributed Processing Symposium. IPDPS 2001.

[10]  R. Samtaney,et al.  Grid -Based Parallel Data Streaming implemented for the Gyrokinetic Toroidal Code , 2003, ACM/IEEE SC 2003 Conference (SC'03).

[11]  Wei-keng Liao,et al.  Scalable high-level caching for parallel I/O , 2004, 18th International Parallel and Distributed Processing Symposium, 2004. Proceedings..

[12]  B. Fryxell,et al.  FLASH: An Adaptive Mesh Hydrodynamics Code for Modeling Astrophysical Thermonuclear Flashes , 2000 .

[13]  Rajeev Thakur,et al.  Data sieving and collective I/O in ROMIO , 1998, Proceedings. Frontiers '99. Seventh Symposium on the Frontiers of Massively Parallel Computation.

[14]  Florin Isaila,et al.  View I/O: improving the performance of non-contiguous I/O , 2003, 2003 Proceedings IEEE International Conference on Cluster Computing.

[15]  Robert B. Ross,et al.  Noncontiguous I/O accesses through MPI-IO , 2003, CCGrid 2003. 3rd IEEE/ACM International Symposium on Cluster Computing and the Grid, 2003. Proceedings..

[16]  E. Lusk,et al.  An abstract-device interface for implementing portable parallel-I/O interfaces , 1996, Proceedings of 6th Symposium on the Frontiers of Massively Parallel Computation (Frontiers '96).

[17]  Jeremy Logan,et al.  Improving I/O performance through the dynamic remapping of object sets , 2009, 2009 IEEE International Workshop on Intelligent Data Acquisition and Advanced Computing Systems: Technology and Applications.

[18]  Rajeev Thakur,et al.  An Extended Two-Phase Method for Accessing Sections of Out-of-Core Arrays , 1996, Sci. Program..

[19]  Scott Klasky,et al.  DataSpaces: an interaction and coordination framework for coupled simulation workflows , 2012, HPDC '10.

[20]  Ronald L. Rivest,et al.  Introduction to Algorithms, Second Edition , 2001 .

[21]  Frank B. Schmuck,et al.  GPFS: A Shared-Disk File System for Large Computing Clusters , 2002, FAST.

[22]  Ronald L. Rivest,et al.  Introduction to Algorithms , 1990 .

[23]  Alex Rapaport,et al.  Mpi-2: extensions to the message-passing interface , 1997 .

[24]  Wei-keng Liao,et al.  DAChe: Direct Access Cache System for Parallel I/O , 2005 .

[25]  Rajeev Thakur,et al.  Conflict Detection Algorithm to Minimize Locking for MPI-IO Atomicity , 2009, PVM/MPI.

[26]  Jianwei Li,et al.  Parallel netCDF: A High-Performance Scientific I/O Interface , 2003, ACM/IEEE SC 2003 Conference (SC'03).

[27]  Wei-keng Liao,et al.  Evaluating I/O characteristics and methods for storing structured scientific data , 2006, Proceedings 20th IEEE International Parallel & Distributed Processing Symposium.

[28]  D.A. Reed,et al.  Input/Output Characteristics of Scalable Parallel Applications , 1995, Proceedings of the IEEE/ACM SC95 Conference.

[29]  Jeremy S. Logan,et al.  Using Object Based Files for High Performance Parallel I/O , 2007, 2007 4th IEEE Workshop on Intelligent Data Acquisition and Advanced Computing Systems: Technology and Applications.

[30]  Rajeev Thakur,et al.  Users guide for ROMIO: A high-performance, portable MPI-IO implementation , 1997 .

[31]  Karsten Schwan,et al.  Adaptable, metadata rich IO methods for portable high performance IO , 2009, 2009 IEEE International Symposium on Parallel & Distributed Processing.

[32]  Wei-keng Liao,et al.  Noncontiguous access through MPI-IO , 2003 .

[33]  Rajeev Thakur,et al.  Users Guide for ROMIO: A High-Performance , 1997 .

[34]  Robert Latham,et al.  Implementing MPI-IO atomic mode without file system support , 2005, CCGrid 2005. IEEE International Symposium on Cluster Computing and the Grid, 2005..