数孊から始めたしょう。 RAID-6テクノロゞヌの実装におけるコンピュヌティングのベクトル化

Habrの「Reydiks」に関する出版物「 開発者がサンクトペテルブルクに座っおキノコを静かに食べた方法 」に関する出版物を倚くの人が芚えおいたす。 したがっお、Habroblogの最初の蚘事では、RAIDIXテクノロゞヌの数孊的基瀎に぀いお詳しく説明したす。







画像 www.nonotak.com



ディスクアレむ



倚くの産業甚゜フトりェアおよびハヌドりェアシステム゚ンタヌプラむズリ゜ヌス管理システム、運甚デヌタ分析、デゞタルコンテンツ管理などでは、コンピュヌタヌず倖郚デヌタストレヌゞデバむス間のアクティブなデヌタ亀換が必芁です。 このようなドラむブハヌドドラむブの速床は、コンピュヌタヌのRAMの速床よりもはるかに䜎速です通垞、システム党䜓のパフォヌマンスは、その "最も遅い"コンポヌネントに䟝存したす。 この点で、倖郚デバむスに保存されおいるデヌタぞのアクセス速床が向䞊するずいう問題が発生したす。 したがっお、デヌタストレヌゞサブシステムSHDは実際には広く䜿甚されおおり、耇数の独立したディスクを単䞀の論理デバむスに組み合わせおいたす。



生産性を向䞊させるために、情報を䞊行しお読み曞きできる耇数のディスクドラむブがストレヌゞシステムに含たれおいたす。 珟圚、RAIDずいう䞀般名のテクノロゞヌファミリが積極的に䜿甚されおいたす。独立/安䟡なディスクの冗長アレむ-独立/安䟡なハヌドドラむブの過剰なアレむですChen、Lee、Gibson、Katz、Patterson、1993。



これらのテクノロゞヌは、ストレヌゞシステムのパフォヌマンスを向䞊させるタスクだけでなく、付随するタスク-デヌタストレヌゞの信頌性を向䞊させるタスクも解決したす。結局のずころ、システムの実行䞭に個々のディスクが故障する可胜性がありたす。 情報の冗長性によっお信頌性が確保されたす。システムは特別に蚈算されたチェックサムが曞き蟌たれる远加のディスクを䜿甚し、1぀以䞊のストレヌゞディスクに障害が発生した堎合に情報を埩元できたす。



冗長ディスクを導入するず、信頌性の問題を解決できたすが、ディスクからのデヌタの読み取り/曞き蟌みごずにチェックサムの蚈算に関連する远加のアクションを実行する必芁がありたす。 これらの蚈算のパフォヌマンスは、䞀般的にストレヌゞのパフォヌマンスに倧きな圱響を及がしたす。 RAIDコンピュヌティングのパフォヌマンスを向䞊させるために、実際に最も䞀般的なのはRAID-6テクノロゞヌです。これにより、 故障した2 台のドラむブを埩元できたす 。



この蚘事では、RAIDテクノロゞヌファミリヌの抂芁を提䟛し、Intel 64プラットフォヌムでのRAID-6アルゎリズムの実装の詳现に぀いお説明したす。この情報は、オヌプン゜ヌスAnvin、2009、Intel、2012で入手できたすが、圧瞮された読み取り可胜な圢匏で提䟛されたす。 さらに、RAIDIX゚ラヌ修正コヌディングラむブラリず、類䌌の機胜を実装する䞀般的なラむブラリであるISA-lIntel、JerasureJ. Plankずの比范結果を瀺したす。



RAIDレベル



RAIDアレむの構築に䜿甚される蚈算アルゎリズムは埐々に登堎し、1993幎に1993幎にChen、Lee、Gibson、Katz、Pattersonによっお最初に分類されたした。



この分類によれば、RAID-0アレむは独立したディスクのアレむであり、情報を損倱から保護するための察策は講じられおいたせん。 単䞀のディスクず比范した堎合のこのようなアレむの利点は、䞊列デヌタ亀換の線成により容量ずパフォヌマンスが倧幅に向䞊する可胜性があるこずです。



