Title :
A Transparent Collective I/O Implementation
Author :
Yongen Yu ; Jingjin Wu ; Zhiling Lan ; Rudd, Douglas H. ; Gnedin, Nickolay Y. ; Kravtsov, Anatoly
Author_Institution :
Dept. of Comput. Sci., Illinois Inst. of Technol., Chicago, IL, USA
Abstract :
I/O performance is vital for most HPC applications especially those that generate a vast amount of data with the growth of scale. Many studies have shown that scientific applications tend to issue small and noncontiguous accesses in an interleaving fashion, causing different processes to access overlapping regions. In such scenario, collective I/O is a widely used optimization technique. However, the use of collective I/O deployed in existing MPI implementations is not trivial and sometimes even impossible. Collective I/O is an optimization based on a single collective I/O access. If the data reside in different places (e.g. in different arrays), the application has to maintain a buffer to first combine these data and then perform I/O operations on the buffer rather than the original data pieces. The process is very tedious for application developers. Besides, collective I/O requires the creating of a file view to describe the noncontiguous access patterns and additional coding is needed. Moreover, for the applications with complex data access using dynamic data sizes, it is hard or even impossible to use the file view mechanism to describe the access pattern through derived data types. In this study, we develop a user-level library called transparent collective I/O (TCIO) for application developers to easily incorporate collective I/O optimization into their applications. Preliminary experiments by means of a synthetic benchmark and a real cosmology application demonstrate that the library can significantly reduce the programming efforts required for application developers. Moreover, TCIO delivers better performance at large scales as compared to the existing collective functionality provided by MPI-IO.
Keywords :
application program interfaces; optimising compilers; parallel programming; software libraries; HPC application; MPI-IO; TCIO; application development; complex data access; dynamic data sizes; file view mechanism; noncontiguous access patterns; programming efforts; real cosmology application; single collective I/O access; transparent collective I/O optimization; user-level library; Arrays; File systems; Layout; Libraries; Optimization; Programming; Synchronization; Collective I/O; HPC; I/O intensive applications; MPI; One-sided communication; Parallel I/O; Transparent Collective I/O;
Conference_Titel :
Parallel & Distributed Processing (IPDPS), 2013 IEEE 27th International Symposium on
Conference_Location :
Boston, MA
Print_ISBN :
978-1-4673-6066-1
DOI :
10.1109/IPDPS.2013.36