后端

后端是一种运行工作流命令的方式。Cromwell允许符合Cromwell后端规范的插件接入Cromwell引擎。此外,Cromwell发行版中已包含多种后端实现:

  • 本地
  • HPC, including Sun Grid Engine, LSF, HTCondor & SLURM
    • 以子进程或通过调度器运行作业。
    • 支持在Docker容器中启动。
    • 使用 bashqsubbsub 来运行脚本。
  • Google Cloud
    • 通过Google Genomics Pipelines API在Google Compute Engine上启动作业。
  • GA4GH TES
    • 在支持GA4GH任务执行模式(TES)的服务器上启动作业。
  • AWS Batch (测试版)
    • 在AWS Batch上使用作业队列

HPC后端被归为同一类别,因为它们都使用相同的通用配置,可以根据特定技术的需求进行定制。

后端配置在backend.providers中指定。每个后端的配置格式如下:

BackendName {
  actor-factory = "FQN of BackendLifecycleActorFactory class"
  config {
    ...
  }
}

config块内的结构因后端不同而异;后端实现需要能够解析其配置。

providers部分可以包含多个后端,这些后端都将对Cromwell可用。

后端作业限制

所有后端都支持通过在后端配置节中指定以下选项来限制并发作业数量:

backend {
  ...
  providers {
    BackendName {
      actor-factory = ...
      config {
        concurrent-job-limit = 5

后端文件系统

每个后端将利用文件系统来存储已执行工作流的目录结构和结果。 后端与文件系统的配对如下:

根据后端的不同,可以添加额外的文件系统功能。 例如,可以配置HPC后端以处理Google云存储上的文件。更多详情请参阅HPC文档