"AWSBatch" (Batch Computation Provider)
Details
Environment Properties
"IOBucket" | (required) | name of the Amazon S3 bucket in which to store job input and output data | |
"JobDefinition" | (required) | ARN for the AWS Batch job definition to use for submitted jobs | |
"JobQueue" | (required) | ARN for the AWS Batch job queue to which jobs are submitted | |
"ServiceObject" | Automatic | ServiceObject for the "AWS" service |
Job Settings
"GPUCount" | Inherited | integer number of GPUs » | |
"Memory" | Automatic | "InformationUnit" quantity or integer number of mebibytes » | |
"VCPUCount" | Inherited | integer number of vCPUs » |
Job Statuses
"Submitted" | the submitted job has not yet been evaluated by the AWS Batch scheduler | |
"Pending" | the job is waiting for dependencies to be satisfied | |
"Runnable" | the job is waiting for compute resources to be available | |
"Starting" | the job has been scheduled to an instance and its container image is being downloaded | |
"Running" | the job's container has started | |
"Succeeded" | the job's execution has succeeded and its output has been uploaded | |
"Failed" | the job's execution has failed |
Job Properties
"JobExitCode" | exit code returned by the kernel within the job container | |
"JobLog" | console logs from the job container | |
"JobStatusReason" | string describing the reason for which the job is in its current state | |
"ProviderJobID" | AWS-provided unique identifier for the job |
"ChildJobExitCodes" | "JobExitCode" property of each array child job | |
"ChildJobStatusReasons" | "JobStatusReason" property of each array child job | |
"JobStatusReason" | string describing the reason for which the array job is in its current state | |
"ProviderJobID" | AWS-provided unique identifier for the array job |
"JobExitCode" | exit code returned by the kernel within the job container | |
"JobLog" | console logs from the child job container | |
"JobStatusReason" | string describing the reason for which the child job is in its current state | |
"ProviderJobID" | AWS-provided unique identifier for the child job |
Examples
open allclose allBasic Examples (2)
Create an "AWSBatch" RemoteBatchSubmissionEnvironment object, after configuring the "AWSBatch" batch computation provider as described in the Set Up the AWS Batch Computation Provider workflow:
Submit a job using the created environment:
Query the job’s status again, after it has completed:
Create an environment object using an explicitly specified "AWS" service object:
Job Settings (4)
"GPUCount" (1)
"Memory" (2)
Job Properties (2)
"Single" Jobs (1)
Submit a batch job to AWS Batch using RemoteBatchSubmit:
Query the job’s status along with the reason why the job transitioned to that state:
"Array" and "ArrayChild" Jobs (1)
Submit an array job to AWS Batch using RemoteBatchMapSubmit:
Query the status of each child job along with the reason why each transitioned to its current state:
Obtain a RemoteBatchJobObject expression representing the first child job:
Query the child job’s status along with the reason why the child job transitioned to that state:
Properties & Relations (1)
If a job was terminated with RemoteBatchJobAbort, the value of the "JobStatusReason" property will indicate that the termination request originated from the Wolfram Language:
Possible Issues (2)
AWS Batch terminates jobs that exceed their memory limit:
The memory limit for a job can be adjusted with the "Memory" job setting:
AWS Batch deletes a job’s metadata 24 hours after the job reaches a completed state ("Succeeded" or "Failed"). This will cause metadata queries to return a missing value:
The job’s output data will still be accessible until it is either manually deleted or automatically expired by the lifecycle policy on the submission environment's I/O bucket, if such a policy is configured: