生信流程引擎的对比
-
Cromwell引擎分析
http://jackywu.site/technology/Cromwell引擎分析/后端选择:
Volcano
Volcano 是华为开源的一个基于 kubernetes 的编排引擎。团队开发Volcano的目的是为了弥补Kubernetes在深度学习、大数据计算场景下的不足而增强了其在计算任务批量处理方面的功能,比如计算任务的批量创建及生命周期管理、批量调度等。目前Volcano已经支持如TensorFlow、MXNet、PaddlePaddle这几个主流的深度学习框架,目前华为、蘑菇街、VIVO、百度、菜鸟、京东等公司在使用。TESK
我们先来看 TES,全称是:Task Execution Scheme (TES) ,是 GA4GH组织( Global Alliance for Genomics and Health)为批处理任务执行系统定义的一套规范。该规范定义了,一个任务由一系列输入文件 + 一系列docker镜像与命令 + 一系列输出文件 + 一些日志和元数据 组成。TES的规范定义example可以参考这里。Argo
Cromwell官方文档里没有提Argo,但是这里要简单介绍一下这个引擎,因为这个引擎是专门设计用来跑workflow的,而且所使用的技术栈跟Volcano有类似之处。Argo是一个基于kubernetes的workflow引擎,它是美国的软件巨头Intuit带头开发的开源软件,通过Argo可以跑CI和CD,可以跑workflow或者Pipeline,有Adobe、阿里云、蚂蚁金服、特斯拉、Redhat等大公司都在用。
从v2.5开始,Argo支持“local”和“hosted”两种部署模式,v2.5之前只能是Hosted这种模式。
Kubeflow
Kubeflow is an open source AI/ML project focused on model training, serving, pipelines, and metadata. The Kubeflow pipeline tool uses Argo as the underlying tool for executing the pipelines. However, Kubeflow provides a layer above Argo to allow data scientists to write pipelines using Python as opposed to YAML files.
https://developers.redhat.com/blog/2019/12/16/ai-ml-pipelines-using-open-data-hub-and-kubeflow-on-red-hat-openshift/#:~:text=Kubeflow is an open source,as opposed to YAML files.https://zhuanlan.zhihu.com/p/50230918
https://github.com/meirwah/awesome-workflow-engines