Skip to main content

Pre-execution Data Prefetching with Inter-thread I/O Scheduling

  • Conference paper
Supercomputing (ISC 2013)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 7905))

Included in the following conference series:

Abstract

With the rate of computing power growing much faster than that of storage I/O access, parallel applications suffer more from I/O latency. I/O prefetching is effective in hiding I/O latency. However, existing I/O prefetching techniques are conservative and their effectiveness is limited. Recently, a more aggressive prefetching approach named pre-execution prefetching [19] has been proposed. In this paper, we first identify the drawback of this pre-execution prefetching approach, and then propose a new method to overcome the drawback by scheduling the I/O operations between the main thread and the prefetching thread. By careful I/O scheduling, our approach further extends the computation and I/O concurrency and avoids the I/O competition within one process. The results of extensive experiments, including experiments on real-life applications such as big matrix manipulation and Hill encryption, demonstrate the benefits of the proposed approach.

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. Chen, Y., Sun, X.H., Thakur, R., Roth, P.C., Gropp, W.: LACIO: a new collective I/O strategy for parallel I/O systems. In: Proc. of IEEE IPDPS 2011, pp. 794–804 (2011)

    Google Scholar 

  2. Sun, X.-H., Chen, Y., Wu, M.: Scalability of heterogeneous computing. In: Proc. of 34th International Conference on Parallel Processing (2005)

    Google Scholar 

  3. Makatos, T., Klonatos, Y., Marazakis, M., Flouris, M.D., Bilas, A.: Using transparent compression to improve ssd-based i/o caches. In: Proc. of the ACM EuroSys 2010, pp. 1–14 (2010)

    Google Scholar 

  4. Welton, B., Kimpe, D., Cope, J., Patrick, C., Iskra, K., Ross, R.: Improving I/O forwarding throughput with data compression. In: Proc. of IEEE CLUSTER 2011, pp. 438–445 (2011)

    Google Scholar 

  5. http://www.oracle.com/us/products/serversstorage/storage/storage-software/031855.htm (accessed: March 09, 2010)

  6. Ligon, W., Ross, R.: Parallel I/O and the parallel virtual file system. In: Beowulf Cluster Computing with Linux, Cambridge, MA, pp. 493–534 (2003)

    Google Scholar 

  7. Schmuck, F., Haskin, R.: GPFS: A shared-disk file system for large computing clusters. In: Proc. of the 1st USENIX Conference on File and Storage Technologies (2002)

    Google Scholar 

  8. Reed, D.: Scalable Input/Output: achieving system balance. The MIT Press (2003)

    Google Scholar 

  9. Thakur, R., Gropp, W., Lusk, E.: Data sieving and collective I/O in ROMIO. In: Proc. of the 7th Symposium on the Frontiers of Massively Parallel Computation (1999)

    Google Scholar 

  10. Ding, X., Jiang, S., Chen, F., Davis, K., Zhang, X.: DiskSeen: exploiting disk layout and access history to enhance I/O prefetch. In: Proc. of USENIX Annual Technical Conference (2007)

    Google Scholar 

  11. Kotz, D.F., Ellis, C.S.: Prefetching in file systems for MIMD multiprocessors. IEEE Transactions on Parallel and Distributed Systems 1(2) (1990)

    Google Scholar 

  12. May, J.: Parallel I/O for high performance computing. Morgan Kaufmann Publishing (2001)

    Google Scholar 

  13. Papathanasiou, A., Scott, M.: Aggressive Prefetching: an idea whose time has come. In: Proc. of the 10th Workshop on Hot Topics in Operating Systems (2005)

    Google Scholar 

  14. Patterson, R.H.: Informed prefetching and caching, Carnegie Mellon Ph.D. Dissertation, CMU-CS-97-204 (1997)

    Google Scholar 

  15. Son, S.W., Kandemir, M., Karakoy, M., Chakrabarti, D.: A compiler-directed data prefetching scheme for chip multiprocessors. In: Proc. of the 14th Symposium on Principles and Practice of Parallel Programming, pp. 209–218 (2009)

    Google Scholar 

  16. Ravichandran, N., Paris, J.F.: Making early predictions of file accesses. In: Proc. of the 4th Int. Inf. Telecommun. Technol., pp. 122–129 (2005)

    Google Scholar 

  17. Brown, A.D., Mowry, T.C., Krieger, O.: Compiler-based I/O prefetching for out of- core applications. ACM Transactions on Computer Systems 19(2) (2001)

    Google Scholar 

  18. Chen, Y., Byna, S., Sun, X.-H., Thakur, R., Gropp, W.: Exploring parallel I/O concurrency with speculative prefetching. In: Proc. of the ICPP (2008)

    Google Scholar 

  19. Chen, Y., Byna, S., Sun, X.H., Thakur, R., Gropp, W.: Hiding I/O latency with pre-execution prefetching for parallel applications. In: Proc. of SC (2008)

    Google Scholar 

  20. Zhao, Y., Yoshigoe, K.: Hiding I/O latency with parallel pre-execution prefetching. In: Proc. of the 24th IASTED International Conference on Parallel and Distributed Computing and Systems, PDCS 2012 (2012)

    Google Scholar 

  21. Buettner, D., Kunkel, J., Ludwig, T.: Using non-blocking I/O operations in high performance computing to reduce execution times. In: Ropo, M., Westerholm, J., Dongarra, J. (eds.) PVM/MPI. LNCS, vol. 5759, pp. 134–142. Springer, Heidelberg (2009)

    Chapter  Google Scholar 

  22. Lofstead, J.F., Klasky, S., Schwan, K., Podhorszki, N., Jin, C.: Flexible io and integration for scientific codes through the adaptable io system (adios). In: Proc. of the 6th International Workshop on Challenges of Large Applications in Distributed Environments, pp. 15–24 (2008)

    Google Scholar 

  23. Jin, C., Klasky, S., Hodson, S., Yu, W., Lofstead, J., Abbasi, H., Schwan, K., Wolf, M., Liao, W., Choudhary, A., Parashar, M., Docan, C., Oldfield, R.: Adaptive io system (adios). In: Cray User’s Group (2008)

    Google Scholar 

  24. Bent, J., Gibson, G., Grider, G., McClelland, B., Nowoczynski, P., Nunez, J., Polte, M., Wingate, M.: Plfs: A checkpoint filesystem for parallel applications. In: Proc. of SC 2009 (2009)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2013 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Zhao, Y., Yoshigoe, K., Xie, M. (2013). Pre-execution Data Prefetching with Inter-thread I/O Scheduling. In: Kunkel, J.M., Ludwig, T., Meuer, H.W. (eds) Supercomputing. ISC 2013. Lecture Notes in Computer Science, vol 7905. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-38750-0_30

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-38750-0_30

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-38749-4

  • Online ISBN: 978-3-642-38750-0

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics