Main Content

RemoteClusterAccess

クライアント ユーティリティがローカルで使用できないときにスケジューラに接続する

コンストラクター

r = parallel.cluster.RemoteClusterAccess(username)

r = parallel.cluster.RemoteClusterAccess(username,P1,V1,...,Pn,Vn)

説明

r = parallel.cluster.RemoteClusterAccess(username) は、Usernameusername に設定された RemoteClusterAccess オブジェクトを作成します。

既定では、クラスターに接続する際にパスワードを要求されます。

ヒント

リモート クラスターのクラスター プロファイルを設定した場合は、parcluster を使用します。詳細については、クラスターの検出とクラスター プロファイルの使用を参照してください。

非共有モードまたはリモート送信モードで接続するサードパーティ製スケジューラのプラグイン スクリプトを変更する必要がある場合、使用する必要があるのは RemoteClusterAccess のみです。プラグイン スクリプトは、汎用スケジューラ インターフェイスを使用してクラスターに接続する場合に使用します。

クライアントがサードパーティ製スケジューラに直接投入できない場合、またはクライアントがファイル システムをクラスターと共有していない場合は、以下を検討してください。

  • サードパーティ製スケジューラに MathWorks® アドオンがある場合は、それをインストールします。アドオンを使用する場合、セットアップ ウィザードまたはクラスター プロファイル マネージャーを使用してクラスター プロファイルを設定し、多数の設定を指定できます。詳細については、汎用スケジューラのプラグイン スクリプトを参照してください。

  • アドオンがないサードパーティ製スケジューラを使用する必要がある場合、またはアドオンのカスタマイズが必要な場合は、汎用スケジューラ インターフェイスを使用した構成 (MATLAB Parallel Server)を参照してください。

  • リモート クラスター接続、投入、またはデータ転送の設定を変更する必要がある場合は、RemoteClusterAccess を使用します。

r = parallel.cluster.RemoteClusterAccess(___,Name,Value) は、1 つ以上の名前と値の引数を使用して、RemoteClusterAccess オブジェクトを作成します。たとえば、'Port',31415 を指定すると、ポート番号 31415 を使用してクラスターに接続します。名前と値の引数は、他のすべての入力引数の後で指定します。

受け入れられる名前と値の引数は以下のとおりです。

  • 'AuthenticationMode' — クラスターへの接続時に使用する認証モード。string スカラーまたは文字ベクトルとして指定します。

    引数 'IdentityFilename' を指定する場合、既定値は 'IdentityFile' です。それ以外の場合、既定値は 'Password' です。'AuthenticationMode' の有効な値は次のとおりです。

    • 'Agent' – クライアントはクライアント マシン上で実行される SSH エージェントと連動します。

    • 'IdentityFile' – クライアントはクラスターへの接続時に ID ファイルを使用して認証を行います。IdentityFilename オプションを使用してファイルを指定する場合は、そのファイルを使用します。それ以外の場合、MATLAB® は接続時に ID ファイルへの絶対パスを指定するよう要求します。

    • 'Multifactor' – クライアントにより 1 回以上の入力が要求されます。たとえば、クライアント上で 2 要素認証 (2FA) が有効になっている場合、クライアントによりパスワードと 2 番目の認証要素に対する応答を要求されます。

    • 'Password' – クライアントにより SSH パスワードが要求されます。ユーザー名は Username プロパティで指定されます。

  • 'IdentityFileHasPassphrase' — ID ファイルでパスフレーズを要求するかどうかを指定するフラグ。true または false として指定します。true の場合は、接続時にパスワードを要求されます。ID ファイルが提供されていない場合、この名前と値の引数は使用されません。

  • 'IdentityFilename'RemoteClusterAccess がリモート ホストに接続する際に使用する ID ファイルの絶対パス。'IdentityFilename'、および string スカラーまたは文字ベクトルとして指定します。

  • 'Port' — 接続先のクラスターのポート番号。165535 の整数スカラーとして指定します。

    既定値は 22 です。

詳細と詳しい例については、リモート ホストからの送信および共有ファイル システムなしでの送信を参照してください。

メソッド

メソッド名説明
connect

connect(r,clusterHost) はコンストラクターで提供されたユーザー資格情報オプションを使用して、指定されたホストへの接続を確立します。ファイルのミラーリングはサポートされていません。clusterHost は Linux を実行する必要があります。

