Skip to main content

A Collective I/O Scheme Based on Compiler Analysis

  • Conference paper
  • First Online:
Languages, Compilers, and Run-Time Systems for Scalable Computers (LCR 2000)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1915))

Abstract

Current approaches to parallel I/O demand extensive user effort to obtain acceptable performance. This is in part due to difficul- ties in understanding the characteristics of a wide variety of I/O devices and in part due to inherent complexity of I/O software. While parallel I/O systems provide users with environments where persistent datasets can be shared between parallel processors, the ultimate performance of I/O-intensive codes depends largely on the relation between data access patterns and storage patterns of data in files and on disks. In cases where access patterns and storage patterns match, we can exploit parallel I/O hardware by allowing each processor to perform independent parallel I/O. To handle the cases in which data access patterns and storage pat- terns do not match, several I/O optimization techniques have been de- veloped in recent years. Collective I/O is such an optimization technique that enables each processor to do I/O on behalf of other processors if doing so improves the overall performance. While it is generally accepted that collective I/O and its variants can bring impressive improvements as far as the I/O performance is concerned, it is difficult for the programmer to use collective I/O in an optimal manner. In this paper, we propose and evaluate a compiler-directed collective I/O approach which detects the opportunities for collective I/O and inserts the necessary I/O calls in the code automatically. An important charac- teristic of the approach is that instead of applying collective I/O indis- criminately, it uses collective I/O selectively, only in cases where indepen- dent parallel I/O would not be possible. We have implemented the neces- sary algorithms in a source-to-source translator and within a stand-alone tool. Our experimental results demonstrate that our compiler-directed collective I/O scheme performs very well on different setups built using nine applications from several scientific benchmarks.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  • ACI93. A. Ancourt, F. Coelho, F. Irigoin, and R. Keryell. A linear algebra framework for static HPF code distribution. Scientific Prog., 6(1):3–28, Spring 1997.

    Google Scholar 

  • Anderson97. J. Anderson. Automatic Computation and Data Decomposition for Multi-processors. Ph.D. dissertation, Computer Systems Lab., Stanford Univ., March 1997.

    Google Scholar 

  • BL93. T. Ball and J. Larus. Branch prediction for free. In Proc. the SIGPLAN’93 Conf. on Prog. Lang. Design and Implementation, pp. 300–313, June 1993.

    Google Scholar 

  • BCK95. R. Bordawekar, A. Choudhary, K. Kennedy, C. Koelbel, and M. Palecnzy. A model and compilation strategy for out-of-core data parallel programs. In Proc. ACM-SIGPLAN Symposium on Principles and Practice of Parallel Programming, Santa Barbara, CA, 1995.

    Google Scholar 

  • BCR95. R. Bordawekar, A. Choudhary, and J. Ramanujam. Automatic optimization of communication in out-of-core stencil codes, In Proc. 10th ACM International Con-ference on Supercomputing, pages 366–373, Philadelphia, PA, May 1996.

    Google Scholar 

  • CCC97. R. Chandra, D. Chen, R. Cox, D. Maydan, N. Nedeljkovic, and J. Anderson. Data-distribution support on distributed-shared memory multi-processors. In Proc. Prog. Lang. Design and Implementation, Las Vegas, NV, 1997.

    Google Scholar 

  • CBH94. A. Choudhary, R. Bordawekar, M. Harry, R. Krishnaiyer, R. Ponnusamy, T. Singh, and R. Thakur. Passion: Parallel and scalable software for input-output. NPAC Technical Report SCCS-636, Sept 1994.

    Google Scholar 

  • CFP93. P. F. Corbett, D. G. Feitelson, J-P. Prost, and S. J. Baylor. Parallel access to files in the Vesta file system. In Proc. Supercomputing’93, pp. 472–481, Nov 1993.

    Google Scholar 

  • MPI-IO95. P. Corbett et al. Overview of the MPI-IO parallel I/O interface, In Proc. Third Workshop on I/O in Par. and Dist. Sys., IPPS’95, Santa Barbara, CA, April 1995

    Google Scholar 

  • DC94. J. del Rosario and A. Choudhary. High performance I/O for parallel computers: problems and prospects. IEEE Computer, March 1994.

    Google Scholar 

  • GBS97. N. Gloy, T. Blackwell, M. D. Smith, and B. Calder. Procedure placement using temporal ordering information. In Proc. Micro-30, Research Triangle Park, North Carolina, December 1–3, 1997.

    Google Scholar 

  • GB92. M. Gupta and P. Banerjee. Demonstration of automatic data partitioning tech-niques for parallelizing compilers on multicomputers. IEEE Transactions on Parallel and Distributed Systems, 3(2):179–193, March 1992.

    Article  Google Scholar 

  • HMA95. M. W. Hall, B. Murphy, S. Amarasinghe, S. Liao, and M. Lam. Inter-procedural analysis for parallelization. In Proc. 8th InternationalWorkshop on Lang. and Comp. for Parallel Computers, pages 61–80, Columbus, Ohio, August 1995.

    Google Scholar 

  • KMP95. W. Kelly, V. Maslov, W. Pugh, E. Rosser, T. Shpeisman, and David Wonna-cott. The Omega Library interface guide. Technical Report CS-TR-3445, CS Dept., University of Maryland, College Park, March 1995.

    Google Scholar 

  • Kotz94. D. Kotz. Disk-directed I/O for MIMD multiprocessors. In Proc. the 1994 Sym-posium on Operating Systems Design and Implementation, pages 61–74, November 1994. Updated as Dartmouth TR PCS-TR94-226 on November 8, 1994.

    Google Scholar 

  • NK96. N. Nieuwejaar and D. Kotz. The Galley parallel file system. In Proc. the 10th ACM International Conference on Supercomputing, pages 374–381, Philadelphia, PA, May 1996. ACM Press.

    Google Scholar 

  • Nitzberg95. B. J. Nitzberg. Collective Parallel I/O. PhD thesis, Department of Com-puter and Information Science, University of Oregon, December 1995.

    Google Scholar 

  • PKK95. M. Paleczny, K. Kennedy, and C. Koelbel. Compiler support for out-of-core arrays on data parallel machines. In Proc. the 5th Symposium on the Frontiers of Massively Parallel Computation, McLean, VA, February 1995, pp. 110–118.

    Google Scholar 

  • Rullman. B. Rullman. Paragon parallel file system. External Product Specification, Intel Supercomputer Systems Division.

    Google Scholar 

  • SCJ95. K. E. Seamons, Y. Chen, P. Jones, J. Jozwiak, and M. Winslett. Server-directed collective I/O in Panda. In Proceedings of Supercomputing’95, December 1995.

    Google Scholar 

  • TGL98. R. Thakur, W. Gropp, and E. Lusk. A case for using MPI’s derived data types to improve I/O performance. In Proc. of SC’98: High Performance Networking and Computing, November 1998.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2000 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Taylan Kandemir, M. (2000). A Collective I/O Scheme Based on Compiler Analysis. In: Dwarkadas, S. (eds) Languages, Compilers, and Run-Time Systems for Scalable Computers. LCR 2000. Lecture Notes in Computer Science, vol 1915. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-40889-4_1

Download citation

  • DOI: https://doi.org/10.1007/3-540-40889-4_1

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-41185-7

  • Online ISBN: 978-3-540-40889-5

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics