...

EpochPOWER®ホワイトペーパー

by user

on
Category: Documents
21

views

Report

Comments

Transcript

EpochPOWER®ホワイトペーパー
The “Epoch Power System”
A Disruptive Cluster Architecture
概略
このホワイトペーパーの目的は現在利用可能なクラスタのアーキテクチャにともなう問題
点を解決し優れた機能を追加する新しいクラスタのアーキテクチャを紹介することにあり
ます。
はじめに
クラスタベースのストレージシステムは研究や製造業の分野でますます重要性を増すソリュ
ーションになっています。クラスタ化されたストレージシステムは性能と信頼性を向上させる
目的でネットワーク化されたセットとして構成され、ユニット間でデータを分散します。シス
テムを TCP/IP や Ethernet ネットワークを用いて構成することは精髄しており、またコスト低
減という理由で有効ですが、様々な課題を引き起す要因にもなります。TCP/IP 越しの高性能
ストレージへの障壁を改善することが課題の一つです。
多くのストレージベンダーは単一システムの限界を改善するためにストレージソリューシ
ョンに従来型のクラスタアーキテクチャを採用してきました。
ソリューションにクラスタを導入する場合の共通な問題にストレージの容量や性能や拡張性
があります。反面、該当のソフトウエアは関連する問題解決のために特別に何千というコー
ドが更新され非常に複雑になります。問題はノード間でデータの編集や追加の際に生じる性
能劣化や複数のシステムにデータ分散やノード障害の管理やファイルのオーバーフローで
す。クラスタベースのストレージシステムはクライアントがデータをアクセスする場合、標
準的な Ethernet 上の TCP/IP に依存するのでマルチのネットワークストレージノードに分散さ
せる時に TCP 性能の劣化が生じ、その結果ネットワークで利用可能な論理値よりも読み込み
時のバンド幅が低下します。一般的にはこの問題はクライアントが同時に複数のソースから
データブロックのフラグメントを読み込んでリンクされたスイッチのバッファやアダプタを
オーバーロードさせるような大量のデータを送信する際に生じます。現在のクラスタアーキ
テクチャは標準のネットワークにノード接続することをべースにしており、通常のストレー
ジネットワークは既存のネットワークより高速で固有のボトルネックを引き起こしこれが性
能を劣化させる理由になっています。
背景
クラスタベースのストレージシステムでは信頼性や容量や性能を向上させるように、すべて
のクラスタに横断的にデータを保存します。一般的にはこうしたネットワークはストレージ
・サーバから1台以上のスイッチでクライアントに分離させる場合、高バンド幅(1-10Gbps)
で低レーテンシー(ラウンドトリップ時間は 10 ~100μs)を維持しています。
この環境ではデータブロックは複数のストレージシステム上に分散され、システムノードは
図1に示すように SRU(サーバーリクエストユニット)として表示されるデータブロックのフ
ラグメントを保存しています。データブロックを要求するクライアントは特殊なブロック用
のデータを含むすべてのストレージシステムにパケットリクエストを送信します。現在のブ
ロック用の全データを受信した後にクライアントは次のブロックのみを要求します。私たち
はこうした読み込みを同期読み込みとして参照します。このシンプルな環境が本来のストレ
ージシステムの詳細の概略です。詳細な内容はデータブロック毎の複数ストライプやクライ
アントからの複数のブロックリクエストやストレージシステム共有のサブセット間でリクエ
ストを実行する単一スイッチ上の複数クライアントを意味しています。
しかしながらこれがストレージクラスタシステムアーキテクチャの最も基本的な概念です。
ほとんどのネットワークは並行データ転送においてスイッチに対するクライアントのバ
ンド幅が性能のボトルネックになっています。残念ながら、サーバ間のデータブロック
用の同時読み込み時、クライアントは接続環境下で 1 桁あるいは 2 桁の大きさのレベル
で TCP の性能劣化が生じる可能性があります。
図 2 のイラストは標準的なクラスタベースのストレージネットワーク環境でクライアン
トが7台のサーバからデータを要求した場合に性能劣化する様子をイラストしたもので
す。
タイムアウトが Incast の根源なので、タイムアウトの原因をなくすようにパケットを防ぐ事が
期待されます。Incast はスイッチのポート毎に配置されたバッファ空間を増やすことで回避可
能です。実 際 の と こ ろ スイッチのバッファを 増 や す こ と で Incast の 開 始 を 遅 ら す こ と が
できます。図 3 はサーバ数を倍にした場合にスイッチの出力ポートバッファのサ
イ ズ を 倍 に す る こ と で Incast 以 前 に 送 信 が 可 能 に な る 事 を 表 示 し て い ま す 。
大 規 模 バ ッ フ ァ サ イ ズ で は 図 3 の 1024KB のバッファラインが表示するように何台かのス
トレージ台数で Incast を回避することが可能になります。大規模バッファの Force10 E1200 ス
イッチでは 87 サーバで Incast は観測されないという事実がこれを裏付けています。64 サーバ
で 1024kb バッファではクライアント接続のバンド幅の 65%を利用しているに過ぎず Gigabit
Etherrnet でストレージ台数を倍増した場合でもアプリケーションレベルの性能を 800Mbps ま
でしか向上させることができません。
残念ながら、大規模バッファ付きのスイッチはコスト増になります。
(E1200 スイッチのコス トは$500,000 以上)これはシステム設計者に過剰投資か将来の拡張
性あるいはハードウエア予算での選択を強いることを意味します。これは Incast のタイムア
ウト問題にコスト効果のあるソリューションが必要であることを提起しています。ストレー
ジクラスタのノード数をダイナミックに制限して既知のアクティブノード数に限定できれば
Incast 問題を回避する最良のアプローチになりますがストレージクラスタ上で実装するのは
非常に困難です。
ブロックの替わりにファイルをセグメントするような場合、同時読み込みなどの並行処理を
サポートするような高性能環境での必要性は特に重要です。NFSv4.1 のコンポーネントであ
る並行 NFS(pNFS)のような最近の提案は並行データ転送をサポート可能です。
基本的に 2 種類のファイルレベルクラスタの配置が可能です。
1 番目は各ノードに含まれる小規模な仮想ボリューム上にグローバルボリュームを分割する
ことです。2 番目の方法は pNFS のようなファイルシステムを用いて従来のストレージクラス
タ環境のファイルシステム上に横断的にデータをストライプさせることです。ファイルシス
テムを利用してクラスタ間でデータを保存する場合、多くの問題が明瞭になります。これら
の問題のいくつかはファイルサイズに依存していてクラスタの性能に大きな影響を与えま
す。ファイルクラスタ導入の場合もシリアスな問題を生じます。ノード間のデータストライ
ピングは Incast のタイムアウトを引き起こします。またボリュームの分割はファイルサイズ
の制限と流出を生じます。これらの両方の限界は EpochPOWER®クラスタにより解消されま
す。
クラスタ群が個々のノードにデータを分割するようリクエストする場合、各ノードは各々の
ストレージを所有していてメタデータ(ストレージとデータがクラスタのどこに配置されて
いるかという情報)のディレクトリが生成されます。これらのメタデータのディレクトリは
リクエストされたデータを保持した結果、ネットワーク全体のスループットを低下させるノ
ードに対して出力先を切り替えるようリクエストすることがあります。
最も複雑な問題の一つは単一のノードにデータが追加され突然データが隣接するノードに溢
れる場合におこります。この解決は簡単ではなく、発生した場合は何千のコード変更が必要
で大量のデータ転送の操作と大規模な性能照合が必要になります。またこの共通のクラスタ
アーキテクチャは特別なストレージノードがアクセス不能になった場合に他のノードにデー
タをリプリケーションする必要があります。このリプリケーションに必要とするストレージ
容量はクラスタ冗長に依存し非常に高価になります。
ファイルクラスタの設定に依存するとアーキテクチャはアプリケーションのファイルサイ
ズによってうまく機能しない可能性があります。数種のクラスタは単一ノードで大規模フ
ァイルを取り扱うように設計されていないので大規模ファイルを生成する石油探査や気象
解析や予測等のアプリケーションで問題を起こすことがあります。
ソリューション
本書ではクラスタ向けに完全に新しいアーキテクチャを公開し、関連する課題を回避し中小規模の
クラスタの複雑性を飛躍的に減少させます。
この革新的なアプローチは今までの問題を解消させネットワーククラスタの限界を強いるものではあり
ません。アプローチの方法はクラスタノードを標準のネットワークではなく PCIe(PCI Express )バスで接
続することです。
すべてのノードを PCIe で接続することで単一バスに接続される各部品は PCIe に接続される全てのデバ
イスとアクセスが可能になります。これは一つのノードから他のノードにデータ転送を高速化するだけ
でなく、共有化されていない内部ノードがアクセス制御可能になった場合の問題を軽減します。
従来のネットワーク接続はクライアントがストレージネットワークをローカルやリモートでアクセスす
るのをサポートしています。
革新的なコンセプトは複数のコンピュータやノードが内部接続でクラスタ形成する方法論にあります。
従来のクラスタの場合はコミュニケーションネットワークを介してノードの内部接続を実現するため、
ネットワークのプロトコルの負荷が著しく性能に影響し、数千のプログラムコードの更新の結果、多く
の問題を誘起してきました。
バスを単一化するために GateStor は PCIe バスを拡張した PCIe ホストバスアダプタ (HBA)を開発しま
した。この HBA は標準の PCIe スロットに挿入され全てのクラスタノードから PCIe バスに内部接続さ
れます。これをおこなうためにすべてのストレージデータサーバはクラスタ上の PCIe スロットに接続さ
れたすべてのリソースを共有することができます。ひとつの例としてデータサーバノード 1 はデータサ
ーバノード 3 にある RAID コントローラにアクセスすることができます。つまりこのテクノロジーが孤
立したデータサーバの物理的な限界を打破し並列スーパーコンピュータシステム並の透過的なコミュニ
ケーションを全ノード間で開放します。
GateStor の特許であるクラスタアーキテクチャは今までの技術的な課題を回避します。
GateStor クラスタはネットワークレベルで実行されるばかりかサーバやコンピュータバスレベルでの実
行が可能です。これによりネットワークプロトコルを不要にし、クラスタに多くの利便性を付け加えま
す。以前の課題をどのように新しいアーキテクチャで解決するか説明してみましょう。
a) ネットワークプロトコルと負荷による性能劣化の回避
b) データの非セグメント化
c) 共有ストレージプール
d) データレプリケーションの排除
e) 可用性の向上と負荷分散
f) Incast(インキャスト)によるタイムアウトの回避
g) 性能限界の解放
a)
全てのノードを PCIe に接続する場合、TCP/IP のようなネットワークプロトコルは必要ありま
せん。バスはネットワークの負荷を回避する最下位層の I/O になります。
b)
単一バスを利用することでクラスタの全てのノードはすべてのリソースと共有が可能です。
すべてのノード・プロセッサは他のノードのメモリーやアダプタを参照しデータの分割を必
要としません。さらに初期段階でノードを特別に設定しなくても全てのノードストレージに
アクセスが可能になり、ストレージプールとして共有できます。
c)
特別なストレージノードにデータを分散させる必要がないのでデータは共通ストレージプー
ル内で増設することが可能になります。すべてのノードはデータに無制限にアクセス可能で
す。
d)
全てのノードからデータのアクセスが可能なのでノード障害に対するデータの 2 重化は
必要ありません。従来はノードがストレージを専有し、ノード障害でストレージが利用
不能になった場合、余分なデータのコピーが必要でした。EpochPOWER®の場合、デー
タの 2 重化はオプションであり性能向上に寄与するにすぎません。2 番目の利点はコスト
です。データの 2 重化を回避することでストレージと電源のコストを格段に節約できま
す。
e)
全てのノードが全てのストレージにアクセス可能なのでデータの可用性が向上します。
すなわち障害点管理が可能になり動作が正確に保証できます。負荷分散は全てのノード
の切り替えが可能なのでより簡易に調整できます。これはダイナミックな変更を可能に
するとともに事前に負荷分析をして準備する必要がなくなることを意味しています。
f)
今まで Incast 問題には同期リクエスト数に依存していてスイッチのバッファ容量を調整
して対応する方法を議論してきました。サブクラスタのクラスタ数を限定することで
Incast 問題を回避する事が可能になります。なぜならこのアーキテクチャではダイナミッ
クなサブクラスタを特別なサーバ数をサービスするよう生成することが可能になるから
です。クラスタ内にダイナミックなサブクラスタを生成した場合でも、無制限のストレ
ージの容量内でサブクラスタが全てのデータにアクセスができることは重要です。
従来型のシステムではダイナミックなクラスタ構成をサポートしていないため、導入が困難だ
からです。
g)
ネットワークは通常、クラスタのボトルネックです。データサーバやノードやホストサーバを
PCIe で接続することで、スループットは現在業界で利用可能な最高速のネットワークの 5 倍
以上の性能を発揮します。
上記の特長に加えて OmniBus ブロードキャスティング(特許申請済み)がストレージ市場にユニークな
革新性と拡張性を導入します。この技術はストレージ内のデータ転送を可能にするだけでなく単一 PCIe
バスに接続された全てのノード間転送を可能にします。つまりストレージシステムで発生する全ての重
複した転送操作を回避します。(メモリーへあるいはメモリーから RAID コントローラへ)
クラスタ環境ではこの技術はより関連が深くなります。なぜならノード間のデータ移動がデータコピー
の負荷をかけないで可能なためです。他のシステムの場合このプロセスには何十時間も費やします。
図7ではクラスタのノード上で I/O インターフェイスから全てのメモリーやコントローラのデータが
移動するか示したものです。
ネットワークやネットワークに内在する全ての性能問題を回避するために GateStor PCIe 単一バス
HBA をクライアントサーバーに適用することができます。(Fig.8)
ホストやクライアントコンピュータを単一のバスに接続することで、リソースをホストサーバ間だけ
でなくストレージサーバ間と共有することができます。
特に VMWare を利用する場合はこの新しいテクノロジーから画期的な利点を得ることができます。
GateStor PCIe 単一バス HBA はデュアルポートがあり各ポートは単一ノードもしくは異なる 2 台のノ
ードに冗長接続します。複数の HBA は単一ノード上でより高い接続性と性能向上のために利用されま
す。ケーブルを利用して PCIe にポイントツーポイントで接続することは小規模なクラスタではうまく
機能しますが、GateStor は 16 ポートの PCIe Gen-3 のスイッチを開発し、このスイッチは最大 256 ノ
ードまでの階層型クラスタを構築するノードおよびホストサーバ接続を利用可能にしました。また複
数台のスイッチは全てのクラスタやサーバの冗長パスとして利用可能です。
Fig.9
結論
この新しいクラスタアーキテクチャは高度なストレージ環境にコンピュータ接続の革新的なアプロー
チを持ち込んだもので、まさにストレージの新世代を意味しています。サーバのマザーボードも PCIe
接続や他のマザーボードや PCIe 周辺機と内部接続を可能にするエクステンダーを取り込むと期待され
ています。Intel 等の企業は PCIe が周辺機や HBA だけでなく PCIe SSD を接続するための有効なツール
であることを認識しています。それ以上に GateStor のブロードキャスト技術が適用されるなら一般的
なデータクラスタ性能で重要な改善が達成され、選択的にデータとストレージを管理するクラスタ構
築が可能になります。さらにダイナミックに構成を変更してデータ破損やストレージアプリケーショ
ン用にアクティブブなノードに専念させるようにダイナミックに構成を変更することができます。
Fly UP