扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
ZD至顶网服务器频道 09月13日 新闻消息: 基因测序是高性能计算的重要应用领域之一,在基因组学研究中,高通量测序是最重要的数据来源。然而,高通量测序技术的飞速发展,在给基因组学研究带来极大便利的同时,也带来了"幸福的烦恼":单次测序数据量的大幅度提升,使得基因组学研究从原来的"测的没有算的快",变为如今的"算的没有测的快"。
特别在近年来,无创产前基因检测(NIPT)以高的准确度和安全性获得了越来越多准爸准妈的青睐,通过基因测序更多的应用在临床医学诊断上,这项技术开始受到越来越多的人关注,倍增的基因测序需求也对计算效率提出了更高要求。因此,必须提升高性能计算应用效率,才能应对庞大的测序需求。
复杂又昂贵的生命天书
基因组的数量非常大,一个小小真菌,如酵母的基因组总量就有10Mb,而一个人的全基因组则是3Gb(3000Mb),也就是30亿个碱基,如果将全部测序数据打成文字排成书,这本书的厚度将超过100米。此外,由于受到技术和方法学的限制,每个人至少要测100Gb也就是基因组的30倍以上,才能得到相对准确的全基因组数据。
在过去,测序的成本也是非常高的。在90年代初期"人类基因组"计划正式启动后,历经了16年,花费约30亿美金才完成了一个白种人的全基因组图谱绘制,而现在需要3天的时间完成一个人的全基因组测序,大概需要1000美金左右。随着时间的缩短,价格的降低,基因测序技术变得更加的有'亲和力'。尤其在2013年后,好莱坞女星安吉丽娜·朱莉通过基因检测得知她患乳腺癌以及卵巢癌的风险分别为87%和50%,因此毅然地选择切除了乳腺和卵巢。
"旧时王谢堂前燕,飞入寻常百姓家",基因测序从原来的象牙塔里的技术,进入更多普通人的生活。
复杂的基因分析流程
那么,基因测序为何会面临"算的没有测得快"?首先让我们先了解下基因分析的流程。
通过基因测序获得只是ATCG四种不同碱基的组合,还不是直观的结果;要将测序结果进行解读,还需要在高性能计算机上进行大量的演算和分析。
在高性能计算机中计算时需要多个软件协同工作,一步一步完成数据的分析,最终才能呈现出可读的结果。通常要得到最终的结果,要经过样本的采集,提取组织DNA,进入测序仪测序,随后进入计算机对测序数据进行标准化的计算,最终进行数据的分析,核验。
图:基因检测的流程
图:测序数据分析流程(以全基因组分析为例)
然而计算分析的过程是非常复杂并且相当耗时的,涉及到多款软件,每一个软件的算法不同,所需要的计算资源不同,如何才能理解软件所需要的资源,合理配置计算环境呢?
采用浪潮"天眼"(TEYE)高性能应用特征分析系统(下面简称浪潮天眼),我们可以获得软件的运行特征,以便可指导资源的配置。下面我们以基因计算中使用率较高的软件BWA为例来看在计算过程中的资源使用情况。
我们采用的算例规模是:134809168条reads,reads长100bp;
该测试集群采用了浪潮NF5440M4刀片节点,单节点处理性能1万亿次,支持AVX2.0指令集,单节点内存容量128GB DDR4,且充分发挥了"四通道内存"及"DDR4频率优势"。
表:测试集群配置
图:浪潮天眼监测BWA在CPU资源使用方面
从上图可以看出,BWA运行中单节点运行CPU利用率的周期性变化,本算例中每10s会出现一次CPU利用率的峰值,当CPU利用率处于峰值时,IDLE增加;
BWA运行中,CPI很高,结合CPU的利用率和CPI的数值,可以看出BWA并不是浮点运算密集型应用,这是由BWA的算法决定,BWA通过B-W转换将基因组序列按一定规则压缩并建立索引,再通过查找和回溯来定位读段,BWA主要进行查收,匹配,这些操作都不是浮点型的操作,因此BWA不是一个浮点密集型的应用。
图:浪潮天眼监测内存容量、内存带宽使用情况
BWA运行中,单节点运行,内存带宽也是周期性变化,和CPU利用率表现一致,每10s内存带宽出现一次峰值。内存容量逐渐增大,这是由于运行初始阶段需要将数据写进内存。本算例内存占用45GB,BWA的内存需求,和算例规模密切相关,如reads长度,reads大小等。经过测试统计,内存需求基本是输入的待比对序列大小的5-6倍。
图:浪潮天眼监测磁盘读写使用情况
BWA运行中,单节点运行,在初始运行时要读入输入文件,磁盘读带宽也是和算例的大小是相关联的,本算例的最大读带宽340MB/s;磁盘写也是呈现阶段性,最高峰220MB/s。
为更加详细分析BWA的应用特征,我们用取一个时间段的CPU利用率、内存带宽、磁盘读写进行分析,如下:
在同一时间点(5-7s),在该时间段时CPU利用率较低,IDLE上升,此时内存带宽也随之降低;而在此时,我们可以看出磁盘的读达到350MB/s;可以说明是由于此时刻磁盘读数据造成CPU利用率以及内存带宽的下降;当数据读完成后,读带宽下降,CPU利用率和内存带宽增高,如此呈现出周期性的变化。
特征总结
序列比对应用BWA的CPU利用率上下波动,内存容量和算例密切相关,整体内存容量需求适中;磁盘压力较大,其实阶段大规模读入输入文件,每过一段时间有一次较大读操作,这是由于BWA的代码中指定,每过一段时间,要读入1000个reads。
基因计算行业特征
在基因计算中还涵盖其他资源占用较多的应用,我们不能在此一一列出使用TEYE监控的数据,我们经过长期的积累,通过信号图的方式总结应用的特点,下面列出BWA和序列拼接应用VELVET的资源使用情况,其中信号强度越大代表在改方面的资源占用越多。VELVET应用在内存容量和内存带宽方面都有非常大的需求,因此在资源配置方面一定要综合考虑各方面的需求。
根据以上基因测序软件的普遍特点,我们也给出了如下的集群配置建议:
(1)基因比对、拼接等计算非浮点密集型计算应用,CPU利用率、idle%呈现规律性交替变化,并且程序起始阶段CPU利用率低,主要进行IO处理,高主频可加快进度,双路节点配置Intel E5-2680V4是个不错的选择;
(2)内存带宽随CPU利用率交替变化并且峰值并不高,浪潮NX5440M4单节点配足8根DDR4 2400MHz内存提供153.6GB/s的带宽可充分保障内存带宽需求;内存容量需求较大,基本上是输入序列大小的5-6倍,单节点搭配8条16GB或32GB内存即可满足中小规模算例需求;对于大规模的基因拼接、比对计算,内存容量建议配置在1-2TB以上,浪潮大内存节点TS860G3最大可配至12TB内存,可充分保障计算需求。
(3)网络压力较低,仅在读写IO时涉及到较多网络传输,普通以太万兆即可满足网络带宽需求,选择IB网络或Intel OPA网络也会在一定程度上降低延迟,提升效率。
(4)存储读写压力适中,磁盘读写均呈现阶段性,如本测试案例,中小规模算例存储读写峰值带宽均在500MB/s以下,选用浪潮存储服务器NF5460M4即可满足需求;大规模算例如人体全基因组比对、拼接等,在程序初始阶段输入文件磁盘读取、计算结果磁盘写阶段对存储的带宽压力会比较大,此时建议选择浪潮AS13000或浪潮Tstor2000并行文件存储系统,可提供GB/s以上的带宽,更好的应对存储压力。
浪潮在基因计算领域已经积累非常多的应用经验,通过浪潮天眼可以更全面、更精细的分析基因测序软件特征,提供软硬一体化的全方位优化方案。目前浪潮已经为北京生命科学研究所、中国科学院北京基因组研究所、沙特椰枣基因组计划、中科紫鑫、上海儿童医院、苏州大学医学部等提供基因计算方面的支持。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者