你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

3D 视频渲染

Azure Batch
Azure 存储
Azure 虚拟网络
Azure 虚拟机规模集

3D 视频渲染是很费时的过程,需要大量的 CPU 时间才能完成。 在一台计算机中,从静态资产生成视频文件可能需要数小时甚至数天,具体取决于所要生成的视频的长度和复杂程度。 许多公司会购买昂贵的高端台式机来执行这些任务,或者会投资可以向其提交作业的大型渲染场。 但是,如果使用 Azure Batch,则可根据需要随意启用或关闭该功能,根本不需要任何资本投资。

体系结构

Architecture overview of the components involved in a cloud-native HPC solution using Azure Batch.

下载此体系结构的 Visio 文件

数据流

本方案演示了一个使用 Azure Batch 的工作流。 数据流如下所示:

  1. 将输入文件和处理这些文件的应用程序上传到 Azure 存储帐户。
  2. 创建一个包含 Batch 帐户中的计算节点的 Batch 池、一个用于在池中运行工作负荷的作业,以及作业中的任务。
  3. 将输入文件和应用程序下载到 Batch。
  4. 监视任务执行情况。
  5. 上传任务输出。
  6. 下载输出文件。

若要简化此过程,也可使用 Maya 和 3ds Max 的 Batch 插件

组件

Azure Batch 基于以下 Azure 技术:

备选方法

如果需要对 Azure 中的渲染环境进行更多的控制,或者需要混合实现,则可使用 CycleCloud 计算功能来协调云中的 IaaS 网格。 它使用与 Azure Batch 相同的基础 Azure 技术,使生成和维护 IaaS 网格变得很高效。 若要了解详细信息,请参阅什么是 Azure CycleCloud?

有关 Azure 中提供的所有 HPC 解决方案的完整概述,请参阅使用 Azure VM 的 HPC、Batch 和大计算解决方案一文。

方案详细信息

不管是选择 Windows Server 还是选择 Linux 计算节点,都可以通过 Batch 获得始终如一的管理体验并进行作业计划。 有了 Batch,你就可以使用现有的 Windows 或 Linux 应用程序(包括 AutoDesk Maya 和 Blender)在 Azure 中运行大规模的渲染作业。

可能的用例

此解决方案非常适合媒体和娱乐行业。 其他相关用例包括:

  • 3D 建模
  • Visual FX (VFX) 渲染
  • 视频转码
  • 图像处理、颜色校正和重设大小

注意事项

这些注意事项实施 Azure 架构良好的框架的支柱原则,即一套可用于改善工作负载质量的指导原则。 有关详细信息,请参阅 Microsoft Azure 架构良好的框架

适用于 Azure Batch 的计算机大小

虽然大多数渲染客户会选择 CPU 功率高的资源,但是其他使用虚拟机规模集的工作负荷可能会按其他标准来选择 VM,具体取决于许多因素:

  • 所运行的应用程序是否进行内存绑定?
  • 应用程序是否需要使用 GPU?
  • 对于紧密耦合的作业,作业类型是否只能采用不得已的并行方式?或者需要 Infiniband 连接?
  • 需要通过快速 I/O 来访问计算节点上的存储。

Azure 有各种 VM 大小,每个都符合上述应用程序要求,某些是针对 HPC 的,但即使是最小的,也可以提供有效的网格实现:

  • HPC VM 大小:考虑到渲染受 CPU 限制,Microsoft 通常会建议使用 Azure H 系列 VM。 此类 VM 是专门针对高端计算需求构建的,提供 8 核和 16 核 vCPU 大小,采用 DDR4 内存、SSD 临时存储以及 Haswell E5 Intel 技术。
  • GPU VM 大小:GPU 优化 VM 大小是具有单个或多个 NVIDIA GPU 的专用虚拟机。 这些大小是针对计算密集型、图形密集型和可视化工作负荷设计的。
  • NC、NCv2、NCv3 和 ND 大小针对计算密集型和网络密集型应用程序和算法进行了优化,包括基于 CUDA 和 OpenCL 的应用程序和模拟、AI 以及深度学习。 NV 大小已针对远程可视化效果、流式处理、游戏、编码和 VDI 方案进行了优化和设计,使用 OpenGL 和 DirectX 之类的框架。
  • 内存优化型 VM 大小:需要更多内存时,内存优化型 VM 大小的内存/CPU 比率更高。
  • 常规用途 VM 大小:常规用途 VM 大小也可使用,提供均衡的 CPU/内存比率。

可用性

可以通过一系列的服务、工具和 API 监视 Azure Batch 组件。 监视功能在监视 Batch 解决方案一文中有进一步的介绍。

可伸缩性

Azure Batch 帐户中的池可以通过手动干预进行缩放,也可以通过基于 Azure Batch 指标的公式进行自动缩放。 有关可伸缩性的详细信息,请参阅创建用于缩放 Batch 池中的节点的自动缩放公式一文。

安全性

安全性针对蓄意攻击及滥用宝贵数据和系统提供保障措施。 有关详细信息,请参阅安全性支柱概述

有关设计安全解决方案的一般性指导,请参阅 Azure 安全性文档

复原

虽然 Azure Batch 中目前没有故障转移功能,但建议你执行以下步骤,确保发生计划外中断时的可用性:

  • 使用备用的存储帐户在备用的 Azure 位置创建一个 Azure Batch 帐户
  • 使用同一名称创建相同的节点池,不分配任何节点
  • 确保通过备用存储帐户创建并更新应用程序
  • 将输入文件上传到备用的 Azure Batch 帐户,提交作业时也提交到该帐户

成本优化

成本优化是关于寻找减少不必要的费用和提高运营效率的方法。 有关详细信息,请参阅成本优化支柱概述

Azure Batch 的使用费用取决于用于池的 VM 大小以及这些 VM 的分配和运行时长。创建 Azure Batch 帐户没有相关费用。 存储和数据出口应考虑在内,因为这些需额外付费。

下面以示例方式说明了一个在 8 小时内完成的作业在使用不同数目的服务器时可能会产生的费用:

  • 100 个高性能 CPU VM:费用估算

    100 x H16m(16 核,225 GB RAM,高级存储 512 GB),2 TB Blob 存储,1 TB 出口

  • 50 个高性能 CPU VM:费用估算

    50 x H16m(16 核,225 GB RAM,高级存储 512 GB),2 TB Blob 存储,1 TB 出口

  • 10 个高性能 CPU VM:费用估算

    10 x H16m(16 核,225 GB RAM,高级存储 512 GB),2 TB Blob 存储,1 TB 出口

低优先级 VM 的定价

Azure Batch 也支持在节点池中使用低优先级 VM,这可能会节省大量费用。 有关详细信息,包括在标准 VM 和低优先级 VM 之间的价格比较,请参阅 Azure Batch 定价

注意

低优先级 VM 仅适用于某些应用程序和工作负荷。

部署此方案

手动创建 Azure Batch 帐户和池

本方案演示了 Azure Batch 工作方式,并将 Azure Batch Labs 以示例 SaaS 解决方案(可以为你自己的客户开发)的方式进行了演示:

Azure Batch 实验室

部署组件

此模板将部署:

  • 一个新的 Azure Batch 帐户
  • 存储帐户
  • 一个与 Batch 帐户关联的节点池
  • 节点池将会配置为对 Canonical Ubuntu 映像使用 A2 v2 VM
  • 节点池一开始包含零个 VM,需通过手动缩放来添加 VM

单击以下链接来部署解决方案。

Deploy to Azure

详细了解资源管理器模板

后续步骤

产品文档:

Learn 模块: