Wolfram Lightweight Grid System入門

Wolfram Lightweight Grid Systemは,Mathematica®並列計算環境の一部で,リモートカーネルの起動と管理のための関数を提供する.Lightweight Gridを使うと以下が可能になる.

クイックスタート

このセクションでは,Lightweight GridをParallel Toolsと一緒に使う方法を説明する.

まず,Remote Servicesパッケージをロードする.

次に,ネットワーク上に何というマシンがあるか調べる.使用したいマシンが分かっている場合は,このステップは省略できる.

以下のどのマシン上でもカーネルを起動することができる.

LaunchKernelsは,URL文字列が与えられるとLightweight Gridの接続メソッドを使う.

次に,111...1の形をした整数の因数分解のような並列計算を行う.

並列計算を続ける.カーネルを終了したくなったらCloseKernelsを呼ぶ.

ホスト名,URL,短縮形

Lightweight Gridシステムでは,特定のコンピュータ上で実行中のLightweight Gridマネージャを指定する必要がある場面が多数ある.このセクションではエージェントの異なる特定方法について説明する.

Webサーバ内で実行されているWebアプリケーションであるLightweight Grid managerを指定する標準的な方法は, 公開されている「接続URL」を使う方法である.これより短い指定方法は,指しているエージェントの範囲をDNS-SDディレクトリを利用して絞り込むか,あるいはエージェントが指定されていないデフォルトのURL要素を使っていると仮定してURLを作るのに使われている.デフォルト値を使用せずDNS-SDに知られていないエージェントは短縮形で参照することはできない.

エージェントの指定方法

エージェント指定の可能な4つの方法:

1.  単純なホスト名

例:galaxy

省略されていないドメイン名の最初のラベル,すなわち最初のドットまでで簡単なホスト名が作れる.例えば,省略されていないドメイン名のgalaxy.example.comからgalaxyというホスト名を得ることができる.これは(1)エージェントがDNS-SDによって発見され,ホスト名が一意的で,ホスト上で実行中のエージェントが1つしかない,あるいは(2)エージェントにこのURLの要素(ポート番号,コンテキストパス,サーブレット名)のデフォルト値を使って接続できる,のいずれかが真である場合に使うことができる.

2.  省略されていないドメイン名またはIPアドレス

例:galaxy.example.com

例:10.202.100.37

この形式は(1)エージェントがDNS-SDによって発見され,そのホスト上で実行中のエージェントがそれ一つしかない,あるいは(2)エージェントにこのURLの要素(ポート番号,コンテキストパス,サーブレット名)のデフォルト値を使って接続できる,のいずれかが真である場合に使うことができる.

3.  Host:port

例:galaxy:8080

例:galaxy.example.com:8080

例:192.168.1.16:8080

この形式は(1)エージェントがDNS-SDによって発見され,指定のホストとポートにマッチするエージェントがある,あるいは(2)エージェントがコンテキストパスとサーブレット名のデフォルト値を使っている,のいずれかが真である場合に使うことができる.

4.  URL

例:http://galaxy.example.com:3737/WolframLightweightGrid/Manager

これは,通常のネットワークの接続メカニズムを使ってエージェントと接続できる限り,エージェントとの接続の際に使用するようにDNS-SDを通してエージェントが発行した標準(カノニカル)URLと同じである必要はない.

1から3までのエージェント指定では,Lightweight Gridは与えられたホスト名とオプショナルなポート番号を使ってそれが知っているエージェントのリストにインデックスを付ける.一意的なマッチが見付かると,マッチするエージェントのために公開されている連絡URLを使って連絡が取られる.マッチが見付からなければ,デフォルト値を使って連絡URLが作られる.指定されたものにマッチする複数のエージェントが見付かる場合はエラーとなる.このエラーは,例えばgalaxy.example.comgalaxy.example.eduにおけるgalaxyのように同一のホスト名が複数のドメインに存在する場合に起り得る.

サービス

1つのLightweight Gridマネージャには1つあるいは複数の「サービス」がある.サービスとはカーネル起動のためのコマンド等の一連の設定特性のことである.エージェントには常にデフォルトサービスとして指定された,はじめにGeneralと名付けられたサービスが1つある.RemoteKernelOpenのようにサービスを引数として取れる関数は,サービスが指定されていなければデフォルトサービスを使う.

サービス機能の重要な使い方の1つは Mathematica の複数のバージョンのサポートを提供する点である.例えば,Mathematica 6.0と7.0をインストールしている場合,Remote Servicesは各バージョンと別々のサービスを関連付けることでどちらか一方を起動することができる.

一般に,異なるサービス設定が必要であると分かった場合には,デフォルトサービスを設定ってし直すよりも,異なる必要に応じた新たな設定を行った方がよい.