"CharityEngine" (批处理计算服务商)

详细信息

Charity Engine 是一种基于容器的网格计算服务,其使用空闲处理器时间在全球台式计算机网络上运行作业.
要配置 "CharityEngine" 批处理计算提供程序以在 Wolfram 语言中使用,请遵循设置 Charity Engine 批处理计算提供程序工作流程中的说明.
"CharityEngine" 批处理计算提供程序使用 Charity Engine 提供的文件托管系统存储作业的输入和输出数据.
"CharityEngine" 批处理计算提供程序仅支持在 Linux 容器中运行作业.
"CharityEngine" 批处理计算提供程序当前不支持 Wolfram 语言 GPU 计算.

环境属性

"CharityEngine" 提供程序的 RemoteBatchSubmissionEnvironment 对象支持以下属性:
  • "ServiceObject"Automatic"CharityEngine" 服务的 ServiceObject
    "UseOwnDevices"False是否将作业调度限制在当前用户拥有的主机上
  • 如果省略 "ServiceObject" 属性(或设置为 Automatic),将自动构建服务对象并与 ServiceConnect["CharityEngine"] 连接.
    如果 "ServiceObject" 属性设置为 "New",则将使用 ServiceConnect["CharityEngine","New"] 创建新的服务连接,而忽略任何已保存的连接或凭据.
    连接 "CharityEngine" 服务对象需要一个 Charity Engine "authenticator" 字符串. 设置 Charity Engine 批处理计算提供程序工作流提供了有关创建 Charity Engine 帐户和获取身份验证器的说明.

    作业设置

    使用 "CharityEngine" 提供程序时,RemoteProviderSettings 选项支持以下设置:
  • "InstanceType""C.2x2"Charity Engine 实例类型字符串
    "UseOwnDevices"Inherited是否将作业调度限制在当前用户拥有的主机上
  • Charity Engine 支持以下基本实例类型:
  • "C.2x2"2 个 vCPU;2GiB 内存
    "C.2x4"2 个 vCPU;4GiB 内存
    "C.4x4"4 个 vCPU;4GiB 内存
  • 可能支持超出所列实例类型的其他实例类型;查看 Charity Engine 网站以获取当前列表. 或者可以使用"CharityEngine" 服务连接的 "InstanceTypes" 请求获得当前列表. »
    "UseOwnDevices" 设置的 Inherited 值对应于用于提交作业的 RemoteBatchSubmissionEnvironment 中指定的值.
    使用 "CharityEngine" 提供程序时,RemoteBatchSubmitRemoteBatchMapSubmitTimeConstraint 选项的值必须在 1 到 8 小时之间,默认为 8 小时.
    "CharityEngine" 提供程序不支持使用 ForwardCloudCredentials 选项自动转发云凭证. »

    作业状态

    以下是使用 "CharityEngine" 提供程序时 "JobStatus" 作业属性的可能值,按一般作业通过的顺序列出:
  • "Provisioning"作业已排队等待调度到主机
    "Downloading"作业已安排到主机,并且正在下载其容器映像和输入文件
    "Running"作业容器已启动并正在评估作业代码
    "Completed"作业执行成功,其输出已上传
    "Failed"作业执行失败
    "Aborted"作业在完成之前被中止或超时
  • 作业属性

    使用 "CharityEngine" 提供程序时,除了 RemoteBatchJobObject 支持的标准属性外,"Single" 类型的作业对象还提供以下属性:
  • "JobLog"来自作业容器的控制台日志
    "ProviderJobID"Charity Engine 为工作提供的独有标识符
  • 使用 "CharityEngine" 提供程序时,除了 RemoteBatchJobObject 支持的标准属性外,"Array" 类型的作业对象还提供以下属性:
  • "ProviderChildJobIDs"Charity Engine 为每个数组子作业提供的独有标识符
  • 使用 "CharityEngine" 提供程序时,除了 RemoteBatchJobObject 支持的标准属性外,"ArrayChild" 类型的作业对象还提供以下属性:
  • "JobLog"来自子作业容器的控制台日志
    "ProviderJobID"Charity Engine 为子作业提供的独有标识符
  • "ProviderJobID""ProviderJobIDs" 属性的值向 Charity Engine 标识作业,与 "JobUUID" 属性相反,它标识 Wolfram 系统中的作业.
    Charity Engine 在提交后 14 天过期并删除已完成("Completed""Failed""Aborted")作业的元数据,提交后 28 天删除未完成("Provisioning""Download""Running")作业的元数据.
    表示已过期作业的 RemoteBatchJobObject 表达式无法查询状态或输出,并且不会被 RemoteBatchJobs 列出.

    范例

    打开所有单元关闭所有单元

    基本范例  (2)

    创建一个 "CharityEngine" RemoteBatchSubmissionEnvironment 对象:

    使用创建的环境提交作业:

    查询作业状态:

    完成后再次查询作业的状态:

    下载作业的输出:

    使用隐式创建的提交环境提交作业:

    作业设置  (1)

    "InstanceType"  (1)

    指示 Charity Engine 使用具有 4 个可用 vCPU 的 "C.4x4" 实例运行提交的作业:

    作业属性  (2)

    "Single" 作业  (1)

    使用 RemoteBatchSubmit 向 Charity Engine 提交批处理作业:

    从作业容器获取控制台输出:

    "Array" 和 "ArrayChild" 作业  (1)

    使用 RemoteBatchMapSubmit 向 Charity Engine 提交批处理数组作业:

    获取每个数组子作业的 Charity Engine 作业标识符:

    获取代表第一个子作业的 RemoteBatchJobObject 表达式:

    从子作业容器获取控制台输出:

    属性和关系  (1)

    可以通过 "CharityEngine" 服务连接获取当前可用的 Charity Engine 实例类型列表:

    可能存在的问题  (1)

    "CharityEngine" 提供程序不支持云凭证的自动转发: