単一システムイメージ

分散コンピューティングにおいて単一システムイメージ( SSI ) クラスタは、1 つの単一システムのように見えるマシンのクラスタです。 [1] [2] [3]この概念は、分散オペレーティングシステムの概念と同義であると考えられることがよくありますが、[4] [5]単一イメージは、各ノードで実行される従来のオペレーティングシステムイメージの上にソフトウェアの追加レイヤーを追加することで実現できるジョブスケジューリングなど、より限定された目的で使用されることもあります。[6] SSI クラスタが注目されているのは、より特化したクラスタよりも使用と管理が簡単であるという認識に基づいています。

異なる SSI システムにより、単一のシステムであるかのような錯覚が生じることがあります。

SSIクラスタリングシステムの特徴

さまざまな SSI システムは、その使用目的に応じて、これらの機能のサブセットを提供する場合があります。

プロセス移行

多くのSSIシステムはプロセスマイグレーション機能を提供しています。[7]プロセスは、あるノードで開始され、リソースのバランス調整や管理上の理由などにより、別のノードに移動されることがあります[注 1]プロセスが1つのノードから別のノードに移動されると、関連する他のリソース( IPCリソースなど)も一緒に移動されることがあります。

プロセスチェックポイント

一部のSSIシステムでは、実行中のプロセスのチェックポイント機能が提供されており、現在の状態を保存して後日再読み込みすることができます。[注 2]チェックポイント機能は移行と関連していると考えられます。あるノードから別のノードへのプロセスの移行は、まずプロセスのチェックポイント機能を実行し、次に別のノードでプロセスを再起動することで実現できます。あるいは、チェックポイント機能はディスクへのマイグレーションと見なすこともできます。

単一プロセス空間

一部の SSI システムでは、すべてのプロセスが同じマシン上で実行されているという錯覚が生じます。プロセス管理ツール ( Unix系システムの「ps」、「kill」など) は、クラスター内のすべてのプロセスに対して動作します。

単一ルート

ほとんどのSSIシステムは、ファイルシステムの単一ビューを提供します。これは、単純なNFSサーバー、共有ディスクデバイス、あるいはファイルレプリケーションによって実現できます。

シングルルートビューの利点は、プロセスを任意の利用可能なノードで実行し、特別な注意を払うことなく必要なファイルにアクセスできることです。クラスターがプロセスマイグレーションを実装している場合、シングルルートビューを使用すると、プロセスが現在実行されているノードからファイルに直接アクセスできます。

一部のSSIシステムでは、単一ルートであってもノード固有のファイルを持つという「幻想を打ち破る」手段を提供しています。HP TruClusterは 「コンテキスト依存シンボリックリンク」(CDSL)を提供し、アクセスするノードに応じて異なるファイルを参照します。HP VMSclusterは、必要に応じてクラスタ共有ファイルを隠蔽するノード固有のファイルを含む検索リスト論理名を提供します。この機能は、すべてのノードが同じ構成ではない異種クラスタを扱うために必要となる場合があります。複数のサイトにまたがる複数アーキテクチャの複数ノードなどのより複雑な構成では、複数のローカルディスクが結合されて論理的な単一ルートを形成する場合があります。

単一のI/Oスペース

一部のSSIシステムでは、すべてのノードが他のノードのI/Oデバイス(テープ、ディスク、シリアル回線など)にアクセスできます。ただし、許可されるアクセスの種類には制限がある場合があります(例えば、OpenSSIでは、あるノードのディスクデバイスを別のノードにマウントすることはできません)。

単一のIPCスペース

一部のSSIシステムでは、異なるノード上のプロセスが、あたかも同一マシン上で実行されているかのように、プロセス間通信メカニズムを用いて通信できます。一部のSSIシステムでは、共有メモリも含まれる場合があります(分散共有メモリを用いてソフトウェアでエミュレートできます)。

ほとんどの場合、ノード間IPCは同一マシン上のIPCよりも遅く、共有メモリの場合は大幅に遅くなる可能性があります。一部のSSIクラスタには、この速度低下を軽減するための特別なハードウェアが搭載されています。

クラスターIPアドレス

一部のSSIシステムは「クラスタIPアドレス」を提供します。これは、クラスタの外部から参照できる単一のアドレスであり、クラスタを1台のマシンのように扱うために使用できます。これは、クラスタへの着信コールを負荷分散し、負荷の低いノードに転送したり、冗長性を確保するために、ノードがクラスタに参加または離脱する際にクラスタアドレスをあるマシンから別のマシンに移動したりするために使用できます。[注 3]

ここでの例は、スケーリング機能を備えた商用プラットフォームから、分散システムを作成するためのパッケージ/フレームワーク、さらには単一のシステム イメージを実際に実装するものまで多岐にわたります。

