人类全基因组分析提速10倍的背后:TCS 服务垂直行业的探索

近日腾讯云国内首发二代基因测序FPGA加速方案,将人类全基因组数据分析从业内平均水平的30小时降低到了不到3小时,在业内引起不小反响,也吹响了腾讯云进军基因计算行业的号角[1]。这其中的核心技术就来自于架构平台部的腾讯计算服务(TCS:Tencent Computing Service)和腾讯云相关团队紧密合作,针对基因计算这一行业进行深度垂直化定制,以IT赋能BT(BioTechnology),帮助基因企业享受IT技术进步带来的便利和效率提升。

基因听起来很神秘,但其实早就已经在很多领域得到了广泛的应用,已经越来越和我们的生活密不可分。比如现在很多孕期妈妈会做的无创产前检测(NIPT),就是基因技术应用于我们生活中的一个例子。农业上,科学家需要测定不同物种的DNA序列,找出影响性状的关键基因,并尝试让它们朝着对人类有益的方向变化,比如大家耳熟能详的转基因作物;医疗上,医生们需要测定癌症肿瘤患者的基因,找准对该患者有效的靶向药物,才能有的放矢达到疗效;遗传学上,通过测定不同物种的DNA序列,可以确定地梳理清楚物种起源关系。

基因测序技术当前以二代测序为主流,三代测序也在蓬勃发展之中。其特点是数据量大、计算量大。数据量大表现在一个人的全基因组测序数据就高达几百G,同时对这些数据需要进行大量的计算才能找出我们想要的信息。以人的全基因组测序数据分析为例,二代测序当前普遍需要的计算力达到~500核时,而三代测序需要的计算力更是高达数万核时。

因为基因测序对数据存储和计算的庞大需求,而且业务存在淡旺季周期,它天然适合云计算的模式。架构平台部的腾讯计算服务TCS采用弹性计算平台提供动态资源,通过自研极光硬件加速和基因行业垂直定制化方案,进一步加速基因计算效率,赋能基因行业发展。

弹性计算平台---动态伸缩调度资源

TCS弹性计算平台,依托部门和公司内的大量空闲资源,以docker技术进行资源的调度,对外提供弹性可伸缩的算力资源。已经支撑了QQ/微信的图片/视频压缩转码、离线计算和AI计算等,为各业务提供了百万核的算力。

在基因计算的场景中,基因公司通常会购置一批高性能的CPU服务器,用行业内流行的网格计算系统(SGE)组建成集群,搭配以共享文件存储系统,就可以开始进行数据分析计算。但是由于业务本身存在淡旺季周期,机器买多了有可能浪费,买少了在业务增长时又会制约自身发展。

这种情况下,基因公司需要的是能够按需使用的资源,需要的时候可以及时拿到大量算力,不需要的时候立刻释放不再付出成本。弹性计算平台通过复用空闲资源来低成本地提供大量算力,同时集成了负载均衡、名字化服务等功能,让算力供应变得稳定、可靠。面对基因计算中动辄成百上千的计算核时请求,弹性计算平台都能够从容应对。

自研极光技术---硬件异构加速

相比于CPU/GPU,FPGA的一大特点是其软硬件一体化的定制能力,可以达到很高的计算能力。基于FPGA的自研极光加速技术已经被架构平台部应用于AI图像识别、图片webp/hevc格式压缩等大规模的业务场景,原来需要数千台服务器的集群,现在只需要100多台FPGA服务器,显著节约了成本。

以二代基因数据分析的金标准BWA+GATK流程为例,我们分析发现在前半段的比对、去重、排序等步骤都可以用多线程运行,而最后的GATK变异召回只能单线程运行,这是受限于开源软件的实现。

针对于此,我们学习了变异召回的原理,请教了行业内的一些专家,通过拆分染色体的方式让GATK变异召回这一步实现了分片段的并行化。让业内标准的30x的NA12878样本,分析时间从通常的30小时缩减到了10小时。

接着使用FPGA对计算密集的BWA中的smith waterman算法和GATK中的PairHMM算法进行硬件实现和加速,让时间进一步从10小时缩短到2.8小时。

基因行业垂直定制

一个基因数据分析流程涉及很多步骤,往往用到了几十种不同的软件,每个软件消耗的算力资源和存储IO都不同。因为行业传统沿袭,基因公司往往追求堆砌硬件,达到很高的理论计算能力和很大的理论IO吞吐。但是实际的运营中,因为传统调度机制的不尽完善,导致集群常常是低负载状态,集群CPU利用率一般只能达到20%。

针对于此,我们对业内较为标准化的一些数据分析流程进行深入的研究分析,通过更优的分布式调度、针对性的软硬件加速优化,在节约成本的同时缩短整个流程的耗时,提升效率。

