cromwell + tesk 重启及gpu支持
-
1. cromwell-51代码修改:
GpuTypeValidation.scala GpuValidation.scala TesResponseJsonFormatter.scala TesRuntimeAttributes.scala TesTask.scala2. tesk-api修改:
TesKubernetesConverter.java TesResources.java2.1 添加gpu支持参数
2.2 taskmaster挂在映射
3. tesk-core修改:
3.1 taskmaster将输入path 和url 做软连接;
3.2 修改taskmaster核心逻辑,支持本地路径;
-
支持gpu参考 https://www.yii666.com/blog/413659.html?action=onAll
- 安装支持gpu版本的docker
- 配置docker和gpu驱动;
- 创建k8s对gpu支持;
-
cromwell+tesk支持重启:
cromwell 配置文件call-caching { enabled = true } backend { default = TESK providers { TESK { actor-factory = "cromwell.backend.impl.tes.TesBackendLifecycleActorFactory" config { root = "/cephfs_data/genostack_v3/genostack_cromwell/tmp/cromwell-executions" # root = "ftp://192.168.0.135/pub/cromwell-executions" dockerRoot = "/cromwell-executions" endpoint = "http://192.168.0.135:8080/ga4gh/tes/v1/tasks" # endpoint = "http://192.168.0.135:31903/v1/tasks" glob-link-command = "ls -L GLOB_PATTERN 2> /dev/null | xargs -I ? ln -s ? GLOB_DIRECTORY" } } } } docker { hash-lookup { # Set this to match your available quota against the Google Container Engine API #gcr-api-queries-per-100-seconds = 1000 # Time in minutes before an entry expires from the docker hashes cache and needs to be fetched again #cache-entry-ttl = "20 minutes" # Maximum number of elements to be kept in the cache. If the limit is reached, old elements will be removed from the cache #cache-size = 200 # How should docker hashes be looked up. Possible values are "local" and "remote" # "local": Lookup hashes on the local docker daemon using the cli # "remote": Lookup hashes on docker hub, gcr, gar, quay method = "local" } }注意: docker.hash-lookup.method 要为local,等于remote时,cromwell会从远程仓库去取docker的hash值,一旦获取失败,callcaching就会关闭,导致后续所有的caching 和hash Miss, 无法使用重启
-
此回复已被删除! -
cromwell 重启wdl编写和测试规范:
1. wdl数据类型:
-
列表文件类型:
File file = “/tmp/a.txt” -
列表字符串类型:
String str = “abc”
注意点:路径参数:使用String
当task输出是一个路径时:output { File metadata_result = "metadata.tsv" File data_dir = "data" File fqc_dir = "data1" String fqc_dir_str = "${fqc_dir}" }先使用File data_dir = "data", 才能接收到 "data"的完整路径, 但是在后续使用当中需要将File类型的路径转化成 String, String fqc_dir_str = "${fqc_dir}",
因为: 在File类型里,callcaching hash不支持File类型的path,
如果在输出里用File接收,在输入里用String,使用,则会导致输入的hash值判定为新值,该步骤就无法参与重启后续编写WDL测试规范:
- 功能测试:
- 重启测试
-