Proceedings of the Sixth Workshop on I/O in Parallel and Distributed Systems 1999
DOI: 10.1145/301816.301826
|View full text |Cite
|
Sign up to set email alerts
|

On implementing MPI-IO portably and with high performance

Abstract: We discuss the issues involved in implementing MPI-IO portably on multiple machines and le systems and also achieving high performance. One way t o i m p l e m e n t MPI-IO portably is to implement it on top of the basic Unix I/O functions (open, lseek, read, write, a n d close), which a r e themselves portable. We argue that this approach has limitations in both functionality and performance. We instead advocate an implementation approach t h a t c o m bines a large portion of portable code and a small portio… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
3
1
1

Citation Types

1
173
0
3

Year Published

2003
2003
2020
2020

Publication Types

Select...
4
3
1

Relationship

1
7

Authors

Journals

citations
Cited by 292 publications
(177 citation statements)
references
References 26 publications
(6 reference statements)
1
173
0
3
Order By: Relevance
“…In [19], an objectbased caching system is shown to improve the performance of ROMIO on the FLASH I/O benchmark [5]. There has also been significant research related to improving the performance of non-contiguous I/O requests in ROMIO [24], independent writes [17], and workarounds to the POSIX API (e.g., data sieving [22], two-phase I/O [23]). Our research is similarly focused on improving the performance of ROMIO in a particular file system environment.…”
Section: Related Workmentioning
confidence: 99%
See 2 more Smart Citations
“…In [19], an objectbased caching system is shown to improve the performance of ROMIO on the FLASH I/O benchmark [5]. There has also been significant research related to improving the performance of non-contiguous I/O requests in ROMIO [24], independent writes [17], and workarounds to the POSIX API (e.g., data sieving [22], two-phase I/O [23]). Our research is similarly focused on improving the performance of ROMIO in a particular file system environment.…”
Section: Related Workmentioning
confidence: 99%
“…First, Lustre exports only the POSIX file system API, which was not designed for a parallel I/O environment and provides little support for parallel I/O optimizations. This has led to the development of approaches (or "workarounds") that can circumvent (most of) the performance problems inherent in POSIX-based file systems, such that the performance of MPI-IO in such environments can be significantly improved (e.g., two-phase I/O [22,23], data-sieving [25], DataType I/O [11]). The second problem is that the assumptions upon which most of these optimizations are based do not hold in a Lustre environment.…”
Section: Introductionmentioning
confidence: 99%
See 1 more Smart Citation
“…Via this facility, an application using MPI-IO may issue I/O operations that are non-contiguous in memory and/or in a file [1]. Previous work has explored optimizing these operations via data sieving [2], the two-phase collective optimization [2], list I/O [3], and datatype I/O [4], primarily in the context of commodity clusters. The first two optimizations are broadly available through the open source ROMIO implementation distributed as part of MPICH2 [5].…”
Section: Introductionmentioning
confidence: 99%
“…The most commonly used implementation of MPI-IO is ROMIO [20,24]. To our knowledge, almost all MPI implementations, except IBM's MPI for the SP, use ROMIO as the basis for MPI-IO.…”
Section: Parallel I/omentioning
confidence: 99%