"CharityEngine" (Batch Computation Provider)
Charity Engine is a container-based grid computing service that runs jobs using idle processor time on a worldwide network of desktop computers.
To configure the "CharityEngine" batch computation provider for use in the Wolfram Language, follow the instructions in the Set Up the Charity Engine Batch Computation Provider workflow.
The "CharityEngine" batch computation provider stores input and output data for jobs using the file hosting system provided by Charity Engine.
The following properties are supported in a RemoteBatchSubmissionEnvironment object for the "CharityEngine" provider:
|"ServiceObject"||Automatic||ServiceObject for "CharityEngine" service|
|"UseOwnDevices"||False||whether to restrict job scheduling to hosts owned by the current user|
If the "ServiceObject" property is omitted (or is set to Automatic), a service object will be automatically constructed and connected with ServiceConnect["CharityEngine"].
A Charity Engine "authenticator" string is required to connect a "CharityEngine" service object. The Set Up the Charity Engine Batch Computation Provider workflow provides instructions for creating a Charity Engine account and obtaining an authenticator.
The following settings are supported by the RemoteProviderSettings option when using the "CharityEngine" provider:
|"InstanceType"||"C.2x2"||Charity Engine instance-type string|
|"UseOwnDevices"||Inherited||whether to restrict job scheduling to hosts owned by the current user|
|"C.2x2"||2 vCPUs; 2GiB RAM|
|"C.2x4"||2 vCPUs; 4GiB RAM|
|"C.4x4"||4 vCPUs; 4GiB RAM|
Additional instance types beyond those listed may be supported; check the Charity Engine website for a current list. Alternatively, a current list may be obtained using the "InstanceTypes" request of the "CharityEngine" service connection. »
The value Inherited for the "UseOwnDevices" setting corresponds to the value specified in the RemoteBatchSubmissionEnvironment used to submit the job.
When using the "CharityEngine" provider, the value of the TimeConstraint option of RemoteBatchSubmit and RemoteBatchMapSubmit must be between 1 and 8 hours, with a default of 8 hours.
The following are possible values of the "JobStatus" job property when using the "CharityEngine" provider, listed in the order through which a typical job will pass:
|"Provisioning"||the job is queued and waiting to be scheduled to a host|
|"Downloading"||the job has been scheduled to a host and its container image and input files are being downloaded|
|"Running"||the job container has started and is evaluating the job code|
|"Completed"||the job's execution has succeeded and its output has been uploaded|
|"Failed"||the job's execution has failed|
|"Aborted"||the job was aborted or timed out before it could complete|
When using the "CharityEngine" provider, the following properties are available from "Single"-type job objects, in addition to the standard properties supported by RemoteBatchJobObject:
|"JobLog"||console logs from the job container|
|"ProviderJobID"||Charity Engine-provided unique identifier for the job|
When using the "CharityEngine" provider, the following properties are available from "Array"-type job objects, in addition to the standard properties supported by RemoteBatchJobObject:
|"ProviderChildJobIDs"||Charity Engine-provided unique identifiers for each array child job|
When using the "CharityEngine" provider, the following properties are available from "ArrayChild"-type job objects in addition to the standard properties supported by RemoteBatchJobObject:
|"JobLog"||console logs from the child job container|
|"ProviderJobID"||Charity Engine-provided unique identifier for the child job|
The values of the "ProviderJobID" and "ProviderJobIDs" properties identify jobs to Charity Engine, in contrast to the "JobUUID" property, which identifies a job within the Wolfram System.
Charity Engine expires and deletes the metadata of a completed ("Completed", "Failed" or "Aborted") job 14 days after submission, and that of an incomplete ("Provisioning", "Download" or "Running") job 28 days after submission.
Examplesopen allclose all
Basic Examples (2)
Create an "CharityEngine" RemoteBatchSubmissionEnvironment object:
Provider Settings (1)
Job Properties (2)
"Single" Jobs (1)
Submit a batch job to Charity Engine using RemoteBatchSubmit:
"Array" and "ArrayChild" Jobs (1)
Properties & Relations (1)
A list of currently available Charity Engine instance types can be obtained via the "CharityEngine" service connection: