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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
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)
Sun, X.-H., Chen, Y., Wu, M.: Scalability of heterogeneous computing. In: Proc. of 34th International Conference on Parallel Processing (2005)
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)
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)
http://www.oracle.com/us/products/serversstorage/storage/storage-software/031855.htm (accessed: March 09, 2010)
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)
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)
Reed, D.: Scalable Input/Output: achieving system balance. The MIT Press (2003)
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)
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)
Kotz, D.F., Ellis, C.S.: Prefetching in file systems for MIMD multiprocessors. IEEE Transactions on Parallel and Distributed Systems 1(2) (1990)
May, J.: Parallel I/O for high performance computing. Morgan Kaufmann Publishing (2001)
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)
Patterson, R.H.: Informed prefetching and caching, Carnegie Mellon Ph.D. Dissertation, CMU-CS-97-204 (1997)
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)
Ravichandran, N., Paris, J.F.: Making early predictions of file accesses. In: Proc. of the 4th Int. Inf. Telecommun. Technol., pp. 122–129 (2005)
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)
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)
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)
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)
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)
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)
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)
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)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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)