阅读667 返回首页    go 阿里云


理解批量计算__产品简介_批量计算-阿里云

1. 基础架构

BatchCompute整体架构,包括:

  • BatchCompute入口

    批量计算服务提供基于HTTP的API,在API之上我们还封装了一些工具,比如SDK,命令行工具,控制台等。用户可以使用这些工具向BatchCompute提交作业,查询作业运行状态,并管理作业生命周期(比如停止已提交的作业,释放已完成的作业等)。

总体印象

  • 运行环境

    BatchCompute通过虚拟化技术构建沙箱,并在其中运行用户程序,确保用户环境和用户数据的安全性。用户可以自行定制其虚拟机镜像。

  • OSS持久化存储

    OSS 有完善的用户管理和安全机制。BatchCompute使用 OSS 作为持久化存储。用户的程序、自定义Docker镜像、输入输出数据都存储在 OSS 中。

2. 功能介绍

(1) 提交作业

用户使用工具(如SDK,命令行工具等)向 BatchCompute 提交作业,BatchCompute 使用用户指定的镜像(如:ubuntu)启动虚拟机(VM), 在虚拟机中运行用户程序, 运行完成后释放虚拟机(VM)。

  • BatchCompute中使用OSS作为持久化存储。您可以在程序运行完成时将结果数据保存到OSS中。在批量计算中,也可以通过文件接口的方式访问OSS上的数据,请参阅OSS挂载功能
  • BatchCompute程序默认运行在VM中,也可以支持 Docker容器。 也就是说,您可以自定义ECS镜像或者使用Docker,在镜像中安装自己需要的任何软件,用来运行您的任何程序。

作业描述

用户需要提交一个作业(Job)描述JSON文件到批量计算服务,该JSON文件中详细描述了需要执行那些程序(可以多个程序),运行哪些程序需要启动多少台机器,机器的规格(内存和CPU等),运行日志打印到哪里,完成后结果输出到哪里等。

一个作业(Job)包含多个任务(Task), 按照你指定DAG描述的顺序执行。

dag-tasks

每个任务定义了使用哪个镜像,使用什么实例规格,运行哪个程序,需要多少台机器运行,还有结果存储在哪里等。

task

(2) 管理我的作业

您可以使用工具(控制台,命令行工具等),查看我提交的作业,可以停止,重启,或删除作业。 查看各个任务的情况,各个实例(VM实例)的情况和日志。下图是控制台的作业管理界面:

console-jobs

(3) 使用集群

由于每次运行程序前需要启动虚拟机,会占用一定的时间(一般几分钟左右),遇到忙时有可能申请不到资源(虚拟机被其他客户使用了),您提交作业后可能需要等待一段时间才能运行。

如果您想要提高运行效率,可以先创建好集群,指定需要的虚拟机数量(比如:5台)和镜像ID,BatchCompute会为您分配好机器并启动,这些机器会一直处于运行状态,一旦您提交作业上来,就可以直接运行,效率较高。

最后更新:2016-11-23 16:04:15

  上一篇:go 什么是批量计算__产品简介_批量计算-阿里云
  下一篇:go 使用场景__产品简介_批量计算-阿里云