"AzureBatch" (批处理计算服务商)
详细信息
Azure Batch 是一种基于云的批处理计算服务,可在 Microsoft Azure 平台上跨越多个托管虚拟机节点池调度容器化作业。
"AzureBatch" 批处理计算提供程序将作业的输入和输出数据以及控制台日志存储在与运行作业的 Azure Batch 帐户相关联的 Azure Blob 存储帐户中. 文件根据 Microsoft 的批处理文件规约标准在 Azure Blob 存储容器中组织.
环境属性
"PoolID" | (required) | 作业提交到的 Azure Batch 池的 ID |
首次计算 RemoteBatchSubmissionEnvironment["AzureBatch",…] 时,将显示一个对话框以收集 Azure Batch 和 Azure Blob 存储服务的 API 凭据. 如果在对话框中选中 "Save Connection"(保存连接),则提供的凭据将被永久保存并在以后的会话中自动使用.
作业设置
"ContainerImage" | 用于作业容器的图像名称/ URL | ||
"JobPriority" | 0 | 作业的优先级,介于 -1 和 +1 之间 | |
"VCPUCount" | 1 | vCPU 的整数数量 » |
Azure Batch 池执行 "jobs"(作业),每个“作业”包含一个或多个 "tasks"(任务). RemoteBatchSubmit 和 RemoteBatchMapSubmit 中使用的术语对应这个结构如下:
RemoteBatchSubmit job ("single" job) | 包含单个任务的 Azure Batch 作业 | |
RemoteBatchMapSubmit array job | 包含多个任务的 Azure Batch 作业 | |
RemoteBatchMapSubmit array child job | Azure Batch 作业中的任务 |
"AzureBatch" 批处理计算提供程序将每个任务的插槽要求设置为等于 "VCPUCount" 设置,并假设池级别的“每个节点的任务插槽”设置配置为等于池的节点 VM 大小中的 vCPU 数量. 有关详细信息,请参阅 Microsoft 关于并行任务执行和 池节点大小的文档.
"VCPUCount" 设置的值仅用于作业调度和设置作业容器内的 $ProcessorCount 和 $DefaultKernels. 这不会影响 CPU 调度或远程内核进程可用的 CPU 资源量. »
"JobPriority" 设置的值范围从 -1(最低优先级)到 +1(最高优先级). 在给定的池中,高优先级作业的调度优先级高于低优先级作业. 有关详细信息,请参阅 Microsoft 关于作业优先级的文档.
作业属性
"JobExitCode" | 作业容器中内核返回的退出代码 | |
"JobLog" | 来自作业容器的标准输出控制台日志 | |
"JobStandardErrorLog" | 来自作业容器的标准错误控制台日志 | |
"JobStatusReason" | 描述作业处于当前状态的原因的字符串 | |
"ProviderJobID" | Azure Batch 中作业的独有标识符 | |
"ProviderTaskID" | Azure Batch 中作业任务的独有标识符 |
"ChildJobExitCodes" | 每个数组子作业的 "JobExitCode" 属性 | |
"ChildJobStatusReasons" | 每个数组子作业的 "JobStatusReason" 属性 | |
"JobStatusReason" | 描述数组作业处于其当前状态的原因的字符串 | |
"ProviderFirstTaskID" | 第一个子作业的顺序数字标识符 | |
"ProviderJobID" | Azure Batch 中数组作业的独有标识符 |
"JobExitCode" | 子作业容器中内核返回的退出代码 | |
"JobLog" | 来自子作业容器的标准输出控制台日志 | |
"JobStandardErrorLog" | 来自子作业容器的标准错误控制台日志 | |
"JobStatusReason" | 描述子作业处于当前状态的原因的字符串 | |
"ProviderJobID" | Azure Batch 中父阵列作业的独有标识符 | |
"ProviderTaskID" | Azure Batch 中子作业任务的独有标识符 |
Azure Batch 分别存储任务进程的标准输出和标准误差流,因此有单独的 "JobLog" 和 "JobStandardErrorLog" 属性. 在大多数情况下,"JobStandardErrorLog" 属性将为空.
除了 "EvaluationResult" 属性中可用的作业表达式的返回值外,导出到作业容器工作目录中目录 ./JobOutput/ 的额外输出文件将根据 Microsoft 的批处理文件规约标准上传到作业的 Azure Blob 存储容器. 然而,这些额外的输出文件不能从 Wolfram 语言中下载.
范例
打开所有单元关闭所有单元基本范例 (2)
在按照设置 Azure Batch 计算提供程序工作流中所述配置 "AzureBatch" 批处理计算提供程序后,创建一个 "AzureBatch" RemoteBatchSubmissionEnvironment 对象:
作业属性 (2)
"Single" 作业 (1)
"Array" 和 "ArrayChild" 作业 (1)
使用 RemoteBatchMapSubmit 将数组作业提交到 Azure Batch:
获取代表第一个子作业的 RemoteBatchJobObject 表达式:
属性和关系 (1)
如果作业被 RemoteBatchJobAbort 终止,则 "JobStatusReason" 属性的值将表明终止请求源自 Wolfram 语言: