From 22ddfdf8afef44f15f20867614ee4780fe5215ba Mon Sep 17 00:00:00 2001 From: "Victor V. Albert" Date: Tue, 10 Sep 2024 15:06:58 -0400 Subject: [PATCH] stab_16_6_4, bbv, rdp, star, ye_barg, zigzag --- codes/classical/matrices/raid/array.yml | 2 +- codes/classical/matrices/raid/bbv.yml | 35 +++++++++++++++++++ .../matrices/raid/{ => mds_array}/b_array.yml | 3 +- .../matrices/raid/{ => mds_array}/evenodd.yml | 5 ++- .../classical/matrices/raid/mds_array/rdp.yml | 30 ++++++++++++++++ .../matrices/raid/mds_array/star.yml | 29 +++++++++++++++ .../matrices/raid/{ => mds_array}/x_array.yml | 3 +- .../matrices/raid/mds_array/ye_barg.yml | 29 +++++++++++++++ .../matrices/raid/mds_array/zigzag.yml | 29 +++++++++++++++ codes/classical/matrices/regenerating/msr.yml | 2 ++ .../matrices/regenerating/regenerating.yml | 3 ++ 11 files changed, 166 insertions(+), 4 deletions(-) create mode 100644 codes/classical/matrices/raid/bbv.yml rename codes/classical/matrices/raid/{ => mds_array}/b_array.yml (89%) rename codes/classical/matrices/raid/{ => mds_array}/evenodd.yml (76%) create mode 100644 codes/classical/matrices/raid/mds_array/rdp.yml create mode 100644 codes/classical/matrices/raid/mds_array/star.yml rename codes/classical/matrices/raid/{ => mds_array}/x_array.yml (85%) create mode 100644 codes/classical/matrices/raid/mds_array/ye_barg.yml create mode 100644 codes/classical/matrices/raid/mds_array/zigzag.yml diff --git a/codes/classical/matrices/raid/array.yml b/codes/classical/matrices/raid/array.yml index 0599395a8..8c4abf172 100644 --- a/codes/classical/matrices/raid/array.yml +++ b/codes/classical/matrices/raid/array.yml @@ -17,7 +17,7 @@ alternative_names: description: | Matrix code over \(GF(q)\) designed for use in distributed storage, with the first such application being a RAID-type array of hard-drives such that information is protected against erasure of one or more hard drives. Each column of a matrix codeword is typically treated as a single codeword coordinate via subpacketization (defined below) and represents a large data block. - Array codes are denoted by \((n,k,m)\), where \(n\) is the number of nodes, \(k\) is the number of nodes needed to recover the data, and \(m\) is the column dimension of each codeword. + Array codes are denoted by \((n,k,m)\), where \(n\) is the number of nodes, \(k\) is the number of nodes needed to recover the data, and \(m\) is the column dimension of each codeword a.k.a. the subpacketization level. protection: | Since they are designed to protect against corruption of nodes in a distributed storage network, many array codes are analyzed in terms of their erasure capabilities. diff --git a/codes/classical/matrices/raid/bbv.yml b/codes/classical/matrices/raid/bbv.yml new file mode 100644 index 000000000..800789ffe --- /dev/null +++ b/codes/classical/matrices/raid/bbv.yml @@ -0,0 +1,35 @@ +####################################################### +## This is a code entry in the error correction zoo. ## +## https://github.com/errorcorrectionzoo ## +####################################################### + + +code_id: bbv +physical: matrices + + +name: 'Generalized EVENODD code' +introduced: '\cite{doi:10.1109/18.485722}' + +alternative_names: + - 'Blaum-Bruck-Vardy array code' + + +description: | + A generalization of the EVENODD code defined for parameters \(m\) and \(r\); see \cite{preset:HPArray}. + + +relations: + parents: + - code_id: array + cousins: + - code_id: mds_array + detail: 'Generalized EVENODD codes for prime \(m\) and \(r=3\) are MDS array codes \cite{preset:HPArray}.' + + +# Begin Entry Meta Information +_meta: + # Change log - most recent first + changelog: + - user_id: VictorVAlbert + date: '2024-09-10' diff --git a/codes/classical/matrices/raid/b_array.yml b/codes/classical/matrices/raid/mds_array/b_array.yml similarity index 89% rename from codes/classical/matrices/raid/b_array.yml rename to codes/classical/matrices/raid/mds_array/b_array.yml index 577fdb7c0..81a162e1f 100644 --- a/codes/classical/matrices/raid/b_array.yml +++ b/codes/classical/matrices/raid/mds_array/b_array.yml @@ -21,7 +21,8 @@ features: relations: parents: - - code_id: array + - code_id: mds_array + detail: 'B-codes are examples of MDS array codes \cite{arxiv:1112.0371}.' cousins: - code_id: reed_solomon detail: 'B-codes can be interpreted as RS codes over polynomials whose symbols lie in Galois rings \cite{doi:10.1109/18.179343,doi:10.1007/978-1-4615-1525-8_7}.' diff --git a/codes/classical/matrices/raid/evenodd.yml b/codes/classical/matrices/raid/mds_array/evenodd.yml similarity index 76% rename from codes/classical/matrices/raid/evenodd.yml rename to codes/classical/matrices/raid/mds_array/evenodd.yml index 25be10d41..398de6273 100644 --- a/codes/classical/matrices/raid/evenodd.yml +++ b/codes/classical/matrices/raid/mds_array/evenodd.yml @@ -21,7 +21,10 @@ features: relations: parents: - - code_id: array + - code_id: bbv + detail: 'Generalized EVENODD codes reduce to EVENODD codes for \(r=2\) \cite{preset:HPArray}.' + - code_id: mds_array + detail: 'EVENODD codes are examples of MDS array codes \cite{arxiv:1112.0371}.' # Begin Entry Meta Information diff --git a/codes/classical/matrices/raid/mds_array/rdp.yml b/codes/classical/matrices/raid/mds_array/rdp.yml new file mode 100644 index 000000000..2e740c03a --- /dev/null +++ b/codes/classical/matrices/raid/mds_array/rdp.yml @@ -0,0 +1,30 @@ +####################################################### +## This is a code entry in the error correction zoo. ## +## https://github.com/errorcorrectionzoo ## +####################################################### + + +code_id: rdp +physical: matrices + + +name: 'Row-Diagonal Parity (RDP) code' +short_name: 'RDP' +introduced: '\cite{manual:{Corbett, P., English, B., Goel, A., Grcanac, T., Kleiman, S., Leong, J., & Sankar, S. (2004, March). Row-diagonal parity for double disk failure correction. In Proceedings of the 3rd USENIX Conference on File and Storage Technologies (pp. 1-14).}}' + + +description: | + An MDS array code protecting against double erasures. + + +relations: + parents: + - code_id: mds_array + + +# Begin Entry Meta Information +_meta: + # Change log - most recent first + changelog: + - user_id: VictorVAlbert + date: '2024-09-10' diff --git a/codes/classical/matrices/raid/mds_array/star.yml b/codes/classical/matrices/raid/mds_array/star.yml new file mode 100644 index 000000000..0505279e1 --- /dev/null +++ b/codes/classical/matrices/raid/mds_array/star.yml @@ -0,0 +1,29 @@ +####################################################### +## This is a code entry in the error correction zoo. ## +## https://github.com/errorcorrectionzoo ## +####################################################### + + +code_id: star +physical: matrices + + +name: 'Star code' +introduced: '\cite{doi:10.1109/TC.2007.70830}' + + +description: | + An MDS array code protecting against triple erasures. + + +relations: + parents: + - code_id: mds_array + + +# Begin Entry Meta Information +_meta: + # Change log - most recent first + changelog: + - user_id: VictorVAlbert + date: '2024-09-10' diff --git a/codes/classical/matrices/raid/x_array.yml b/codes/classical/matrices/raid/mds_array/x_array.yml similarity index 85% rename from codes/classical/matrices/raid/x_array.yml rename to codes/classical/matrices/raid/mds_array/x_array.yml index cf45fd45e..c3903da0b 100644 --- a/codes/classical/matrices/raid/x_array.yml +++ b/codes/classical/matrices/raid/mds_array/x_array.yml @@ -17,7 +17,8 @@ description: | relations: parents: - - code_id: array + - code_id: mds_array + detail: 'X-codes are examples of MDS array codes \cite{arxiv:1112.0371}.' # Begin Entry Meta Information diff --git a/codes/classical/matrices/raid/mds_array/ye_barg.yml b/codes/classical/matrices/raid/mds_array/ye_barg.yml new file mode 100644 index 000000000..fc56d63f5 --- /dev/null +++ b/codes/classical/matrices/raid/mds_array/ye_barg.yml @@ -0,0 +1,29 @@ +####################################################### +## This is a code entry in the error correction zoo. ## +## https://github.com/errorcorrectionzoo ## +####################################################### + + +code_id: ye_barg +physical: matrices + + +name: 'Ye-Barg code' +introduced: '\cite{arxiv:1604.00454,arxiv:1605.08630}' + + +description: | + An MDS array code with the optimal access property; see Ref. \cite{arxiv:1604.00454} for definitions. + + +relations: + parents: + - code_id: mds_array + + +# Begin Entry Meta Information +_meta: + # Change log - most recent first + changelog: + - user_id: VictorVAlbert + date: '2024-09-10' diff --git a/codes/classical/matrices/raid/mds_array/zigzag.yml b/codes/classical/matrices/raid/mds_array/zigzag.yml new file mode 100644 index 000000000..f4fea22ae --- /dev/null +++ b/codes/classical/matrices/raid/mds_array/zigzag.yml @@ -0,0 +1,29 @@ +####################################################### +## This is a code entry in the error correction zoo. ## +## https://github.com/errorcorrectionzoo ## +####################################################### + + +code_id: zigzag +physical: matrices + + +name: 'Zigzag code' +introduced: '\cite{arxiv:1112.0371}' + + +description: | + An MDS array code correcting against two erasures with optimal rebuilding ratio; see Ref. \cite{arxiv:1112.0371} for definitions. + + +relations: + parents: + - code_id: mds_array + + +# Begin Entry Meta Information +_meta: + # Change log - most recent first + changelog: + - user_id: VictorVAlbert + date: '2024-09-10' diff --git a/codes/classical/matrices/regenerating/msr.yml b/codes/classical/matrices/regenerating/msr.yml index 9a0dd8292..0dffd1229 100644 --- a/codes/classical/matrices/regenerating/msr.yml +++ b/codes/classical/matrices/regenerating/msr.yml @@ -17,6 +17,8 @@ relations: parents: - code_id: regenerating detail: 'MSR codes are extreme points in the storage-bandwidth trade-off curve and are characterised by \(\alpha = (d-k+1)\beta\).' + - code_id: mds_array + detail: 'MSR codes are MDS array codes; e.g., see \cite{arxiv:2408.16584}.' # Begin Entry Meta Information diff --git a/codes/classical/matrices/regenerating/regenerating.yml b/codes/classical/matrices/regenerating/regenerating.yml index b85fc7beb..83751be0f 100644 --- a/codes/classical/matrices/regenerating/regenerating.yml +++ b/codes/classical/matrices/regenerating/regenerating.yml @@ -42,6 +42,9 @@ relations: parents: - code_id: array - code_id: distributed_storage + cousins: + - code_id: locally_recoverable + detail: 'RGCs and LRCs are related via the group repair with optimal access problem \cite{arxiv:1605.08630}.' # Begin Entry Meta Information