RAID-1テクノロゞヌには、システム内の各ディスクの耇補が含たれたす。 したがっお、RAID-1アレむにはRAID-0に比べお2倍のディスク数がありたすが、アレむ内の各ディスクにコピヌがあるため、システムの1぀のディスクに障害が発生しおもデヌタの損倱はありたせん。



RAID-2およびRAID-3テクノロゞヌは実際には広く䜿甚されおいないため、それらの説明は省略したす。



RAID-4テクノロゞヌは、残りのデヌタストレヌゞディスクの合蚈XORが曞き蟌たれる1぀の远加ディスクの䜿甚を意味したす。



P= sumN−1i=0Di beginaligned qquadwhere\N\−\number\ドラむブ\with\data、\Di ïŒšâˆ’\コンテンツ\i\−\Go\ドラむブ endaligned qquad1

ドラむブ、コンテンツドラむブ







チェックサムたたはシンドロヌム は、 デヌタがストレヌゞドラむブに曞き蟌たれるたびに曎新されたす 。 このため、1を再床蚈算する必芁はありたせんが、シンドロヌムに倉数ディスクの叀い倀ず新しい倀の差を远加するだけで十分です。 ディスクの1぀に障害が発生した堎合、方皋匏1は、衚瀺される未知の芁玠、぀たり 倱われたディスクのデヌタが埩元されたす。



明らかに、シンドロヌムの読み取りず曞き蟌みの操䜜は、他のデヌタディスクの操䜜よりも頻繁に発生したす。 このディスクは、アレむの最も忙しい芁玠になりたす。 パフォヌマンスの面での匱点。 さらに、摩耗が早くなりたす。 この問題を解決するために、さたざたなシステムディスクの䞀郚を䜿甚しおシンドロヌムを栌玍するRAID-5テクノロゞヌが提案されたした図1。 したがっお、読み取りおよび曞き蟌み操䜜によるディスクのロヌドは調敎されたす。







図 1. RAID-4ずRAID-5の違い



RAID-1-RAID-5テクノロゞヌを䜿甚するず、ドラむブの1぀に障害が発生した堎合にデヌタを回埩できたすが、2台のドラむブが倱われた堎合、これらのテクノロゞヌは無力です。 もちろん、2぀のドラむブが同時に故障する可胜性は1぀よりはるかに䜎くなりたす。 ただし、実際には、故障したディスクの亀換には䞀定の時間が必芁であり、その間デヌタは「無防備」のたたです。 システム管理者が1぀のシフトで䜜業しおいる堎合、たたはシステムがアクセスできない堎所にある堎合、この間隔は非垞に長くなる可胜性がありたす。



䞀方、人為的゚ラヌ故障したディスクではなく正垞なディスクを亀換するの可胜性は、機械的なディスクの亀換䞭に陀倖するこずはできたせん。これは2぀のディスクを回埩する問題に再び盎面したす。 これらの問題を解決するために、2぀のディスクのリカバリに焊点を圓おたRAID-6テクノロゞヌが提案されたした。 このアルゎリズムをさらに詳しく怜蚎しおください。



RAID-6テクノロゞヌ



RAID-6仕様に埓っおストレヌゞシステムを構築する際に䜿甚される蚈算アルゎリズムは、Anvin、2009に蚘茉されおいたす。 ここでは、この調査の枠組みで䜿甚するのに䟿利な圢匏でそれらを提瀺したす。



システムのパフォヌマンスを向䞊させるために、蚘録甚に受信したデヌタは通垞、デヌタストレヌゞシステムの内郚キャッシュに蓄積され、内郚キャッシュ戊略に埓っおディスクに曞き蟌たれたす。これはシステム党䜓のパフォヌマンスに倧きく圱響したす。 この堎合、曞き蟌み操䜜は倧きなデヌタブロックによっお実行されたす。これは将来ストラむプず呌ばれたす。



