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

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

2025-07-07 22:17:47作者:余洋婵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服务的用户,这一版本解决了多个长期存在的痛点问题,值得优先考虑升级。

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

热门内容推荐

项目优选

收起
Cangjie-ExamplesCangjie-Examples
本仓将收集和展示高质量的仓颉示例代码,欢迎大家投稿,让全世界看到您的妙趣设计,也让更多人通过您的编码理解和喜爱仓颉语言。
Cangjie
338
1.19 K
RuoYi-Vue3RuoYi-Vue3
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
898
534
ohos_react_nativeohos_react_native
React Native鸿蒙化仓库
C++
188
265
kernelkernel
deepin linux kernel
C
22
6
openGauss-serveropenGauss-server
openGauss kernel ~ openGauss is an open source relational database management system
C++
140
188
openHiTLSopenHiTLS
旨在打造算法先进、性能卓越、高效敏捷、安全可靠的密码套件,通过轻量级、可剪裁的软件技术架构满足各行业不同场景的多样化要求,让密码技术应用更简单,同时探索后量子等先进算法创新实践,构建密码前沿技术底座!
C
374
387
CangjieCommunityCangjieCommunity
为仓颉编程语言开发者打造活跃、开放、高质量的社区环境
Markdown
1.09 K
0
note-gennote-gen
一款跨平台的 Markdown AI 笔记软件,致力于使用 AI 建立记录和写作的桥梁。
TSX
86
4
nop-entropynop-entropy
Nop Platform 2.0是基于可逆计算理论实现的采用面向语言编程范式的新一代低代码开发平台,包含基于全新原理从零开始研发的GraphQL引擎、ORM引擎、工作流引擎、报表引擎、规则引擎、批处理引引擎等完整设计。nop-entropy是它的后端部分,采用java语言实现,可选择集成Spring框架或者Quarkus框架。中小企业可以免费商用
Java
7
0
arkanalyzerarkanalyzer
方舟分析器:面向ArkTS语言的静态程序分析框架
TypeScript
114
45