MATLAB Parallel Server の要件とポート
この節では、並列計算をサポートするネットワークの要件およびポート構成について説明します。
完全修飾ドメイン名
MATLAB® Parallel Server™ ソフトウェアおよび Parallel Computing Toolbox™ ソフトウェアは、ホストの省略名と完全修飾ドメイン名の両方をサポートします。既定では短いホスト名を使用します。スケジューラ タイプに従って次の考慮事項を確認してください。
| スケジューラ | 考慮事項 |
|---|---|
| MATLAB ジョブ スケジューラ |
|
| サードパーティ製スケジューラ |
|
セキュリティに関する考慮事項
MATLAB Parallel Server を使用するときには、次の表のセキュリティに関する考慮事項を確認してください。
| スケジューラ | セキュリティに関する考慮事項 |
|---|---|
| MATLAB ジョブ スケジューラ |
|
| サードパーティ製スケジューラ |
|
必要なポート
MATLAB Parallel Server を使用するには、必要な特定のポートを構成しなければなりません。構成中に詳細なヘルプが必要になった場合は、MATLAB Answers にある MathWorks サポートチームからの次の情報を参照してください。MATLAB Job Scheduler、または Third-Party Scheduler。
MATLAB ジョブ スケジューラの場合
BASE_PORT. mjs_def ファイルでは、ジョブ マネージャーとすべてのワーカーに必要なポートが指定され、その説明があります。詳細については、MATLAB ジョブ スケジューラのスタートアップ パラメーターの定義の BASE_PORT パラメーターの説明を参照してください。
通信ジョブ. UNIX オペレーティング システムで稼動するワーカー マシン上で、MPICH が通信ジョブの実行に必要とするポート番号の範囲は、BASE_PORT + 1000 から BASE_PORT + 2000 までです。
MATLAB ジョブ スケジューラ向けの SOCKS5 プロキシ. parallelserverproxy ツールを使用して、すべての Parallel Computing Toolbox クライアント トラフィックを MATLAB ジョブ スケジューラ クラスターに単一の SOCKS5 プロキシ エンドポイントを介してルーティングできます。これにより、クライアントとクラスターの間の開いているポートの数が少なくなり、ファイアウォール ルールが簡潔になります。プロキシにより、相互 TLS によるクライアント認証も行われ、すべての通信が暗号化されます。 (R2026a 以降)
詳細については、Configure SOCKS5 Proxy for MATLAB Job Schedulerを参照してください。
サードパーティ製スケジューラ使用時
ワーカー間の通信. ワーカー プロセスが起動する前に、ワーカーが通信ジョブで使用するポートの範囲を制御できます。
Microsoft HPC Pack クラスターについては、値が
minport:maxportの環境変数MPICH_PORT_RANGEを定義します。その他のサードパーティ製スケジューラについては、いずれも
FI_TCP_PORT_LOW_RANGE環境変数を使用して最小ポート番号を定義し、FI_TCP_PORT_HIGH_RANGE環境変数を使用して最大ポート番号を定義します。R2024b より前: 環境変数
MPICH_PORT_RANGEを値minport:maxportで定義して、ワーカーが通信ジョブで使用するポートの範囲を制御できます。
クライアントからのインバウンド通信用にワーカー上のポートを開く. 対話型並列プール ジョブ用にクライアントに接続するためにワーカーが開くリスニング ポート範囲を制御できます。
関数
pctconfig(Parallel Computing Toolbox) を使用して、ワーカーが開く必要があるリスニング ポートを指定します。または、値が
"minport maxport"の環境変数PARALLEL_SERVER_OVERRIDE_PORT_RANGEを定義します。これにより、pctconfigで指定されたポート範囲がオーバーライドされます。Microsoft HPC Pack では、ジョブ テンプレートで Environments フィールドに加えて
PARALLEL_SERVER_OVERRIDE_PORT_RANGEを設定します。たとえば、30000 から 31000 の範囲のリスニング ポートを開くには、以下のコードをジョブ テンプレートに追加します。PARALLEL_SERVER_OVERRIDE_PORT_RANGE=30000 31000;
その他のサードパーティ製スケジューラでは、
communicatingJobWrapper.shスクリプトでPARALLEL_SERVER_OVERRIDE_PORT_RANGEを設定します。たとえば、29000 から 31000 の範囲のリスニング ポートを開くには、以下のコードをcommunicatingJobWrapper.shスクリプトに追加します。export PARALLEL_SERVER_OVERRIDE_PORT_RANGE="29000 31000"
communicatingJobWrapper.shスクリプトの詳細については、Wrapper Scriptsを参照してください。