The Community for Technology Leaders
RSS Icon
Subscribe
Issue No.08 - Aug. (2013 vol.24)
pp: 1500-1513
Shenggang Wan , Huazhong University of Science and Technology, Wuhan
Xubin He , Virginia Commonwealth University, Richmond
Jianzhong Huang , Huazhong University of Science and Technology, Wuhan
Qiang Cao , Huazhong University of Science and Technology, Wuhan
Shiyi Li , Huazhong University of Science and Technology, Wuhan
Changsheng Xie , Huazhong University of Science and Technology, Wuhan
ABSTRACT
The buffer cache plays an essential role in smoothing the gap between the upper level computational components and the lower level storage devices. A good buffer cache management scheme should be beneficial to not only the computational components, but also the storage components by reducing disk I/Os. Existing cache replacement algorithms are well optimized for disks in normal mode, but inefficient under faulty scenarios, such as a parity-based disk array with faulty disk(s). To address this issue, we propose a novel penalty-aware buffer cache replacement strategy, named Victim Disk(s) First (VDF) cache, to improve the reliability and performance of a storage system consisting of a buffer cache and disk arrays. VDF cache gives higher priority to cache the blocks on the faulty disks when the disk array fails, thus reducing the I/Os addressed directly to the faulty disks. To verify the effectiveness of the VDF cache, we have integrated VDF into the popular cache algorithms least frequently used (LFU) and least recently used (LRU), named VDF-LFU and VDF-LRU, respectively. We have conducted intensive simulations as well as a prototype implementation for disk arrays to tolerate one disk failure (RAID-5) and two disk failures (RAID-6). The simulation results have shown that VDF-LFU can reduce disk I/Os to surviving disks by up to 42.3 percent in RAID-5 and 50.7 percent in RAID-6, and VDF-LRU can reduce those by up to 36.2 percent in RAID-5 and 48.9 percent in RAID-6. Our measurement results also show that VDF-LFU can speed up the online recovery by up to 46.3 percent in RAID-5 and 47.2 percent in RAID-6 under spare-rebuilding mode, or improve the maximum system service rate by up to 47.7 percent in RAID-5 under degraded mode without a reconstruction workload. Similarly, VDF-LRU can speed up the online recovery by up to 34.6 percent in RAID-5 and 38.2 percent in RAID-6, or improve the system service rate by up to 28.4 percent in RAID-5.
INDEX TERMS
Bandwidth, Reliability, Arrays, Buffer storage, Measurement, Distributed databases, Reed-Solomon codes, reliability, Bandwidth, Reliability, Arrays, Buffer storage, Measurement, Distributed databases, Reed-Solomon codes, performance, Buffer cache replacement algorithm, reconstruction
CITATION
Shenggang Wan, Xubin He, Jianzhong Huang, Qiang Cao, Shiyi Li, Changsheng Xie, "An Efficient Penalty-Aware Cache to Improve the Performance of Parity-Based Disk Arrays under Faulty Conditions", IEEE Transactions on Parallel & Distributed Systems, vol.24, no. 8, pp. 1500-1513, Aug. 2013, doi:10.1109/TPDS.2012.266
REFERENCES
[1] S. Wu, H. Jiang, D. Feng, L. Tian, and B. Mao, "WorkOut: I/O Workload Outsourcing for Boosting RAID Reconstruction Performance," Proc. Seventh USENIX FAST Conf., 2009.
[2] D.A. Patterson, G.A. Gibson, and R.H. Katz, "A Case for Redundant Arrays of Inexpensive Disks (RAID)," Proc. ACM SIGMOD Int'l Conf., June 1988.
[3] M. Holland and G.A. Gibson, "Parity Declustering for Continuous Operation in Redundant Disk Arrays," Proc. Fifth Conf. Architectural Support for Programming Languages and Operating Systems, pp. 23-35, Oct. 1992.
[4] J. Menon and D. Mattson, "Distributed Sparing in Disk Arrays," Proc. 37th Int'l Conf. COMPCON, pp. 410-421, 1992.
[5] Q. Xin, P.L. Miller, and T.J.E. Schwarz, "Evaluation of Distributed Recovery in Large-Scale Storage Systems," Proc. IEEE 13th Int'l Symp. High Performance Distributed Computing, pp. 172-181, June 2004.
[6] G.K.M, X. Li, and J.J. Wylie, "Flat XOR-Based Erasure Codes in Storage Systems: Constructions, Efficient Recovery, and Tradeoffs," Proc. IEEE 26th Mass Storage Systems and Technologies Conf. (MSST), 2010.
[7] S. Wan, Q. Cao, C.S. Xie, B. Eckart, and X. He, "Code-M: A Non-MDS Erasure Code Scheme to Support Fast Recovery from up to Two-Disk Failures in Storage Systems," Proc. IEEE/IFIP DSN Int'l Conf. Dependable Systems and Networks, 2010.
[8] R.Y. Hou, J. Meno, and Y.N. Patt, "Balancing I/O Response Time and Disk Rebuild Time in a RAID5 Disk Array," Proc. 26th Hawaii Int'l Conf. System Sciences, Jan. 1993.
[9] J.Y.B. Lee and J.C.S. Lui, "Automatic Recovery from Disk Failure in Continuous-Media Servers," The Computer J., vol. 13, no. 5, pp. 499-515, May 2002.
[10] M. Holland, G.A. Gibson, and D.P. Siewiorek, "Fast, On-Line Failure Recovery in Redundant Disk Arrays," Proc. 23rd Int'l Symp. Fault-Tolerant Computing, pp. 422-431, 1993.
[11] L. Tian, D. Feng, H. Jiang, K. Zhou, L. Zeng, J. Chen, Z. Wang, and Z. Song, "PRO: A Popularity-Based Multi-Threaded Reconstruction Optimization for RAID-Structured Storage Systems," Proc. Fifth USENIX FAST Conf., pp. 277-290, 2007.
[12] L. Tian, H. Jiang, and D. Feng, "Implementation and Evaluation of a Popularity-Based Reconstruction Optimization Algorithm in Availability-Oriented Disk Arrays," Proc. IEEE 24th Mass Storage Systems and Technologies Conf. (MSST), pp. 233-238, 2007.
[13] R.R. Muntz and J.C.S. Lui, "Performance Analysis of Disk Arrays under Failure," Proc. 16th Int'l Conf. Very Large Databases, pp. 162-173, 1990.
[14] T. Xie and H. Wang, "MICRO: A Multilevel Caching-Based Reconstruction Optimization for Mobile Storage Systems," IEEE Trans. Computers, vol. 57, no. 10, pp. 1386-1398, Oct. 2008.
[15] A. Dan and D. Towsley, "An Approximate Analysis of the LRU and FIFO Buffer Replacement Schemes," Proc. ACM SIGMETRICS Measurement and Modeling of Computer Systems Conf. (SIGMETRICS), pp. 143-152, 1990.
[16] J.T. Robinson and M.V. Devarakonda, "Data Cache Management Using Frequency-Based Replacement," Proc. ACM SIGMETRICS Measurement and Modeling of Computer Systems Conf. (SIGMETRICS), pp. 134-142, 1990.
[17] E.J. O'Neil, P.E. O'Neil, and G. Weikum, "The LRU-K Page Replacement Algorithm for Database Disk Buffering," Proc. ACM SIGMOD Int'l Conf. Management of Data, pp. 297-306, 1993.
[18] E.J. O'Neil, P.E. O'Neil, and G. Weikum, "An Optimality Proof of the LRU-K Page Replacement Algorithm," J. ACM, vol. 46, no. 1, pp. 92-112, Jan. 1999.
[19] T. Johnson and D. Shasha, "2Q: A Low Overhead High Performance Buffer Management Replacement Algorithm," Proc. 20th Int'l Conf. Very Large Databases, pp. 439-450, 1994.
[20] D. Lee, J. Choi, J.H. Kim, S.H. Noh, S.L. Min, Y. Cho, and C.S. Kim, "On the Existence of a Spectrum of Policies That Subsumes the Least Recently Used (LRU) and Least Frequently Used (LFU) Policies," Proc. ACM SIGMETRICS Measurement and Modeling of Computer Systems Conf. (SIGMETRICS), 1994.
[21] D. Lee, J. Choi, J.H. Kim, S.H. Noh, S.L. Min, Y. Cho, and C.S. Kim, "LRFU: A Spectrum of Policies that Subsumes the Least Recently Used and Least Frequently Used Policies," IEEE Trans. Computers, vol. 50, no. 12, pp. 1352-1361, Dec. 2001.
[22] Y. Zhou, J.F. Philbin, and K. Li, "The Multi-Queue Replacement Algorithm for Second Level Buffer Caches," Proc. USENIX Ann. Technical Conf., 2001.
[23] Y. Zhou, J.F. Philbin, and K. Li, "Second-Level Buffer Cache Management," IEEE Trans. Parallel and Distributed Systems, vol. 15, no. 6, pp. 505-519, June 2004.
[24] S. Jiang and X. Zhang, "LIRS: An Efficient Low Inter-Reference Recency Set Replacement Policy to Improve Buffer Cache Performance," Proc. ACM SIGMETRICS Measurement and Modeling of Computer Systems Conf. (SIGMETRICS), pp. 31-42, 2002.
[25] S. Jiang and X. Zhang, "Making LRU Friendly to Weak Locality Workloads: A Novel Replacement Algorithm to Improve Buffer Cache Performance," IEEE Trans. Computers, vol. 54, no. 8, pp. 939-952, Aug. 2005.
[26] N. Megiddo and D.S. Modha, "ARC: A Self-Tuning, Low Overhead Replacement Cache," Proc. Second USENIX FAST Conf., pp. 115-130, 2003.
[27] S. Jiang, X. Ding, F. Chen, E. Tan, and X. Zhang, "DULO: An Effective Buffer Cache Management Scheme to Exploit Both Temporal and Spatial Localities," Proc. Fourth USENIX FAST Conf., 2005.
[28] X. Ding, S. Jiang, F. Chen, K. Davis, and X. Zhang, "DiskSeen: Exploiting Disk Layout and Access History to Enhance I/O Prefetch," Proc. USENIX Ann. Technical Conf., 2007.
[29] "Raid6 Definition in Dictionary r.," SNIA, http://www.snia.org/education/dictionary r, 2007.
[30] I.S. Reed and G. Solomon, "Polynomial Codes over Certain Finite Fields," J. Soc. for Industrial and Applied Math., vol. 8, pp. 300-304, June 1960.
[31] J. Blomer, M. Kalfane, R. Karp, M. Karpinski, M. Luby, and D. Zuckerman, "An XOR-Based Erasure-Resilient Coding Scheme," Technical Report TR-95-048, Int'l Computer Science Inst., Aug. 1995.
[32] M. Blaum, J. Brady, J. Bruck, and J. Menon, "EVENODD: An Efficient Scheme for Tolerating Double Disk Failures in Raid Architectures," IEEE Trans. Computers, vol. 44, no. 2 pp. 192-202, Feb. 1995.
[33] P. Corbett, B. English, A. Goel, T. Grcanac, S. Kleiman, J. Leong, and S. Sankar, "Row-Diagonal Parity for Double Disk Failure Correction," Proc. Third USENIX FAST Conf. File and Storage Technologies, pp. 1-14, Mar. 2004.
[34] M. Blaum and R.M. Roth, "On Lowest Density MDS Codes," IEEE Trans. Information Theory, vol. 45, no. 1 pp. 46-59, Jan. 1999.
[35] J.S. Plank, "The RAID-6 Liberation Codes," Proc. Sixth USENIX FAST Conf. File and Storage Technologies, pp. 97-110, Feb. 2008.
[36] Y. Cassuto and J. Bruck, "Cyclic Lowest Density MDS Array Codes," IEEE Trans. Information Theory, vol. 55, no. 4 pp. 1721-1729, Apr. 2009.
[37] L. Xu and J. Bruck, "X-Code: MDS Array Codes with Optimal Encoding," IEEE Trans. Information Theory, vol. 45, no. 1 pp. 272-276, Jan. 1999.
[38] C. Jin, H. Jiang, D. Feng, and L. Tian, "P-Code: A New RAID-6 Code with Optimal Properties" Proc. 23rd Int'l Conf. Supercomputing (ICS '09), pp. 360-369, June 2009.
[39] C. Park, "Efficient Placement of Parity and Data to Tolerate Two Disk Failures in Disk Array Systems," IEEE Trans. Parallel and Distributed Systems, vol. 6, no. 11 pp. 1177-1184, Nov. 1995.
[40] J.L. Hafner, "HoVer Erasure Codes for Disk Arrays," Proc. IEEE/IFIP 36th Ann. Int'l Conf. Dependable Systems and Networks (DSN '06), pp. 217-226, June 2006.
[41] C. Wu, S. Wan, X. He, Q. Cao, and C. Xie, "H-Code: A Hybrid MDS Array Code to Optimize Partial Stripe Writes in Raid-6," Proc. IEEE 25th Int'l Parallel and Distributed Processing Symp., 2011.
[42] C. Wu, X. He, G. Wu, S. Wan, X. Liu, Q. Cao, and C. Xie, "HDP Code: A Horizontal-Diagonal Parity Code to Optimize I/O Load Balancing in Raid-6," Proc. IEEE 41th Int'l Conf. Dependable Systems and Networks, June 2011.
[43] S. Kavalanekar, B. Worthington, Q. Zhang, and V. Sharda, "Characterization of Storage Workload Traces from Production Windows Servers," Proc. IEEE Int'l Symp. Workload Characterization, 2008.
[44] S. Wan, Q. Cao, J. Huang, S. Li, X. Li, S. Zhan, C. Xie, L. Yu, and X. He, "Victim Disk First: An Asymmetric Cache to Boost the Performance of Disk Arrays under Faulty Conditions," Proc. USENIX Ann. Technical Conf., June 2011.
29 ms
(Ver 2.0)

Marketing Automation Platform Marketing Automation Tool