...

I/Aサーバ単体で徹底した高可用性を 実現するExpress5800/ft

by user

on
Category: Documents
19

views

Report

Comments

Transcript

I/Aサーバ単体で徹底した高可用性を 実現するExpress5800/ft
サーバ
I/Aサーバ単体で徹底した高可用性を
実現するExpress5800/ftサーバ
小関 靖治・松下 潤一
要 旨
情報量の増大や情報利用形態の多様化により大容量/高速処理が必要となる一方で、情報システムの存在が社会
的な重要性をさらに深め、高い可用性への要求も増加しています。
2006年2月に発表されたftサーバはこのような高い要求に応える堅牢性・可用性を業界標準のオープンなプラッ
トフォーム上に実現しています。ここではその中核となるLSI “GeminiEngine”の特長と重要なテクノロジに
ついて紹介します。
キーワード
●フォールトトレラント ●可用性 ●高速再同期化 ●ftサーバ ●ロックステップ同期
1. まえがき
近年、情報量の増大や情報利用形態の多様化により大容量/
高速処理が必要となる一方で、情報システムの存在が社会的
な重要性をさらに深め、情報システムの安定した稼働なしに
は、企業運営を考えることすらできない状況となっています。
このような状況のなか、市場からの情報システムの基盤とし
てのサーバ製品に対する高い可用性への要求に応じるため、
NEC は2001 年に米Stratus Technologies社と技術提携し、
Express5800/ftサーバを製品化しました。本製品は、ご好評を
いただき、2004年度末までに4,000台以上を出荷し、多種多様
な業種でご利用いただいています。
しかしながら、Express5800/ftサーバの持つ二重化エンジン
では開発に時間を要するため、CPUやメモリといった技術ト
レンドに追従することが困難でした。そこで、NECは、独自
の二重化エンジン「GeminiEngine」を開発し、通常サーバ同様、
技術トレンドに追従し、かつ、手頃な価格設定で広く汎用的
に使用することが可能なExpress5800/ftサーバの製品化を実現
しました。
業契約のもと、Stratus社で開発した技術をベースに製品化し
てきましたが、最新の技術トレンドへの追従、広くお客様に
使っていただくための価格低減、お客様からの多様な要求に
応えるためにも、NECの強みであるハードウェア開発技術力
を生かした自社開発が必要との判断によるものです。
この取り組みは、新エネルギー・産業技術総合開発機構
(NEDO)の「半導体アプリケーションチッププロジェクト」の
目的とも合致し、その支援を受ける形で製品化が進められま
した。この新開発のftサーバは2006年1月23日に発表され、現
在までに1,500台以上出荷されています( 写真 )。
2. 新ftサーバ
ftサーバの市場での認知が進むにつれ、ユビキタス社会での
プラットフォームとして期待する声が高まり、この勢いをさ
らに加速するために、約3年半前から自社技術によるftサーバ
の研究に取り組んできました。それまでは、Stratus社との協
写真 新ftサーバExpress5800/320FaとGeminiEngine
NEC技報 Vol.60 No.3/2007
21
サーバ
I/Aサーバ単体で徹底した高可用性を実現するExpress5800/ftサーバ
3. ロックステップ同期とデターミニズム
ftサーバの基本的な思想はいたって単純です。2つの同じ
ハードウェアを用意し、それを常に同期して動作させておく
ことで、仮にどちらか一方が故障しても正常な方が動作を継
続することでシステム全体として継続動作を保証できるとい
うものです。
具体的に言うと、CPUはクロック信号に同期して動作する
ものであり、2つのCPUに外部から同じクロック信号を入力し
てやれば、必ず同じ動作をします。この状態をロックステッ
プ同期と呼び、この状態が維持される特性をデターミニズム
と呼びます。
従来はこのデターミニズムを利用してftサーバを実現してき
ましたが、近年ではあらゆるコンポーネント、インタフェー
スが高速化してきており、デターミニズムを利用するftサーバ
を取り巻く環境も大きく変化してきています。たとえば、
CPU動作周波数の高速化や、PCIバスのようなチップ間イン
タフェースの「パラレル・バス/低速クロック同期型」から
PCI-Expressのような「シリアル・リンク/高速クロック非同
期型」へのテクノロジのシフトといった動きは、非同期動作
要素やクロックの揺らぎなど、ロックステップ同期を阻害す
る要因を増大させることに繋がります。
して、CPUのシステムバス(FSB)の挙動とI/O I/Fの両方を観測
し、かつコントロールする仕組みを備えています。
両系の比較はシステムバス(FSB)とI/O I/Fの両方で行い、
CPUの同期ずれの前兆をシステムバス(FSB)上でいち早く見つ
けることで、後述する高速再同期処理を可能にしています。
両系を接続するクロスリンクは非同期インタフェースです
が、GeminiEngine内部で同期化させることで、この問題を解決
しています。また、従来のftサーバでは2チップ構成だった機
能をGeminiEngine 1チップ内に統合したことで、装置の小型化、
コスト削減、信頼性向上にも寄与しています。
4. GeminiEngine
5. 高速再同期機能
従来のftサーバでは、2つのハードウェアが同期しているこ
とを両方のPCIバスの動作を比較することで判断していました
が、前述に述べたように非同期のPCI-Expressインタフェース
を持つ最新のサーバでは、同じ方式によるロックステップ同
期の維持は困難を極めます。また、CPU動作周波数の高速化
によるクロックの揺らぎに対しても、何かしらの対策が必要
となります。
このため、完全な同期が難しいのなら、ある程度の同期ず
れは許容し、仮にずれ幅が大きくなった場合でも瞬時に補正
できる仕組みを備えることで、この課題の解決に取り組むこ
とにしました。
その成果がNEC自社開発のLSI「GeminiEngine」です。
GeminiEngineは、 図1 に示すようにメモリやシステムバス
(FSB)制御を含むノースブリッジの機能をも内包し、2重化両
系を非同期の高速クロスリンクによって接続しています。そ
GeminiEngineでは、両系の比較はFSBとI/O I/Fの両方で行
われますが、CPU障害やクロックの揺らぎによるCPUの同期
ずれも含め、多くのケースではFSBを起点として同期ずれが
始まります。しかし、FSBの同期ずれを観測した段階で即座
に再同期処理が行われる訳ではありません。
CPUの同期ずれの要因としては、CPU内部の致命的な故障
である可能性のほか、CPU内部の非同期回路のばらつきによ
る正常動作の範囲内での動作タイミングの変動の可能性も存
在します。このため、FSB上での同期ずれの検出時点で、そ
の同期ずれ要因を特定し、故障CPUを確定させることは困難
を極めます。
そこでFSB上の同期ずれを観測した段階では、両系のCPU
はある程度「揺らいだ」状態で2重化を維持し続けさせるとと
もに、GeminiEngine配下のトレースメモリにメインメモリ更新
情報の保持を行い、ある程度の揺らぎ状態での動作を許容し
22
図1 GeminiEngineを用いたシステム構成
REAL IT PLATFORM特集
障が確定された場合でも、故障検出されたモジュールの切り
離しを行い、正常なCPUへの縮退を行うことで継続動作させ
ることが可能となっています。
6. I/Oデバイスの仮想化
I/Oデバイスは冗長化した片方のデバイスで稼働させ、もう
片方のデバイスは待機させておき、障害発生時に切り替える
方式を採用しています。これは、ハードウェアとデバイスド
ライバの連携により、2つのデバイスを仮想的な単体のデバイ
スとして構築することで実現しています。汎用サーバではI/O
デバイスやPCI-X、PCI-ExpressといったI/Oへの経路に致命的
な障害が発生した場合、これがOSに通知され、即システムダ
ウンに発展する場合が多々あります。GeminiEngineではこれを
避けるために、I/O系のすべての致命障害をOSから隠ぺいす
ることでシステムダウンを防いでいます。 これはOSがサポー
トするホットプラグのサプライズドリムーバブルというス
キームに基づいて実現しています。 つまり、致命障害が発生
してもそれを即座にOSに通知せず、代わりにI/Oデバイスが
突然抜かれたように見せかけています。 OSやドライバはI/Oデ
バイスの消失を検出し、代わって動作する待機系デバイスに制
御を移し、フェイルオーバを行います。
これら一連の手続きは、デバイスドライバの範囲内で行わ
れ、障害が発生したことやフェイルオーバが行われたことを
アプリケーションソフトウェアが意識することはありません。
これにより、既存のアプリケーションを一切変更せずに、利
用することが可能となります。
図2 高速再同期化処理のフロー
た後、一切の異常(Error)が観測されていないことを確認した
上で、初めてGeminiEngineの高速再同期機構を動作させること
にしました。
この高速再同期機構の処理では、トレースメモリを利用し
て同期ずれ検出後のメインメモリ更新領域だけをコピーする
ため、約200ミリ秒程度の時間で再同期化が完了し、ソフト
ウェアや利用者は何らこれを意識することがありません( 図
2 )。
またGeminiEngineでは、FSB上の同期ずれの検出から高速再
同期処理の開始までは、CPUの2重化状態を維持し続けさせて
いるため、仮に、この期間に同期ずれの原因となった真の故
7. むすび
「REAL IT PLATFORM」のコンセプトの1つ「安心」を実
現する高可用性システムの経済的な構築を可能とする新ftサー
バの中核となるLSI、GeminiEngineの特長について紹介しまし
た。
GeminiEngine はNEC独自に開発したLSIですが、2006年より
ftサーバ開発における米Stratus Technologies 社との協業を再開
し、今後、後継の次世代二重化エンジンは米Stratus
Technologies 社と共同で開発を進め、技術トレンドに追従し、
手頃な価格設定で広く汎用的に使用することが可能な
Express5800/ft サーバ゙の製品化を継続していきます。
NEC技報 Vol.60 No.3/2007
23
サーバ
I/Aサーバ単体で徹底した高可用性を実現するExpress5800/ftサーバ
NECは、汎用サーバの可用性を飛躍的に高めるクラスタとft
サーバという2つの高可用性の技術と製品を持つ、数少ない企
業の1つであり、これらの特長を適材適所で活かし、お客様か
らの様々な要求に応えるソリューションを提供することで、
安心で安全な社会を構成するための要求に応えていけるもの
と考えています。
執筆者プロフィール
小関 靖治
松下 潤一
主任
主任
第二コンピュータ事業本部
クライアント・サーバ事業部
第一技術部
24
第二コンピュータ事業本部
クライアント・サーバ事業部
第一技術部
Fly UP