Server Admin 10.4 Help

Xgrid について

Mac OS X Server および Mac OS X に組み込まれているテクノロジーである Xgrid を使うと、計算グリッドを簡単に展開および管理できます。Xgrid を使うと、管理者はコンピュータをグリッドまたはクラスタにグループ化することができ、ユーザは複雑な計算をコンピュータ(ローカル、リモート、または両方)のグループに簡単に送信することができ、そのグループを一時的なグリッドまたは集中管理のクラスタとして使用できます。

Xgrid の用語

Xgrid テクノロジーでは、コンポーネントや操作に特定の用語を使用します。次のようなものがあります:

  • グリッド:Mac OS X Server および Mac OS X に組み込まれている Xgrid テクノロジーを使って協働してジョブを完了させるコンピュータのグループ。
  • ジョブ:クライアントからコントローラを介してグリッドに送信される作業のセット。
  • タスク:ジョブの一部。グリッド内の 1 つのエージェントが一度に実行します。
  • コントローラ:Xgrid コントローラはグリッドとその作業を管理します。Mac OS X Server に組み込まれています。
  • エージェント:Xgrid エージェントはグリッド内の 1 台のコンピュータ上にあり、コントローラによってそのコンピュータに送信されるタスクを実行します。Mac OS X v10.3 または v10.4 が動作するコンピュータはすべて、Xgrid エージェントを実行できます。
  • クライアント:Xgrid コンピュータにジョブを送信する、Mac OS X v10.4 または Mac OS X Server v10.4 が動作する任意のコンピュータ。

Xgrid の基本

Xgrid では、ジョブごとに複数のタスクを作成し、それらのタスクを複数のノードに分散します。これらのノードとして使用できるのは、Mac OS X v10.4 または v10.3 が動作するデスクトップコンピュータまたは Mac OS X Server v10.4 が動作するシステムです。多くのデスクトップコンピュータは、昼間や晩、週末の時間はアイドル状態です。これらのシステムを集めて 1 つの計算グリッドにしたものを「デスクトップリカバリ」と呼びます。この方法でグリッドを構築すると、追加のハードウェアを購入しなくても計算能力を大幅に向上させることができ、Xgrid によってソフトウェアの設定は簡単な作業になります。

サーバがコントローラとして機能するためには、Xgrid に Mac OS X Server v10.4 以降および 256 MB 以上の RAM が必要です。グリッドのエージェントとして動作するためには、Xgrid に Mac OS X v10.3 以降および 128 MB 以上の RAM(256 MB を推奨)が必要です。Xgrid に参加するすべてのコンピュータにネットワーク接続が必要です。システムの RAM が多いほど、パフォーマンスが向上します。高い処理能力を必要とするアプリケーションの場合は特に向上します。

計算グリッドとは、1 つの問題を解決するために協働するコンピュータのグループのことです。グリッド内のシステムは、柔軟に結合したり、地理的に分散したり、ある程度異機種混交にしたりできます。これに対して、クラスタ内のシステムは、しばしば同機種であり、配列されていて、厳密に管理されます。SETI@Home などの高度に分散されたグリッドでは、個々のユーザは余分のプロセッサ・サイクルを運動のために提供できます。企業環境では、大規模なレンダリングジョブやシミュレーションジョブを、一晩中アイドル状態のすべてのシステムに分散できます。これらを使用して専用の計算クラスタを大きくすることもでき、常時 Xgrid クライアントで利用できます。これら 3 つの個別のグリッド設定については、後で詳しく説明します。

Xgrid には、サポート可能な計算能力に実質的な制限はありません。グリッドのパフォーマンスは、数ある要因の中でも、参加しているシステム、動作しているソフトウェア、およびネットワークによって決まります。ただし、個々のアプリケーションはグリッドのパフォーマンスに強い影響を与えます。特定のアプリケーションをどの程度計算グリッドに展開するかを決めるのはユーザです。最良の場合は、アプリケーションのパフォーマンスはグリッドのサイズに伴って直線的に拡張します。最悪の場合は、グリッドにエージェントを追加すると、特定のジョブの完了に要する時間がエージェントが少ない場合より長くなることもあります。(そのような状況では、タスクが小さくなりすぎるために、数が増えたタスクの分散に関連したオーバーヘッドが、エージェントを増やすことによって得られるパフォーマンスの向上を上回ります。)グリッドのユーザは、これらの点を考慮に入れる必要があります。

大規模な計算グリッドに参加できる独自のプロジェクトが多数あります。SETI@Home や FightAids@home など、これらのプロジェクトは、しばしば特定の科学的な目的と結びついています。通常は簡単にインストールできるソフトウェアが用意されていて、ボランティアがその特定のプロジェクトに参加できます。よくスクリーンセーバやバックグラウンドプロセスの形を取ります。

しかし、計算グリッドの重要性を理解するのに、めったに使わない多くのコンピュータのことを考える必要はありません。たとえば、大学の学生や企業の従業員が使うコンピュータは、夜間や週末のアイドル状態の時間より「働いている」時間の方が短いことがよくあります。これらのコンピュータは、学生や従業員の便益を損なうことなく、グリッドの作業に生産的な方法で貢献できます。

Globus Alliance(大学と研究所によって設立されたグループ)など、大規模な計算グリッドのための別のグリッドプロジェクトが計画され、柔軟性のあるリソース管理ツールとより高度なグリッド展開方法を使用しています。それらのプロジェクトでは、特定のグリッド用にきちんとパッケージ化されたアプリケーションを開発する代わりに、アプリケーション展開のための包括的なフレームワークを提供します。

Xgrid を使うと、ユーザは自分で選んだ計算グリッドに参加することができ、グリッド開発者は自分のグリッドアプリケーションを展開するときにより汎用的なフレームワークの柔軟性を利用できます。Xgrid では、両方の主要な利点を利用できます。

  • 簡単なグリッドの設定と展開。
  • 簡単で柔軟性のあるジョブ送信。
  • エージェントとクライアントの両方による自動コントローラ検出。
  • オープン標準に基づく柔軟性のあるアーキテクチャ。
  • Kerberos シングルサインオンや正規パスワード認証などの UNIX セキュリティモデルのサポート。
  • グリッド対話のための、コマンドラインインターフェイスまたは API ベースモデルの選択。

Xgrid の 3 つの使用法

Xgrid は、緊密に連結したクラスタ、世界規模のグリッド、およびそれらの中間に位置するすべてのもので使用できます。この限りない柔軟性のため、ほとんどどんな特性のグリッドでも展開できます。ただし、3 つの主要なトポロジが一般に使用されており、それらで Xgrid 展開のほとんどが網羅されます。次のトポロジが使用されます:

  • Xgrid クラスタ
  • ローカルグリッド
  • 分散グリッド

Xgrid クラスタ

計算クラスタとは、全体が計算専用のシステムのセットのことです。通常、クラスタでは、パフォーマンスを最大にするため、システムはラックに配列されて、ギガビット Ethernet または別のハイパフォーマンスネットワークを介して接続され、厳密に管理されます。クラスタシステムはしばしば全体が同機種であり、オペレーティングシステムのバージョンが同じで、同じソフトウェアがインストールされ、一般にプロセッサ、ディスク、および RAM 設定が同じです。

Xgrid を使うと、管理者は、クラスタの分散リソース管理機能を簡単に設定できます。システム内の各サーバでエージェントソフトウェアを実行し、クラスタ内のヘッドノードでコントローラソフトウェアを実行します。Xgrid では、タスクをクラスタ全体に分散します。一般に、クラスタでは、障害発生率は非常に低くなっています。システムがオフラインになることはまずなく、システムリソースは一般のユーザ作業と共有されません。クラスタは、最も効率的で最も高価な分散コンピューティングモデルです。

ローカルグリッド

企業、大学のコンピュータ室、またはその他の管理された環境で一般的な管理の下にあるシステムは、しばしば簡単に集めてグリッドにして、デスクトップリカバリを実現できます。これらのシステムはローカル・エリア・ネットワーク上にあることがよくあるため、また一般に 1 つの組織によって管理されるため、ネットワークパフォーマンスに優れ、管理もかなり簡単です。

これらのシステムは日常のワークステーションとして使われることも多いため、ユーザがマウスを動かしたり、システムをリセットしたり、システムとネットワークの接続を誤って解除したりして、グリッドタスクが中断されるということが容易に起こり得ます。そのような場合、Xgrid ジョブの一部としてのタスクは失敗することがあります。最終的には、Xgrid コントローラが失敗したタスクを別のエージェントに再割り当てし、ジョブは正常に完了します。ローカルグリッドでは、こうした状況や、グリッド上の特定のエージェントのパフォーマンスの変動によってパフォーマンスが制限されます。

分散グリッド

Xgrid エージェントを使うと、ユーザは目的のコントローラの IP アドレスまたはホスト名を指定できます。ユーザは、グリッドを指定することによって、コントローラの場所に関係なく、自分の CPU 時間をそのグリッド専用として使用できます。いずれかのシステムが時間を提供できるようになると、分散グリッドが形成されます。コントローラの管理者はエージェントシステムを直接管理制御することはなく、エージェントシステムの知識もありませんが、それでも CPU 時間を利用できます。

分散グリッドでは、ジョブの障害発生率は非常に高いですが、グリッド管理者の管理上の負担は非常に少なくてすみます。非常に大規模なジョブでは、タスクの障害発生率が高くても、利用可能な別のエージェントにすばやく再割り当てできれば、グリッドのパフォーマンスにはあまり影響を与えません。データは、ローカルネットワークではなくインターネットで、グリッドに接続されたエージェントに送信されるので、ネットワークパフォーマンスも考慮対象になることがあります。こうした分散グリッドの金銭的なコストは非常に少なくてすみます。

Keywords: khelp ksa
フィードバック

検索や記事に関するご意見・ご要望はこちらからお送りください。