1 / 11

Progress on MPI-IO Access to Mass Storage System Using a Storage Resource Manager

Progress on MPI-IO Access to Mass Storage System Using a Storage Resource Manager. Ekow J. Otoo, Arie Shoshani and Alex Sim Lawrence Berkeley National Laboratory. Objective. To allow near-online transparent access to files on mass storage system (e.g., HPSS) from MPI applications.

urian
Download Presentation

Progress on MPI-IO Access to Mass Storage System Using a Storage Resource Manager

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. Progress on MPI-IO Access to Mass Storage SystemUsing aStorage Resource Manager Ekow J. Otoo, Arie Shoshani and Alex Sim Lawrence Berkeley National Laboratory

  2. Objective • To allow near-online transparent access to files on mass storage system (e.g., HPSS) from MPI applications. • To enable existing applications to dynamically access files from MSS with little modification to the source code. • To demonstrate the feasibility of the approach by running some applications on a Linux cluster using • PVFS as the local parallel file system and • HPSS as the mass storage system

  3. MPI Application on a Cluster Accessing an MSS Other MSS Mass Storage System (MSS) CN CN CN CN Proxy + Svr GridFTP ION ION ION • CN – Compute Node • ION – IO Node • SRM-Proxy • SRM-Svr – SRM Server Parallel File System

  4. MPI-IO-SRM Architecture HPSS pNetCDF HDF5 SAM MPI-IO SRM Jasmin Castor BDB Other Data Intensive Applications High Level Access and Control Record Structured File Access Low Level File System Access ADIO PVFS GPFS UFS XFS Other

  5. Main Functions of MpiioSrm Library • This is a package of library functions called libMpiioSrm.a • The functions callable from MPI applications are: • MPI_Srm_proxy_init(); • MPI_Srm_file_open(); [in place of MPI_File_open()] • MPI_Srm_file_close(); [in place of MPI_File_close()] • MPI_Srm_file_delete(); [in place of MPI_File_delete()] • MPI_Srm_proxy_close() • Functions (2), (3) and (4) are the only ones that take file names as a parameter of all the MPI-IO library functions. • These can be used to build complex execution models of an application.

  6. Dependent SRM Functions • Functions equivalent to SRM commands are: • srm_abort(); srm_copy(); • srm_get(); srm_ls(); • srm_mkdir(); srm_ping(); • srm_put(); srm_release(); • srm_remove(); srm_status(); • Parameters used in these functions are either derived from a configuration file “hrm.rc” or communicated through MPI_Info object.

  7. How to Use the Library Functions • Requires inclusion of MpiioSrm.h for compilation and libMpiioSrm during linkage. • After MPI_init() we call • MPI_Srm_proxy_init( MPI_Comm comm, int myrank, int srm_enabled, char *proxy_host, int proxy_rank, char *fileofurls, char fileofurl_fmt, char *srmuserid, char *hrmrcpath, MPI_Info *srminfo) ; • The application then calls • MPI_Srm_file_open(), … • <Invoke any MPI_* functions for processing> • MPI_Srm_file_close(), etc. • Finally it calls • MPI_Srm_proxy_close(MPI_Comm comm, int proxy_rank) before calling MPI_Finalize();

  8. Some Special Features of MpiioSrm • Methods of specifying data sources and targets. • Simple file name – a string of characters of a directory path and basename • URLs • Indirectly through a file of either • List of source and target URLs or • List of SRM commands • Modes for opening files: • In addition to the various MPI_MODE_* of the standard we add the mode MPI_MODE_PROPCHG_ON_CLOSE to propagate any changes on the local file to the MSS. • An application can set modes through MPI_File_info_set() command in our case.

  9. Status of the MpiioSrm library - 1 • The current status of the library includes • For SRM services, we have • srm_abort(), srm_copy(), srm_ls(), srm_ping(), srm_status(), srm_release() and srm_remove(). • For MPI-IO calling SRMs we have all five basic functions implemented, namely • MPI_Srm_proxy_init(); MPI_Srm_file_open(); MPI_Srm_file_close(); MPI_Srm_file_delete(); MPI_Srm_proxy_close()

  10. Status of the MpiioSrm library - 2 • Test Programs • The current status includes the following test programs: • TestSRM_S1RC – Static Single Request at a time. • TestSRM_SRSC – Static Requests with Single file processing at a time. • TestSRM_DRSOC – Dynamic Requests with Sequential Processing Order. • TestSRM_DRAOC – Dynamic Requests with Arbitrary Processing order.

  11. Looking to the Future • Short Term • Add srm_put() and srm_get() and srm_mkdir() • Improve method of communicating prefetched file with processes using MPI’s Remote Memory Access. • Release for general use. • Long Term • Address scalability, fault tolerance issues and PVFS2 – use of multiple SRM servers. • Define XML schema for input file formats • GUI for: • Preparing input data files for applics • Monitor files fetched and processed by applications through MPI’s Dynamic Process Management functions

More Related