注意: ここで記載しているすべてのポートは、TCPポートです。
MATLAB ジョブ スケジューラーをスケジューラーとして使用する場合は、以下の情報をご参照ください:
クラスター ポート
R2024b 以降:
ワーカープロセスの起動前に、ジョブ通信で使用するポート範囲を制御できます。環境変数 FI_TCP_PORT_LOW_RANGE で最小ポート番号を、 FI_TCP_PORT_HIGH_RANGE で最大ポート番号を指定します。例:
FI_TCP_PORT_LOW_RANGE=29000
FI_TCP_PORT_HIGH_RANGE=31000
詳細は以下をご参照ください:
一般的な問題のトラブルシューティング:必要なポート
R2024a 以前:
通信ジョブや対話型並列プール ジョブの場合、ワーカー同士は、Windows ではデフォルトで 0 から 65535 までの範囲、Linux ではエフェメラルポートの範囲を使って相互に接続します。ノード間にファイアウォールやネットワークの制限がある場合は、環境変数 MPICH_PORT_RANGE=minport:maxport を設定することで、使用するポートの範囲を制御できます。
例:
- Microsoft HPC Pack の場合、ジョブテンプレートの Environments フィールドに MPICH_PORT_RANGE を追加します。例:30000 から 31000 を開放する場合:
MPICH_PORT_RANGE=30000:31000;
- その他のサードパーティ製スケジューラーの場合、communicatingJobWrapper.sh スクリプトで MPICH_PORT_RANGE を設定します。例:29000 から 31000 を開放する場合:
export MPICH_PORT_RANGE="29000:31000"
並列プール用ポート: R2023a 以降
並列プールでは、各ワーカーがデフォルトで 27370 から 28370 の範囲でリスニングポートを開きます。対話型並列プール ジョブでは、これらのポートがクラスター外からアクセス可能である必要があります。バッチプールでは、外部からのアクセスは不要です。
ポート範囲は pctconfig 関数または環境変数 PARALLEL_SERVER_OVERRIDE_PORT_RANGE で制御できます。詳細は下記リンクを参照してください。
一般的な問題のトラブルシューティング:必要なポート
クラスター内部のポートアクセス: R2022b 以前
通信ジョブや並列プールでは、SMPD プロセスが 20000 から 30000 の範囲でリスニングポートを開きます。正確なポート番号はジョブ ID に基づいて決まります。このポートはワーカー間の通信にのみ使用され、クラスター外部からのアクセスは必要ありません。
クライアント ポート
MATLAB クライアントマシンにスケジューラーとやり取りするために必要なユーティリティがない場合、クラスターへのジョブ送信は SSH(ポート 22)経由で行われます。
R2022b 以前
対話型並列プールジョブのみ、ポート開放が必要です。デフォルトの必要ポート範囲は 27370 から 27470 です。
このポート範囲は MATLAB クライアントマシンで pctconfig 関数で制御可能です。 クライアントマシンはこの範囲でクラスター ワーカーからのインバウンドの通信を受信します。クラスター ワーカーは発信時にエフェメラルポートを使用します。
ネットワーク ライセンス マネージャーのポート
ネットワーク ライセンス マネージャーでは 2 つのポート開放が必要です。これらは変更可能で、ライセンスファイルで使用中のポート番号を確認できます。デフォルトでは 27000 と追加のランダムなポートがクライアント・サーバー双方で使用されます。ワーカーもこれらのリスニングポートへ接続できる必要があります。
設定方法は以下参照:
MathWorks ホスト型ライセンス
MATLAB Parallel Server のオンラインライセンスを利用する場合、以下の通信が必要です。IP アドレスは動的なため、ドメイン名での許可が推奨されます。
TCP ポート:
ドメイン:
- licensing.mathworks.com
- login.mathworks.com
- services.mathworks.com
クライアント/クラスター証明書
Microsoft HPC Pack を利用している場合、クライアントは TLS/SSL 経由でクラスターに接続します。そのため、使用している TLS/SSL 証明書が有効かつ最新であることを確認してください。証明書に問題があると、接続エラーが発生する可能性があります。
注:R2019a 以降、MATLAB Distributed Computing Server は MATLAB Parallel Server に名称変更されました。