"AWSBatch" (バッチ計算プロバイダ)
詳細
環境特性
"IOBucket" | (required) | ジョブの入出力データを保存するためのAmazon S3バケットの名前 | |
"JobDefinition" | (required) | 送信されたジョブに使う,AWS Batchのジョブ定義のARN | |
"JobQueue" | (required) | ジョブが送信される,AWS BatchのジョブキューのARN | |
"ServiceObject" | Automatic | "AWS"サービスのServiceObject |
ジョブ設定
"GPUCount" | Inherited | GPUの数(整数) » | |
"Memory" | Automatic | "InformationUnit"の数量あるいはメビバイトの数(整数) » | |
"VCPUCount" | Inherited | vCPUの数(整数) » |
ジョブの状態
"Submitted" | 送信されたジョブはまだAWS Batchのスケジューラによって評価されていない | |
"Pending" | ジョブは従属状態が満たされるのを待っている | |
"Runnable" | ジョブは計算リソースが利用可能になるのを待っている | |
"Starting" | ジョブがインスタンスにスケジュールされ,そのコンテナの画像がダウンロードされている | |
"Running" | ジョブのコンテナが始められた | |
"Succeeded" | ジョブの実行に成功し,出力がアップロードされた | |
"Failed" | ジョブの実行に失敗した |
ジョブ特性
"JobExitCode" | ジョブコンテナ内のカーネルによって返される終了コード | |
"JobLog" | ジョブコンテナからのコンソールログ | |
"JobStatusReason" | ジョブが現在の状態にある理由を説明する文字列 | |
"ProviderJobID" | AWSがジョブに対して提供する一意的な識別子 |
"ChildJobExitCodes" | 各配列の子ジョブの"JobExitCode"特性 | |
"ChildJobStatusReasons" | 各配列の子ジョブの"JobStatusReason"特性 | |
"JobStatusReason" | 配列ジョブが現在の状態にある理由を説明する文字列 | |
"ProviderJobID" | AWSが配列ジョブに対して提供する一意的な識別子 |
"JobExitCode" | ジョブコンテナ内のカーネルによって返される終了コード | |
"JobLog" | 子のジョブコンテナからのコンソールログ | |
"JobStatusReason" | 子のジョブが現在の状態にある理由を説明する文字列 | |
"ProviderJobID" | AWSが子のジョブに対して提供する一意的な識別子 |
例題
すべて開くすべて閉じる例 (2)基本的な使用例
AWS Batchのバッチ計算プロバイダを設定するのワークフローで説明されているように"AWSBatch"のバッチ計算プロバイダを設定してから,"AWSBatch"のRemoteBatchSubmissionEnvironmentオブジェクトを作成する:

https://wolfram.com/xid/0ihah4xlexcllho87hjuda310pqpy0uqdloyx40-bkqbsj

https://wolfram.com/xid/0ihah4xlexcllho87hjuda310pqpy0uqdloyx40-h14fw1

https://wolfram.com/xid/0ihah4xlexcllho87hjuda310pqpy0uqdloyx40-jyh8rr

https://wolfram.com/xid/0ihah4xlexcllho87hjuda310pqpy0uqdloyx40-bepkqd

https://wolfram.com/xid/0ihah4xlexcllho87hjuda310pqpy0uqdloyx40-qizr2

ジョブが完了してから,もう一度ジョブの状態についてのクエリを行う:

https://wolfram.com/xid/0ihah4xlexcllho87hjuda310pqpy0uqdloyx40-fln9ob


https://wolfram.com/xid/0ihah4xlexcllho87hjuda310pqpy0uqdloyx40-h66qpm

明示的に指定された"AWS"サービスオブジェクトを使って,環境オブジェクトを作成する:

https://wolfram.com/xid/0ihah4xlexcllho87hjuda310pqpy0uqdloyx40-b6wpwo

https://wolfram.com/xid/0ihah4xlexcllho87hjuda310pqpy0uqdloyx40-zl8po

https://wolfram.com/xid/0ihah4xlexcllho87hjuda310pqpy0uqdloyx40-g57drg

https://wolfram.com/xid/0ihah4xlexcllho87hjuda310pqpy0uqdloyx40-hiu7n1
ジョブ設定 (4)
"GPUCount" (1)
GPU計算を使って事前訓練されたニューラルネットにおいて推論を行うAWS Batchに配列ジョブを送信する:

https://wolfram.com/xid/0ihah4xlexcllho87hjuda310pqpy0uqdloyx40-mlkj7

https://wolfram.com/xid/0ihah4xlexcllho87hjuda310pqpy0uqdloyx40-ba6vw3

https://wolfram.com/xid/0ihah4xlexcllho87hjuda310pqpy0uqdloyx40-glvxje

"Memory" (2)
ジョブのメモリ制限は,"Memory"のジョブ設定で調整することができる:

https://wolfram.com/xid/0ihah4xlexcllho87hjuda310pqpy0uqdloyx40-il1x98

