Batch:一种新的规模调度批处理服务

批处理与计算本身一样古老,“批处理”一词可以追溯到早期大型机使用的穿孔卡片。批处理非常有效地使用资源,并且仍然是运行不需要太多人工交互的作业首选方式。企业工作负载通常包含一些批处理元素。批处理作业在研究、模拟、基因组学、视觉效果、金融科技、制造和 EDA 等领域尤为普遍。


越来越多企业通过上云来满足对更多计算资源的需求或轻松访问最新的处理器或 GPU,他们会随身携带批处理工作负载。Batch 是一种通用的批处理作业服务,这些产品处理作业以帮助企业将工作负载迁移到云中。这些服务包括Cloud Life Sciences(前身为 Google Genomics)、Dataflow和Cloud Run Jobs。


近日,谷歌云也宣布推出完全托管服务Batch的预览版,可以让企业轻松访问 Google Cloud 的计算能力和规模。



什么是批处理?

批处理服务可解决多个基本任务。它管理作业队列、预配和自动扩展资源、运行作业、执行子任务以及处理常见错误——所有这些都是自动完成的,可以通过 API、gcloud 命令行工具、工作流引擎或通过Cloud Console中易于使用的 UI 访问该服务。


Batch 允许开发人员、管理员、研究人员和任何对批处理计算感兴趣的人专注于处理介于应用程序和结果间的一切事项。


以下是 Batch 可以执行的一些示例:

  • 将批处理作业作为服务运行。Batch 支持面向吞吐量、HPC、AI/ML 和数据处理作业。
  • 预配计算资源。Batch 支持所有 CPU 机器系列,包括新发布的T2A Arm 实例
  • 使用加速器优化的资源。通过与 NVIDIA 合作,Batch 支持在运行要求苛刻的批处理工作负载(例如 ML 训练、HPC 和图形模拟)时使用 NVIDIA GPU。
  • 支持常见的作业类型,包括作业数组和利用任务并行化的多节点 MPI 作业。
  • 处理任何可执行文件。带上脚本或容器化工作负载。
  • 提供灵活的配置模型,包括对Spot VM的支持,与常规计算实例和自定义机器类型相比,可节省高达 91% 的成本。
  • 简化与 Google Cloud 服务以及流行的工作流引擎和工具(例如Nextflow )的原生集成。即将支持dsub命令行工具。



如何使用批处理?

Batch 是作为服务提供的,因此无需安装或配置即可使用它。


以下是一些需要了解的基本概念:

  • 作业- 一个运行到完成的计算工作的一次执行。作业可以像单个 shell 脚本一样简单,也可以比较复杂,如像并行或顺序运行等多部分计算。

  • 任务- 构成工作的计算。任务在 Compute Engine 实例上运行。
  • 数组作业- 作业中的多个任务同时执行相同的可执行文件(脚本或容器)
  • 资源- 运行作业所需的资源。常见资源包括 Compute Engine 实例(由 Batch 在项目中创建以执行任务的 VM 实例)和存储,例如 Cloud Storage、NFS 挂载或用于读取和写入输入和输出的其他磁盘。


了解这些概念后,再让我们看看如何从 Google Cloud 控制台提交简单的作业(对于更复杂的作业,可以使用 Batch API 或命令行)。


该作业将在休眠 60 秒之前输出“helloworld”和作业内的任务索引。考虑任务的数量,脚本将执行 100 次以并且将最多并行运行 20 个任务。



上面创建的hello-world作业填充在作业列表页面中,并且状态从 Queued 到 Scheduled 再到 Succeeded。



可以深入了解作业详细信息以显示其他信息,如下所示。



Batch 提供了从可执行文件到结果的简单性,只需几个步骤~


———

WebEye是中国大陆地区首家获得 Google Cloud MSP 资质的合作伙伴。WebEye致力于用创新的技术向中国企业提供数字化效率创新服务,实现数字化赋能。我们不断帮助客户打造新的运营与协作方式,打造新的竞争优势,构建资源高效链接,共创价值生长空间。

WebEye整合全球资源,打造全球数字化营销体系,为企业提供营销增长服务营销增长引擎以及企业上云三大板块业务,涵盖数字营销、数字创意、游戏发行、流量变现、程序化广告、数据洞察、云计算等一站式全链条增长产品矩阵,是中国互联网出海领军企业。

返回全部