Skip to main content

Automated Tracing of I/O Stack

  • Conference paper
Recent Advances in the Message Passing Interface (EuroMPI 2010)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 6305))

Included in the following conference series:

Abstract

Efficient execution of parallel scientific applications requires high-performance storage systems designed to meet their I/O requirements. Most high-performance I/O intensive applications access multiple layers of the storage stack during their disk operations. A typical I/O request from these applications may include accesses to high-level libraries such as MPI I/O, executing on clustered parallel file systems like PVFS2, which are in turn supported by native file systems like Linux. In order to design and implement parallel applications that exercise this I/O stack, it is important to understand the flow of I/O calls through the entire storage system. Such understanding helps in identifying the potential performance and power bottlenecks in different layers of the storage hierarchy. To trace the execution of the I/O calls and to understand the complex interactions of multiple user-libraries and file systems, we propose an automatic code instrumentation technique, which enables us to collect detailed statistics of the I/O stack. Our proposed I/O tracing tool traces the flow of I/O calls across different layers of an I/O stack, and can be configured to work with different file systems and user-libraries. It also analyzes the collected information to generate output in terms of different user-specified metrics of interest.

This work is supported in part by NSF grants 0937949, 0621402, 0724599, 0821527, 0833126, 0720749, 0621443, 0724599, and 0833131 and DOE grants DEAC02-06CH11357, DE-FG02-08ER25848, DE-SC0002156, and DESC0001283.

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

  1. Bala, V., et al.: Dynamo: A transparent dynamic optimization system. In: PLDI (2000)

    Google Scholar 

  2. Bruening, D.L.: Efficient, transparent, and comprehensive runtime code manipulation. PhD thesis, MIT, Cambridge, MA, USA (2004)

    Google Scholar 

  3. Carns, P.H., et al.: PVFS: A parallel file system for linux clusters. In: Proceedings of the Annual Linux Showcase and Conference (2000)

    Google Scholar 

  4. Chan, A., et al.: User’s guide for MPE: Extensions for MPI programs (1998)

    Google Scholar 

  5. De Bus, B., et al.: The design and implementation of FIT: A flexible instrumentation toolkit. In: Proceedings of PASTE (2004)

    Google Scholar 

  6. del Rosario, J.M., et al.: Improved parallel I/O via a two-phase run-time access strategy. SIGARCH Comput. Archit. News 21(5), 31–38 (1993)

    Article  Google Scholar 

  7. Fisher, R.T., et al.: Terascale turbulence computation using the flash3 application framework on the IBM Blue Gene/L system. IBM J. Res. Dev. 52(1/2) (2008)

    Google Scholar 

  8. Gropp, W., et al.: MPI — The Complete Reference: the MPI-2 Extensions, vol. 2. MIT Press, Cambridge (1998)

    Google Scholar 

  9. Gurumurthi, S., et al.: DRPM: Dynamic speed control for power management in server class disks. In: ISCA (2003)

    Google Scholar 

  10. HDF (Hierarchical Data Format) , http://www.hdfgroup.org

  11. Herrarte, V., Lusk, E.: Studying parallel program behavior with upshot. Technical Report ANL–91/15, Argonne National Laboratory (1991)

    Google Scholar 

  12. Hollingsworth, J.K., et al.: MDL: A language and compiler for dynamic program instrumentation. In: Malyshkin, V.E. (ed.) PaCT 1997. LNCS, vol. 1277, Springer, Heidelberg (1997)

    Google Scholar 

  13. Huck, K.A., Malony, A.D.: PerfExplorer: A Performance Data Mining Framework For Large-Scale Parallel Computing. In: SC (2005)

    Google Scholar 

  14. Karrels, E., Lusk, E.: Performance analysis of MPI programs. In: Workshop on Environments and Tools For Parallel Scientific Computing (1994)

    Google Scholar 

  15. Kumar, N., et al.: Low overhead program monitoring and profiling. In: Proceedings of PASTE (2005)

    Google Scholar 

  16. Li, J., et al.: Parallel netCDF: A high-performance scientific I/O interface. In: SC (2003)

    Google Scholar 

  17. Luk, C.-K., et al.: Pin: Building customized program analysis tools with dynamic instrumentation. In: PLDI (2005)

    Google Scholar 

  18. Moore, S., et al.: Review of performance analysis tools for MPI parallel programs. In: Cotronis, Y., Dongarra, J. (eds.) PVM/MPI 2001. LNCS, vol. 2131, p. 241. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  19. Moore, S., et al.: A scalable approach to MPI application performance analysis. In: Di Martino, B., Kranzlmüller, D., Dongarra, J. (eds.) EuroPVM/MPI 2005. LNCS, vol. 3666, pp. 309–316. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  20. Nieuwejaar, N., et al.: File-access characteristics of parallel scientific workloads. IEEE Transactions on Parallel and Distributed Systems 7, 1075–1089 (1996)

    Article  Google Scholar 

  21. Randall, D.A.: Design and testing of a global cloud-resolving model (2009)

    Google Scholar 

  22. Sankaran, R., et al.: Direct numerical simulations of turbulent lean premixed combustion. Journal of Physics: Conference Series 46(1), 38 (2006)

    Article  Google Scholar 

  23. Simitci, H.: Pablo MPI Instrumentation User’s Guide. University of Illinois. Tech. Report (1996)

    Google Scholar 

  24. Srivastava, A., Eustace, A.: ATOM: A system for building customized program analysis tools. In: PLDI (1994)

    Google Scholar 

  25. Ultrastar, I.: 36Z15 Data Sheet (2010), http://www.hitachigst.com/hdd/ultra/ul36z15.htm

  26. Vetter, J., Chambreau, C.: mpiP: Lightweight, scalable MPI profiling (2010), http://mpip.sourceforge.net/

  27. Vijayakumar, K., et al.: Scalable I/O tracing and analysis. In: Supercomputing PDSW (2009)

    Google Scholar 

  28. Zaki, O., et al.: Toward scalable performance visualization with jumpshot. Int. J. High Perform. Comput. Appl. 13(3), 277–288 (1999)

    Article  Google Scholar 

  29. Fryxell, B., et al.: FLASH: Adaptive Mesh Hydrodynamics Code. The Astrophysical Journal Supplement Series 131 (2000)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2010 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Kim, S.J. et al. (2010). Automated Tracing of I/O Stack. In: Keller, R., Gabriel, E., Resch, M., Dongarra, J. (eds) Recent Advances in the Message Passing Interface. EuroMPI 2010. Lecture Notes in Computer Science, vol 6305. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-15646-5_8

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-15646-5_8

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-15645-8

  • Online ISBN: 978-3-642-15646-5

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics