いくつかのアプリケーションから成る Apple Qmaster ソフトウェアですが(「Apple Qmaster 分散処理システムのインターフェイス」を参照)、全体としては以下の基本的なコンポーネントを持つネットワーク化されたシステムの一部です。
メモ: 分散処理システム内の Compressor、QuickTime、Mac OS のバージョンはすべて同一である必要があります。
多くの場合、クライアントコンピュータ、サービスノード、およびクラスタコントローラは、潜在的に最大の処理スピードを得るために別々の(しかしネットワークでつながった)コンピュータ上に置かれます。ただし、クラスタコントローラはクライアントコンピュータやサービスノード上に置くこともできます。詳細については、「2 種類の分散処理タスクに 1 台のコンピュータを使用する」を参照してください。
以下は、Apple Qmaster システムにおけるより詳しい各コンポーネントの役割です。
バッチの分散処理を実行するのがクライアントコンピュータです。「Compressor」をインストールした、クラスタコントローラと同じネットワーク(サブネット)上にあるコンピュータなら、どのコンピュータでもクライアントコンピュータにできます。複数のクライアントコンピュータを同じクラスタを使って同じサブネットに置き、さまざまなアプリケーション用の処理を行わせることができます。
クライアントで処理するバッチは、アプリケーション「Compressor」または「Apple Qmaster」を使って実行します。これらのアプリケーションの使いかたについて詳しくは、「トランスコードの基本的なワークフロー」および「 Apple Qmaster ユーザーズマニュアル 」を参照してください。
クライアントがバッチを Apple Qmaster 分散処理システムに送る場合、処理およびその後の出力ファイルの移動をすべて実行するのが、クラスタと呼ばれる「Apple Qmaster」によって構成されたコンピュータのグループです。クラスタ 1 つあたりに 1 つのクラスタコントローラを設定し、サービスノードの 1 つまたは複数のクラスタを作成できます。あるクラスタ内のコンピュータは、クラスタ内のほかのコンピュータとネットワーク経由で接続されています。
メモ: この図は簡単なクラスタの一例を示します。このほかの構成例については、「分散処理ネットワークの例」を参照してください。
サービスノードとは、処理を実行する場所です。サービスノードのグループをクラスタに割り当てると、リソースを共有できるようになるためにグループ全体が 1 台の強力なコンピュータとして機能します。1 つのサービスノードが過負荷またはアクセス不可能な状態になると、別のサービスノードが使用されます。
あるコンピュータをサービスノードとして使用可能にするには、そのコンピュータを「Apple Qmaster 共有」ウインドウで設定します。このウインドウは、「Compressor」で「Apple Qmaster」メニューから「このコンピュータを共有」を選択すると開きます。
以下は分散処理ネットワーク設定に関する基本的なルールです:
クラスタはクラスタコントローラとして機能するコンピュータを 1 台(1 台のみ)と、サービスノードとして機能するコンピュータを最低 1 台含む必要があります。(クラスタコントローラとサービスノードは、「2 種類の分散処理タスクに 1 台のコンピュータを使用する」に示すように 1 台のコンピュータで兼用させることもできます。)
クライアントコンピュータ、およびクライアントコンピュータをサポートするクラスタ内のすべてのコンピュータは、同じネットワーク上にある必要があります。
ネットワークは Mac OS X に組み込まれた Apple のネットワーキングテクノロジーをサポートしている必要があります。
クラスタ内のすべてのコンピュータには、ファイルの出力先として指定したすべてのコンピュータ(またはストレージデバイス)で読み書きできるアクセス権が必要です。
最も簡単な分散処理ネットワークは 2 台のコンピュータから構成できます:
クライアントに接続され、サービスノードとクラスタコントローラの両方として機能するように設定されたコンピュータ 1 台
クライアントコンピュータ 1 台
非常に簡単ですが、この構成はクライアントコンピュータの負荷を大幅に削減できるので、小規模な環境では大変役立ちます。
以下の構成は、デスクトップコンピュータを使う環境用です。これは、各コンピュータをワークステーションとして使用しつつ、同時に分散処理クラスタの一部としても使用するため、「パートタイム」処理と呼ばれます。1 日の最後にジョブをまとめて「Compressor」または「Apple Qmaster」で実行させれば、ワークステーションユーザの帰宅後にコンピュータを占有して分散処理バッチの大きなキューを処理できます。(サービスノード稼働率のスケジューリングに関する詳細は、「「Apple Qmaster 共有」ウインドウの詳細設定について」および「動作スケジュール設定用ダイアログでのサービスの使用可能状態のスケジュール設定」を参照してください。)
上に示したサンプル構成では、5 台のコンピュータが、クライアント(ジョブをクラスタに送って分散処理を開始させるユーザワークステーション)とクラスタ(実際に分散処理を行うコンピュータ)の両方として機能しています。各コンピュータには FireWire ドライブなどの追加ボリュームがあり、レンダリング前およびレンダリング後のメディアや関連ファイルの格納に使用できます。
さらにレンダリング処理能力を高めるには、LAN 上の多数のクライアントコンピュータを高速スイッチを使ってクラスタに接続することをお勧めします。クラスタとして機能するラックにセットしたサーバ群は、非常に強力なレンダリングエンジンとなります。それぞれのサービスノードは、レンダリングのジョブを処理できるように、適切なクライアントアプリケーションのコピーをローカルに持ちます。
「Apple Qmaster」のクラスタコントローラは、クラスタ内のリソースを最も効率的に使用できる方法を決定します。この決定は、各サービスノードの稼働率およびバッチをいくつに分割できるか(次で説明します)に基づいて行われます。
「Apple Qmaster」は個々のバッチを別々のサービスノードに分割するため、作業は共有され、より短時間で完了します。また、この方法ではすべてのサービスノードを可能な限り活用するので、リソースが無駄になりません。
クラスタコントローラは、以下の方法のいずれか、またはその両方によって、バッチをクラスタに分散します。(「Apple Qmaster」は、最も効率的な処理方法を個々のバッチに合わせて臨機応変に決定します。)
「Apple Qmaster」は、直接セグメントを移動するのではなく、ネットワーク経由でどのセグメントを読むか、目的のセグメントの場所はどこか、そしてどんな処理を行うかとサービスノードに伝えます。以下の例では、あるバッチが Apple Qmaster システムでどのように処理されるかを示します。
バッチを分散する場合、「Apple Qmaster」は Mac OS X に組み込まれたテクノロジーを使って IP サブネット上のクラスタでサービスを検索し、情報の共有と受領を動的に行います。コンピュータは処理の稼動状況を常に提示できるので、「Apple Qmaster」は作業をクラスタ全体にでも分散(ロードバランス)できます。
小規模の分散処理ネットワークは 1、2 台のコンピュータから構成できますが、大容量ネットワークになると、何台ものコンピュータ、ラックにセットした Xserve システムや Xserve クラスタノード、そして高速ネットワーキング用のインフラストラクチャなどが構成に加わっていることがあります。分散処理システムは、システムをサポートするネットワークに機能やデバイスを追加することで、仕事の要求量に応じて拡張することが可能です。
分散処理ネットワークの能力を拡張する方法はさまざまです。分散処理ネットワークには以下のすべてを含めることができます。
詳細については、「分散処理ネットワークの例」を参照してください。