问:什么是 AWS Batch?

AWS Batch 是一系列批处理管理功能,能够让开发人员、科学家和工程师轻松高效地在 AWS 上运行成千上万个批处理计算任务。AWS Batch 可根据所提交的批处理任务的卷和特定资源要求动态预置最佳的计算资源数量和类型 (如 CPU 或内存优化型实例)。借助 AWS Batch,您无需安装和管理批处理计算软件或服务器群集,从而使您能够集中精力分析结果和解决问题。AWS Batch 可使用 Amazon EC2竞价型实例来规划、安排和执行批处理计算工作负载。

问:什么是批处理计算?
批处理计算是指在一台或多台计算机上无需人工干预而执行一系列程序 (“任务”) 的流程。输入参数可通过脚本、命令行参数、控制文件或任务控制语言进行预定义。给定的批处理任务可能会取决于先前任务的完成情况或特定输入的可用性,从而使多项任务的排序和排程变得至关重要,并且与交互式处理不兼容。

问:批处理计算有哪些优势?

  • 可将处理任务的时间转换到有更大或更加实惠的可用容量的时段。
  • 可避免计算资源闲置,而且无需频繁地进行人工干预和监管。
  • 可提高计算资源的使用率,从而提高效率。
  • 支持按优先级对任务排序,从而使资源分配与业务目标保持一致。

问:为何我应该使用 AWS Batch?
AWS Batch 可执行任务和管理计算资源,从而让您能够集中精力开发应用程序或分析结果,而不是设置和管理基础设施。如果您正在考虑运行批处理工作负载或将其迁移到 AWS,则应该考虑使用 AWS Batch。

问:AWS Batch 针对哪些使用案例进行了优化?
AWS Batch 针对能够通过并行执行多项任务来进行扩展的批处理计算和应用程序进行了优化。深度学习、基因组学分析、金融风险模型、蒙地卡罗模拟、动画渲染、媒体转码、图像处理和工程模拟都是批处理计算应用程序的出色示例。


问:AWS Batch 有哪些主要特性?
AWS Batch 可以管理计算环境和任务队列,从而使您能够使用 Amazon EC2 和 EC2 竞价型实例轻松运行数千项任意规模的任务。您只需定义批处理任务并将其提交到队列中即可。在作出响应时,AWS Batch 可选择在何处运行任务,从而在需要时启动其他 AWS 容量。AWS Batch 会严密监控您的任务进度。当不再需要容量时,AWS Batch 会将其删除。借助 AWS Batch,您还可以提交属于管道或工作流一部分的任务,从而使您能够在提交任务时说明各项任务之间存在的任何相互依赖关系。

问:AWS Batch 支持哪些类型的批处理任务?
AWS Batch 支持可作为 Docker 容器执行的任何任务。任务会指定其内存要求和 vCPU 数量。 

问:什么是计算资源?
AWS Batch 计算资源是一种 EC2 实例。

问:什么是计算环境?
AWS Batch 计算环境是一个计算资源集合,任务将在这些资源上执行。AWS Batch 支持两类计算环境:由 AWS 预置和管理的托管计算环境和由客户管理的非托管计算环境。非托管计算环境可提供一个便于利用专用资源 (如专用主机、更大的存储配置和 Amazon EFS) 的机制。

问:什么是任务定义?
任务定义描述了需要执行的任务、参数、环境变量、计算要求以及用于优化任务执行的其他信息。任务定义是在提交任务之前定义的,并且您可以与他人共享该定义。

问:什么是 Amazon ECS Agent?AWS Batch 如何使用它?
AWS Batch 使用 Amazon ECS 来执行容器化任务,因此要求您的 AWS Batch 计算环境中的计算资源上必须安装有 ECS Agent。托管计算环境中预安装了 ECS Agent。

问:AWS Batch 如何让您能够轻松使用 EC2 竞价型实例?
AWS Batch 计算环境由 EC2 竞价型实例组成。在创建托管计算环境时,只需指定您想使用 EC2 竞价型实例,并提供您愿意给出的按需定价百分比,AWS Batch 将负责其余工作。非托管计算环境还可以包含您启动的竞价型实例,其中包括 EC2 竞价型队列启动的实例。


问:AWS Batch 如何定价?
AWS Batch 不收取任何额外费用。您只需针对您为存储和运行批处理任务而创建的 AWS 资源 (如 EC2 实例) 付费。


问:如何开始使用?
请遵循我们文档中的入门指南开始使用。

问:需要预置哪些内容才能开始使用?
您无需手动启动自己的计算资源即可开始使用。AWS Batch Web 控制台将指导您完成首个计算环境和任务队列的创建流程,以便您可以提交第一项任务。计算环境中的资源将在其他任务可随时运行时进行扩展,并随着可运行任务数量的减少而缩减。