本文中含有需要您注意的重要提示信息,忽略该信息可能对您的业务造成影响,请务必仔细阅读。
本文介绍基因分析平台支持的运行选项,以及对分析结果的影响。
Call-Caching
Call-Caching是指当用户在基因分析平台中计算作业,被检测到与之前的执行记录一致,可以直接使用之前的计算结果而无需重新计算,可以节省时间和费用。
简单来说,当一个计算作业成功完成后,如果平台再遇到完全一致的输入、完全一致的执行命令时,会跳过实际执行,立刻直接使用已有的计算结果返回。
命中规则:平台根据计算作业输入参数值、运行时属性值(如cpu,memory,docker,software等)、执行命令行等共同计算出一个哈希值。如果与平台历史的计算作业记录的哈希值一致,且该作业记录在有效保留时间内,则被认为是命中 Call-Caching。
有效保留时间:平台成功完成的计算作业记录有效保留时间为30天。如果用户主动删除中间结果,则对应的计算作业记录也被视为无效,无法参与Call-Caching。
命中结果:平台的运行任务产生的计算作业,如果命中Call-Caching,则会直接跳过执行,复用历史记录中的输出结果。平台将不会产生后端计算作业,也不会产生资源消耗,无需收取费用。
删除中间结果
用户运行任务的中间结果,会被基因分析平台保存到用户的OSS中,并作为后续分析步骤的输入文件。
运行任务完成后,除了应用定义的最终输出外,流程中间结果也会保留。这些文件能够作为恢复失败的运行任务,或者命中Call-Caching的作业输入。同时,保留这些文件也会占用用户的存储空间,增加存储的费用。
用户在提交运行任务时,可以指定“删除中间结果”的选项。基因分析平台在运行任务完成后,除应用定义的流程输出文件外,会删除所有中间结果文件,只保留基础的脚本和日志文件,以节省用户的存储空间。
选择删除中间结果后,该运行任务无法被中断恢复,其包含的计算作业也无法被Call-Caching命中。
输出文件位置
用户运行任务的所有文件都会平台统一上传到指定的OSS存储位置下。默认缺省情况下,工作空间下的运行任务结果都会被输出到工作空间绑定的OSS存储桶下。
oss://<工作空间绑定的OSS Bucket>/analysis/
生成的所有文件保存的目录结构如下:
oss://<工作空间绑定的OSS Bucket>/analysis/
|- <RunID>/<WorkflowName>/<WorkflowID>/
|- call-xxxx
|- call-xxxx
|- call-hc
|- bcs-stderr
|- bcs-stdout
|- rc
|- script
|- stderr
|- stdout
|- test.g.vcf.gz
|- test.vcf.gz
|- worker
用户运行任务可以指定任意具有读写权限的OSS存储位置,作为输出文件位置,如oss://bucket/dir/
输出文件位置下所有的文件具有相同的目录结构
RUNID:基因分析平台运行任务的唯一ID
WorkflowName:该运行任务使用的WDL应用中的Workflow名称
WorkflowID:该Workflow执行的UUID,由执行引擎自动生成
Call-xxxx:Workflow中的Call名称
stderr:运行任务的标准错误
stdout:运行任务的标准输出