ネットワークのための符号の最近の展開 協調型再生成符号と...
Transcript of ネットワークのための符号の最近の展開 協調型再生成符号と...
ネットワークのための符号の最近の展開
協調型再生成符号とその構成法について
吉田 隆弘
横浜商科大学
2019年 9月 13日
1 故障ノードを修復可能な分散ストレージシステム (DSS: DistributedStrage Systems)
2 再生成符号 (Regenerating Codes)
3 再生成符号に関する従来研究
4 協調型再生成符号 (Cooperative Regenerating Codes)
5 まとめ
2 / 32
1 故障ノードを修復可能な分散ストレージシステム (DSS: DistributedStrage Systems)
2 再生成符号 (Regenerating Codes)
3 再生成符号に関する従来研究
4 協調型再生成符号 (Cooperative Regenerating Codes)
5 まとめ
3 / 32
[n, k, d] DSSの定義 (1/2)
[n, k, d] DSS (Distributed Strage Systems) の参加者:管理者,n個のノード ([n] = {1, 2, . . . , n}),データコレクター DC
分散フェーズ(下図左)
管理者がデータ s ∈ Fωq(Fq は位数が q の有限体)を n個の分散情報
uj ∈ Fαq に分散符号化 (1 ≤ j ≤ n)
ストレージ(ノードが記憶する分散情報のサイズ):α
データ復元フェーズ(下図右)
DCが任意の k 個のノードを選択し復元
4 / 32
[n, k, d] DSSの定義 (2/2)
再生成フェーズ(下図)
故障ノード i ∈ [n]に対する新規ノードを設置
新規ノードは,生き残っているノードから故障ノードを修復可能な d個のヘルパーノード集合Hi = {i1, i2, · · · , id} ⊂ [n]\{i}を選択各ヘルパーノード h ∈ Hi は,再生成情報 vh,i ∈ V をそれぞれ生成し,新規ノードに送る
新規ノードは受信した d個の再生成情報から,分散情報 ui ∈ U を生成修復帯域幅: γ = dβ = d log |V|
5 / 32
修復可能な DSSを実現する符号クラス
修復時に注目する評価指標によって符号化法(符号クラス)が異なる主な評価指標:
局所性:修復に必要なノード数修復帯域幅:修復に必要な情報のサイズ修復時に読み取る情報/修復時の計算量
代表的な符号クラス
局所性に注目⇒局所訂正可能符号(Locally Repairable Codes)修復帯域幅に注目⇒再生成符号
修復帯域幅に注目かつ符号化なしの修復(”Uncoded Repair” or"Repair by Transfer”)に限定⇒ Fractional Repetition符号※ 符号化なしの修復は,修復時に読み取る情報が少ないという利点がある
6 / 32
1 故障ノードを修復可能な分散ストレージシステム (DSS: DistributedStrage Systems)
2 再生成符号 (Regenerating Codes)
3 再生成符号に関する従来研究
4 協調型再生成符号 (Cooperative Regenerating Codes)
5 まとめ
7 / 32
再生成符号の定義 [D+10]
[n, k, d]再生成符号
[n, k, d] DSS を実現する符号で,次の条件を満たす符号を [n, k, d] 再生成符号と呼ぶ.
任意の k 個のノードが持つ分散情報 uj1 , uj2 , . . . , ujk ∈ Fαq から,
s ∈ Fωq が一意に定まる
任意の故障ノード iを,d ≥ k を満たす任意の d個のノードi1, i2, . . . , id ∈ [n]\{i}が修復できる
⇒ ストレージ : α, 修復帯域幅: γ = dβ
[D+10] A. G. Dimakis, P. B. Godfrey, Y. Wu, M. J. Wainwright and K. Ramchandran, “Network Coding forDistributed Storage Systems,” IEEE Trans. on Information Theory, vol.56, no.9, pp.4539–4551, Sept. 2010. 8 / 32
厳密な修復と機能的な修復
再生成符号は,一般に,同じ分散情報が修復できなくても,同様の機能を果たす(元の符号と同じ性質を持つ)情報が修復できれば良い⇒機能的な修復 (functional repair) をする再生成符号 (ui = ui)一方,機能的な修復をする再生成符号の特別なクラスとして,修復フェーズで修復する分散情報が故障ノードの分散情報と一致することを要請した再生成符号がある⇒厳密な修復 (exact repair) をする再生成符号 (ui = ui)
9 / 32
1 故障ノードを修復可能な分散ストレージシステム (DSS: DistributedStrage Systems)
2 再生成符号 (Regenerating Codes)
3 再生成符号に関する従来研究
4 協調型再生成符号 (Cooperative Regenerating Codes)
5 まとめ
10 / 32
[n, k, d] 再生成符号の性質(1/2)
[n, k, d]再生成符号の評価基準(いずれも小さいほうが良い)ストレージ(ノードの記憶容量): α修復帯域幅(故障ノード修復のコスト): γ = dβ
[n, k, d]再生成符号において,ストレージと修復帯域幅の間にはトレードオフ関係がある
11 / 32
[n, k, d]再生成符号の性質(2/2)
定理 [D+10]
α ≥ α∗(γ) を満たす α, γ に対し,ストレージ α,修復帯域幅 γ となる[n, k, d]再生成符号が存在する.一方,α < α∗(γ) を満たす α, γ に対し,ストレージ α,修復帯域幅 γ となる [n, k, d]再生成符号は存在しない.
α∗(γ)=
{ωk , γ ∈ [µ(0),+∞)ω−ν(i)γ
k−i , γ ∈ [µ(i), µ(i−1))
µ(i) =2dω
(2k − i− 1)i+ 2k(d− k + 1), 0 ≤ i < k − 1,
ν(i) =(2d− 2k + i+ 1)i
2d, 0 ≤ i < k − 1.
[D+10] A. G. Dimakis, P. B. Godfrey, Y. Wu, M. J. Wainwright and K. Ramchandran, “Network Coding forDistributed Storage Systems,” IEEE Trans. on Information Theory, vol.56, no.9, pp.4539–4551, Sept. 2010.
12 / 32
トレードオフ関数 α∗(γ)の例
n = 10, k = 5, d = 9, ω = 1
13 / 32
証明の流れ
ネットワーク符号の結果を利用して証明:データに対応するノードと DCに対応するノードのカットを考える⇒最小容量
k−1∑i=1
min {(d− i)β, α}
を得るs ∈ S を復元するためには log |S|より最小容量が大きい必要があるすなわち,[n, k, d]再生成符号は以下を満たす
log |S| ≤k−1∑i=1
min {(d− i)β, α}
最小容量が log |S|以上なら,DCが s ∈ S を復元できるネットワーク符号が存在する修復帯域幅 γ を固定したときの,ストレージに対する最適化問題を解くことでトレードオフ関数 α∗(γ)が得られる
14 / 32
2つの重要な端点 –MBR点とMSR点–
n = 10, k = 5, d = 9, ω = 1
15 / 32
MBR点/MSR点
MSR点
(αMSR, γMSR) =
(ω
k,
dω
k(d− k + 1)
)
MBR点
(αMBR, γMBR) =
(2dω
k(2d− k + 1),
2dω
k(2d− k + 1)
)
MSR点を達成する [n, k, d] 再生成符号を [n, k, d] MSR符号と呼ぶMBR点を達成する [n, k, d] 再生成符号を [n, k, d] MBR符号と呼ぶ
16 / 32
トレードオフ関数上の点を達成する再生成符号
MSR符号とMBR符号は,厳密な修復・機能的な修復のいずれについても多くの研究がなされている [RSK11]...内点(MSR点・MBR点以外)を達成する再生成符号の研究は比較的少ない [W10][HP13]ほとんどの内点で厳密な修復をする再生成符号は存在しない [SRKR2]
[RSK11] K.V. Rashmi, N.B. Shah, and P.V. Kumar, “Optimal Exact-Regenerating Codes for Distributed Storage atthe MSR and MBR Points via a Product-Matrix Construction,” IEEE Trans. on Information Theory, vol.57, no.8,pp.5227–5239, Aug. 2011.[W10] Y. Wu, “Existence and Construction of Capacity-Achieving Network Codes for Distributed Storage,” IEEEJournal on Selected Areas in Communications, vol.28, no.2, pp.277–288, Feb. 2010.[HP13] H. D. L. Hollmann, and W. Poh, “Characterizations and Construction Methods for Linear Functional-RepairStorage Codes,” in Proc. IEEE International Symposium on Information Theory (ISIT), Istanbul, Turkey, July 2013.[SRKR12] N. B. Shah, K. V. Rashmi, P. V. Kumar, and K. Ramchandran, “Distributed Storage Codes WithRepair-by-Transfer and Nonachievability of Interior Points on the Storage-Bandwidth Tradeoff,” IEEE Trans. Inf.Theory, vol.58, no.3, pp.1837–1852, Mar. 2012.
17 / 32
再生成符号のバリエーション(一部)
ノードの不正に対して安全な再生成符号 [KK13]故障ノードを修復するノード数を適応的(可変)にした再生成符号[MMK18] [MMK18]復元や再生成の条件を一般化した再生成符号 [K+17]複数個の故障ノードを一括で修復可能な DSSに対する再生成符号⇒協調型再生成符号 [H+10]
[KK13] M. Kurihara and H. Kuwakado, “Secure Regenerating Codes Based on Rashmi-Shah-Kumar MBR Codes,”IEICE Transactions on Fundamentals of Electronics, Communications and Computer Sciences, vol.E96-A, no.2,pp.635–648, Feb. 2013.[MMK18] K. Mahdaviani, S. Mohajer, and A. Khisti, “Product Matrix MSR Codes With Bandwidth Adaptive ExactRepair,” IEEE Trans. Inf. Theory, vol.64, no.4, pp.3121–,3135 Apr. 2018.[MKM19] K. Mahdaviani, A. Khisti, and S. Mohajer, “Bandwidth Adaptive & Error Resilient MBR Exact RepairRegenerating Codes,” IEEE Trans. Inf. Theory, vol.65, no.5, pp.2736–2759, May 2019.[K+17] 鎌塚明, 東優太, 吉田隆弘, 松嶋敏泰 , “復元及び再生成の条件を一般化した再生成符号とその構成法,” 電子情報通信学会論文誌A, vol.J100-A, no.11, pp.411–420, 2017.[H+10] Y. Hu, Y. Xu, X. Wang, C. Zhan, and P. Li, “Cooperative Recovery of Distributed Storage Systems fromMultiple Losses with Network Coding,” IEEE J. Sel. Areas Commun., vol.28, no.2, pp.268–276, Feb. 2010.
18 / 32
1 故障ノードを修復可能な分散ストレージシステム (DSS: DistributedStrage Systems)
2 再生成符号 (Regenerating Codes)
3 再生成符号に関する従来研究
4 協調型再生成符号 (Cooperative Regenerating Codes)
5 まとめ
19 / 32
[n, k, d, r] 協調型再生成符号(1/3)
分散フェーズ(下図左)
管理者がデータ s ∈ Fωq を n個の分散情報 uj ∈ Fα
q に分散符号化(1 ≤ j ≤ n) ⇒ストレージ: α
復元フェーズ(下図右)
DCが任意の k 個のノードを選択し復元
20 / 32
[n, k, d, r] 協調型再生成符号(2/3)
修復フェーズ (1): ヘルパーノード⇒新規ノード
故障ノード数が r個に達したとき,これらのノードを r個の新規ノードと置き換える ⇒ 新規(故障)ノードの集合 : F ⊂ [n]
各新規ノード i ∈ F は,生き残っている n− r個のノードから任意のd個のヘルパーノード集合Hi ⊆ [n]\F をそれぞれ選択各ヘルパーノードは再生成情報をそれぞれ生成し新規ノードに送る
ヘルパーノード hが生成する,新規ノード iの再生成情報:vh,i ∈ Fβ1
q , h ∈ Hi, i ∈ F再生成情報のサイズ: β1
21 / 32
[n, k, d, r] 協調型再生成符号(3/3)
修復フェーズ (2): 新規ノード⇒新規ノード
新規ノードは他の r − 1個の新規ノードに対する交換情報をそれぞれ生成・送信する
新規ノード iが生成する,新規ノード j の再生成情報: wi,j ∈ Fβ2q
交換情報のサイズ: β2各新規ノードは d個の再生成情報と r − 1個の交換情報から分散情報を生成 ⇒ 修復帯域幅: γ = dβ1 + (r − 1)β2
22 / 32
[n, k, d, r] 協調型再生成符号の性質
[n, k, d, r] 協調型再生成符号の評価基準(いずれも小さいほうが良い)ストレージ: α修復帯域幅: γ = dβ1 + (r − 1)β2
[n, k, d] 再生成符号と同様に,[n, k, d, r] 協調型再生成符号においてもストレージと修復帯域幅にトレードオフ関係がある [SH13]r = 1のとき [n, k, d] 再生成符号と等価
[SH13] K. W. Shum and Y. Hu, “Cooperative Regenerating Codes,” IEEE Trans. on Information Theory, vol.59,no.11, pp.7229—7258, Nov. 2013.
23 / 32
[n, k, d, r]協調型再生成符号のトレードオフの例[Shum and Hu 2013]
k = 4, d = 5の再生成符号(赤破線)k = 4, d = 5, r = 3の協調型再生成符号(青実線)
出典 K. W. Shum and Y. Hu, “Cooperative Regenerating Codes,” IEEE Trans. on Information Theory, vol.59, no.11,pp.7229—7258, Nov. 2013. 24 / 32
MSCR点/MBCR点
2つの重要な端点 –MSCR点/MBCR点–ストレージ αが最小となるときに修復帯域幅 γ を最小とする点:MSCR点(Minimum Storage Cooperative Regenerating Point)
(αMSCR, γMSCR) =
(ω
k,(d+ r − 1)ω
k(d+ r − k)
), β2 = β1
修復帯域幅 γ が最小となるときにストレージ αを最小とする点:MBCR点(Minimum Bandwidth Cooperative Regenerating Point)
(αMSBR, γMBCR) =
((2d+ r − 1)ω
k(2d+ r − k),(2d+ r − 1)ω
k(2d+ r − k)
),
β2 = β1/2
25 / 32
[n, k, d, r]MSCR符号の構成例 [S11]
パラメータn = 4, k = d = 2, r = 2, q = 3
各集合の定義
データ: S = F43
分散情報: U = F23
再生成情報と交換情報: V = W = F3
ノードの IDに一対一対応するベクトル集合: {ψ1, ψ2, ψ3, ψ4} ⊂ F23
ψ1 =
(10
), ψ2 =
(01
), ψ3 =
(11
), ψ4 =
(21
)[S11] K. W. Shum, “Cooperative regenerating codes for distributed storage systems,” in Proceedings of IEEEInternational Conference on Communications (ICC), pp.1-–5, June 2011.
26 / 32
[n, k, d, r]MSCR符号の構成例 [S11]
分散情報生成フェーズ (n = 4, k = d = 2, r = 2, q = 3)
s = (A1, B1, A2, B2)⊤ ∈ F4
3 とおく
s1 = (A1, B1)⊤, s2 = (A2, B2)
⊤
各ノードの分散情報:
u1 = ((1, 0)(A1, B1)⊤, (1, 0)(A2, B2)
⊤)⊤ = (A1, A2)⊤,
u2 = ((0, 1)(A1, B1)⊤, (0, 1)(A2, B2)
⊤)⊤ = (B1, B2)⊤,
u3 = ((1, 1)(A1, B1)⊤, (1, 1)(A2, B2)
⊤)⊤
= (A1 +B1, A2 +B2)⊤,
u4 = ((2, 1)(A1, B1)⊤, (2, 1)(A2, B2)
⊤)⊤
= (2A1 +B1, 2A2 +B2)⊤
[S11] K. W. Shum, “Cooperative regenerating codes for distributed storage systems,” in Proceedings of IEEEInternational Conference on Communications (ICC), pp.1-–5, June 2011.
27 / 32
[n, k, d, r]MSCR符号の構成例 [S11]
データ復元フェーズ (n = 4, k = d = 2, r = 2, q = 3)
ノード 1と 3の分散情報:
u1 = (u1,1, u1,2)⊤ = (A1, A2)
⊤,
u3 = (u3,1, u3,2)⊤ = (A1 +B1, A2 +B2)
⊤
上記分散情報から以下の関係式を得る(A1, B1, A2, B2 が未知)
(u1,i, u3,i)⊤ =
(1 01 1
)(Ai, Bi)
⊤, i = 1, 2
以下を計算してデータ (A1, B1, A2, B2)⊤ を得る(
1 02 1
)(u1,i, u3,i)
⊤ = (Ai, Bi)⊤, i = 1, 2
[S11] K. W. Shum, “Cooperative regenerating codes for distributed storage systems,” in Proceedings of IEEEInternational Conference on Communications (ICC), pp.1-–5, June 2011.
28 / 32
[n, k, d, r]MSCR符号の構成例 [S11]
再生成フェーズ (1): ヘルパーノード⇒新規ノード (n=4, k=d=2, r=2, q=3)
ノード 2と 4が故障⇒ヘルパーノードは 1と 3
新規ノード 2は (A1, A1 +B1)から (A1, B1)を得る⇒ (0, 1)(A1, B1)
⊤ = B1 を得る
新規ノード 4は (A2, A2 +B2)から (A2, B2)を得る⇒ (2, 1)(A2, B2)
⊤ = 2A2 +B2 を得る
[S11] K. W. Shum, “Cooperative regenerating codes for distributed storage systems,” in Proceedings of IEEEInternational Conference on Communications (ICC), pp.1-–5, June 2011.
29 / 32
[n, k, d, r]MSCR符号の構成例 [S11]
再生成フェーズ (2): 新規ノード⇒新規ノード (n=4, k=d=2, r=2, q=3)
新規ノード 2は再生成フェーズ (1)で得た (A1, B1)から(2, 1)(A1, B1)
⊤ = 2A1 +B1 を生成 ⇒ 新規ノード 4に送信
新規ノード 4は再生成フェーズ (1)で得た (A2, B2)から(0, 1)(A2, B2)
⊤ = B2 を生成 ⇒ 新規ノード 2に送信
[S11] K. W. Shum, “Cooperative regenerating codes for distributed storage systems,” in Proceedings of IEEEInternational Conference on Communications (ICC), pp.1-–5, June 2011.
30 / 32
1 故障ノードを修復可能な分散ストレージシステム (DSS: DistributedStrage Systems)
2 再生成符号 (Regenerating Codes)
3 再生成符号に関する従来研究
4 協調型再生成符号 (Cooperative Regenerating Codes)
5 まとめ
31 / 32
まとめ
再生成符号: [n, k, d] DSSを実現する符号クラスの一つ [D+10]協調型再生成符号: [n, k, d] DSSを一般化した複数ノードを一括で修復できる DSSを実現する符号クラスの一つ [SH13]いずれの符号クラスもストレージと修復帯域幅にはトレードオフ関係がある⇒ネットワーク符号を利用して証明
MSCR符号の簡単な例 [S11]を紹介
[D+10] A. G. Dimakis, P. B. Godfrey, Y. Wu, M. J. Wainwright and K. Ramchandran, “Network Coding forDistributed Storage Systems,” IEEE Trans. on Information Theory, vol.56, no.9, pp.4539–4551, Sept. 2010.[SH13] K. W. Shum and Y. Hu, “Cooperative Regenerating Codes,” IEEE Trans. on Information Theory, vol.59,no.11, pp.7229—7258, Nov. 2013.[S11] K. W. Shum, “Cooperative regenerating codes for distributed storage systems,” in Proceedings of IEEEInternational Conference on Communications (ICC), pp.1-–5, June 2011.
32 / 32