エクスポート (0) 印刷
すべて展開

HPC Services for Excel の機能

適用対象: Windows HPC Server 2008 R2

ここでは、HPC Services for Excel が計算を Windows® HPC Server 2008 R2 クラスターにオフロードする方法について説明します。HPC Services for Excel は、サービス指向アーキテクチャ (SOA) インフラストラクチャを使用して Excel のジョブをクラスターで実行します。HPC Services for Excel には、開発者がワークブックをクラスター上で実行可能なように即座に変換できる、既製の SOA クライアントおよびサービスが含まれています。

このトピックの内容:

クラスター SOA のしくみ

サービス指向アーキテクチャ (SOA) は、分散、疎結合システムを構築するための手法です。SOA では、別個の計算関数がサービスと呼ばれるソフトウェア モジュールとしてパッケージ化されています。サービスはネットワークに分散することができ、その他のアプリケーションからアクセスできます。たとえば、アプリケーションが繰り返しのパラレル計算を実行する場合、コアの計算をサービスとしてパッケージ化し、クラスターに展開できます。これにより、開発者は低レベルのコアを書き直すことなく困難なパラレル問題を解くことができ、アプリケーションを迅速にスケール アウトできます。複数のサービス ホスト (計算ノード) にコア計算を分散させることで、アプリケーションはより高速に実行できます。エンドユーザーはコンピューター上でアプリケーションを実行し、クラスター ノードは計算を実行します。

クライアント アプリケーションは、1 つまたは複数のサービスの機能にアクセスするためのエンドユーザー向けインターフェイスを備えます。開発者は、Windows HPC クラスターに展開するサービスにアクセスするためのクラスター SOA クライアント アプリケーションを作成できます。バックエンドでは、クライアント アプリケーションはクラスターに [サービス] タスクを含むジョブを送信し、ブローカー ノードとのセッションを開始し、サービス要求を送信して応答 (計算結果) を受信します。ヘッド ノード上のジョブ スケジューラは、ジョブ スケジュール ポリシーに従ってサービス ジョブにリソースを割り当てます。[サービス] タスクのインスタンスは、割り当てられた各リソース上で実行され、SOA サービスを読み込みます。ジョブ スケジューラは、サービス要求の個数を基にしてリソース割り当ての調整を試みます。

noteメモ
クライアントが永続セッションを作成した場合、ブローカーはメッセージ キュー (MSMQ とも呼ばれます) を使用してすべてのメッセージを格納します。ブローカーによって格納された応答は、クライアントが意図されたまたは意図されない切断の後でも、いつでもクライアントによって取得できます。

次の図は、SOA ジョブがクラスター上で動作する様子を示しています。

HPC 2008 R2 クラスタ上で SOA ジョブがどのように実行されるのかを示した図

^ ページの先頭

UDF のオフロードのしくみ

Microsoft Excel 2010 は、Windows HPC クラスターで UDF が実行できるようにすることで、UDF モデルをクラスターに拡張します。クラスターでは、UDF 計算は 1 つまたは複数のクラスター ノード上で実行されます。ワークブックに実行時間の長い UDF への呼び出しが含まれる場合、複数サーバーを使用して関数を同時に評価できます。クラスターで実行するには、UDF はクラスター対応として登録されていて、XLL ファイルに含まれている必要があります。次に、クラスター管理者は XLL とその依存関係をクラスターに展開します。

UDF のオフロードをサポートするために、HPC Services for Excel には組み込みのクライアント (Excel クラスター コネクタ) および 2 つの組み込み XLL コンテナー サービス (32 ビットおよび 64 ビットの XLL 用) が含まれています。

Excel クラスター コネクタは、Excel とクラスター間のプロキシとして動作する Excel 2010 のアドインです。Excel ユーザーは、クラスター名およびその他任意のジョブ送信パラメーターを指定できます。ユーザーが最初の計算要求を Excel から送信すると、Excel クラスター コネクタは [サービス] タスクを含むジョブを作成します。コネクタは、Excel ユーザーの資格情報と共にクラスターにジョブを送信し、ブローカー ノードでセッションを開始します。コネクタは読み込む XLL ファイルも指定します。ジョブの実行が開始されると、Excel クライアントはブローカー ノードを通して要求の送信と計算結果の受信を開始します。セッションは、ユーザーが Excel を閉じるまで、またはセッションがタイム アウトになるまで開いたままです。コネクタを構成する方法の詳細については、「Excel クラスター コネクタを使用した UDF のオフロード」 を参照してください。

クラスターでは、[サービス] タスクは割り当てられた各リソース上で実行され、XLL コンテナー サービスを呼び出します。XLL コンテナー サービスは XLL を読み込み、UDF を呼び出し、計算結果を受け取ります。計算要求が 32 ビットの Excel クライアントから送信されたものである場合、コネクタは 32 ビットのコンテナー サービスを使用するタスクを作成します。64 ビットのクライアントから送信されたものである場合には、コネクタは 64 ビットのコンテナー サービスを使用するタスクを作成します。

noteメモ
想定される XLL ファイルの場所は、XLL コンテナー サービスの構成ファイルのパス変数設定で定義されます。クラスター管理者はこれらの設定を変更することができます。詳細については、「HPC Services for Excel の詳細なサービスの構成」を参照してください。

次の図は、クラスターにおける UDF のオフロードのしくみを示しています。

HPC 2008 R2 クラスタ上で UDF オフロードが機能する方法

^ ページの先頭

ワークブックのオフロードのしくみ

多くの実行時間の長いワークブックは反復的に実行されます。つまり、ワークブックは同じ計算を入力データのさまざまなセットにわたり多数回実行します。ワークブックをクラスター上でパラレルに実行できるようにするため、Excel 開発者は、HPC マクロ フレームワークを使用して、ワークブック内の独立した計算を分割して結果を統合する方法を定義します。

ワークブックのオフロードをサポートするために、HPC Services for Excel には、組み込みの SOA クライアント (Excel Client) および組み込みのサービス (Excel Service) が含まれています。HPC マクロ フレームワークには Excel Client が統合されています。

開発者は、Excel ユーザーがクラスター名、ワークブックの場所、およびその他追加のジョブ送信の仕様を指定できるインターフェイスを提供します。開発者は、ブローカー ノードでセッションを開始し、そして Excel Client のインスタンスを作成するコードを Excel のワークブックに含めます。次に、クラスター管理者はワークブックとその依存関係のすべてをクラスターに展開します。

ユーザーが最初の計算要求を Excel から送信すると、Excel Client は [サービス] タスクを含むジョブを送信します。ジョブの実行が開始されると、Excel Client はブローカー ノードを通して要求の送信と計算結果の受信を開始します。セッションは、ユーザーが Excel を閉じるまで、またはセッションがタイム アウトになるまで開いたままです。

クラスターでは、[サービス] タスクは割り当てられた各リソース上で実行され、Excel Service を呼び出します。Excel Service は割り当てられたノードで Excel 2010 を開始し、指定されたワークブックを読み込み、(HPC マクロ フレームワークから) マクロ計算を実行し、計算結果を戻します。

次の図は、クラスターにおけるワークブックのオフロードのしくみを示しています。

HPC 2008 R2 上でワークブック オフロードが機能する方法

^ ページの先頭

その他のリソース

この情報は役に立ちましたか。
(残り 1500 文字)
フィードバックをいただき、ありがとうございました
表示:
© 2014 Microsoft