"WolframBatch" (Batch Computation Provider)
Details
Wolfram Compute Services is a batch computation service that provides easy on-demand access to large-scale compute resources through your Wolfram Account.
Unlike other batch computation services, Wolfram Compute Services requires no user setup or configuration and no separate third-party cloud computation accounts.
Wolfram Compute Services only requires a Wolfram Account, internet connectivity and Service Credits.
Environment Properties
The RemoteBatchSubmissionEnvironment object for the "WolframBatch" provider does not take any additional properties.
The "WolframBatch" provider is the default value of $DefaultRemoteBatchSubmissionEnvironment, allowing functions such as RemoteBatchSubmit to be used without explicitly specifying an environment.
Job Settings
The following setting is supported by the RemoteProviderSettings option when using the "WolframBatch" provider:
| "RemoteMachineClass" | "Basic1x8" | type of computing resource to use |
| "Basic1x8" | basic machine class with 1 CPU core and 8 GB of memory | |
| "Basic2x8" | 2 CPU cores and 8 GB of memory | |
| "Basic4x16" | 4 CPU cores and 16 GB of memory | |
| "Memory8x64" | memory-optimized class with 8 CPU cores and 64 GB of memory | |
| "Memory16x128" | 16 CPU cores and 128 GB of memory | |
| "Memory192x1536" | 192 CPU cores and 1536 GB of memory | |
| "Compute64x128" | compute-optimized class with 64 CPU cores and 128 GB of memory | |
| "Compute192x384" | 192 CPU cores and 384 GB of memory |
The list of supported machine classes is subject to change. For an up-to-date listing with corresponding pricing information, see https://www.wolfram.com/compute-services.
When using the "WolframBatch" provider, RemoteMachineClass class is equivalent to setting RemoteProviderSettings <|"RemoteMachineClass" class|>.
CreditConstraint specifies a maximum number of Service Credits to use for the job. With the default setting Automatic, the job will run to completion, provided there are sufficient Service Credits in your account. Visit https://account.wolfram.com/products/service-credits to see your credits usage and to manage your credits.
Jobs that exceed their CreditConstraint are terminated, and no output data is made available.
Job Notifications
RemoteJobNotifications specifies what notification events to generate and what actions to take for those events.
| "Email" | sends an email to the address specified by $WolframID | |
| "SMS" | sends an SMS text message to $MobilePhone |
| "JobStarting" | job is no longer queued and is preparing to start | |
| "JobStarted" | job has started running | |
| "JobCompleted" | job has succeeded or terminated | |
| "JobSucceeded" | job succeeded producing a result | |
| "JobTerminated" | job terminated abnormally | |
| "JobStatusChanged" | issued for all job status change events |
| "Hourly" | approximately every hour while job is running | |
| "Daily" | approximately every day while job is running | |
| {"HoursElapsed",n} | approximately every n hours since job creation |
| {"JobCreditsUsed",n} | every time approximately n credits have been consumed |
Job Statuses
The following are possible values of the "JobStatus" job property when using the "WolframBatch" provider, listed in the order through which a typical job will pass:
| "Queued" | 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 | |
| "Terminated" | the job has been aborted or stopped due to errors |
Job Properties
When using the "WolframBatch" provider, the following properties are available from "Single"-type job objects, in addition to the standard properties supported by RemoteBatchJobObject:
| "JobExitCode" | exit code returned by the kernel within the job container | |
| "JobLogData" | console log and timestamp data as a list | |
| "JobLogString" | console logs from the job container | |
| "JobLogTabular" | console log and timestamp data in Tabular format | |
| "JobStatusReason" | string describing the reason for which the job is in its current state | |
| "OutputPreviewImage" | image preview of the job's evaluation result |
When using the "WolframBatch" provider, the following properties are available from "Array"-type job objects, in addition to the standard properties supported by RemoteBatchJobObject:
| "JobStatusReason" | string describing the reason for which the job is in its current state | |
| "OutputPreviewImage" | image preview of the first child job's evaluation result |
When using the "WolframBatch" provider, the following properties are available from "ArrayChild"-type job objects, in addition to the standard properties supported by RemoteBatchJobObject:
| "JobLogString" | console logs from the job container |
Examples
open all close allBasic Examples (1)
The default remote batch environment is "WolframBatch":
Submit a job using the default "WolframBatch" environment. RemoteBatchSubmit returns a RemoteBatchJobObject that allows you to manage and view the state of the job:
Properties & Relations (8)
Run a batch job on a computer with a large memory capacity:
Run a batch job with a given service credit budget:
Run a batch job with a given maximum runtime:
Receive SMS text notifications for job state change events:
Receive text notifications when the job starts and finishes, and emails every 2 hours while it runs:
Do not produce any notifications:
Use a default set of notifications:
Verify the detailed specification used for the default notifications:
Receive a notification when a job either succeeds or terminates: