什么是批量计算服务BatchCompute?
1. 定义
批量计算服务(Batch Computing Service, 简称BatchCompute)是一种适用于大规模并行批处理作业的分布式云服务。BatchCompute可支持海量作业并发规模,系统自动完成资源管理,作业调度和数据加载,并按实际使用量计费。
2. 基本概念
- 作业(Job)
用户的每个特定的计算需求在BatchCompute中被描述为一个作业(Job)。
- 任务(Task)
一个作业由一组任务(Task)及其依赖关系组成。BatchCompute系统支持能以有向无环图(DAG)形式描述的作业。如下图是一个包含五个任务的作业。一个任务从其前置任务处取得数据,加以处理,然后推向其后续任务。
- 执行实例(Instance)
每个任务可以有一个或多个执行实例(Instance)。同一任务的各个实例并行处理各自的输入数据。实例是BatchCompute调度与执行的最小单元,这些实例会动态的运行在后台分布式系统的各节点上。
- 镜像(Image)
镜像是作业运行环境的模板,BatchCompute上运行的操作系统允许挂载两块磁盘,分别称为/dev/vda,/dev/vdb。其中/dev/vda作为操作系统所在的磁盘(系统盘),应用程序也可以安装在系统盘上。数据盘/dev/vdb用于存储用户的永久数据。您可以把您的自定义镜像复制到其他地域,实现环境和应用的跨地域一致性部署。
3. 功能特点
- 动态的资源管理
按照作业需求动态调度计算资源,自动管理回收资源,按实际使用量计费。
- 灵活的作业调度
自动完成作业调度,并支持作业内多任务以有向无环图(DAG)形式描述的依赖关系,支持工作流模式。
- 自定义镜像
支持用户自定义镜像,省却了启动计算资源时安装应用程序的烦恼。
- 支持大数据动态挂载
支持TB级数据在计算节点之间的共享访问
BatchCompute适用场景
BatchCompute广泛应用于电影动画渲染,生物数据分析,多媒体转码,金融保险分析等领域。
典型案例:
- 电影动画渲染
阿里云渲染云解决方案基于BatchCompute搭建。架构图如下:
国产动画片昆塔,利用BatchCompute调度阿里云6100台高性能计算机日夜不停进行影片视效渲染,累计计算量超过1000万核小时。
- 生物数据分析
生物基因企业利用BatchCompute完成大规模基因组测序分析。架构图如下: