DMCA
Hdp Code: A Horizontal-Diagonal Parity Code to Optimize i/o Load Balancing (2011)
Venue: | in Raid-6. Proc. 2011 IEEE/IFIP 41st Int. Conference on Dependable Systems&Networks, DSN’11 |
Citations: | 4 - 3 self |
Citations
852 | A Case for Redundant Arrays of Inexpensive Disks (RAID
- Patterson, Gibson, et al.
- 1988
(Show Context)
Citation Context ...rizontal and diagonal/anti-diagonal parities. The corresponding MDS code, called HDP code, distributes parity elements uniformly in each disk to balance the I/O workloads. HDP also achieves high reliability via speeding up the recovery under single or double disk failure. Our analysis shows that HDP provides better balanced I/O and higher reliability compared to other popular MDS codes. Index Terms—RAID-6; MDS Code; Load Balancing; Horizontal Parity; Diagonal/Anti-diagonal Parity; Performance Evaluation; Reliability I. INTRODUCTION Redundant Arrays of Inexpensive (or Independent) Disks (RAID) [25] [7] has become one of most popular choices to supply high reliability and high performance storage services with acceptable spatial and monetary cost. In recent years, with the increasing possibility of multiple disk failures in large storage systems [33] [26], RAID-6 has received too much attention due to the fact that it can tolerate concurrent failures of any two disks. There are many implementations of RAID-6 based on various erasure coding technologies, of which Maximum Distance Separable (MDS) codes are popular. MDS codes can offer protection against disk failures with given amount of r... |
614 |
Polynomial codes over certain finite fields
- Reed, Solomon
- 1960
(Show Context)
Citation Context ...and monetary cost. In recent years, with the increasing possibility of multiple disk failures in large storage systems [33] [26], RAID-6 has received too much attention due to the fact that it can tolerate concurrent failures of any two disks. There are many implementations of RAID-6 based on various erasure coding technologies, of which Maximum Distance Separable (MDS) codes are popular. MDS codes can offer protection against disk failures with given amount of redundancy [6]. According to the structure and distribution of different parities, MDS codes can be categorized into horizontal codes [30], [5], [3], [8], [4], [28], [27] and vertical codes [6], [41], [42], [23]. A typical horizontal code based RAID-6 storage system is composed of m + 2 disk drives. The first m disk drives are used to store original data, and the last two are used as parity disk drives. Horizontal codes have a common disadvantage that m elements must be read to recover any one other element. Vertical codes have been proposed that disperse the parity across all disk drives, including X-Code [42], Cyclic code [6], and P-Code [23]. All MDS codes have a common disadvantage that m elements must be read to recover any... |
348 | RAID: High-performance, reliable secondary storage.
- Chen, Lee
- 1994
(Show Context)
Citation Context ...tal and diagonal/anti-diagonal parities. The corresponding MDS code, called HDP code, distributes parity elements uniformly in each disk to balance the I/O workloads. HDP also achieves high reliability via speeding up the recovery under single or double disk failure. Our analysis shows that HDP provides better balanced I/O and higher reliability compared to other popular MDS codes. Index Terms—RAID-6; MDS Code; Load Balancing; Horizontal Parity; Diagonal/Anti-diagonal Parity; Performance Evaluation; Reliability I. INTRODUCTION Redundant Arrays of Inexpensive (or Independent) Disks (RAID) [25] [7] has become one of most popular choices to supply high reliability and high performance storage services with acceptable spatial and monetary cost. In recent years, with the increasing possibility of multiple disk failures in large storage systems [33] [26], RAID-6 has received too much attention due to the fact that it can tolerate concurrent failures of any two disks. There are many implementations of RAID-6 based on various erasure coding technologies, of which Maximum Distance Separable (MDS) codes are popular. MDS codes can offer protection against disk failures with given amount of redun... |
245 | Disk failures in the real world: what does an MTTF of 1,000,000 hours mean to you
- Schroeder, Gibson
- 2007
(Show Context)
Citation Context ...le disk failure. Our analysis shows that HDP provides better balanced I/O and higher reliability compared to other popular MDS codes. Index Terms—RAID-6; MDS Code; Load Balancing; Horizontal Parity; Diagonal/Anti-diagonal Parity; Performance Evaluation; Reliability I. INTRODUCTION Redundant Arrays of Inexpensive (or Independent) Disks (RAID) [25] [7] has become one of most popular choices to supply high reliability and high performance storage services with acceptable spatial and monetary cost. In recent years, with the increasing possibility of multiple disk failures in large storage systems [33] [26], RAID-6 has received too much attention due to the fact that it can tolerate concurrent failures of any two disks. There are many implementations of RAID-6 based on various erasure coding technologies, of which Maximum Distance Separable (MDS) codes are popular. MDS codes can offer protection against disk failures with given amount of redundancy [6]. According to the structure and distribution of different parities, MDS codes can be categorized into horizontal codes [30], [5], [3], [8], [4], [28], [27] and vertical codes [6], [41], [42], [23]. A typical horizontal code based RAID-6 stora... |
240 | Failure trends in a large disk drive population
- Pinheiro, Weber, et al.
- 2007
(Show Context)
Citation Context ...sk failure. Our analysis shows that HDP provides better balanced I/O and higher reliability compared to other popular MDS codes. Index Terms—RAID-6; MDS Code; Load Balancing; Horizontal Parity; Diagonal/Anti-diagonal Parity; Performance Evaluation; Reliability I. INTRODUCTION Redundant Arrays of Inexpensive (or Independent) Disks (RAID) [25] [7] has become one of most popular choices to supply high reliability and high performance storage services with acceptable spatial and monetary cost. In recent years, with the increasing possibility of multiple disk failures in large storage systems [33] [26], RAID-6 has received too much attention due to the fact that it can tolerate concurrent failures of any two disks. There are many implementations of RAID-6 based on various erasure coding technologies, of which Maximum Distance Separable (MDS) codes are popular. MDS codes can offer protection against disk failures with given amount of redundancy [6]. According to the structure and distribution of different parities, MDS codes can be categorized into horizontal codes [30], [5], [3], [8], [4], [28], [27] and vertical codes [6], [41], [42], [23]. A typical horizontal code based RAID-6 storage sy... |
186 | EVENODD: An efficient scheme for tolerating double disk failures in RAID architectures
- Blaum, Brady, et al.
- 1995
(Show Context)
Citation Context ...y cost. In recent years, with the increasing possibility of multiple disk failures in large storage systems [33] [26], RAID-6 has received too much attention due to the fact that it can tolerate concurrent failures of any two disks. There are many implementations of RAID-6 based on various erasure coding technologies, of which Maximum Distance Separable (MDS) codes are popular. MDS codes can offer protection against disk failures with given amount of redundancy [6]. According to the structure and distribution of different parities, MDS codes can be categorized into horizontal codes [30], [5], [3], [8], [4], [28], [27] and vertical codes [6], [41], [42], [23]. A typical horizontal code based RAID-6 storage system is composed of m + 2 disk drives. The first m disk drives are used to store original data, and the last two are used as parity disk drives. Horizontal codes have a common disadvantage that m elements must be read to recover any one other element. Vertical codes have been proposed that disperse the parity across all disk drives, including X-Code [42], Cyclic code [6], and P-Code [23]. All MDS codes have a common disadvantage that m elements must be read to recover any one other... |
178 | Row-Diagonal Parity for double disk failure correction.
- Corbett
- 2004
(Show Context)
Citation Context ...t. In recent years, with the increasing possibility of multiple disk failures in large storage systems [33] [26], RAID-6 has received too much attention due to the fact that it can tolerate concurrent failures of any two disks. There are many implementations of RAID-6 based on various erasure coding technologies, of which Maximum Distance Separable (MDS) codes are popular. MDS codes can offer protection against disk failures with given amount of redundancy [6]. According to the structure and distribution of different parities, MDS codes can be categorized into horizontal codes [30], [5], [3], [8], [4], [28], [27] and vertical codes [6], [41], [42], [23]. A typical horizontal code based RAID-6 storage system is composed of m + 2 disk drives. The first m disk drives are used to store original data, and the last two are used as parity disk drives. Horizontal codes have a common disadvantage that m elements must be read to recover any one other element. Vertical codes have been proposed that disperse the parity across all disk drives, including X-Code [42], Cyclic code [6], and P-Code [23]. All MDS codes have a common disadvantage that m elements must be read to recover any one other elem... |
122 | Zuckerman,“An xor-based erasure-resilient coding scheme,”
- Bloemer, Kalfane, et al.
- 1995
(Show Context)
Citation Context ...netary cost. In recent years, with the increasing possibility of multiple disk failures in large storage systems [33] [26], RAID-6 has received too much attention due to the fact that it can tolerate concurrent failures of any two disks. There are many implementations of RAID-6 based on various erasure coding technologies, of which Maximum Distance Separable (MDS) codes are popular. MDS codes can offer protection against disk failures with given amount of redundancy [6]. According to the structure and distribution of different parities, MDS codes can be categorized into horizontal codes [30], [5], [3], [8], [4], [28], [27] and vertical codes [6], [41], [42], [23]. A typical horizontal code based RAID-6 storage system is composed of m + 2 disk drives. The first m disk drives are used to store original data, and the last two are used as parity disk drives. Horizontal codes have a common disadvantage that m elements must be read to recover any one other element. Vertical codes have been proposed that disperse the parity across all disk drives, including X-Code [42], Cyclic code [6], and P-Code [23]. All MDS codes have a common disadvantage that m elements must be read to recover any one ... |
115 | Parity declustering for continuous operation in redundant disk arrays.
- Holland, Gibson
- 1992
(Show Context)
Citation Context ...he paper in Section VII. II. PROBLEMS OF EXISTING MDS CODES AND MOTIVATIONS OF OUR WORK To improve the efficiency, performance, and reliability of the RAID-6 storage systems, different MDS coding approaches are proposed while they suffer from unbalanced I/O and high cost to recover single disk. In this section we discuss the problems of existing MDS codes and the motivations of our work. To facilitate the discussion, we summarize the symbols used in this paper in Table I. A. Load Balancing Problem in Existing MDS Codes RAID-5 keeps load balancing well based on the parity declustering approach [19]. Unfortunately, due to dedicated distribution of parities, load balancing is a big problem in all horizontal codes in RAID-6. For example, Figure 1 shows the load balancing problem in RDP [8] and the horizontal parity layout shown in Figure 1(a). Assuming Ci,j delegates the element in ith row and jth column, in a period there are six reads and six writes to a stripe as shown in Figure 1(c). For a single read on a data element, there is just one I/O operation. However, for a single write on a data element, there are at least six I/O operations2, one read and one write on data elements, two rea... |
114 | X-Code: MDS array codes with optimal encoding.
- Xu, Bruck
- 1999
(Show Context)
Citation Context ... of multiple disk failures in large storage systems [33] [26], RAID-6 has received too much attention due to the fact that it can tolerate concurrent failures of any two disks. There are many implementations of RAID-6 based on various erasure coding technologies, of which Maximum Distance Separable (MDS) codes are popular. MDS codes can offer protection against disk failures with given amount of redundancy [6]. According to the structure and distribution of different parities, MDS codes can be categorized into horizontal codes [30], [5], [3], [8], [4], [28], [27] and vertical codes [6], [41], [42], [23]. A typical horizontal code based RAID-6 storage system is composed of m + 2 disk drives. The first m disk drives are used to store original data, and the last two are used as parity disk drives. Horizontal codes have a common disadvantage that m elements must be read to recover any one other element. Vertical codes have been proposed that disperse the parity across all disk drives, including X-Code [42], Cyclic code [6], and P-Code [23]. All MDS codes have a common disadvantage that m elements must be read to recover any one other element. This limitation reduces the reconstruction perf... |
81 | Pyramid codes: flexible schemes to trade space for access efficiency in reliable data storage systems,”
- Huang, Chen, et al.
- 2007
(Show Context)
Citation Context ...s erasure coding technologies, including Reed-Solomon code [30], Cauchy Reed-Solomon code [5], EVENODD code [3], RDP code [8], Blaum-Roth code [4], Liberation code [28], Liber8tion code [27], Cyclic code [6], B-Code [41], X-Code [42], and P-Code [23]. These codes are Maximum Distance Separable (MDS) codes, which offer protection against disk failures with given amount of redundancy [6]. RSL-Code [10], RL-Code [11] and STAR [21] are MDS codes tolerating concurrent failures of three disks. In addition to MDS codes, some non-MDS codes, such as WEAVER [16], HoVer [17], MEL code [39], Pyramid code [20], Flat XOR-Code [13] and Code-M [36], also offer resistance to concurrent failures of any two disks, but they have higher storage overhead. And there are some approaches to improve the efficiency of different codes [35][38][40][24]. In this paper, we focus on MDS codes in RAID-6, which can be further divided into two categories: horizontal codes and vertical codes. 1) Horizontal MDS Codes: Reed-Solomon code [30] is based on addition and multiply operations over certain finite fields GF (2µ). The addition in Reed-Solomon code can be implemented by XOR operation, but the multiply is much more co... |
81 | Data partitioning and load balancing in parallel disk systems.
- Scheuermann, Weikum, et al.
- 1998
(Show Context)
Citation Context ...er any one other element. This limitation reduces the reconstruction performance during single disk or double disk failures. However, most MDS codes based RAID-6 systems suffer from unbalanced I/O, especially for write-intensive applications. Typical horizontal codes have dedicated parities, which need to be updated for any write operations, and thus cause higher workload on parity disks. Unbalanced I/O also occurs on some vertical codes like P-Code [23] consisting of a prime number of disks due to unevenly distributed parities in a stripe1. Even if many dynamic load balancing approaches [12] [32] [22] [1] [18] [2] are given for disk arrays, it is still difficult to adjust the high workload in parity disks and handle the override on data disks. Although some vertical codes such as X-Code [42] can balance the I/O but they have high cost to recover single disk failure as shown in the next section. The unbalanced I/O hurts the overall storage system performance and the original single/double disk recovery method has some limitation to improve the reliability. To address this issue, we propose a new parity called Horizontal-Diagonal Parity (HDP) , which takes advantage of both horizontal p... |
72 |
Y.H.,“ Observations on using genetic algorithms for dynamic Load Balancing,”
- Zomaya, Teh
- 2001
(Show Context)
Citation Context ...s of the two parity elements mod p is equal to the data element’s column number. From the constructions of above vertical codes, we observe that P-Code may suffer from unbalanced I/O due to uneven distribution of parities as shown in Figure 2. Although other vertical codes like X-Code keep load balancing well, they also have high I/O cost to recover single disk failure compared to horizontal codes (as shown in Figure 4). We summarize our HDP code and other popular codes in Table VII. B. Load Balancing in Disk Arrays Load balancing is an important issue in parallel and distributed systems area [43], and there are many approaches for achieving the load balancing in disk arrays. At the beginning of 1990s, Holland et al. [19] investigated that parity declustering was an effective way to keep load balancing in RAID-5, and Weikum et al. [37] found that dynamic file allocation can help achieving load balancing. Ganger et al. [12] compare the disk striping with the conventional data allocation in disk arrays, and find that disk striping is a better method and can provide significantly improved load balance with reduced complexity for various applications. Scheuermann et al. [31] [32] propose a... |
56 |
On lowest density MDS codes.
- Blaum, Roth
- 1999
(Show Context)
Citation Context ... recent years, with the increasing possibility of multiple disk failures in large storage systems [33] [26], RAID-6 has received too much attention due to the fact that it can tolerate concurrent failures of any two disks. There are many implementations of RAID-6 based on various erasure coding technologies, of which Maximum Distance Separable (MDS) codes are popular. MDS codes can offer protection against disk failures with given amount of redundancy [6]. According to the structure and distribution of different parities, MDS codes can be categorized into horizontal codes [30], [5], [3], [8], [4], [28], [27] and vertical codes [6], [41], [42], [23]. A typical horizontal code based RAID-6 storage system is composed of m + 2 disk drives. The first m disk drives are used to store original data, and the last two are used as parity disk drives. Horizontal codes have a common disadvantage that m elements must be read to recover any one other element. Vertical codes have been proposed that disperse the parity across all disk drives, including X-Code [42], Cyclic code [6], and P-Code [23]. All MDS codes have a common disadvantage that m elements must be read to recover any one other element. ... |
55 | Server-Storage Virtualization: Integration and Load Balancing
- Singh, Korupolu, et al.
- 2008
(Show Context)
Citation Context ...isk striping is a better method and can provide significantly improved load balance with reduced complexity for various applications. Scheuermann et al. [31] [32] propose a data partitioning method to optimize disk striping and achieves load balance by proper file allocation and dynamic redistributions of the data access. After 2000, some patents by the industry solve the load balancing problem in disk array [22] [1] [18] [2]. Recently, with the development of virtualization in computer systems, a few approaches focus on dynamic load balancing in virtual storage devices and virtual disk array [34] [14] [15]. VII. CONCLUSIONS In this paper, we propose the Horizontal-Diagonal Parity Code (HDP Code) to optimize the I/O load balancing for RAID-6 by taking advantage of both horizontal and diagonal/anti-diagonal parities in MDS codes. HDP Code is a solution for an array of p − 1 disks, where p is a prime number. The parities in HDP Code include horizontal-diagonal parity and anti-diagonal parity, where all parity elements are distributed among disks in the array to achieve well balanced I/O. Our mathematic analysis shows that HDP Code achieves the best load balancing and high reliability com... |
53 |
Weaver codes: Highly fault tolerant erasure codes for storage systems.
- Hafner
- 2005
(Show Context)
Citation Context ...ed many RAID-6 implementations based on various erasure coding technologies, including Reed-Solomon code [30], Cauchy Reed-Solomon code [5], EVENODD code [3], RDP code [8], Blaum-Roth code [4], Liberation code [28], Liber8tion code [27], Cyclic code [6], B-Code [41], X-Code [42], and P-Code [23]. These codes are Maximum Distance Separable (MDS) codes, which offer protection against disk failures with given amount of redundancy [6]. RSL-Code [10], RL-Code [11] and STAR [21] are MDS codes tolerating concurrent failures of three disks. In addition to MDS codes, some non-MDS codes, such as WEAVER [16], HoVer [17], MEL code [39], Pyramid code [20], Flat XOR-Code [13] and Code-M [36], also offer resistance to concurrent failures of any two disks, but they have higher storage overhead. And there are some approaches to improve the efficiency of different codes [35][38][40][24]. In this paper, we focus on MDS codes in RAID-6, which can be further divided into two categories: horizontal codes and vertical codes. 1) Horizontal MDS Codes: Reed-Solomon code [30] is based on addition and multiply operations over certain finite fields GF (2µ). The addition in Reed-Solomon code can be implemented by X... |
50 | The RAID-6 liberation codes.
- Plank
- 2008
(Show Context)
Citation Context ...nt years, with the increasing possibility of multiple disk failures in large storage systems [33] [26], RAID-6 has received too much attention due to the fact that it can tolerate concurrent failures of any two disks. There are many implementations of RAID-6 based on various erasure coding technologies, of which Maximum Distance Separable (MDS) codes are popular. MDS codes can offer protection against disk failures with given amount of redundancy [6]. According to the structure and distribution of different parities, MDS codes can be categorized into horizontal codes [30], [5], [3], [8], [4], [28], [27] and vertical codes [6], [41], [42], [23]. A typical horizontal code based RAID-6 storage system is composed of m + 2 disk drives. The first m disk drives are used to store original data, and the last two are used as parity disk drives. Horizontal codes have a common disadvantage that m elements must be read to recover any one other element. Vertical codes have been proposed that disperse the parity across all disk drives, including X-Code [42], Cyclic code [6], and P-Code [23]. All MDS codes have a common disadvantage that m elements must be read to recover any one other element. This l... |
42 |
Dynamic file allocation in disk arrays.
- Weikum, Zabback, et al.
- 1991
(Show Context)
Citation Context ... Although other vertical codes like X-Code keep load balancing well, they also have high I/O cost to recover single disk failure compared to horizontal codes (as shown in Figure 4). We summarize our HDP code and other popular codes in Table VII. B. Load Balancing in Disk Arrays Load balancing is an important issue in parallel and distributed systems area [43], and there are many approaches for achieving the load balancing in disk arrays. At the beginning of 1990s, Holland et al. [19] investigated that parity declustering was an effective way to keep load balancing in RAID-5, and Weikum et al. [37] found that dynamic file allocation can help achieving load balancing. Ganger et al. [12] compare the disk striping with the conventional data allocation in disk arrays, and find that disk striping is a better method and can provide significantly improved load balance with reduced complexity for various applications. Scheuermann et al. [31] [32] propose a data partitioning method to optimize disk striping and achieves load balance by proper file allocation and dynamic redistributions of the data access. After 2000, some patents by the industry solve the load balancing problem in disk array [22... |
38 | STAR: An efficient coding scheme for correcting triple storage node failures.
- Huang, Xu
- 2008
(Show Context)
Citation Context ...vide storage reliability, RAID-6 is known to be able to tolerate concurrent failures of any two disks. Researchers have presented many RAID-6 implementations based on various erasure coding technologies, including Reed-Solomon code [30], Cauchy Reed-Solomon code [5], EVENODD code [3], RDP code [8], Blaum-Roth code [4], Liberation code [28], Liber8tion code [27], Cyclic code [6], B-Code [41], X-Code [42], and P-Code [23]. These codes are Maximum Distance Separable (MDS) codes, which offer protection against disk failures with given amount of redundancy [6]. RSL-Code [10], RL-Code [11] and STAR [21] are MDS codes tolerating concurrent failures of three disks. In addition to MDS codes, some non-MDS codes, such as WEAVER [16], HoVer [17], MEL code [39], Pyramid code [20], Flat XOR-Code [13] and Code-M [36], also offer resistance to concurrent failures of any two disks, but they have higher storage overhead. And there are some approaches to improve the efficiency of different codes [35][38][40][24]. In this paper, we focus on MDS codes in RAID-6, which can be further divided into two categories: horizontal codes and vertical codes. 1) Horizontal MDS Codes: Reed-Solomon code [30] is based on... |
38 | PRO: A Popularitybased Multi-threaded Reconstruction Optimization for RAID-Structured Storage Systems.
- Tian, Feng, et al.
- 2007
(Show Context)
Citation Context ...], X-Code [42], and P-Code [23]. These codes are Maximum Distance Separable (MDS) codes, which offer protection against disk failures with given amount of redundancy [6]. RSL-Code [10], RL-Code [11] and STAR [21] are MDS codes tolerating concurrent failures of three disks. In addition to MDS codes, some non-MDS codes, such as WEAVER [16], HoVer [17], MEL code [39], Pyramid code [20], Flat XOR-Code [13] and Code-M [36], also offer resistance to concurrent failures of any two disks, but they have higher storage overhead. And there are some approaches to improve the efficiency of different codes [35][38][40][24]. In this paper, we focus on MDS codes in RAID-6, which can be further divided into two categories: horizontal codes and vertical codes. 1) Horizontal MDS Codes: Reed-Solomon code [30] is based on addition and multiply operations over certain finite fields GF (2µ). The addition in Reed-Solomon code can be implemented by XOR operation, but the multiply is much more complex. Due to high computational complexity, ReedSolomon code is not very practical. Cauchy Reed-Solomon code [5] addresses this problem and improves Reed-Solomon code by changing the multiply operations over GF (2µ) in... |
36 |
HoVer erasure codes for disk arrays.
- Hafner
- 2006
(Show Context)
Citation Context ... code using HDP parities is called HorizontalDiagonal Parity Code (HDP Code) and distributes all parities evenly to achieve balanced I/O. Depending on the number of disks in a disk array, HDP Code is a solution for p− 1 disks, where p is a prime number. We make the following contributions in this work: • We propose a novel and efficient XOR-based RAID-6 code (HDP Code) to offer not only the property provided by typical MDS codes such as optimal storage efficiency, 1A stipe means a complete (connected) set of data and parity elements that are dependently related by parity computation relations [17]. Typically, a stripe is a matrix as in our paper. but also best load balancing and high reliability due to horizontal-diagonal parity. • We conduct a series of quantitative analysis on various codes, and show that HDP Code achieves better load balancing and higher reliability compared to other existing coding methods. The rest of this paper continues as follows: Section II discusses the motivation of this paper and details the problems of existing RAID-6 coding methods. HDP Code is described in detail in Section III. Load balancing and reliability analysis are given in Section IV and V. Secti... |
36 | Low-density MDS codes and factors of complete graphs.
- Xu
- 1999
(Show Context)
Citation Context ...bility of multiple disk failures in large storage systems [33] [26], RAID-6 has received too much attention due to the fact that it can tolerate concurrent failures of any two disks. There are many implementations of RAID-6 based on various erasure coding technologies, of which Maximum Distance Separable (MDS) codes are popular. MDS codes can offer protection against disk failures with given amount of redundancy [6]. According to the structure and distribution of different parities, MDS codes can be categorized into horizontal codes [30], [5], [3], [8], [4], [28], [27] and vertical codes [6], [41], [42], [23]. A typical horizontal code based RAID-6 storage system is composed of m + 2 disk drives. The first m disk drives are used to store original data, and the last two are used as parity disk drives. Horizontal codes have a common disadvantage that m elements must be read to recover any one other element. Vertical codes have been proposed that disperse the parity across all disk drives, including X-Code [42], Cyclic code [6], and P-Code [23]. All MDS codes have a common disadvantage that m elements must be read to recover any one other element. This limitation reduces the reconstructio... |
28 | Determining fault tolerance of XORbased erasure codes efficiently.
- Wylie, Swaminathan
- 2007
(Show Context)
Citation Context ...ons based on various erasure coding technologies, including Reed-Solomon code [30], Cauchy Reed-Solomon code [5], EVENODD code [3], RDP code [8], Blaum-Roth code [4], Liberation code [28], Liber8tion code [27], Cyclic code [6], B-Code [41], X-Code [42], and P-Code [23]. These codes are Maximum Distance Separable (MDS) codes, which offer protection against disk failures with given amount of redundancy [6]. RSL-Code [10], RL-Code [11] and STAR [21] are MDS codes tolerating concurrent failures of three disks. In addition to MDS codes, some non-MDS codes, such as WEAVER [16], HoVer [17], MEL code [39], Pyramid code [20], Flat XOR-Code [13] and Code-M [36], also offer resistance to concurrent failures of any two disks, but they have higher storage overhead. And there are some approaches to improve the efficiency of different codes [35][38][40][24]. In this paper, we focus on MDS codes in RAID-6, which can be further divided into two categories: horizontal codes and vertical codes. 1) Horizontal MDS Codes: Reed-Solomon code [30] is based on addition and multiply operations over certain finite fields GF (2µ). The addition in Reed-Solomon code can be implemented by XOR operation, but the multi... |
27 | Disk subsystem load balancing: disk striping vs. conventional data placement.
- Ganger, Worthington, et al.
- 1993
(Show Context)
Citation Context ...recover any one other element. This limitation reduces the reconstruction performance during single disk or double disk failures. However, most MDS codes based RAID-6 systems suffer from unbalanced I/O, especially for write-intensive applications. Typical horizontal codes have dedicated parities, which need to be updated for any write operations, and thus cause higher workload on parity disks. Unbalanced I/O also occurs on some vertical codes like P-Code [23] consisting of a prime number of disks due to unevenly distributed parities in a stripe1. Even if many dynamic load balancing approaches [12] [32] [22] [1] [18] [2] are given for disk arrays, it is still difficult to adjust the high workload in parity disks and handle the override on data disks. Although some vertical codes such as X-Code [42] can balance the I/O but they have high cost to recover single disk failure as shown in the next section. The unbalanced I/O hurts the overall storage system performance and the original single/double disk recovery method has some limitation to improve the reliability. To address this issue, we propose a new parity called Horizontal-Diagonal Parity (HDP) , which takes advantage of both horizon... |
25 | Optimal recovery of single disk failure in RDP code storage systems.
- Xiang, Xu, et al.
- 2010
(Show Context)
Citation Context ...oad balancing approaches [31] [32] in disk array consume some resources to monitor the status of various storage devices and find the disks with high or low workload, then do some dynamic adjustment according to the monitoring results. This brings additional overhead to the disk array. Industrial products based on RAID-6 like EMC CLARiiON [9] uses static parity placement to provide load balancing in each eight stripes, but it also has additional overhead to handle the data placement and suffers from unbalanced I/O in each stripe. B. Reduce I/O Cost of Single Disk Failure In 2010, Xiang et al. [40] proposes a hybrid recovery approach named RDOR, which uses both horizontal and diagonal (a) Horizontal parity layout of RDP code with prime+1 disks (p = 7). (b) Diagonal parity layout of RDP code with prime+1 disks (p = 7). (c) Six reads and six writes to various data elements in RDP (Data elements C0,0, C1,1, C3,5, C4,0, C4,3 and C5,3 are read and other data elements C0,5, C2,1, C2,2, C3,4, C4,2 and C5,4 are written, which is a 50% read 50% write mode). 2 3 4 2 4 3 12 20 0 4 8 12 16 20 0 1 2 3 4 5 6 7 Column number Number of I/O operations (d) The corresponding I/O distribution among differe... |
22 | J.-C.: New efficient mds array codes for raid part i: Reed-solomon-like codes for tolerating three disk failures.
- Feng, Deng, et al.
- 2005
(Show Context)
Citation Context ... Among many solutions to provide storage reliability, RAID-6 is known to be able to tolerate concurrent failures of any two disks. Researchers have presented many RAID-6 implementations based on various erasure coding technologies, including Reed-Solomon code [30], Cauchy Reed-Solomon code [5], EVENODD code [3], RDP code [8], Blaum-Roth code [4], Liberation code [28], Liber8tion code [27], Cyclic code [6], B-Code [41], X-Code [42], and P-Code [23]. These codes are Maximum Distance Separable (MDS) codes, which offer protection against disk failures with given amount of redundancy [6]. RSL-Code [10], RL-Code [11] and STAR [21] are MDS codes tolerating concurrent failures of three disks. In addition to MDS codes, some non-MDS codes, such as WEAVER [16], HoVer [17], MEL code [39], Pyramid code [20], Flat XOR-Code [13] and Code-M [36], also offer resistance to concurrent failures of any two disks, but they have higher storage overhead. And there are some approaches to improve the efficiency of different codes [35][38][40][24]. In this paper, we focus on MDS codes in RAID-6, which can be further divided into two categories: horizontal codes and vertical codes. 1) Horizontal MDS Codes: Reed-S... |
22 | Flat XOR-based erasure codes in storage systems: Constructions, efficient recovery, and tradeoffs. Mass Storage Systems and Technologies,
- Greenan, Li, et al.
- 2010
(Show Context)
Citation Context ...hnologies, including Reed-Solomon code [30], Cauchy Reed-Solomon code [5], EVENODD code [3], RDP code [8], Blaum-Roth code [4], Liberation code [28], Liber8tion code [27], Cyclic code [6], B-Code [41], X-Code [42], and P-Code [23]. These codes are Maximum Distance Separable (MDS) codes, which offer protection against disk failures with given amount of redundancy [6]. RSL-Code [10], RL-Code [11] and STAR [21] are MDS codes tolerating concurrent failures of three disks. In addition to MDS codes, some non-MDS codes, such as WEAVER [16], HoVer [17], MEL code [39], Pyramid code [20], Flat XOR-Code [13] and Code-M [36], also offer resistance to concurrent failures of any two disks, but they have higher storage overhead. And there are some approaches to improve the efficiency of different codes [35][38][40][24]. In this paper, we focus on MDS codes in RAID-6, which can be further divided into two categories: horizontal codes and vertical codes. 1) Horizontal MDS Codes: Reed-Solomon code [30] is based on addition and multiply operations over certain finite fields GF (2µ). The addition in Reed-Solomon code can be implemented by XOR operation, but the multiply is much more complex. Due to high c... |
22 | Adaptive load balancing in disk arrays.
- Scheuermann, Weikum, et al.
- 1993
(Show Context)
Citation Context ...ruction of erasure code thus damages the reliability of the whole storage system. Except for parity disks, if there is an overwrite upon the existing data in a data disk, because of the lower cost to update the original disks compared to new writes on other disks and related parity disks, it is difficult to adapt the workload to other disks even if the workload of this data disk is very high. All these mean that unbalanced write to parity disks or override write to data disks cannot be adapted by dynamic load balancing methods in RAID-6. Further more, typical dynamic load balancing approaches [31] [32] in disk array consume some resources to monitor the status of various storage devices and find the disks with high or low workload, then do some dynamic adjustment according to the monitoring results. This brings additional overhead to the disk array. Industrial products based on RAID-6 like EMC CLARiiON [9] uses static parity placement to provide load balancing in each eight stripes, but it also has additional overhead to handle the data placement and suffers from unbalanced I/O in each stripe. B. Reduce I/O Cost of Single Disk Failure In 2010, Xiang et al. [40] proposes a hybrid recove... |
21 |
J.-C.: New efficient mds array codes for raid part ii: Rabin-like codes for tolerating multiple (greater than or equal to 4) disk failures.
- Feng, Deng, et al.
- 2005
(Show Context)
Citation Context ...lutions to provide storage reliability, RAID-6 is known to be able to tolerate concurrent failures of any two disks. Researchers have presented many RAID-6 implementations based on various erasure coding technologies, including Reed-Solomon code [30], Cauchy Reed-Solomon code [5], EVENODD code [3], RDP code [8], Blaum-Roth code [4], Liberation code [28], Liber8tion code [27], Cyclic code [6], B-Code [41], X-Code [42], and P-Code [23]. These codes are Maximum Distance Separable (MDS) codes, which offer protection against disk failures with given amount of redundancy [6]. RSL-Code [10], RL-Code [11] and STAR [21] are MDS codes tolerating concurrent failures of three disks. In addition to MDS codes, some non-MDS codes, such as WEAVER [16], HoVer [17], MEL code [39], Pyramid code [20], Flat XOR-Code [13] and Code-M [36], also offer resistance to concurrent failures of any two disks, but they have higher storage overhead. And there are some approaches to improve the efficiency of different codes [35][38][40][24]. In this paper, we focus on MDS codes in RAID-6, which can be further divided into two categories: horizontal codes and vertical codes. 1) Horizontal MDS Codes: Reed-Solomon code [3... |
20 | P-Code: A new RAID-6 code with optimal properties.
- Jin
- 2009
(Show Context)
Citation Context ...ltiple disk failures in large storage systems [33] [26], RAID-6 has received too much attention due to the fact that it can tolerate concurrent failures of any two disks. There are many implementations of RAID-6 based on various erasure coding technologies, of which Maximum Distance Separable (MDS) codes are popular. MDS codes can offer protection against disk failures with given amount of redundancy [6]. According to the structure and distribution of different parities, MDS codes can be categorized into horizontal codes [30], [5], [3], [8], [4], [28], [27] and vertical codes [6], [41], [42], [23]. A typical horizontal code based RAID-6 storage system is composed of m + 2 disk drives. The first m disk drives are used to store original data, and the last two are used as parity disk drives. Horizontal codes have a common disadvantage that m elements must be read to recover any one other element. Vertical codes have been proposed that disperse the parity across all disk drives, including X-Code [42], Cyclic code [6], and P-Code [23]. All MDS codes have a common disadvantage that m elements must be read to recover any one other element. This limitation reduces the reconstruction performanc... |
17 | Cyclic lowest density MDS array codes.
- Cassuto, Bruck
- 2009
(Show Context)
Citation Context ...ecome one of most popular choices to supply high reliability and high performance storage services with acceptable spatial and monetary cost. In recent years, with the increasing possibility of multiple disk failures in large storage systems [33] [26], RAID-6 has received too much attention due to the fact that it can tolerate concurrent failures of any two disks. There are many implementations of RAID-6 based on various erasure coding technologies, of which Maximum Distance Separable (MDS) codes are popular. MDS codes can offer protection against disk failures with given amount of redundancy [6]. According to the structure and distribution of different parities, MDS codes can be categorized into horizontal codes [30], [5], [3], [8], [4], [28], [27] and vertical codes [6], [41], [42], [23]. A typical horizontal code based RAID-6 storage system is composed of m + 2 disk drives. The first m disk drives are used to store original data, and the last two are used as parity disk drives. Horizontal codes have a common disadvantage that m elements must be read to recover any one other element. Vertical codes have been proposed that disperse the parity across all disk drives, including X-Code ... |
17 | WorkOut: I/O Workload Outsourcing for Boosting RAID Reconstruction Performance.
- Wu, Jiang, et al.
- 2009
(Show Context)
Citation Context ...-Code [42], and P-Code [23]. These codes are Maximum Distance Separable (MDS) codes, which offer protection against disk failures with given amount of redundancy [6]. RSL-Code [10], RL-Code [11] and STAR [21] are MDS codes tolerating concurrent failures of three disks. In addition to MDS codes, some non-MDS codes, such as WEAVER [16], HoVer [17], MEL code [39], Pyramid code [20], Flat XOR-Code [13] and Code-M [36], also offer resistance to concurrent failures of any two disks, but they have higher storage overhead. And there are some approaches to improve the efficiency of different codes [35][38][40][24]. In this paper, we focus on MDS codes in RAID-6, which can be further divided into two categories: horizontal codes and vertical codes. 1) Horizontal MDS Codes: Reed-Solomon code [30] is based on addition and multiply operations over certain finite fields GF (2µ). The addition in Reed-Solomon code can be implemented by XOR operation, but the multiply is much more complex. Due to high computational complexity, ReedSolomon code is not very practical. Cauchy Reed-Solomon code [5] addresses this problem and improves Reed-Solomon code by changing the multiply operations over GF (2µ) into a... |
16 | A new minimum density RAID-6 code with a word size of eight.
- Plank
- 2008
(Show Context)
Citation Context ...rs, with the increasing possibility of multiple disk failures in large storage systems [33] [26], RAID-6 has received too much attention due to the fact that it can tolerate concurrent failures of any two disks. There are many implementations of RAID-6 based on various erasure coding technologies, of which Maximum Distance Separable (MDS) codes are popular. MDS codes can offer protection against disk failures with given amount of redundancy [6]. According to the structure and distribution of different parities, MDS codes can be categorized into horizontal codes [30], [5], [3], [8], [4], [28], [27] and vertical codes [6], [41], [42], [23]. A typical horizontal code based RAID-6 storage system is composed of m + 2 disk drives. The first m disk drives are used to store original data, and the last two are used as parity disk drives. Horizontal codes have a common disadvantage that m elements must be read to recover any one other element. Vertical codes have been proposed that disperse the parity across all disk drives, including X-Code [42], Cyclic code [6], and P-Code [23]. All MDS codes have a common disadvantage that m elements must be read to recover any one other element. This limitat... |
13 | GRID codes: Strip-based erasure code with high fault tolerance for storage systems.
- Li, Shu, et al.
- 2009
(Show Context)
Citation Context ...2], and P-Code [23]. These codes are Maximum Distance Separable (MDS) codes, which offer protection against disk failures with given amount of redundancy [6]. RSL-Code [10], RL-Code [11] and STAR [21] are MDS codes tolerating concurrent failures of three disks. In addition to MDS codes, some non-MDS codes, such as WEAVER [16], HoVer [17], MEL code [39], Pyramid code [20], Flat XOR-Code [13] and Code-M [36], also offer resistance to concurrent failures of any two disks, but they have higher storage overhead. And there are some approaches to improve the efficiency of different codes [35][38][40][24]. In this paper, we focus on MDS codes in RAID-6, which can be further divided into two categories: horizontal codes and vertical codes. 1) Horizontal MDS Codes: Reed-Solomon code [30] is based on addition and multiply operations over certain finite fields GF (2µ). The addition in Reed-Solomon code can be implemented by XOR operation, but the multiply is much more complex. Due to high computational complexity, ReedSolomon code is not very practical. Cauchy Reed-Solomon code [5] addresses this problem and improves Reed-Solomon code by changing the multiply operations over GF (2µ) into additiona... |
7 |
Modeling workloads and devices for io load balancing in virtualized environments.
- Gulati, Kumar, et al.
- 2009
(Show Context)
Citation Context ...triping is a better method and can provide significantly improved load balance with reduced complexity for various applications. Scheuermann et al. [31] [32] propose a data partitioning method to optimize disk striping and achieves load balance by proper file allocation and dynamic redistributions of the data access. After 2000, some patents by the industry solve the load balancing problem in disk array [22] [1] [18] [2]. Recently, with the development of virtualization in computer systems, a few approaches focus on dynamic load balancing in virtual storage devices and virtual disk array [34] [14] [15]. VII. CONCLUSIONS In this paper, we propose the Horizontal-Diagonal Parity Code (HDP Code) to optimize the I/O load balancing for RAID-6 by taking advantage of both horizontal and diagonal/anti-diagonal parities in MDS codes. HDP Code is a solution for an array of p − 1 disks, where p is a prime number. The parities in HDP Code include horizontal-diagonal parity and anti-diagonal parity, where all parity elements are distributed among disks in the array to achieve well balanced I/O. Our mathematic analysis shows that HDP Code achieves the best load balancing and high reliability compared... |
6 |
Code-M: A NonMDS erasure code scheme to support fast recovery from up to two-disk failures in storage systems.
- Wan, Cao, et al.
- 2010
(Show Context)
Citation Context ...ding Reed-Solomon code [30], Cauchy Reed-Solomon code [5], EVENODD code [3], RDP code [8], Blaum-Roth code [4], Liberation code [28], Liber8tion code [27], Cyclic code [6], B-Code [41], X-Code [42], and P-Code [23]. These codes are Maximum Distance Separable (MDS) codes, which offer protection against disk failures with given amount of redundancy [6]. RSL-Code [10], RL-Code [11] and STAR [21] are MDS codes tolerating concurrent failures of three disks. In addition to MDS codes, some non-MDS codes, such as WEAVER [16], HoVer [17], MEL code [39], Pyramid code [20], Flat XOR-Code [13] and Code-M [36], also offer resistance to concurrent failures of any two disks, but they have higher storage overhead. And there are some approaches to improve the efficiency of different codes [35][38][40][24]. In this paper, we focus on MDS codes in RAID-6, which can be further divided into two categories: horizontal codes and vertical codes. 1) Horizontal MDS Codes: Reed-Solomon code [30] is based on addition and multiply operations over certain finite fields GF (2µ). The addition in Reed-Solomon code can be implemented by XOR operation, but the multiply is much more complex. Due to high computational com... |
4 |
Automated io load balancing across storage devices.
- BASIL
- 2010
(Show Context)
Citation Context ...ng is a better method and can provide significantly improved load balance with reduced complexity for various applications. Scheuermann et al. [31] [32] propose a data partitioning method to optimize disk striping and achieves load balance by proper file allocation and dynamic redistributions of the data access. After 2000, some patents by the industry solve the load balancing problem in disk array [22] [1] [18] [2]. Recently, with the development of virtualization in computer systems, a few approaches focus on dynamic load balancing in virtual storage devices and virtual disk array [34] [14] [15]. VII. CONCLUSIONS In this paper, we propose the Horizontal-Diagonal Parity Code (HDP Code) to optimize the I/O load balancing for RAID-6 by taking advantage of both horizontal and diagonal/anti-diagonal parities in MDS codes. HDP Code is a solution for an array of p − 1 disks, where p is a prime number. The parities in HDP Code include horizontal-diagonal parity and anti-diagonal parity, where all parity elements are distributed among disks in the array to achieve well balanced I/O. Our mathematic analysis shows that HDP Code achieves the best load balancing and high reliability compared to o... |
3 |
Load balancing method for exchanging data in different physical disk storage devices in a disk array stroage device independently of data processing system operation.
- Bachmat, Ofek
- 2001
(Show Context)
Citation Context ... other element. This limitation reduces the reconstruction performance during single disk or double disk failures. However, most MDS codes based RAID-6 systems suffer from unbalanced I/O, especially for write-intensive applications. Typical horizontal codes have dedicated parities, which need to be updated for any write operations, and thus cause higher workload on parity disks. Unbalanced I/O also occurs on some vertical codes like P-Code [23] consisting of a prime number of disks due to unevenly distributed parities in a stripe1. Even if many dynamic load balancing approaches [12] [32] [22] [1] [18] [2] are given for disk arrays, it is still difficult to adjust the high workload in parity disks and handle the override on data disks. Although some vertical codes such as X-Code [42] can balance the I/O but they have high cost to recover single disk failure as shown in the next section. The unbalanced I/O hurts the overall storage system performance and the original single/double disk recovery method has some limitation to improve the reliability. To address this issue, we propose a new parity called Horizontal-Diagonal Parity (HDP) , which takes advantage of both horizontal parity and... |
3 |
Load balancing on disk array storage device.
- Bachmat, Ofek, et al.
- 2004
(Show Context)
Citation Context ...ement. This limitation reduces the reconstruction performance during single disk or double disk failures. However, most MDS codes based RAID-6 systems suffer from unbalanced I/O, especially for write-intensive applications. Typical horizontal codes have dedicated parities, which need to be updated for any write operations, and thus cause higher workload on parity disks. Unbalanced I/O also occurs on some vertical codes like P-Code [23] consisting of a prime number of disks due to unevenly distributed parities in a stripe1. Even if many dynamic load balancing approaches [12] [32] [22] [1] [18] [2] are given for disk arrays, it is still difficult to adjust the high workload in parity disks and handle the override on data disks. Although some vertical codes such as X-Code [42] can balance the I/O but they have high cost to recover single disk failure as shown in the next section. The unbalanced I/O hurts the overall storage system performance and the original single/double disk recovery method has some limitation to improve the reliability. To address this issue, we propose a new parity called Horizontal-Diagonal Parity (HDP) , which takes advantage of both horizontal parity and diagonal... |
3 |
Method for host-based I/O workload balancing on redundant array controllers.
- Jantz
- 1999
(Show Context)
Citation Context ...y one other element. This limitation reduces the reconstruction performance during single disk or double disk failures. However, most MDS codes based RAID-6 systems suffer from unbalanced I/O, especially for write-intensive applications. Typical horizontal codes have dedicated parities, which need to be updated for any write operations, and thus cause higher workload on parity disks. Unbalanced I/O also occurs on some vertical codes like P-Code [23] consisting of a prime number of disks due to unevenly distributed parities in a stripe1. Even if many dynamic load balancing approaches [12] [32] [22] [1] [18] [2] are given for disk arrays, it is still difficult to adjust the high workload in parity disks and handle the override on data disks. Although some vertical codes such as X-Code [42] can balance the I/O but they have high cost to recover single disk failure as shown in the next section. The unbalanced I/O hurts the overall storage system performance and the original single/double disk recovery method has some limitation to improve the reliability. To address this issue, we propose a new parity called Horizontal-Diagonal Parity (HDP) , which takes advantage of both horizontal parity... |
2 |
Load balancing configuration for storage arrays employing mirroring and striping.
- Hashemi
- 2002
(Show Context)
Citation Context ...er element. This limitation reduces the reconstruction performance during single disk or double disk failures. However, most MDS codes based RAID-6 systems suffer from unbalanced I/O, especially for write-intensive applications. Typical horizontal codes have dedicated parities, which need to be updated for any write operations, and thus cause higher workload on parity disks. Unbalanced I/O also occurs on some vertical codes like P-Code [23] consisting of a prime number of disks due to unevenly distributed parities in a stripe1. Even if many dynamic load balancing approaches [12] [32] [22] [1] [18] [2] are given for disk arrays, it is still difficult to adjust the high workload in parity disks and handle the override on data disks. Although some vertical codes such as X-Code [42] can balance the I/O but they have high cost to recover single disk failure as shown in the next section. The unbalanced I/O hurts the overall storage system performance and the original single/double disk recovery method has some limitation to improve the reliability. To address this issue, we propose a new parity called Horizontal-Diagonal Parity (HDP) , which takes advantage of both horizontal parity and diag... |
1 |
Random Integer Generator.
- ORG
- 2010
(Show Context)
Citation Context ...and so on, · · · · · · , the last partial stripe write in this sequence is Cp−2,p−3C0,0. We also select two access patterns combined with different types of read/write requests: • Uniform access. Each request occurs only once, so for read requests, each data element is read once; for write reqeusts, each data element is written once; for continuous write requests, each data element is written twice. • Random access. Since the number of total data elements in a stripe is less than 49 when p = 5 and p = 7, we use 50 random numbers (ranging from 1 to 1000) generated by a random integer generator [29] as the frequencies of partial stripe writes in the sequence one after another. These 50 random numbers are shown in Table III. For example, in HDP Code, the first number in the table,“221” is used as the frequency of a CW request to elements C0,1C0,2. We define Oj(Ci,j) as the number of I/O operations in column j, which is caused by a request to data element(s) with beginning element Ci,j . And we use O(j) to delegate the total number of I/O operations of requests to column j in a stripe, which can be calculated by, O(j) = ∑ Oj(Ci,j) (9) We use Omax and Omin to delegate maximum/minimum number... |