首页
/ Cromwell项目88版本发布:数据库架构升级与GCP Batch优化

Cromwell项目88版本发布:数据库架构升级与GCP Batch优化

2025-07-07 00:33:16作者:余洋婵Anita

项目简介

Cromwell是一个开源的业务流程管理系统,专门为科学计算工作流设计,支持WDL(Workflow Description Language)工作流描述语言。它由Broad Institute开发,广泛应用于生物信息学、基因组学等领域,能够高效管理复杂的数据分析流程。

数据库架构重大变更

88版本引入了多项数据库架构变更以支持新功能和提升性能。其中最值得注意的是在METADATA_ENTRY表中新增的IX_METADATA_ENTRY_WEU_MK索引。根据预发布测试,该迁移过程以每分钟约300万行的速度进行,建议用户为此预留足够的停机时间。

此外,移除了WORKFLOW_STORE_ENTRY_WS索引,该索引原本基数较低,移除后反而提高了工作流拾取速度。

GCP Batch后端重大改进

88版本对GCP Batch后端进行了多项重要改进:

  1. 配置变更genomics配置项已更名为batch,这一变更使配置命名更加直观。

  2. 稳定性提升

    • 修复了Cromwell重启后无法恢复作业的问题
    • 改进了错误消息报告机制
    • 修复了重试机制和最大重试次数行为
  3. 资源管理优化

    • 机器类型选择现在与Google Cloud Life Sciences后端保持一致
    • 正确处理cpuPlatform以选择适当的n2或n2d机器类型
    • 修复了"增加内存重试"功能
    • 修复了参考磁盘功能
  4. 日志增强

    • 新增自定义LogsPolicy支持
    • 当使用"CLOUD_LOGGING"时,GCP Batch日志条目现在包含更多Cromwell/WDL标签
  5. 网络与认证

    • 修复了使用自定义子网创建的网络中子网选择问题
    • 修复了从私有容器仓库拉取镜像元数据的问题
    • 修复了工作流选项google_projectgoogle_compute_service_account在GCP Batch后端不生效的问题

核心功能改进

  1. 配额控制:新增可选功能可防止在云配额耗尽时启动新作业组中的作业,直到配额可用为止。

  2. 文件哈希算法:现在可以配置用于调用缓存的文件哈希算法,默认行为保持不变。

  3. 软链接支持:新增对共享文件系统(如HPC环境)上配置软链接的支持。

  4. 配额处理优化:改进了Life Sciences作业在配额不足情况下的处理,现在会正确重试而非直接失败。

  5. 容器镜像处理:当无法确定用户命令容器镜像大小时,现在会将Lifesciences API启动磁盘大小增加30GB而非0,减少因启动磁盘填满导致的失败。

  6. 性能提升:优化了size()引擎函数在文件数组上的性能表现,这对处理glob或scatter-gather结果等常见场景特别有益。

其他重要变更

  1. Java 17要求:从本版本开始,运行Cromwell需要Java 17发行版。

  2. 文档变更:移除了RESTAPI.md文档,建议用户直接查看Swagger API文档。

  3. 健康检查移除

    • 移除了对容器镜像仓库的健康检查
    • 移除了对GCS的健康检查
  4. 废弃代码移除

    • 移除了Google Genomics API(v1Alpha)相关代码
    • 移除了对Nvidia K80"Kepler"GPU的支持
  5. 默认GPU变更

    • Life Sciences默认GPU改为Nvidia P100
    • GCP Batch默认GPU改为Nvidia T4

WDL语言支持改进

根据WDL规范,现在正确处理字符串与空可选值的连接操作,结果将正确评估为空字符串而非错误。

总结

Cromwell 88版本带来了显著的性能改进和功能增强,特别是在GCP Batch后端的稳定性和功能完整性方面。数据库架构变更虽然需要额外的升级时间,但为系统带来了更好的性能基础。新引入的配额控制、软链接支持等功能进一步扩展了Cromwell在复杂环境下的适用性。对于依赖GCP服务的用户,这一版本解决了多个长期存在的痛点问题,值得优先考虑升级。

登录后查看全文
热门项目推荐
相关项目推荐