タンデム・コンピュータ(Tandem Computers)は、フォールトトレラント・コンピュータの初期の製造企業である。ATM、銀行、株式市場その他のトランザクション処理を主とする顧客に売られた。タンデムのシステムは冗長なプロセッサと記憶装置から構成され、ハードウェアの故障時に高速な「フェイルオーバー(failover)」が可能である。このアーキテクチャをNonStop(無停止)と呼んだ。1970年代から20年以上(1990年代半ばまで)の間にタンデムのシステムは独自のハードウェアから一般のCPUを使ったシステムに変化した。その後、タンデム社は1997年にコンパックに買収され、その堅牢なサーバの技術もコンパックにもたらした。そのソフトウェアは今も NonStop の名で知られ、ヒューレット・パッカード社が独立した製品系列として提供している。
最初のシステムは T/16(後に NonStop Iと改称)である。システム設計は1975年に完了し、最初の製品は1976年にシティバンクに売られた。NonStop は 2 から 16個のプロセッサで構成され、各プロセッサは約 0.7 MIPSで、それぞれにメモリとI/Oコントローラが付属しており、独自の二重化されたCPU間バス Dynabus で相互接続されている。障害が発生しても一方のバスのみで済むように構築されており、残った部分で動作を続行することができた。CPU自体は非常に単純である。基本設計はHP3000のCPUに基づいており、32ビットアドレス空間を持つ 16ビットのスタックマシンである。実際にはアドレスバスの一部をステータス表示に使っていたため、32ビット空間を完全に使用することはできなかった。HP3000 と同様、NonStop のCPUにも高速化のためのレジスタが追加され、プログラム毎のグローバル変数を保持するなどの用途で使用された。
NonStop I は、システムのフェイルオーバモード実現の鍵であった独自オペレーティングシステム Guardian を搭載していた。他社はフェイルオーバーを実現する際に他のCPUでプログラムを再始動させていたが、Guardian では全ての処理はメッセージパッシングを使い、全ての操作でチェックポイントが設定された。結果として Guardian ではプログラム中の任意の位置から処理を再開することができる。これにはスタックベースのプロセッサがほとんど内部状態を持っていないために、プロセスをCPUからCPUに移動しやすいという点も影響している。全ての命令はスタックからデータを取り出し、演算結果をスタックに戻す。演算中に障害が発生したら、スタックを他のCPUにコピーして失敗した命令から処理を再開することができる。
メインフレームなどの当時の一般のシステムでは故障率は年に数日のオーダーであったが、NonStop システムはその数百分の1の故障率で設計され、連続稼働時間は年単位となっている。それにもかかわらず、NonStop は一般のシステムと価格の上で競合可能な価格設定がなされた。最小構成の 2CPUシステムは当時のフォールトトレラントシステムが4倍以上の価格設定だったのに対して、1プロセッサのメインフレームのほぼ2倍の価格であった。
1981年には後継機 NonStop IIが登場した。性能は若干向上して 0.8 MIPS であるが、最も重要な改良はメモリ容量で、従来CPU当たり最大 384Kバイトだったものが、2Mバイトに拡大された。また、完全な仮想記憶方式をサポートし、大きな仮想空間を提供した。同じ基本設計で 1983年には NonStop TXPがリリースされた。性能は倍以上の 2.0MIPSとなり、物理メモリも最大 8Mバイトとなった。いずれの機種も内部には Dynabus が使われている。Dynabus は NonStop I では高性能すぎたため、その後もそのまま使うことができたのである。
TXP と同時期に新たに光ファイバーバスシステム FOXが導入された。FOX は複数の TXP や NonStop II を相互接続し、最大14ノードのシステムを構築することができた。Guardian はこのネットワーク上でもフェイルオーバーを行う機能を備えていた。
タンデム社は急成長するパーソナルコンピュータ市場に参入するため、1985年 MS-DOSベースの Dynamite というPC(ワークステーション)をリリースした。しかし、設計が独特でIBMのPCとは互換性がなかったため、単なる端末としてしか使い道がなく、早々に市場から撤退することとなった。
VLXのミニコンピュータクラスの小型マシン NonStop CLXもリリースされた。CLX は初期の TXP とほぼ同等の性能だがより小型で低価格化している。CLX は最終的には性能を向上させて1991年には VLX の 80% の性能を示した。VLX と CLX の違いはどれだけ拡張できるかだけとなった。
1986年、タンデムは最初のフォールトトレラントSQLデータベース、NonStop SQLを導入した。NonStop SQL は全くの独自開発で、Guardian の機能を取り込んでノード間のデータ整合をとる機能を持っていた。NonStop SQL はシステムにノードを追加するとリニアに性能向上することで有名であった。当時の多くのデータベースの性能は 2CPU程度で飽和状態となることが多かったのである。1989年にリリースされたバージョンでは、トランザクションを複数ノードに分散展開する機能が追加された。当時としては珍しい機能であった。
1989年、新設計のスーパースケーラCPUを採用した NonStop Cycloneがリリースされた。非常に高速化したが、システムの基本設計は従来機種と変わっていない。タンデムが実施したベンチマークによれば、Cyclone は CLX 800 の約4倍の性能であった。問題点としては、CPUが非常に複雑であったため、ひとつのCPU当たり 4枚の回路基板を必要としたことが挙げられる。
1997年、タンデムは NonStop Himayala Sシリーズ をリリースした。Sシリーズは NonStopファミリの基本設計を変更したシステムであり、I/O にも CPU間接続にも新たに ServerNet と呼ばれる相互接続バスを使用している。 Dynabus や FOX が CPU をリング状に接続したのに対して、ServerNet は完全な P2P ネットワークであり、より高速に動作した。ServerNet は後に業界標準となるインフィニバンドの基盤として使用された。Sシリーズでは、MIPS の R4400 や R10000 が使用された。
最近のシステムはマイクロプロセッサを使用しているが、その内部回路を外から完全にチェックする方法は存在しない。そこで計算の正確性を保証するため、2つのマイクロプロセッサで 1つの論理プロセッサを構成し、それらがロックステップ方式で同時並行して動作するようにしている。演算結果が不一致した場合、プロセッサで障害が発生したと判断して即座に停止させる。その時点で Guardian はタスクを他のプロセッサに移動させ、不正なデータが書き込まれないことを保証するのである。
別の方式が Integrityシリーズで使用された。冗長なCPUを搭載し、同じ命令列を同時並行して実行させる。障害が発生したとき(つまりロックステップの不一致が検出されたとき)、障害の起きたモジュールは停止させられるが、冗長モジュールはそのまま命令列を実行し続ける。これは基本的にはハードウェアで実行されるので、オペレーティングシステムはほとんど変更する必要がなかった(Integrity では UNIX系のOSが動作した)。このシリーズはストラタス社のマシン(NECがFTシリーズとしてOEM供給を受け、NTTに納入していた。またIBMが System/88シリーズとしてOEM供給を受けていた)に対抗するために1990年に登場した。NonStop とは異なるが、Integrity も MIPS のプロセッサを使用している。1995年の Integrity S4000 では最初に ServerNet が導入され、このころから NonStop ファミリとハードウェアの設計を共通化していった。
タンデムは1997年、コンパックに買収された。皮肉なことに 2002年にはコンパックがHPに買収されることとなる。2003年現在、NonStopシリーズはHPの名前で製造されている。
HPは、Integrity シリーズを Itaniumプロセッサに移行させた。また、NonStop OS 上で Linux を動作させる努力もなされている。
アメリカの企業 | コンピュータ企業 | かつて存在した企業 | ヒューレット・パッカード
This article is licensed under the GNU Free Documentation License.
It uses material from the
"タンデム・コンピュータ".
Home Page • arts • business • computers • games • health • hospitals • home • kids & teens • news • physicians • recreation• reference • regional • science • shopping • society • sports • world