1 / 10

Grid IO APIs

Grid IO APIs. William Gropp Mathematics and Computer Science Division. Issues in Grid IO. Latency Bandwidth Fault tolerance Maintaining transparency to the user APIs that capture the user’s intent while preserving well defined semantics and performance. One User Model.

rodney
Download Presentation

Grid IO APIs

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Grid IO APIs William GroppMathematics and Computer Science Division

  2. Issues in Grid IO • Latency • Bandwidth • Fault tolerance • Maintaining transparency to the user • APIs that capture the user’s intent while preserving well defined semantics and performance

  3. One User Model • Parallel application expresses IO using higher-level library (HDF) or parallel IO interface (MPI-IO) • For many apps, files are not bytes streams • Sequences of objects such as solution arrays • Files are either read or written, not both at the same time • Caching of data on client or server side can be used HDF5 GlobusIO App MPI-IO ADIO UDP

  4. MPI RIOD network ADIO ADIO RIO PVFS NFS Unix Others Grid IO with ROMIO • Implementation strategy: Add a new “filesystem” type: RIO (remote I/O) • Use ADIO as generic parallel file interface

  5. Extending ROMIO MPI_File_read_all • Relatively easy to define new devices • Layered definition makes simple ports possible ADIO_ReadStridedColl … ADIOI_PVFS_ReadStridedColl ADIO_PVFS_ReadContig … …

  6. Exploiting Collective Operations Aggregated data written Write_all RIOD Write_all RIO # of servers  # processes Write_all Write_all Must preserve collective I/O operation to retain performance

  7. Caching for Noncollective I/O Replicas a related, higher-level approach already supported by grid toolkits like Globus Read RIOD Read RIO Read Read Note that caching is nearly impossible if full POSIX semantics retained

  8. Optimizing WAN Data Transfers • TCP: Stream interface (in-order delivery) • Implementations use window to optimize for occasional out-of-order delivery • File ops: Commonly read/write an object, not a stream • Object may be large (MB to TB) • Exploit by deferring/aggregating acks and retries on an object basis (one kind of fault tolerance) • Stripe data paths (GridFTP uses just this) • Preliminary work is promising (Dickens et al; PDPTA 2001) • Exploits user-intent at MPI level

  9. Quality of Service for Data Transfers • What is the user API? • One approach: MPI Attributes • Attributes are a (key,value) pair; value is a pointer • May be attached to communicators, datatypes, and MPI memory windows • Used in MPICH-GQ (Globus-enabled version of MPICH with QoS) • MPI File objects do not have attributes • But do have “info”: (key,value) pairs, key and value both a string • Allows the use of communicator attributes to implement the underlying communication and info hints on the MPI File as the user API

  10. Issues for Grid IO APIs • A Grid I/O API must support • Collective I/O • Performance • Latency • Object-based transfer completion • WAN optimizations • Appropriate atomicity • Exploit opportunities for extensions in standards • Use existing mechanisms (APIs) to transfer QoS, intent, other information • Use Grid infrastructure • E.g., Globus Access to Secondary Storage (GASS)

More Related