さまざまなクラスタリングシステムのSSIプロパティ
名前プロセス移行プロセスチェックポイント単一プロセス空間単一ルート単一のI/Oスペース単一のIPCスペースクラスターIPアドレス[t 1]ソースモデル最新リリース日[t 2]サポートされているOS
アメーバ[t 3]はいはいはいはい未知はい未知開ける1996年7月30日ネイティブ
AIX TCF未知未知未知はい未知未知未知閉鎖1990年3月30日[8]AIX PS/2 1.2
ノンストップ・ガーディアン[t 4]はいはいはいはいはいはいはい閉鎖2025年9月ノンストップOS
インフェルノいいえいいえいいえはいはいはい未知開ける2025年8月13日ネイティブ、WindowsIrixLinuxOS XFreeBSDSolarisPlan 9
ケリヘドはいはいはいはい未知はい未知開ける2010年6月14日リナックス2.6.30
LinuxPMI [t 5]はいはいいいえはいいいえいいえ未知開ける2006年6月18日リナックス2.6.17
LOCUS [t 6]はい未知はいはいはいはい[t 7]未知閉鎖1988ネイティブ
MOSIXはいはいいいえはいいいえいいえ未知閉鎖2017年10月24日リナックス
オープンモシックス[t 8]はいはいいいえはいいいえいいえ未知開ける2004年12月10日リナックス2.4.26
オープンPMIx [t 9]はいはいいいえはいいいえいいえ未知開ける2025年9月26日リナックス
オープンシェアルート[t 10]いいえいいえいいえはいいいえいいえはい開ける2011年9月1日[9]リナックス
オープンSSIはいいいえはいはいはいはいはい開ける2010年2月18日Linux 2.6.10 ( DebianFedora )
プラン9いいえ[10]いいえいいえはいはいはいはい開ける2015年1月10日ネイティブ
スプライトはい未知いいえはいはいいいえ未知開ける1992ネイティブ
TidalScale(現HPEはいいいえはいはいはいはいはい閉鎖2020年8月17日LinuxFreeBSD
トゥルークラスターいいえ未知いいえはいいいえいいえはい閉鎖2010年10月1日トゥルー64
VMSclusterいいえいいえはいはいはいはいはい閉鎖2024年11月20日オープンVMS
z/VMはいいいえはいいいえいいえはい未知閉鎖2024年9月30日ネイティブ
UnixWare NonStop クラスタ[t 11]はいいいえはいはいはいはいはい閉鎖2000年6月UnixWare
  1. ^ LinuxベースのSSIクラスタの多くは、Linux仮想サーバを使用して単一のクラスタIPアドレスを実装できます。
  2. ^ 緑はソフトウェアが積極的に開発されていることを意味します
  3. ^ Amoebaの開発はBSSラボのDr. Stefan Bosseによって進められている。2009年2月3日、Wayback Machineにアーカイブ。
  4. ^ Guardian90 TR90.8 Tandem Computers c/o Andrea BorrによるR&Dに基づく[1]
  5. ^ LinuxPMIはopenMosixの後継です
  6. ^ LOCUSはIBM AIX TCFの作成に使用されました
  7. ^ LOCUSはIPCに名前付きパイプを使用しました
  8. ^ openMosixはMOSIXのフォークでした
  9. ^ OpenPMIxプロジェクトは以前のopenMosixコードの開発を継続しています
  10. ^ Open-Sharedroot は ATIX の共有ルート クラスタです
  11. ^ UnixWare NonStop ClustersはOpenSSIのベースでした

参照

注記

  1. ^ 例えば、メンテナンスのためにシャットダウンするノードから長時間実行されているプロセスを移動する必要がある場合があります。
  2. ^チェックポイントは、 高性能コンピューティングに使用されるクラスターで特に役立ち、クラスターまたはノードの再起動時に作業の損失を回避します。
  3. ^ 「クラスターを離れる」というのは、クラッシュの婉曲表現であることが多い。

参考文献

  1. ^ Pfister, Gregory F. (1998) 「In search of clusters」、アッパーサドルリバー、ニュージャージー州:Prentice Hall PTR、ISBN 978-0-13-899709-0OCLC  38300954
  2. ^ Buyya, Rajkumar; Cortes, Toni; Jin, Hai (2001)、「シングルシステムイメージ」(PDF)International Journal of High Performance Computing Applications15 (2): 124、doi :10.1177/109434200101500205、S2CID  38921084
  3. ^ Healy, Philip; Lynn, Theo; Barrett, Enda; Morrison, John P. (2016)、「単一システムイメージ:概観」(PDF) , Journal of Parallel and Distributed Computing , 90– 91: 35– 51, doi :10.1016/j.jpdc.2016.01.004, hdl :10468/4932
  4. ^ Coulouris, George F; Dollimore, Jean; Kindberg, Tim (2005), 『分散システム:概念と設計』Addison Wesley, p. 223, ISBN 978-0-321-26354-4
  5. ^ Bolosky, William J.; Draves, Richard P.; Fitzgerald, Robert P.; Fraser, Christopher W.; Jones, Michael B.; Knoblock, Todd B.; Rashid, Rick (1997-05-05)「次なるミレニアムに向けたオペレーティングシステムの方向性」、第6回オペレーティングシステムのホットトピックに関するワークショップ (HotOS-VI)、マサチューセッツ州ケープコッド、pp.  106– 110、CiteSeerX 10.1.1.50.9538doi :10.1109/HOTOS.1997.595191、ISBN  978-0-8186-7834-9S2CID  15380352{{citation}}: CS1 メンテナンス: 場所の発行元が見つかりません (リンク)
  6. ^ Prabhu, CSR (2009)、「グリッドとクラスターコンピューティング」、Phi Learning、p. 256、ISBN 978-81-203-3428-1
  7. ^ Smith, Jonathan M. (1988)、「プロセス移行メカニズムの調査」(PDF)ACM SIGOPS Operating Systems Review22 (3): 28– 40、CiteSeerX 10.1.1.127.8095doi :10.1145/47671.47673、S2CID  6611633 
  8. ^ 「AIX PS/2 OS」。
  9. ^ 「Open-Sharedroot GitHubリポジトリ」。GitHub
  10. ^ Pike, Rob; Presotto, Dave; Thompson, Ken; Trickey, Howard (1990)、「Plan 9 from Bell Labs」、1990 年夏の UKUUG カンファレンスの議事録、p. 8、プロセス移行も Plan 9 では意図的に省略されています。 {{citation}}:欠落または空|title=(ヘルプ)
「https://en.wikipedia.org/w/index.php?title=Single_system_image&oldid=1313827811」より取得