曞き蟌みず同様に、ディスクからの物理的な読み取りを芁求するず、芁求されたデヌタだけでなく、このデヌタが眮かれおいるストリップ党䜓たたは耇数のストラむプも読み取られたす。 その埌、ストラむプはシステムキャッシュに残り、それに関連する読み取り芁求を埅機したす。



ストレヌゞのパフォヌマンスを向䞊させるために、ストラむプはすべおのシステムディスクで䞊行しお蚘録および読み取りされたす。 これを行うために、同じサむズのブロックに分割されたす。 D0、D1、...、DN−1、、、 。 Nブロックの数は、アレむ内のデヌタディスクの数ず同じです。 フォヌルトトレランスを確保するために、ディスクアレむに2぀の远加のディスクが導入されたす。PずQを指定したす。ストリップには、アレむに察応するブロックを含めたす D0、D1、...、DN−1、、、 、ディスクPおよびQ図2。1぀たたは2぀のストレヌゞディスクに障害が発生した堎合、察応するブロックのデヌタはシンドロヌムを䜿甚しお埩元されたす。







図 2.ストラむプ構造



RAID-6では、RAID-5テクノロゞヌのようにディスクの均䞀な負荷を維持するために、異なるストリップのシンドロヌムが異なる物理ディスクに配眮されるこずに泚意しおください。 しかし、私たちの研究では、この事実は関係ありたせん。 将来的には、デフォルトで、すべおのシンドロヌムはストリップの最埌のブロックに栌玍されるず考えおいたす。



シンドロヌムを蚈算するために、ブロックを個別の単語に分割し、同じ数字を持぀すべおの単語に察しおチェックサム蚈算を繰り返したす 。 各単語に぀いお、次の芏則に埓っおシンドロヌムを蚈算したす。



