Skip to main content
Log in

A collective I/O implementation based on inspector–executor paradigm

  • Published:
The Journal of Supercomputing Aims and scope Submit manuscript

An Erratum to this article was published on 07 February 2009

Abstract

In this paper, we present a novel multiple phase I/O collective technique for generic block-cyclic distributions. The I/O technique is divided into two stages: inspector and executor. During the inspector stage, the communication pattern is computed and the required datatypes are automatically generated. This information is used during the executor stage in performing the communication and file accesses. The two stages are decoupled, so that for repetitive file access patterns, the computations from the inspector stage can be performed once and reused several times by the executor. This strategy allows to amortize the inspector cost over several I/O operations. In this paper, we evaluate the performance of multiple phase I/O collective technique and we compare it with other state of the art approaches. Experimental results show that for small access granularities, our method outperforms in the large majority of cases other parallel I/O optimizations techniques.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Bordawekar R (1997) Implementation of collective I/O in the Intel Paragon parallel file system: Initial experiences. In: Proceedings of 11th international conference on supercomputing

  2. Lustre: A scalable, high-performance file system. Cluster File Systems Inc white paper, version 1.0, November 2002. http://www.lustre.org/docs/whitepaper.pdf

  3. del Rosario J, Bordawekar R, Choudhary A (1993) Improved parallel I/O via a two-phase run-time access strategy. In: Proceedings of IPPS workshop on input/output in parallel computer systems

  4. Isaila F, Malpohl G, Olaru V, Szeder G, Tichy W (2004) Integrating collective I/O and cooperative caching into the “Clusterfile” parallel file system. In: Proceedings of ACM international conference on supercomputing (ICS). Assoc Comput Mach, New York, pp 315–324

    Google Scholar 

  5. Kotz D (1994) Disk-directed I/O for MIMD multiprocessors. In: Proceedings of the first USENIX symposium on operating systems design and implementation

  6. Liao WK, Coloma K, Choudhary AN, Ward L (2005) Cooperative write-behind data buffering for MPI I/O. In: PVM/MPI, pp 102–109

  7. Liao WK, Coloma K, Choudhary A, Ward L, Russel E, Tideman S (2005) Collective caching: application-aware client-side file caching. In: Proceedings of the 14th international symposium on high performance distributed computing (HPDC)

  8. Ligon WB, Ross RB (1999) An overview of the parallel virtual file system. In: Proceedings of the extreme Linux workshop

  9. Message Passing Interface Forum (1997) MPI2: Extensions to the Message Passing Interface

  10. Nieuwejaar N, Kotz D, Purakayastha A, Ellis CS, Best ML (1996) File access characteristics of parallel scientific workloads. IEEE Trans Parallel Distrib Syst 7(10):1075–1089

    Article  Google Scholar 

  11. Prost J-P, Treumann R, Hedges R, Jia B, Koniges A (2001) MPI-IO/GPFS, an optimized implementation of MPI-IO on top of GPFS. In: Supercomputing’01: Proceedings of the 2001 ACM/IEEE conference on supercomputing (CDROM). Assoc Comput Mach, New York, p 17

    Chapter  Google Scholar 

  12. Schmuck F, Haskin R (2002) GPFS: A shared-disk file system for large computing clusters. In: Proceedings of FAST

  13. Seamons KE, Chen Y, Jones P, Jozwiak J, Winslett M (1995) Server-directed collective I/O in Panda. In: Proceedings of supercomputing’95

  14. Singh DE, Isaila F, Calderón A, Garcia F, Carretero J (2007) Multiple-phase I/O technique for improving data access locality. In: PDP’2000 15th Euromicro workshop on parallel and distributed processing

  15. Singh DE, Isaila F, Pichel JC, Carretero J (2007) A collective I/O implementation based on inspector–executor paradigm. In: International conference on parallel and distributed processing techniques and applications (PDPTA)

  16. Thakur R, Gropp W, Lusk E (1999) Data sieving and collective I/O in ROMIO. In: Proceedings of the 7th symposium on the frontiers of massively parallel computation, pp 182–189, February 1999

  17. Thakur R, Gropp W, Lusk E (2002) On implementing MPI-IO portably and with high performance. In: Proceedings of the sixth workshop on I/O in parallel and distributed systems, pp 23–32, May 1999

  18. Thakur R, Gropp W, Lusk E (2002) Optimizing non-contiguous accesses in MPI-IO. Parallel Comput 28(1):83–105

    Article  MATH  Google Scholar 

  19. Yu W, Vetter J, Canon RS, Jiang S (2007) Exploiting lustre file joining for effective collective I/O. In: CCGRID’07: Proceedings of the seventh IEEE international symposium on cluster computing and the grid. IEEE Comput Soc, Los Alamitos, pp 267–274

    Chapter  Google Scholar 

  20. Worringen J (2006) Self-adaptive hints for collective I/O. In: PVM/MPI, pp 202–211

  21. Worringen J, Träff J-L, Ritzdorf H (2003) Improving generic non-contiguous file access for mpi-io. In: Euro-PVM/MPI 03, Venice, Italy. Lecture notes in computer science, vol 2840. Springer, Berlin

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to David E. Singh.

Additional information

An erratum to this article can be found at http://dx.doi.org/10.1007/s11227-009-0269-6

Rights and permissions

Reprints and permissions

About this article

Cite this article

Singh, D.E., Isaila, F., Pichel, J.C. et al. A collective I/O implementation based on inspector–executor paradigm. J Supercomput 47, 53–75 (2009). https://doi.org/10.1007/s11227-008-0200-6

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11227-008-0200-6

Keywords

Navigation