「Windows Azure ストレージにおける消失訂正符号処理」が USENIX Best Paper Award を受賞


このポストは、6 月 14 日に投稿された USENIX Best Paper Award: Erasure Coding in Windows Azure Storage の翻訳です。

マイクロソフトは 2012 年 6 月に開催された USENIX Annual Technical Conference (英語) で Best Paper Award を受賞しました。今回、その受賞論文である「Erasure Coding in Windows Azure Storage (Windows Azure ストレージにおける消失訂正符号処理)」を公開しました。これはマイクロソフト リサーチと Windows Azure ストレージ チームとの共同研究です。

このドキュメント (英語) はこちらで入手できます。

Windows Azure ストレージはクラウド ストレージ システムです。高可用性と耐久性を実現すると同時に、データ容量や保存期間の制限を気にすることなくお客様がデータを保存できるようサポートしています。Windows Azure ストレージを使用すると、時と場所を選ばずデータにアクセスでき、また料金は使用量に応じた分のみ発生します。

Windows Azure ストレージ内部での動作の仕組みについては、SOSP で発表された論文 (英語) をご参照ください。この SOSP で発表された論文で簡単に触れている内容の 1 つに、バックグラウンドでのデータの消失訂正符号の遅延処理があります。これにより、お客様のデータの耐久性と高可用性を維持しながら、ストレージのオーバーヘッドを削減できます。

USENIX で発表された論文では、Windows Azure ストレージで消失訂正符号処理がどのように行われているのかが説明されています。消失訂正符号として、マイクロソフトでは Local Reconstruction Codes (LRC: ローカル再構築コード) と呼ばれる新しい符号セットを導入しました。LRC では、オフラインになっているデータフラグメントの再構築時に読み取る必要がある消失訂正符号のフラグメント数を削減する一方で、ストレージのオーバーヘッドを低く抑えています。LRC の重要なメリットは、従来の符号に比べて、再構築時の読み取りに必要な帯域幅と I/O を削減しながら、ストレージのオーバーヘッドを大幅に軽減できることです。LRC は、(a) 単一フラグメントの障害 (ディスク、ノード、ラックの障害など)、(b) アップグレードのためにフラグメントがオフラインになっている、(c) フラグメントへのアクセスが低速であるなどの状況が発生した場合に、フラグメントを効率的に再構築できるように最適化されています。この論文では、Windows Azure ストレージで LRC を使用して、一貫して読み取り待機時間を抑えながら、オーバーヘッドが小さく、耐久性の高いストレージを提供する仕組みを解説しています。さらに、マイクロソフトによる消失訂正符号の実装と、その過程で行われた、設計上の重要な意志決定についても説明しています。

Brad Calder

Comments (0)

Skip to main content