\å·Š\ {\ begin {aligned} P= \ sum_ {i = 0} ^ {N-1} D_i \\ Q= \ sum_ {i = 0} ^ {N-1} q_iD_i \ end {aligned } \右。 \ begin {aligned} \ qquadここで\N \-\番号\ドラむブ\\システム、\\ D_i \-\ブロック\デヌタ、\\iボリュヌムに察応\ディスク、\\ P、Q \-\シンドロヌム、\q_i \-\いく぀かの\係数\ end {aligned} \ qquad2

\å·Š\ {\ begin {aligned} P= \ sum_ {i = 0} ^ {N-1} D_i \\ Q= \ sum_ {i = 0} ^ {N-1} q_iD_i \ end {aligned } \右。 \ begin {aligned} \ qquadここで\N \-\番号\ドラむブ\\システム、\\ D_i \-\ブロック\デヌタ、\\iボリュヌムに察応\ディスク、\\ P、Q \-\シンドロヌム、\q_i \-\いく぀かの\係数\ end {aligned} \ qquad2







次に、数倀αおよびβのディスクが倱われた堎合、次の方皋匏系を構成できたす。



$$衚瀺$$ \å·Š\ {\ begin {aligned}D_α+D_β= P-\ sum {} D_i \\q_αD_α+q_βD_β= Q-\ sum {} q_iD_i \ end {aligned} \右。 i≠α、β; α≠β$$衚瀺$$







システムが任意のαずβに察しお䞀意に解ける堎合、ストリップで、倱われた2぀のブロックを埩元できたす。 次の衚蚘法を玹介したす。



$$衚瀺$$ P_ {α、β} = \ sum_ {i = 0 \\ i≠α\\α≠β} ^ {N-1} D_i; \ bar {P} _ {α、β} = P-P_ {α、β} $$衚瀺$$







$$衚瀺$$ Q_ {α、β} = \ sum_ {i = 0 \\ i≠α\\α≠β} ^ {N-1} q_iD_i; \ bar {Q} _ {α、β} = Q-Q_ {α、β} $$衚瀺$$







次に、次のものがありたす。



$$衚瀺$$ \å·Š\ {\ begin {aligned}D_α+D_β= \ bar {P} _ {α、β} \\q_αD_α+q_βD_β= \ bar {Q} _ {α、β} \ end {aligned} \右。 \巊右矢印\å·Š\ {\ begin {aligned}D_α= \ bar {P} _ {α、β}-D_β\\D_β= \ frac {q_α\ bar {P} _ {α、β}-\ bar {Q} _ {α、β}} {q_α-q_β} \ end {aligned}、α≠β\右。 \ qquad3$$衚瀺$$







3のナニヌクな可解性のために、すべおが qα そしお qβ は異なるため、蚈算が行われる代数構造においおそれらの違いは可逆的でした。 そのような構造ずしお有限䜓を遞択した堎合 Gf2n ガロアフィヌルド、フィヌルドのプリミティブ芁玠が正しく遞択されおいる堎合、これらの条件は䞡方ずも䞀臎したす。



2぀の故障したディスクの1぀に1぀のデヌタが含たれ、もう1぀のディスクにシンドロヌムが含たれおいる堎合、生き残ったシンドロヌムを䜿甚しお䞡方のディスクを埩元できたす。 このケヌスを詳现に怜蚎するこずはしたせん-数孊的根拠はここでも同様です。



実際には、アレむ内のディスクの数はそれほど倚くないため100を超えるこずはほずんどありたせん、パフォヌマンスを改善するために、あらゆる皮類の必芁な定数を事前に蚈算できたす。 $むンラむン$q_α-q_β^ {-1}、q_α、$むンラむン$ 、埌で蚈算で䜿甚したす。



このタスクの蚈算速床は、2぀のディスクに障害が発生した堎合だけでなく、すべおのディスクが動䜜しおいる「通垞」モヌドでもストレヌゞの党䜓的なパフォヌマンスを維持するために重芁です。 これは、ストラむプが物理的に異なるディスクにあるブロックに分割されおいるずいう事実によるものです。 ストラむプを読み取るために、システムのすべおのディスクからのブロックの䞊列読み取りの操䜜党䜓が開始されたす。 すべおのブロックが読み取られるず、それらからストラむプが収集され、ストラむプの読み取り操䜜は完了したず芋なされたす。 この堎合、ストリップの読み取り時間は、最埌のブロックの読み取り時間によっお決たりたす。



したがっお、1぀のディスクのパフォヌマンスが䜎䞋するず、システム党䜓のパフォヌマンスが䜎䞋したす。 さらに、1぀のディスクからの読み取り速床の䜎䞋は、ヘッド䜍眮の䞍良、ディスク負荷の偶発的な増加、電子機噚によっお修正された内郚ディスク゚ラヌなどの芁因によっお匕き起こされる可胜性がありたす。 この問題を解決するために、システムの最も遅いディスクからの読み取り操䜜が完了するのを埅たずに、匏3を䜿甚しおそれらの倀を蚈算するこずができたす。 ただし、このような蚈算は、十分に迅速に実行できる堎合にのみ、怜蚎䞭の状況で圹立ちたす。



䞊蚘の説明では、故障したディスクの番号がわかっおいるこずが重芁です。 実際的な芳点からは、これは、ハヌドりェア制埡システムによっおドラむブが故障したずいう事実が怜出されるこずを意味し、その数を蚭定する必芁はありたせん。 「隠された」デヌタ損倱を怜出するタスク、すなわち システムが実行可胜ず芋なすディスク䞊のデヌタの歪み。この資料では考慮しおいたせん。



䞊蚘で䜿甚された「乗算」ずいう甚語では、孊校で慣れ芪しんでいた数字の乗算ずは異なる特別な意味を付けおいるこずに泚意しおください。 叀兞的な理解はここでは適甚されたせん、なぜなら 結果ずしお次元nビットの2぀の数倀を乗算するず、次元2が埗られたす n ビット。 したがっお、埌続の乗算ごずに、チェックサム倀のサむズが増加し、すべおのストラむプブロックのサむズが同じである必芁がありたす。



次に、実際の蚈算で䜿甚される操䜜、その耇雑さ、および最適化の方法を怜蚎したす。



有限䜓での算術挔算



RAID-6テクノロゞの耇雑さを詳现に評䟡し、蚈算の耇雑さを軜枛するには、最終フィヌルドでの蚈算をより詳现に怜蚎する必芁がありたす。



芖野に焊点を圓おたす Gf2n からなる 2n 芁玠。 LidlNiederreiter、1988に続いお、フィヌルドの芁玠を衚したす Gf2n 次数が2次係数以䞋の倚項匏ずしお n−1 。 このような倚項匏をマシンワヌドビットの圢匏で蚘述するず䟿利です。 n 。 16進数システムでそれらを蚘述したす。䟋



$$衚瀺$$ x ^ 7 + x ^ 5 + x ^ 2 + 1→10100101→A5 \\ x ^ 5 + x ^ 3 + 1→101001→29 $$衚瀺$$







任意のnフィヌルドに察しお Gf2n 次数の既玄倚項匏を法ずするGF2䞊の倚項匏環を因数分解するこずにより埗られる n 。 このような倚項匏を生成ず呌びたす。 したがっお、フィヌルドでの远加 Gf2n 倚項匏を远加する操䜜ずしお実行でき、乗算は生成倚項匏を法ずする倚項匏を乗算する操䜜ずしお実行できたす。 ぀たり 2぀の倚項匏を乗算した結果は、生成倚項匏ずこの陀算の剰䜙で陀算され、フィヌルドの2぀の芁玠を乗算した最終結果になりたす Gf2n 。



既玄倚項匏の広範なリストはSeroussi、1998にありたす。 たずえば、䜓の生成倚項匏ずしお Gf28 倚項匏171を遞択できたす。 x8+x6+x5+x4+1 。



加算操䜜 Gf28 は、同じであり、生成倚項匏の遞択に䟝存したせん。これは、合蚈の次数が項の最倧次数を超えるこずができないためです。 䟋



A5+29=8C





生成倚項匏の次数が機械語の長さを超えない堎合、ビット単䜍の排他的「or」の1぀の機械コマンドに察しおフィヌルド芁玠を远加する操䜜が実行されたす。



乗算の挔算は2段階で実行されたす。フィヌルドの芁玠が倚項匏ずしお乗算され、この積を生成倚項匏で陀算した䜙りが求められたす。 䟋



A5×29=6Amod171





さらに、基本的な機械操䜜に関しおは、因子の倀に応じお、最倧2n-1回の加算が必芁です。 この「䟝存性」の䞭に、蚈算の生産性を高める実質的な準備がありたす。 たずえば、遞択した堎合

qi=xN−i−1 、次にフォヌムの合蚈の蚈算  sumqiDi Hornerのスキヌムに埓っお生成できたす。



 sumN−1i=0xN−i−1Di=D0x+D1x+D2x+...+DN−1









すなわち、シンドロヌムPおよびQを蚈算するずきの乗算の操䜜の芁因ずしお、倚項匏を修正できたす x 。 倚項匏乗算 x シフト䞭に転送があった堎合、1ビットを巊にシフトし、結果をモゞュヌルに远加する操䜜になりたす。 䟋



A5×2=3Bmod171





25×2=4Amod171





遞択の察象 qi=xN−i−1 匏2、3は、次の圢匏で曞き換えるこずができたす。



症候矀の蚈算



\å·Š\ {\ begin {aligned} P= \ sum {} D_i = D_0 + D_1 + ... + D_ {N-1} \\ Q= \ sum {} x ^ {Ni-1} D_i =D_0x + D_1x + D_2x + ... + D_ {N-1}\ end {aligned} \右。 \ qquad2 '

\å·Š\ {\ begin {aligned} P= \ sum {} D_i = D_0 + D_1 + ... + D_ {N-1} \\ Q= \ sum {} x ^ {Ni-1} D_i =D_0x + D_1x + D_2x + ... + D_ {N-1}\ end {aligned} \右。 \ qquad2 '







2぀の倱われたデヌタディスクの回埩



$$衚瀺$$ \å·Š\ {\ begin {aligned}D_α= \ bar {P} _ {α、β}-D_β\\D_β= \ frac {\ bar {P} _ {α、β}- \ bar {Q} _ {α、β} x ^ {α-N+ 1}} {1-x ^ {α-β}} \ end {aligned}、α≠β\右。 \ qquad3 '$$衚瀺$$







チェックサムを蚈算するずきは、 x および远加。 たた、デヌタを回埩するずきに、これらの操䜜は、フィヌルドの芁玠である定数による乗算のいく぀かの結果も远加したした。 次数の少ない倚項匏である2぀の任意のフィヌルド芁玠を乗算する操䜜 n 、次のように曞き換えるこずができたす。



axbx=an−1xn−1+an−2xn−2+...+a1x+a0bn−1xn−1+bn−2xn−2+...+b1x+b0=bn−1axx+bn−1axx+bn−3axx+...+b1ax+b0ax









結果ずしお、デヌタを埩元するずきに、足し算ず掛け算をするこずができたす。 x 。 これらの操䜜は最倧速床で実行する必芁がありたす。



コンピュヌティングのベクトル化



すべおのデヌタブロックずこれらのブロックのコヌドワヌドに察しお同じアクションを実行するずいう事実により、SSE、AVX、AVX2、AVX512などのIntelプロセッサ拡匵機胜を䜿甚したベクトル化蚈算に異なるアルゎリズムを䜿甚できたす。 このアプロヌチの本質は、プロセッサの特別なベクトルレゞスタに耇数のコヌドワヌドを䞀床にロヌドするこずです。 たずえば、128ビットのベクトルレゞスタサむズでSSEを䜿甚する堎合、16個のフィヌルド芁玠を1぀のレゞスタに配眮できたす。 Gf28 。 プロセッサがAVX512をサポヌトする堎合、64芁玠。







図 3.ベクトルレゞスタ内のデヌタの堎所



蚈算におけるベクトルレゞスタ内のデヌタの堎所に関するこの考え方は、ISA-LIntelおよびJerasureJames Plankラむブラリで䜿甚されたす。 これらの゚ラヌ防止コヌディングラむブラリは、幅広い機胜ず深刻な最適化により非垞に人気がありたす。 これらのラむブラリのフィヌルド芁玠の乗算では、SHUFFLEステヌトメントず事前に蚈算された補助的な「乗算テヌブル」を䜿甚したす。 ラむブラリのより詳现な説明は、 IntelおよびJerasureにありたす。



ベクトル化の蚈算に関しおは、開発者の䞻な「技術」はデヌタをレゞスタに配眮するこずです。 今のずころ、コンパむラヌに勝っおいるのはここです。



RAIDIXの䞻な利点の1぀は、元のアプロヌチです。これにより、既にオヌバヌクロックされおいる他のラむブラリず比范しお、デヌタの゚ンコヌドおよびデコヌド速床を2倍以䞊向䞊させるこずができたす。 このアプロヌチは、レむディックスでは「ビット単䜍の同時実行」ず呌ばれたす。 ちなみに、同瀟はアルゎリズムを蚈算しお実装するための適切な方法の特蚱を持っおいたす。



RAIDIXは、ベクトル化に察しお異なるアプロヌチを採甚しおいたす。 このアプロヌチの本質は次のずおりです。ベクトルレゞスタを粟神的に垂盎に配眮したす。 デヌタブロックから、レゞスタのサむズに等しい8぀の倀をカりントしたす。 SSEを䜿甚するず、8 * 16バむト、AVX-8 * 32バむトが埗られたす。







図 4.レゞスタの垂盎配眮



この抂念のフレヌムワヌクでは、1぀のベクトルレゞスタ内のビットず同じ数のフィヌルド芁玠をレゞスタに配眮したした。 乗算 x これらの8぀のレゞスタの3぀のXOR挔算ず眮換再指定により、すべおの芁玠がすぐに実行されたす。 ぀たり、わずか数個の単玔な呜什を䜿甚しお、128たたは256のフィヌルド芁玠にxをすぐに掛けるこずができたす。







図 5. Xによるベクトル乗算のスキヌム



この手順は、乗算ごずに繰り返されたす。 x 定数で乗算するずきに䜿甚されたす。 このアプロヌチにより、゚ンコヌドずデコヌドを最高速床で実行できたす。



RAIDIXアルゎリズムを最も䞀般的な゚ラヌ修正コヌディングラむブラリISA-lおよびJerasureず比范したした。 比范は、ディスクからのデヌタの受信を考慮せずに、゚ンコヌドたたはデコヌドアルゎリズムの速床のみに関係しおいたした。 次の構成のシステムで比范が行われたした。





図 図6は、プロセッサコアごずのRAID-6のデヌタの゚ンコヌドずデコヌドの速床の比范を瀺しおいたす。 RAIDIXアルゎリズムは「rdx」ずしお指定されおいたす。 3぀のチェックサムRAID-7.3を持぀RAIDアルゎリズムに぀いおも同様の比范が行われたす。







図 6. RAID 6でのコヌディングずデコヌドの速床の比范







図 7. RAID 7.3でのコヌディングずデコヌドの速床の比范



䞀郚がAssemblerに実装されおいるISA-LやJerasureずは異なり、RAIDIXラむブラリは完党にCで蚘述されおいるため、「Reyds」コヌドを新しいたたは「゚キゟチック」なタむプのアヌキテクチャに簡単に転送できたす。



繰り返したすが、達成された数倀は1぀のコアに関連しおいるこずに泚意しおください。 ラむブラリは完党に䞊列化されおおり、マルチコアおよびマルチ゜ケットシステムでは速床がほが盎線的に向䞊したす。



この゚ンコヌドおよびデコヌド操䜜の実装により、RAIDシステムは、障害モヌドで1秒あたり数十ギガバむトのレベルで再構築および曞き蟌み/読み取りパフォヌマンスを提䟛できたす。



したがっお、ベクトル化䞭の基本デヌタ型ずしお、原則ずしお__m128iSSEたたは__m256iAVXが䜿甚されたす。 アルゎリズムは単玔なXOR操䜜のみを䜿甚し、ベヌスタむプを__m512iAVX512に眮き換えたため、Radixの゚ンゞニアは、最新のIntel Xeon Phiマルチコアプロセッサでアルゎリズムを迅速に再構築、実行、およびテストできたした。 䞀方、long long64ビット、暙準タむプCを基本タむプずしお䜿甚する堎合、ロシアのElbrusプロセッサヌでReydsアルゎリズムが正垞に実行されたす。



文孊



  1. アンビン、HP2009幎5月21日。 RAID-6の数孊。 2009幎11月18日、Linuxカヌネルアヌカむブから取埗 ftp.kernel.org/pub/linux/kernel/people/hpa/raid6.pdf
  2. チェン、PM、リヌ、EK、ギブ゜ン、ゞョヌゞア、カッツ、RH、およびパタヌ゜ン、DA1993。 RAID高性胜で信頌性の高いセカンダリストレヌゞ。 テクニカルレポヌト番号 UCB / CSD-93-778。 バヌクレヌカリフォルニア倧孊EECS郚門。
  3. Intel 1996-1999。 Iometerナヌザヌガむド、バヌゞョン2003.12.16。 Iometerプロゞェクトから2012幎に取埗 iometer.svn.sourceforge.net/viewvc/iometer/trunk/IOmeter/Docs/Iometer.pdf?revision=HEAD
  4. Intel 2012。 Intel 64およびIA-32アヌキテクチャ゜フトりェア開発者マニュアル。 Vol 1、2a、2b、2c、3a、3b、3c。
  5. Seroussi、G.1998。 䜎重量のバむナリ既玄倚項匏の衚。 Hewlett Packardコンピュヌタヌシステム研究所、HPL-98-135。



All Articles