This Article 
 Bibliographic References 
 Add to: 
Striping-Aware Sequential Prefetching for Independency and Parallelism in Disk Arrays with Concurrent Accesses
August 2009 (vol. 58 no. 8)
pp. 1146-1152
Sung Hoon Baek, Samsung Electronics Co., Ltd., Yongin-si
Kyu Ho Park, Korea Advanced Institute of Science and Technology, Daejeon
Traditional studies on disk arrays have focused on parallelism or load balance of disks. However, this paper reveals that the independency of disks is more important than parallelism for concurrent reads of large numbers of processes in striped disk arrays, whereas parallelism is significant only for concurrent reads of small numbers of processes. We investigate and evaluate how much aligning sequential prefetch in strip or stripe boundaries affects the I/O performance by comparing with the proposed two types of sequential prefetching schemes, both of which are implemented in Linux kernel 2.6.18. In the experiments in this study, the combination of our schemes outperforms the original sequential prefetching of Linux by 3.2 times for 128 clients and 2.4 times for a single sequential read.

[1] P.M. Chen, E.K. Lee, G.A. Gibson, R.H. Katz, and D.A. Patterson, “RAID: High-Performance, Reliable Secondary Storage,” ACM Computing Surveys, vol. 26, no. 2, pp.145-185, June 1994.
[2] A. Thomasian, G. Gu, and C. Han, “Performance of Two-Disk Failure-Tolerant Disk Arrays,” IEEE Trans. Computers, vol. 56, no. 6, pp.799-814, June 2007.
[3] S.H. Baek and K.H. Park, “Matrix-Stripe-Cache-Based Contiguity Transform for Fragmented Writes in RAID-5,” IEEE Trans. Computers, vol. 56, no. 8, pp.1040-1054, Aug. 2007.
[4] S.H. Kim, H. Zhu, and R. Zimmermann, “Zoned-RAID,” ACM Trans. Storage, vol. 3, no. 1, Mar. 2007.
[5] D. Kenchammana-Hosekote, D. He, and J.L. Hafner, “REO: A Generic RAID Engine and Optimizer,” Proc. Fifth USENIX Conf. File and Storage Technologies, 2007.
[6] M. Kallahalla and P.J. Varman, “PC-OPT: Optimal Offline Prefetching and Caching for Parallel I/O Systems,” IEEE Trans. Computers, vol. 51, no. 11, pp.1333-1344, Nov. 2002.
[7] T. Kimbrel, A. Tomkins, R. Patterson, B. Bershad, P. Cao, E. Felten, G. Gibson, A. Karlin, and K. Li, “A Trace-Driven Comparison of Algroithms for Parallel Prefetching and Caching,” Proc. Second Symp. Operating Systems Design and Implementation, Oct. 1996.
[8] R.H. Patterson and G.A. Gibson, “Exposing I/O Concurrency with Informed Prefetching,” Proc. Third Int'l Conf. Parallel and Distributed Information Systems, pp.7-16, Aug. 1994.
[9] F. Chang and G.A. Gibson, “Automatic I/O Hint Generation through Speculative Execution,” Proc. Third Symp. Operating Systems and Design and Implementation, pp.1-14, Feb. 1999.
[10] The RAID Advisory Board, The RAID Book: A Source Book for RAID Technology, sixth ed. ENDL Publications, 1999.
[11] B.S. Gill and L.A.D. Bathen, “AMP: Adaptive Multi-Stream Prefetching in a Shared Cache,” Proc. Fifth USENIX Conf. File and Storage Technologies, 2007.
[12] K.S. Grimsrud, J.K. Archibald, and B.E. Nelson, “Multiple Prefetch Adaptive Disk Caching,” IEEE Trans. Knowledge and Data Eng., vol. 5, no. 1, pp.88-103, Feb. 1993.
[13] J. Griffioen and R. Appleton, “Reducing File System Latency Using a Predictive Approach,” Proc. USENIX Summer Technical Conf., pp.197-208, June 1994.
[14] D. Joseph and D. Grunwald, “Prefetching Using Markov Predictors,” IEEE Trans. Computers, vol. 48, no. 2, pp.121-133, Feb. 1999.
[15] T.M. Kroeger and D.D.E. Long, “Design and Implementation of a Predictive File Prefetching Algorithm,” Proc. 2001 USENIX Ann. Technical Conf., pp.105-118, June 2001.
[16] H. Lei and D. Duchamp, “An Analytical Approach to File Prefetching,” Proc. 1997 USENIX Ann. Technical Conf., Jan. 1997.
[17] X. Ding, S. Jiang, and F. Chen, “A Buffer Cache Management Scheme Exploiting Both Temporal and Spatial Localities,” ACM Trans. Storage, vol. 3, no. 2, June 2007.
[18] A.J. Smith, “Cache Memories,” ACM Computing Surveys, vol. 14, no. 3, pp.473-530, 1982.
[19] M.K. Dahlgren, M. Dubois, and P. Stenstöm, “Fixed and Adaptive Sequential Prefetching in Shared Memory Multiprocessors,” Proc. Int'l Conf. Parallel Processing, 1993.
[20] M.K. Tcheum, H. Yoon, and S.R. Maeng, “An Adaptive Sequential Prefetching Scheme in Shared-Memory Multiprocessors,” Proc. Int'l Conf. Parallel Processing, 1997.
[21] B.S. Gill and D.S. Modha, “SARC: Sequential Prefetching in Adaptive Replacement Cache,” Proc. USENIX Ann. Technical Conf., pp.293-308, Dec. 2005.
[22] S.S. Lim and K.H. Park, “TPF: TCP Plugged File System for Efficient Data Delivery over TCP,” IEEE Trans. Computers, vol. 56, no. 4, pp.459-473, Apr. 2007.
[23] M. Li, E. Varki, S. Bhatia, and A. Merchant, “TaP: Table-Based Prefetching for Storage Caches,” Proc. Sixth USENIX Conf. File and Storage Technologies, pp.81-96, Feb. 2008.
[24] D.P. Bovet and M. Cesati, Understanding the Linux Kernel, third ed. O'Reilly, Nov. 2005.
[25] B. Ali R, C. Gniady, and Y.C. Hu, “The Performance Impact of Kernel Prefetching on Buffer Cache Replacement Algorithms,” IEEE Trans. Computers, vol. 56, no. 7, pp.889-904, July 2007.
[26] X. Ding, S. Jiang, F. Chen, K. Davis, and X. Zhang, “DiskSeen: Exploiting Disk Layout and Access History to Enhance I/O Prefetch,” Proc. 2007 USENIX Ann. Technical Conf., pp.261-274, June 2007.
[27] S.H. Baek and K.H. Park, “Prefetching with Adaptive Cache Culling for Striped Disk Arrays,” Proc. 2008 USENIX Ann. Technical Conf., pp.363-376, June 2008.
[28] W. Norcutt, “The IOzone Filesystem Benchmark,” http:/www., 2007.

Index Terms:
Storage management, operating systems.
Sung Hoon Baek, Kyu Ho Park, "Striping-Aware Sequential Prefetching for Independency and Parallelism in Disk Arrays with Concurrent Accesses," IEEE Transactions on Computers, vol. 58, no. 8, pp. 1146-1152, Aug. 2009, doi:10.1109/TC.2009.14
Usage of this product signifies your acceptance of the Terms of Use.