connect(r,clusterHost,remoteDataLocation) はコンストラクターで提供されたユーザー資格情報オプションを使用して、指定されたホストへの接続を確立します。remoteDataLocation はファイルのミラーリングに使用される clusterHost 上のフォルダーを特定します。コンストラクターで提供されるユーザー資格情報にはこのフォルダーへの書き込みアクセス権限が必要です。

disconnectdisconnect(r) は既存のリモート接続を切断します。connect メソッドを事前に呼び出しておかなければなりません。
doLastMirrorForJob

doLastMirrorForJob(r,job) は指定されたジョブについて、リモートの remoteDataLocation からローカルの JobStorageLocation へ、変更されたファイルの最終コピーを行います。ジョブに対し実行されているミラーがあればそれも停止し、ジョブ ファイルはリモートの remoteDataLocation から削除されます。startMirrorForJob または resumeMirrorForJob メソッドを事前に呼び出しておかなければなりません。

getRemoteJobLocation

getRemoteJobLocation(r,jobID,remoteOS) は指定された jobID に対し、リモート ジョブの場所への絶対パスを返します。remoteOS の有効な値は 'pc' および 'unix' です。

isJobUsingConnection

ジョブが現在ミラーされていない場合、isJobUsingConnection(r,jobID)true を返します。

resumeMirrorForJob

resumeMirrorForJob(r,job) は指定されたジョブについて、リモートの remoteDataLocation からローカルの JobStoragelocation へのファイルのミラーリングを再開します。これは startMirrorForJob メソッドと似ていますが、最初にファイルをローカルの JobStorageLocation からリモートの remoteDataLocation にコピーすることはありません。connect メソッドを事前に呼び出しておかなければなりません。これは、元のクライアントの MATLAB セッションが終了しており、新しいクライアント セッションから同じファイルにアクセスする場合に役立ちます。

runCommand

[status,result] = runCommand(r,command) は指定されたコマンドをリモート ホストで実行し、結果のステータスと標準出力を返します。connect メソッドを事前に呼び出しておかなければなりません。

startMirrorForJob

startMirrorForJob(r,job) はローカルの JobStorageLocation からリモートの remoteDataLocation へすべてのジョブ ファイルをコピーし、ファイルのミラーリングを開始して、リモートの remoteDataLocation のファイルに加えられたすべての変更がローカルの JobStorageLocation にコピーし返されるようにします。connect メソッドを事前に呼び出しておかなければなりません。

stopMirrorForJob

stopMirrorForJob(r,job) は指定されたジョブについて、リモートの remoteDataLocation からローカルの JobStorageLocation へのファイルのミラーリングを直ちに停止します。startMirrorForJob または resumeMirrorForJob メソッドを事前に呼び出しておかなければなりません。これは実行中のミラーをキャンセルし、リモートの場所からジョブのファイルを削除します。stopMirrorForJobdoLastMirrorForJob に似ていますが、ローカルのジョブ ファイルを最新状態に維持しようとしない点が異なります。ミラーを標準的な方法で停止する場合は、doLastMirrorForJob を使用してください。

getConnectedAccess

getConnectedAccess(host,username) は指定されたホストに接続されている RemoteClusterAccess オブジェクトを返します。この関数は、以前に構成された RemoteClusterAccess オブジェクトが存在する場合、それを返すことがあります。host は Linux を実行する必要があります。

getConnectedAccess(...,P1,V1,...Pn,Vn)RemoteClusterAccess コンストラクターに追加のパラメーターを渡します。

getConnectedAccessWithMirror

getConnectedAccessWithMirror(host,remoteDataLocation,username) は、remoteDataLocation をミラーの場所として使用して、指定されたホストに接続されている RemoteClusterAccess オブジェクトを返します。この関数は、以前に構成された RemoteClusterAccess オブジェクトが存在する場合、それを返すことがあります。host は Linux を実行する必要があります。

getConnectedAccessWithMirror(...,P1,V1,...Pn,Vn)RemoteClusterAccess コンストラクターに追加のパラメーターを渡します。

プロパティ

RemoteClusterAccess オブジェクトには、以下の読み取り専用のプロパティがあります。これらの値は、このオブジェクトを作成するときか、その connect メソッドを呼び出すときに設定します。

プロパティ名説明
AuthenticationMode

クラスターに接続する際の認証方法を示すオプション。次のいずれかとして返されます。

  • 'Agent' – クライアントはクライアント マシン上で実行される SSH エージェントと連動します。

  • 'IdentityFile' – クライアントはクラスターへの接続時に ID ファイルを使用して認証を行います。IdentityFilename プロパティが空の string でも空の文字ベクトルでもない場合は、そのファイルを使用します。それ以外の場合、MATLAB は接続時に ID ファイルへの絶対パスを指定するよう要求します。

  • "Multifactor" – クライアントにより 1 回以上の入力が要求されます。たとえば、クライアント上で 2 要素認証 (2FA) が有効になっている場合、クライアントによりパスワードと 2 番目の認証要素に対する応答を要求されます。

  • 'Password' – クライアントにより SSH パスワードが要求されます。ユーザー名は Username プロパティで指定されます。

IdentityFilename プロパティが空の string スカラーでも空の文字ベクトルでもない場合、このプロパティは既定で 'IdentityFile' に設定されます。それ以外の場合は、既定で 'Password' に設定されます。

このプロパティを設定するには、RemoteClusterAccess オブジェクトを作成する際に名前と値の引数 'AuthenticationMode' を指定します。

Hostname

アクセスするリモート ホストの名前。文字ベクトルとして返されます。

既定値は空の文字ベクトルです。

IdentityFileHasPassphrase

ID ファイルでパスフレーズを要求するかどうかを指定するフラグ。'IdentityFileHasPassphrase'true または false で構成されるコンマ区切りのペアとして指定します。

既定値は false です。

このプロパティが true に設定されている場合は、接続時にパスワードを要求されます。ID ファイルが提供されていない場合、このプロパティは使用されません。

このプロパティを設定するには、RemoteClusterAccess オブジェクトを作成する際に名前と値の引数 'IdentityFileHasPassphrase' を指定します。

IdentityFilename

RemoteClusterAccess オブジェクトがリモート ホストに接続する際に使用する ID ファイルの絶対パス。文字ベクトルとして返されます。

既定値は空の文字ベクトルです。このプロパティが空の場合は、接続時にパスワードを要求されます。

このプロパティを設定するには、RemoteClusterAccess オブジェクトを作成する際に名前と値の引数 'IdentityFilename' を指定します。

IsConnected

RemoteClusterAccess オブジェクトがクラスターに接続しているかどうかを示すフラグ。true または false として返されます。

既定値は false です。

IsFileMirrorSupported

RemoteClusterAccess オブジェクトでファイルのミラーリングがサポートされているかどうかを示すフラグ。true または false として指定します。

既定値は false です。

JobStorageLocation プロパティが空でない場合、IsFileMirrorSupported プロパティは true に設定されます。

JobStorageLocation

ミラーされているファイルのリモート ホストでの場所。文字ベクトルとして返されます。

既定値は空の文字ベクトルです。

このプロパティを設定するには、次のいずれかの構文を使用してクラスターに接続します。

  • connect(r,clusterHost,remoteDataLocation)

  • r = getConnectedAccessWithMirror(host,remoteDataLocation,username)

  • r = getConnectedAccessWithMirror(___,P1,V1,...Pn,Vn)

Port

クラスターへの接続に使用するポート番号。165535 の整数スカラーとして返されます。

既定値は 22 です。

このプロパティを設定するには、RemoteClusterAccess オブジェクトを作成する際に名前と値の引数 'Port' を指定します。

UseIdentityFile

RemoteClusterAccess オブジェクトがクラスターへの接続に ID ファイルを使用しているかどうかを示すフラグ。true または false として返されます。

既定値は false です。AuthenticationMode プロパティが 'IdentityFile' の場合、UseIdentityFile プロパティは true です。

Username

クラスターへの接続に使用するユーザー名。文字ベクトルとして返されます。

リモート データの場所からファイルをミラーします。job オブジェクトはお使いの汎用スケジューラのジョブを表しているものとします。

remoteConnection = parallel.cluster.RemoteClusterAccess('testname');
connect(remoteConnection,'headnode1','/tmp/filemirror');
startMirrorForJob(remoteConnection,job);
submit(job)
% Wait for the job to finish
wait(job);

% Ensure that all the local files are up to date, and remove the 
% remote files
doLastMirrorForJob(remoteConnection,job);

% Get the output arguments for the job
results = fetchOutputs(job)

詳細と例については、リモート ホストからの送信および共有ファイル システムなしでの送信を参照してください。

バージョン履歴

R2011a で導入