比如对于三代测序的falcon运算,典型的是在一个集群环境中进行。原生的调度往往不均衡,有的节点分配到更多任务,有的节点分配到的任务耗时明显更长,最终都导致整体作业耗时很长。

以一个小样本为例,我们使用一个昆虫样本在一个小集群上运行花了10个小时。观察发现Daligner这一步骤调度非常不均衡,有的节点分到了12个任务,而且其中有3个任务的输入数据达到100M。有的节点只有3个任务,而且任务的输入数据只有40M左右。同时我们发现这一步骤的计算量与输入文件体积呈正相关。

因此我们优化了这一步的调度,让每个节点分配到的计算量尽可能平均,并且弹性申请更多资源,将耗时从10小时减到了3.6小时。

总结与展望

基因测序是一个朝阳产业,随着国家精准医疗计划的普及推进,将越来越深刻地影响普通人的生活。我们希望能够以TCS腾讯计算服务为载体,通过腾讯云上的相关产品来为基因公司提供大规模的可靠的弹性计算资源;挖掘基因公司在IT上的痛点,以深度定制研发来加以解决。真正做到以技术赋能行业,帮助基因企业更专注于业务本身的发展,获得更大的成长。 

[1]国内首个二代基因测序FPGA加速方案落地腾讯云,人类全基因组分析从30小时到2.8小时http://mp.weixin.qq.com/s/Bm5nHlPQjbH0iru3m8S-Ag

本文转自“腾讯架构师”公众号

原创声明,本文系作者授权云+社区-专栏发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

编辑于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏智能算法

98.8秒夺冠,解析腾讯云数智背后的架构与算法优化

背景 11月10日,具有计算奥运会之称的 Sort Benchmark 全球排序竞赛公布了2016年最终成绩,腾讯云大数据联合团队用时不到99秒(98.8秒)就...

3394
来自专栏企鹅号快讯

也许这才是用户画像的正确姿势

这完全是一个以用户为中心的时代,以用户特征对自己的产品进行定位的时代。 所以今天说一说用户画像这件事。大数据的广泛传播,让我们对用户画像这个词语并有了很多了解,...

2168
来自专栏腾讯高校合作

【揭秘】腾讯云数智98.8秒完成100TB数据排序的架构和算法

本月初,腾讯云大数据联合团队以98.8秒的成绩完成100TB数据排序,摘得2016 Sort Benchmark全球排序竞赛冠军。在这次竞赛中,腾讯云数智分布式...

3985
来自专栏腾讯大数据的专栏

【揭秘】腾讯大数据 98.8 秒完成 100TB 数据排序的架构和算法

上周,腾讯云大数据联合团队以98.8秒的成绩完成100TB数据排序,摘得2016 Sort Benchmark全球排序竞赛冠军。在这次竞赛中,腾讯云数智分布式计...

2028
来自专栏吉浦迅科技

从石油勘探到人工智能 高性能计算应用谈

著名的电影特效公司IndustrialLight&Magic使用了IBM最新的刀片式服务器替换了他们的服务器。新的刀片s式服务器机架配有84台服务器,每组机架节...

3799
来自专栏SDNLAB

边缘计算和雾计算如何改变IoT的应用方式

关注科技领域很难跟上行业的最新趋势和新兴领域,仅以计算类型为例,随着我们处理数据的方式和位置的不断变化,我们受到了硬件和连接性方面的限制。 云计算这一术语已经在...

31610
来自专栏ThoughtWorks

识别领域事件 | 洞见

随着微服务架构的兴起,微服务设计与拆分的的最佳实践DDD已然成为大家讨论与实践的热点,整个行业都在探索如何用DDD建模来实现微服务设计。事件风暴作为最接地气的实...

691
来自专栏机器之心

业界 | ARM推出新一代移动端CPU和GPU:提升机器学习效率

选自anandtech 机器之心编译 参与:吴攀、蒋思源 在 PC 制造商展示最新和最好的英特尔 CPU 计算机的 2017 台北国际电脑展(Computex...

2055
来自专栏人工智能

工业机器人的16项重要应用

当前,随着制造业自动化和智能化程度的不断提升,工业机器人迅猛发展,在加工制造领域,工业机器人的应用越来越成熟。 应用不仅仅这16项, 思维有多远,应用就有多宽~...

1918
来自专栏SAP最佳业务实践

从SAP最佳业务实践看企业管理(111-2)-采购5R原则(2)

采购的定义与活动焦点: 在最优惠的情况下,由外部资源取得经营、维持及管理公司的主要和辅助活动所需的所有东西、服务、能力及知识。 决定所需购买的东西与服务的规范...

3726

扫码关注云+社区