メインコンテンツ

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

polyspaceJobsManager

Polyspace ジョブを MATLAB Parallel Server クラスターで管理

説明

polyspace-jobs-manager または polyspaceJobsManager は、Polyspace® Bug Finder™ および Polyspace Code Prover™ のリモート ジョブを管理します。このコマンドは、システム コマンド ラインからは polyspace-jobs-manager、MATLAB® コマンド ウィンドウからは polyspaceJobsManager として呼び出します。

polyspaceJobsManager('listjobs') はクラスター内のすべての Polyspace ジョブをリストします。

polyspaceJobsManager('cancel','-job',jobNumber) は指定したジョブをキャンセルします。ジョブはキャンセル済みとしてキューに表示されます。

polyspaceJobsManager('remove','-job',jobNumber) は指定したジョブをクラスターから削除します。

polyspaceJobsManager('getstatus','-job',jobNumber) は、指定されたジョブの現在のステータス (queuedrunningcompleted など) を返します。

polyspaceJobsManager('getlog','-job',jobNumber) は指定したジョブのログを表示します。

polyspaceJobsManager('wait','-job',jobNumber) は指定したジョブが完了するまで一時停止します。

polyspaceJobsManager('promote','-job',jobNumber) は指定したジョブを MATLAB ジョブ スケジューラ キューの中で昇格させます。

polyspaceJobsManager('demote','-job',jobNumber) は指定したジョブを MATLAB ジョブ スケジューラ キューの中で降格させます。

polyspaceJobsManager('download','-job',jobNumber) は、指定したジョブの結果をダウンロードします。結果は、解析の開始時に-results-dirオプションを使用して指定したフォルダーにダウンロードされます。

polyspaceJobsManager('download','-job',jobNumber,'-results-folder',resultsFolder) は、指定したジョブの結果を resultsFolder にダウンロードします。

polyspaceJobsManager(___,'-scheduler',scheduler) は指定されたジョブ スケジューラ上の指定アクションを実行します。上記の任意の構文でサーバーの指定がない場合、Polyspace は Polyspace の基本設定に保存されているサーバーを使用します。

すべて折りたたむ

この例では、MATLAB ジョブ スケジューラを使用して Polyspace をリモートから実行し、キューを通してジョブを監視します。

この例を実行する前に、MATLAB ジョブ スケジューラをセットアップします。この例では、myMJS@myCompany.com スケジューラを使用します。この例を実行する際に、ご使用のクラスター名でこのスケジューラを置き換えます。

ソース ファイルを設定します。

tempDir = fullfile(tempdir, 'psdemo', 'src');
mkdir(tempDir);
demo = fullfile(polyspaceroot,'polyspace','examples','cxx',...
'Bug_Finder_Example','sources');
copyfile(demo,tempDir,'f');

スケジューラに 2 つのジョブを送信します。各コマンドが、スケジューラ キュー内にあるジョブのステータスと ID を返します。

allFiles = fullfile(tempDir, '*.c')
oneFile = fullfile(tempDir, 'numerical.c');
resFolder1 = fullfile(tempDir, 'res1');
resFolder2 = fullfile(tempDir, 'res2');
[status1, jobID1] = polyspaceBugFinder('-batch', '-scheduler', 'myMJS@myCompany.com',...
 '-sources', allFiles,'-results-dir' resFolder1);
[status2, jobID2] = polyspaceBugFinder('-batch', '-scheduler', 'myMJS@myCompany.com',...
 '-sources', oneFile,'-results-dir' resFolder2);

ジョブがまだ開始されていない場合は、 2 番目のジョブが最初のジョブの前に実行されるようプロモートさせます。

polyspaceJobsManager('promote','-job',jobID2,'-scheduler','myMJS@myCompany.com')

最初のジョブ (jobID1) の前に、2 番目のジョブ (jobID2) の実行が開始されます。

ジョブ jobID1 をキャンセルします。

polyspaceJobsManager('cancel','-job',jobID1,'-scheduler','myMJS@myCompany.com')
polyspaceJobsManager('listjobs','-scheduler','myMJS@myCompany.com')
ID	AUTHOR	APPLICATION	LOCAL_RESULTS_DIR	WORKER	STATUS	DATE	LANG	CLUSTER_MODE
...
19	user	Polyspace	C:\Temp\psdemo\res1		cancelled	Wed Mar 16 16:48:38 EST 2014	C	Batch
20	user	Polyspace	C:\Temp\psdemo\res2		running	Wed Mar 16 16:48:38 EST 2014	C	Batch

ジョブ jobID1 を削除します。

polyspaceJobsManager('remove','-job',jobID1,'-scheduler','myMJS@myCompany.com')
polyspaceJobsManager('listjobs','-scheduler','myMJS@myCompany.com')
ID	AUTHOR	APPLICATION	LOCAL_RESULTS_DIR	WORKER	STATUS	DATE	LANG	CLUSTER_MODE
...
20	user	Polyspace	C:\psdemo\res2		completed	Wed Mar 16 16:48:38 EST 2014	C	Batch

ジョブ jobID2 のログを取得します。

polyspaceJobsManager('getlog','-job',jobID2,'-scheduler','myMJS@myCompany.com')

ジョブ jobID2 から情報をダウンロードします。

resFolder3 = fullfile(tempDir, 'res3');
polyspaceJobsManager('download','-job',jobID2,'-results-folder',resFolder3,'-scheduler','myCluster')

入力引数

すべて折りたたむ

キューに格納されている管理対象のジョブの番号を一重引用符で囲んだ文字ベクトルとして指定します。

例: '-job','10'

結果フォルダーへのパスを一重引用符で囲んだ文字ベクトルとして指定します。このフォルダーにはダウンロードした結果ファイルが保存されます。

例: '-results-folder','C:\psdemo\myresults'

以下のいずれかとして指定される、リモート検証のジョブ スケジューラ。

  • MATLAB Parallel Server™ クラスターのヘッド ノードをホストするコンピューターの名前 (NodeHost)。

  • ヘッド ノード ホスト上の MATLAB ジョブ スケジューラの名前 (MJSName@NodeHost)。

  • MATLAB クラスター プロファイルの名前 (ClusterProfile)。

例: '-scheduler','myscheduler@mycompany.com'

バージョン履歴

R2013b で導入