创建分析作业
创建分析作业有以下几种不同的方式,您可以任选其中一种方式。

- 在创建分析作业之前,请确保已完成准备工作,如:绑定相关资源(计算资源、性能加速)。
- 如果在创建应用时打开了“并发”开关,可以设置多个参数值,批量执行作业。
- 可通过在 页面单击管理集群,进入cce集群页面将计算节点标签设置为copy-in,实现作业运行于指定的计算节点中。对于“不可调度”状态的计算节点,将无法在此节点运行作业。
通过“创建流程”时创建
- 在“我的空间”页面“流程”页签,单击“创建流程”,填写流程信息。请参考创建流程操作。
- 流程搭建完成后,单击“创建并启动作业”。可以直接基于该流程创建分析作业。
图1 创建并启动作业
通过“作业”页面创建
- 通过应用创建作业
- 单击“我的空间 > 作业 > 分析作业”页面的“创建作业 > 应用”。
图2 创建应用作业
- 填写应用基本信息,主要是选择创建作业要使用的应用,应用相关基本信息会被自动带出,如:版本、短描述、镜像名称等。
图3 选择应用1
- 选择输入参数、输出参数。
- 输入参数:由用户在创建应用时定义。
- 输出参数:输出数据的存放路径,可修改。例如,gene-assets空间中的output文件夹,输出路径格式为gene-assets:/output。
图4 输入参数、输出参数 - 填写资源参数。
填写CPU、Memory大小(内存单位为GB),选择GPU类型。
- CPU架构依赖于制作镜像过程中选择的系统类型,以及制作镜像时所需的生物信息学软件支持在X86还是ARM上运行。例如,GATK是基于X86指令集开发的生信软件,使用CentOS的X86系统创建GATK镜像,则在创建应用时选择“X86”。
- CPU需求:请按实际需求填写,取值范围为“0.1-128”,单位C,支持一位小数,不填默认1C。
- Memory需求:请按实际需求填写,取值范围为“0.1-3072”,单位GB,支持一位小数,不填默认1GB。
- GPU类型:请按实际需求填写,取值范围为“无、GPU、Snt9”,如果选择Snt9,GPU需求需要是0、1、2、4、8。
- 计算节点标签:不支持修改,默认为创建应用时填写的计算节点标签。
图5 资源参数 - 完成作业基础配置,包括“作业名称”、“标签”、“描述”和“输出路径”、设置高级参数“优先级”、“计算节点标签”、“超时时间”和“加速类型”。
基本信息:包含作业名称、标签、描述。
输出路径:存放输出结果的路径。例如项目中的output文件夹,输出路径可设置为/output。不填写路径时,默认以“job-时间戳-随机后缀”格式生成输出路径。
优先级:运行优先级,分为0~9级,优先级高的作业会被优先执行。默认值为0。如果当前投递的IO加速的作业,超过sfs总的作业配额数, 那么超出部分的作业会按照投递时间顺序,从最新投递的向前执行,不会按照优先级进行运行。
计算节点标签:作业会调度到含有相应标签的计算节点上。
当应用也配置了标签,如果应用和作业的计算节点标签在同一计算节点上,则应用调度至该计算节点上;应用和它的作业,不管节点标签是否一致,都会被调度到应用的节点标签所对应的计算节点上。
如果设置了不存在的计算节点标签,作业会进入等待,直至配置了相应的标签。
超时时间:作业运行时间超过设置时间时,认为超时,默认1440分钟,最大可设置为144000分钟,即作业运行至多100天。
加速效率:IO加速>本地盘加速>无- 无:作业运行于OBS中,不使用加速。
- IO加速:IO加速使用弹性文件服务(SFS)提供高性能的数据读写,作业运行时,会将非最终结果的数据存储在SFS中用以提高任务运行效率,作业执行完成后会清理释放SFS空间。对于涉及频繁读写场景的任务建议开启IO加速,开启前需要先绑定性能加速。
- 本地盘加速:使用计算节点的本地盘进行加速。使用本地盘加速时,需保证绑定的cce集群下带有“数据盘”。OBS桶中的数据不支持本地盘加速,使用OBS桶中数据用于本地盘加速,可能会导致作业运行失败。
- 使用OBS桶中的数据投递作业时,当数据大于40G时作业会投递失败。
- 使用OBS桶中的数据投递作业时,作业将数据copy至云硬盘后,数据变大了4096byte,导致作业投递失败。
图6 “OBS”标签代表数据引用来源为OBS桶图7 作业基础配置
- 单击“立即创建”即可创建作业。
- 单击“我的空间 > 作业 > 分析作业”页面的“创建作业 > 应用”。
- 通过流程创建作业
- 单击“我的空间 > 作业 > 分析作业”页面的“创建作业 > 流程”。
图8 创建流程作业
- 在参数配置页面,填写如下参数:
- 输入参数:由用户在创建应用时定义。
- 输出路径:输出数据的存放路径,可修改。例如,gene-assets空间中的output文件夹,输出路径格式为/gene-assets/output。
- 资源参数:CPU需求、Memory需求、GPU类型,请按照使用需求进行设置;CPU架构、计算节点标签,GPU需求不可修改。GPU包含NAIDIA架构GPU和自研的Snt9+ARM。选择GPU资源时,需要您在开通平台后在cce集群中购买gpu资源,并且需要应用支持GPU运行。选择Snt9+ARM时,需要应用支持ARM环境运行,并在创建应用时,镜像系统为ARM类系统。
图9 参数配置 - 单击“下一步”,在弹出的作业设置页面,填写作业信息。“作业名称”、“标签”、和“描述”,选择需要执行的流程,设置“输出路径”、“优先级”、“计算节点标签”、“超时时间”、“加速类型”。设置完成后单击“确定”。
基本信息:包含作业名称、标签、描述。
流程名称:显示已创建的流程名称,不可编辑。
输出路径:存放输出结果的路径。例如项目中的output文件夹,输出路径可设置为/output。不填写路径时,默认以“job-流程名称-时间戳-随机后缀”格式生成输出路径。
优先级:运行优先级,分为0~9级,优先级高的作业会被优先执行。默认值为0。如果当前投递的IO加速的作业,超过sfs总的作业配额数, 那么超出部分的作业会按照投递时间顺序,从最新投递的向前执行,不会按照优先级进行运行。
计算节点标签:作业会调度到含有相应标签的计算节点上。
当应用也配置了标签,如果应用和作业的计算节点标签在同一计算节点上,则应用调度至该计算节点上;应用和它的作业,不管节点标签是否一致,都会被调度到应用的节点标签所对应的计算节点上。
如果设置了不存在的计算节点标签,作业会进入等待,直至配置了相应的标签。
超时时间:作业运行时间超过设置时间时,认为超时,默认1440分钟,最大可设置为144000分钟,即作业运行至多100天。
加速效率:IO加速>本地盘加速>无- 无:作业运行于OBS中,不使用加速。
- IO加速:IO加速使用弹性文件服务(SFS)提供高性能的数据读写,作业运行时,会将非最终结果的数据存储在SFS中用以提高任务运行效率,作业执行完成后会清理释放SFS空间。对于涉及频繁读写场景的任务建议开启IO加速,开启前需要先绑定性能加速。
- 本地盘加速:使用计算节点的本地盘进行加速。使用本地盘加速时,需保证绑定的cce集群下带有“数据盘”。OBS桶中的数据不支持本地盘加速,使用OBS桶中数据用于本地盘加速,可能会导致作业运行失败。
- 使用OBS桶中的数据投递作业时,当数据大于40G时作业会投递失败。
- 使用OBS桶中的数据投递作业时,作业将数据copy至云硬盘后,数据变大了4096byte,导致作业投递失败。
图10 “OBS”标签代表数据引用来源为OBS桶
图11 作业设置 - 单击“立即创建”即可创建作业。
- 单击“我的空间 > 作业 > 分析作业”页面的“创建作业 > 流程”。
- 克隆作业
克隆已有的分析作业,作业的参数及流程一并克隆到流程设计器中。克隆作业后,请修改作业的输出数据路径,否则会有覆盖原有作业数据风险。
- 执行克隆操作有两种方式,请选择任一方式执行。
- 在分析作业列表中,单击操作列的“克隆”,进入流程设计器页面。
图12 克隆作业
- 在分析作业列表中,单击作业名称,进入详情页。单击右上角“克隆”,进入流程设计器页面。
图13 单击作业名图14 克隆
- 在分析作业列表中,单击操作列的“克隆”,进入流程设计器页面。
- 在弹出的作业页面,完成参数配置。
- 输入参数:由用户在创建应用时定义。
- 输出路径:输出数据的存放路径,可修改。例如,gene-assets空间中的output文件夹,输出路径格式为/gene-assets/output。
- 资源参数:CPU需求、Memory需求、GPU类型,请按照使用需求进行设置;CPU架构、计算节点标签,GPU需求不可修改。GPU包含NAIDIA架构GPU和自研的Snt9+ARM。选择GPU资源时,需要您在开通平台后在cce集群中购买gpu资源,并且需要应用支持GPU运行。选择Snt9+ARM时,需要应用支持ARM环境运行,并在创建应用时,镜像系统为ARM类系统。
图15 参数配置 - 单击“下一步”,进入作业基础配置页面。
- 在弹出的设置页面,填写作业信息。“作业名称”、“标签”、和“描述”,选择需要执行的流程,设置“输出路径”、“优先级”、“计算节点标签”、“超时时间”、“加速类型”。设置完成后单击“确定”。
基本信息:包含作业名称、标签、描述。
流程名称:显示已创建的流程名称,不可编辑。
输出路径:存放输出结果的路径。例如项目中的output文件夹,输出路径可设置为/output。不填写路径时,默认以“job-流程名称-时间戳-随机后缀”格式生成输出路径。
优先级:运行优先级,分为0~9级,优先级高的作业会被优先执行。默认值为0。如果当前投递的IO加速的作业,超过sfs总的作业配额数, 那么超出部分的作业会按照投递时间顺序,从最新投递的向前执行,不会按照优先级进行运行。
计算节点标签:作业会调度到含有相应标签的计算节点上。
当应用也配置了标签,如果应用和作业的计算节点标签在同一计算节点上,则应用调度至该计算节点上;应用和它的作业,不管节点标签是否一致,都会被调度到应用的节点标签所对应的计算节点上。
如果设置了不存在的计算节点标签,作业会进入等待,直至配置了相应的标签。
超时时间:作业运行时间超过设置时间时,认为超时,默认1440分钟,最大可设置为144000分钟,即作业运行至多100天。
加速效率:IO加速>本地盘加速>无- 无:作业运行于OBS中,不使用加速。
- IO加速:IO加速使用弹性文件服务(SFS)提供高性能的数据读写,作业运行时,会将非最终结果的数据存储在SFS中用以提高任务运行效率,作业执行完成后会清理释放SFS空间。对于涉及频繁读写场景的任务建议开启IO加速,开启前需要先绑定性能加速。
- 本地盘加速:使用计算节点的本地盘进行加速。使用本地盘加速时,需保证绑定的cce集群下带有“数据盘”。OBS桶中的数据不支持本地盘加速,使用OBS桶中数据用于本地盘加速,可能会导致作业运行失败。
- 使用OBS桶中的数据投递作业时,当数据大于40G时作业会投递失败。
- 使用OBS桶中的数据投递作业时,作业将数据copy至云硬盘后,数据变大了4096byte,导致作业投递失败。
图16 “OBS”标签代表数据引用来源为OBS桶
图17 作业设置 - 单击“立即创建”即可创建作业。
- 执行克隆操作有两种方式,请选择任一方式执行。
通过“流程”页面创建
- 在“流程”页面,流程列表中,单击操作列“启动作业”。
图19 启动作业
- 在弹出的作业页面,完成参数配置。
- 输入参数:由用户在创建应用时定义。
- 输出路径:输出数据的存放路径,可修改。例如,gene-assets空间中的output文件夹,输出路径格式为/gene-assets/output。
- 资源参数:CPU需求、Memory需求、GPU类型,请按照使用需求进行设置;CPU架构、计算节点标签,GPU需求不可修改。GPU包含NAIDIA架构GPU和自研的Snt9+ARM。选择GPU资源时,需要您在开通平台后在cce集群中购买gpu资源,并且需要应用支持GPU运行。选择Snt9+ARM时,需要应用支持ARM环境运行,并在创建应用时,镜像系统为ARM类系统。
图20 参数配置 - 单击“下一步”,进入作业基础配置,包括“作业名称”、“标签”、“描述”,“输出路径”、“优先级”、“计算节点标签”、“超时时间”、“加速类型”。设置完成后单击“确定”。
- 基本信息:包含作业名称、标签、描述。
- 流程名称:显示已创建的流程名称,不可编辑。
- 输出路径:存放输出结果的路径。例如空间中的output文件夹,输出路径可设置为/output。不填写路径时,默认以“job-流程名称-时间戳-随机后缀”格式生成输出路径。
- 优先级:运行优先级,分为0~9级,优先级高的作业会被优先执行。默认值为0。
如果当前投递的IO加速的作业,超过sfs总的作业配额数, 那么超出部分的作业会按照投递时间顺序,从最新投递的向前执行,不会按照优先级进行运行。
- 计算节点标签:作业会调度到含有相应标签的计算节点上。
当应用也配置了标签,如果应用和作业的计算节点标签在同一计算节点上,则应用调度至该计算节点上;应用和它的作业,不管节点标签是否一致,都会被调度到应用的节点标签所对应的计算节点上。
如果设置了不存在的计算节点标签,作业会进入等待,直至配置了相应的标签。
- 超时时间:作业运行时间超过设置时间时,认为超时,默认1440分钟,最大可设置为144000分钟,即作业运行至多100天。
加速效率:IO加速>本地盘加速>无
- 无:作业运行于OBS中,不使用加速。
- IO加速:IO加速使用弹性文件服务(SFS)提供高性能的数据读写,作业运行时,会将非最终结果的数据存储在SFS中用以提高任务运行效率,作业执行完成后会清理释放SFS空间。对于涉及频繁读写场景的任务建议开启IO加速,开启前需要先绑定性能加速。
- 本地盘加速:使用计算节点的本地盘进行加速。使用本地盘加速时,需保证绑定的cce集群下带有“数据盘”。OBS桶中的数据不支持本地盘加速,使用OBS桶中数据用于本地盘加速,可能会导致作业运行失败。
- 使用OBS桶中的数据投递作业时,当数据大于40G时作业会投递失败。
- 使用OBS桶中的数据投递作业时,作业将数据copy至云硬盘后,数据变大了4096byte,导致作业投递失败。
图21 “OBS”标签代表数据引用来源为OBS桶
图22 作业基础配置 - 单击“立即创建”按钮,可以直接基于该流程创建分析作业。
通过“上传作业”创建
通过在本地修改作业的yaml模板,运行分析作业。
- 获取作业yaml模板。
- 在“项目管理 > 作业”页签中,单击“上传作业”,在弹出的页面中下载yaml示例文件。
- 使用命令行工具,执行ai4s get job -s命令获取创建作业的yaml模板,复制模板并保存到本地。可以保存成.yaml或.txt文件,保存为txt文件时,其内容需为yaml格式。
- 修改作业yaml模板。
在本地编写模板,模板中的参数与在AI科学计算平台创建作业过程一致。
修改yaml模板时,详细的命令和参数请参见命令行工具 > 作业配置文件说明。
# 详情说明可参考API文档中作业管理-创建作业 job: name: demo-job # 作业的名称,取值范围:[1,63],允许大小写字母、数字、以及特殊字符中划线(-) description: description # 作业描述,取值范围:输入字符最大长度为255 labels: # 作业标签,取值范围[0,5],单个标签最大长度32字符,支持中文、字母、数字、空格、下划线和中划线,且不能以空格开头或者结尾。 priority: 0 # 作业的优先级,取值范围[0,9],0最低,默认数值0 timeout: 10080 # 作业执行超时时长,取值范围: [1, 144000],单位:分钟,默认数值1440 output_dir: # 作业结果存储目录,不指定则在workflow的工作目录下生产job同名子目录,指定则以指定路径为准;输出路径必须以斜杠(/)开头且不能以斜杠(/)结尾,不能包含两个以上相邻的斜杠(/),不能包含以下特殊字符:\ : ; * ? < " > | 。其中单个文件夹名称不能以中划线(-)开头,不能以英文句号(.)或斜杠(/)或空格开头或结尾 workflow_id: demo-workflow::1.0.0::project-test-01 # 作业依赖的组件id,取值范围[1,135],支持大小写字母和数字。目前支持两种格式,特殊id:{流程名称}::{流程版本}::{源空间名称};正常id:流程id io_acc_id: '' # IO加速实例id,为空则不开启IO加速,设置相应加速包id将会开启加速,当id设置为:auto_schedule,则会自动调度加速包,当id设置为 local_disk,则开启本地盘加速。 node_labels: - label # 计算节点标签 标签个数取值范围[0-1],单个节点标签最大长度56个字符,以大小写字母或数字开头,可以包含下划线(_)、中划线(-)、点(.)、大小写字母和数字,以大小写字母或数字结尾。 tool_id: '' # 作业依赖的组件id,取值范围[1,135],支持大小写字母和数字。目前支持两种格式,特殊id:{流程名称}::{流程版本}::{源空间名称};正常id:流程id tool_type: 'workflow' # 作业依赖的组件类型,支持填写app和workflow,如果为app,则需要填写tool_id,如果为workflow,则需要填写workflow_id tasks: - task_name: app1-1 # 子任务实际名称,取值范围[1,32],只能字母开头,由字母、数字、中划线(-)、下划线(_)组成,以字母或数字结尾。需要和已有子任务的名称一致。 io_acc_type: '' # 子任务使用的IO加速实例类型,取值范围 ''|SFS|EVS。为空表示不使用加速;SFS表示使用io加速,EVS表示使用本地盘加速 inputs: - name: input-dir # 子任务的输入参数信息 values: # 子任务的参数数值,根据参数类型进行合法性校验 - 'project-test-01:/test' outputs: - name: output-dir # 子任务的输出参数信息 values: # 子任务的参数数值,根据参数类型进行合法性校验 - 'project-test-01:/output-test' resources: # 子任务的资源配额 cpu: 0.1C # cpu申请使用量,取值范围[0.1-128],单位C,支持一位小数。对于应用,不填默认1C;对于流程和作业,不填默认使用前一级的配置,填值会覆盖更新。覆盖关系:作业->流程->应用 memory: 0.1G # 内存申请使用量,取值范围[0.1-3072],单位G,支持一位小数。对于应用,不填默认1G;对于流程和作业,不填默认使用前一级的配置,填值会覆盖更新。覆盖关系:作业->流程->应用 gpu_type: '' # gpu架构类型,取值范围 ' '|GPU|Snt9。对于流程和作业,不填默认使用前一级的配置,填值会覆盖更新。覆盖关系:作业->流程->应用 gpu: '0' # gpu申请使用量,取值范围[0-16],仅支持整数,Snt9有特殊约束,申请数量需要是0,1,2,4,8。对于应用,不填默认0;对于流程和作业,不填默认使用前一级的配置,填值会覆盖更新。覆盖关系:作业->流程->应用 - task_name: app1-2 io_acc_type: '' inputs: - name: input-dir values: - '${app1-1.output-dir}' outputs: - name: output-dir values: - 'project-test-01:/output-test' resources: cpu: 0.1C memory: 0.1G gpu_type: '' gpu: '0'
- 上传并运行作业。
单击“上传作业”,在弹出的页面中上传yaml模板,上传成功后,即可运行作业。
图23 上传作业