设计 Azure Batch 作业以运行并行任务
Azure Batch 使用并行任务跨计算节点拆分作业。
作为非营利组织的解决方案架构师,你希望了解如何设计 Azure Batch 作业,以及如何启用并行处理,以便这些功能可用于 OCR 场景。
你将在此处了解 Batch 并行任务的关键元素。
将 Azure Batch 与 Azure CLI 结合使用
你决定使用 Azure Batch 和 CLI 来创建解决方案,以帮助非营利组织完成其任务,从而获得快速框架并逐步改进该框架,而无需花费时间来构建入门需要使用的所有基础代码。 其他创建 Azure Batch 解决方案(如 .NET 和 Node.js)的方法确实可提供对 Batch 和其他 Azure API 的更丰富、更精细的控制,但这些方法都无法提供通过在 CLI 中发出命令并观察其结果所获得的敏捷性和即时反馈。
并行任务示例
为了掌握 Azure Batch 和 CLI,你决定使用简单概念证明来演示并行协同工作的不同节点。 你将在 CLI 中循环多次,在循环的每次迭代中添加带编号的任务,然后下载并查看每个任务生成的元数据。 Azure Batch 服务计划任务相继创建到不同节点上时,该元数据会显示 Azure Batch 服务计划任务,使其并行执行其工作。
这种概念证明实际上为 Azure Batch 的许多实际应用程序提供了基础。 例如,在 OCR 场景中,任务还会安装像 Imagemagick 这样的软件,以便将上传的水净化图像转换为 TIF 格式,然后安装 Tesseract 来执行转换工作。 这些任务将通过以下方式进行分区:每个工作器节点将与其他工作器节点并行执行一部分 OCR 工作,以便更快地完成。
即使是此概念证明也将演示 Azure Batch 协同工作的重要组件。 你将使用 Azure CLI 发出命令并获得即时反馈,从而创建池、工作器节点、作业和任务。
使用 Azure Batch 的好处
Azure Batch 特别适合运行大规模并行和高性能计算 (HPC) 批处理作业。 该服务为你处理所有工作,并管理和安排运行你的方案所需的所有节点和应用程序。 它也是一项免费服务,因此你只需为使用的基础计算、存储和网络资源付费。