aIOLi: an input/output library for cluster of SMP
Résumé
As clusters use grows, lots of scientific applications (biology, climatology, nuclear physics...) have been rewritten to fully exploit this extra CPU power and storage capacity. This kind of software uses and creates huge amounts of data with typical parallel I/O access patterns. Several issues, like "out-of-core limitation" or "efficient parallel input/output access" already known in a local context (on SMP nodes for example), have to be handled in a distributed environment such as a cluster. Several solutions have been proposed by the scientific community to handle these issues, like parallel file systems or parallel I/O libraries, but their specific API limits portability and requires good knowledge of their internal mechanisms. This paper presents an efficient I/O library, aIOLi, for parallel access to remote storages in SMP clusters. Thanks to the SMP kernel features, our framework provides parallel I/O without inter-processes synchronization mechanisms as well as a simple interface based on the classic UNIX system calls (creat/open/read/write/close). Our experiments show that the aIOLi solution allows achieving performance close to the limits of the remote storage system.