设置运行时属性

本文介绍基因分析平台支持的运行时属性,并比较阿里云与其他计算后端的差别。基因分析平台目前使用WDL作为分析应用标准,用户可以通过每个Task中的runtime来定义计算作业所需要消耗的平台资源。

平台支持的运行时属性

重要

基因分析平台运行时设置存在限制,请查看使用限制文档。

cpu

默认 2,代表计算作业需要的核数。

范例:

runtime {
  cpu: 2
}

memory

默认 “4G”,代表计算作业需要分配的内存大小

范例:

runtime {
  memory: "4G"
}

instanceType

可选,如设定则忽略task里定义的cpu和memory属性,直接指定特定的阿里云ECS实例类型,作为计算作业执行环境。所有ECS实例类型见实例规格族,具体实例类型需联系产品团队或提工单确认基因分析平台是否支持。建议使用cpu/memory方式指定资源。

范例:

runtime {
  instanceType: "ecs.c6.xlarge"
}

disk

默认 “40 GB”,代表计算作业执行环境中挂载的磁盘的大小,用于保存输入输出文件,磁盘类型是容量型NAS,如需要其它磁盘类型,请参考“disks”参数。

runtime {
  disk: "40 GB"
}

disks

默认 “local-disk 40 nas_cap”,代表计算作业执行环境中挂载的磁盘大小以及磁盘类型,用于保存输入输出文件。

注意:如果“disk”和“disks”参数均未填写,则磁盘默认使用容量型NAS,大小为40GB。

disks属性值为逗号分隔的磁盘信息,每个磁盘信息用空格分隔的三元组来描述,如“local-disk 40 nas_cap”,分别代表:

  1. 挂载点,固定为local-disk。

  2. 磁盘大小,单位为GB。

  3. 磁盘类型,支持nas_cap,nas_per和cloud_essd三种,分别代表容量型NAS、性能型NAS以及ESSD PL0。

范例:

runtime {
  disks: "local-disk 100 cloud_essd"
}

docker

计算作业使用的docker镜像,只支持阿里云的容器镜像服务。

范例:

runtime {
  docker: "registry-vpc.cn-shenzhen.aliyuncs.com/easy-gene/genomes-in-the-cloud:1.0"
}

env

设置OSS存储桶挂载,将OSS存储桶挂载到容器内指定路径/easygene_data,直接访问OSS数据

范例:

#1.在wdl的runtime中直接指定需要挂载到容器内的bucket,则会被挂载到固定路径/easygene_data下
#注意bucket不可跨账号或地域
runtime {
  env: {
    "BUCKET":"test"
  }
}

#2.在wdl中直接使用/easygene_data下的文件即可
#修改原wdl中input中File类型为String跳过下载,比如oss路径是oss://test/dir/1.fq
#挂载test这个bucket,这个文件在容器里的路径就是/easygene_data/dir/1.fq
input{
  #File fastq = "oss://test/dir/1.fq"
  #替换为:
  String fastq = "/easygene_data/dir/1.fq"
}

阿里云与社区其他计算后端比较

阿里云基因分析平台

HPC

本地环境

cpu

memory

instanceType

"ecs.c6.xlarge"

disks

docker

重要

阿里云基因分析平台计算任务的运行时基本属性与社区标准保持一致,方便应用无缝运行在本地、HPC和云环境中。并且额外提供instanceType扩展支持GPU/FPGA硬件需求。