Sciweavers

PC
2002

Optimizing noncontiguous accesses in MPI-IO

14 years 5 days ago
Optimizing noncontiguous accesses in MPI-IO
The I/O access patterns of many parallel applications consist of accesses to a large number of small, noncontiguous pieces of data. If an application's I/O needs are met by making many small, distinct I/O requests, however, the I/O performance degrades drastically. To avoid this problem, MPI-IO allows users to access noncontiguous data with a single I/O function call, unlike in Unix I/O. In this paper, we explain how critical this feature of MPI-IO is for high performance and how it enables implementations to perform optimizations. We first provide a classification of the different ways of expressing an application's I/O needs in MPI-IO--we classify them into four levels, called level 0 through level 3. We demonstrate that, for applications with noncontiguous access patterns, the I/O performance improves dramatically if users write their applications to make level-3 requests (noncontiguous, collective) rather than level-0 requests (Unix style). We then describe how our MPI-I...
Rajeev Thakur, William Gropp, Ewing L. Lusk
Added 23 Dec 2010
Updated 23 Dec 2010
Type Journal
Year 2002
Where PC
Authors Rajeev Thakur, William Gropp, Ewing L. Lusk
Comments (0)