https://wolfram.com/xid/0ihah4xlexcllho87hjuda310pqpy0uqdloyx40-gc51ad

https://wolfram.com/xid/0ihah4xlexcllho87hjuda310pqpy0uqdloyx40-fihutk

他に指定がない限り,デフォルトのメモリ制限は,設定されたvCPUとGPUの数に基づく:

https://wolfram.com/xid/0ihah4xlexcllho87hjuda310pqpy0uqdloyx40-cneu2n

"VCPUCount" (1)
ジョブ特性 (2)
"Single"ジョブ (1)
RemoteBatchSubmitを使って,AWS Batchにバッチジョブを送信する:

https://wolfram.com/xid/0ihah4xlexcllho87hjuda310pqpy0uqdloyx40-df9rlo

https://wolfram.com/xid/0ihah4xlexcllho87hjuda310pqpy0uqdloyx40-4cxf6
ジョブの状態について,ジョブがその状態に移行した理由と一緒にクエリを行う:

https://wolfram.com/xid/0ihah4xlexcllho87hjuda310pqpy0uqdloyx40-ecxdi


https://wolfram.com/xid/0ihah4xlexcllho87hjuda310pqpy0uqdloyx40-i43qt

"Array"および"ArrayChild"のジョブ (1)
RemoteBatchMapSubmitを使って,AWS Batchに配列ジョブを送信する:

https://wolfram.com/xid/0ihah4xlexcllho87hjuda310pqpy0uqdloyx40-capz2h

https://wolfram.com/xid/0ihah4xlexcllho87hjuda310pqpy0uqdloyx40-dv73e5
それぞれの子のジョブの状態について,ジョブが現行状態に移行した理由と一緒にクエリを行う:

https://wolfram.com/xid/0ihah4xlexcllho87hjuda310pqpy0uqdloyx40-ih7mxw

最初の子のジョブを表すRemoteBatchJobObject式を得る:

https://wolfram.com/xid/0ihah4xlexcllho87hjuda310pqpy0uqdloyx40-e69pyd

その子のジョブの状態について,子のジョブが現行状態に移行した理由と一緒にクエリを行う:

https://wolfram.com/xid/0ihah4xlexcllho87hjuda310pqpy0uqdloyx40-bk9auq


https://wolfram.com/xid/0ihah4xlexcllho87hjuda310pqpy0uqdloyx40-eauidf

特性と関係 (1)この関数の特性および他の関数との関係
ジョブがRemoteBatchJobAbortで停止された場合には,"JobStatusReason"特性の値は,停止のリクエストが Wolfram言語からのものであることを示す:

https://wolfram.com/xid/0ihah4xlexcllho87hjuda310pqpy0uqdloyx40-6p2du

https://wolfram.com/xid/0ihah4xlexcllho87hjuda310pqpy0uqdloyx40-is4v1y

https://wolfram.com/xid/0ihah4xlexcllho87hjuda310pqpy0uqdloyx40-bf4sch

https://wolfram.com/xid/0ihah4xlexcllho87hjuda310pqpy0uqdloyx40-jter1s

https://wolfram.com/xid/0ihah4xlexcllho87hjuda310pqpy0uqdloyx40-co85uc

考えられる問題 (2)よく起る問題と予期しない動作

https://wolfram.com/xid/0ihah4xlexcllho87hjuda310pqpy0uqdloyx40-uliad

https://wolfram.com/xid/0ihah4xlexcllho87hjuda310pqpy0uqdloyx40-fhgdjr

https://wolfram.com/xid/0ihah4xlexcllho87hjuda310pqpy0uqdloyx40-nfqcpk

ジョブのメモリ制限は,"Memory"のジョブ設定で調整することができる:

https://wolfram.com/xid/0ihah4xlexcllho87hjuda310pqpy0uqdloyx40-b00ugz

https://wolfram.com/xid/0ihah4xlexcllho87hjuda310pqpy0uqdloyx40-bgjyjq

https://wolfram.com/xid/0ihah4xlexcllho87hjuda310pqpy0uqdloyx40-bz9g0r

AWS Batchは,ジョブが完了の状態("Succeeded" または"Failed")に達してから24時間後にジョブのメタデータを削除する.このことによって,メタデータについてのクエリが欠測値を返す:

https://wolfram.com/xid/0ihah4xlexcllho87hjuda310pqpy0uqdloyx40-cdysar

https://wolfram.com/xid/0ihah4xlexcllho87hjuda310pqpy0uqdloyx40-r4jjn

ジョブの出力データには,手動で削除されるか,送信環境のI/Oバケットのライフサイクルポリシーによって(もしそのようなポリシーが設定されているのであれば)有効期限が自動的に切れるかするまで,アクセス可能である:

https://wolfram.com/xid/0ihah4xlexcllho87hjuda310pqpy0uqdloyx40-b5exw8
