我们可以对世界进行排序,但然后呢?
地球上大约有870万个物种,你可能会认为对所有物种的DNA进行测序需要几十年的时间。据柏林自由大学的克努特·赖纳特教授说,用目前最快的1万台DNA测序仪,这项艰巨的任务可以在10天内完成。这是因为在过去的10到15年里,测序速度提高了大约4000倍。
在同样的时间内,测序成本已经降低了1000万倍左右。现在,在高容量的实验室里,对人类基因组进行测序只需1000美元。根据麦肯锡全球研究所(McKinsey Global Institute)的数据,未来十年,这一价格将再下降10倍。收集基因组数据正变得快速、廉价和相对容易。
处理基因组数据洪流
更大的挑战将是分析产生的所有数据。一项研究估计,到2025年,将有1亿到20亿个个体基因组被测序,产生2到40艾字节的数据。埋藏在所有这些数据中的见解将从根本上改变我们对生命的理解,从细胞生物学和疾病机制到药物发现和农业。揭示这些洞见需要大量的分析。
Reinert教授和他的团队正在与英特尔合作,为研究人员和实验室提供新的工具,帮助他们应对这一巨大的分析挑战。由于他们在生物信息学方面的开创性工作,柏林自由大学于2015年被选为新的英特尔并行计算中心(IPCC),由Reinert教授掌舵。从那时起,他的团队一直致力于通过优化代码来提高重要基因组算法的性能,以更好地利用现代多核多线程处理器。
用于高速基因组学的灵活软件库
一旦Reinert教授的团队优化了一个算法,他们就会把它打包到SeqAn*中,这是一个以基因组学为重点的应用程序的开源库。SeqAn中的算法不仅针对性能进行了优化,还针对基于标准的硬件环境中的易用性、可维护性和可移植性进行了优化。它们可以组合起来创建复杂、灵活的分析管道,学术和商业组织都可以自由使用。
SeqAn的目的是通过简化管道开发、降低成本、交付数量级和更高的性能收益来加速基因组学研究和增加使用。朝着这些目标已经取得了良好的进展,SeqAn越来越受欢迎。根据Reinert教授的说法,它已经被300多项研究引用。
现代化的高性能代码
复杂的软件算法已经开发了多年来分析基因组数据。这些算法提供了惊人的功能,但主要是为了实现精确的科学。大多数开发人员都是遗传学和生物信息学方面的专家,但不了解复杂的硬件和软件问题,而这些问题对于最大限度地提高计算效率和应用程序吞吐量至关重要。因此,性能和可伸缩性问题经常出现在大容量和时间关键型环境中。基因组数据的规模和复杂性的不断增加增加了这些挑战。
算法优化花了这么长时间的一个原因是,它需要跨多个学科的专业知识来充分理解科学、数学、软件和硬件。在寻找遗传标记时,每个碱基对都很重要,因此软件开发人员必须了解他们的优化工作不仅影响分析的速度,而且影响结果的准确性和可靠性。在某些情况下,Reinert教授和他的团队不得不创建新的算法方法,以便代码能够在大量线程和核心之间有效地扩展。
他们的代码优化工作主要集中在两个策略上:向量化和多线程。
每个核心更高的性能
目前大多数处理器都集成了对单指令多数据(SIMD)执行策略的支持。使用SIMD,一条指令可以同时应用于多个数据点,这个过程称为矢量处理。
根据算法的不同,矢量处理可以显著增加每个时钟周期可以执行的计算次数。对向量处理的硬件支持不断发展。例如,最新的Intel Xeon Scalable处理器支持512位向量,而上一代支持256位向量。这有效地使每个时钟周期可以执行的最大计算次数增加了一倍。
每个工作负载更多内核
20年前,主流计算机处理器被设计用来处理单一的软件指令流。每个处理器将以线性方式处理一个接一个的软件指令。今天,单个处理器可能包括数十个“核心”,每个“核心”都作为独立的执行引擎,可以处理自己的软件流或“线程”。使用这种方法,单个处理器可以同时执行数十甚至数百个同时执行的指令流。
然而,大多数软件代码被设计为作为单个线程运行,这意味着应用程序只能利用单个处理器核心。为了提高并行吞吐量,软件开发人员通常可以将连续的代码流分解为多个线程,这些线程可以跨多个处理器核心并发运行。对于具有足够内在并行性的软件,这个过程可以用来生成可以利用现代处理器、服务器和集群中所有可用内核的代码。
主流的多核服务器处理器,如英特尔至强可扩展处理器,包括多达28个核,每个核支持两个并发线程。多核处理器,如Intel®Xeon Phi™处理器,最多提供72个核,每个核支持4个线程。充分利用这些并行资源可以对性能产生重大影响。
数量级和更高的性能增益
矢量化和多线程非常适合基因组分析的计算需求,基因组分析依赖于一系列相对简单的计算,这些计算在大型数据集上迭代执行。提高每个核心的性能,同时利用更多的核心,可以产生倍增的影响,并可以带来显著的整体性能提升。迄今为止的性能测试显示:
- 通过向量化大大提高了每核性能。使用最新的Intel Xeon Gold 6148处理器的基准测试清楚地显示了更高的每核性能(图1)。尽管这些更新的处理器提供了增量的核心增加(增加到20个核,而上一代处理器最多可增加到18个核),但额外的核心不能解释新处理器所提供的1.6到2.7倍的性能提高。这些成果在很大程度上可归功于增强的病媒支持。
图1。优化后的SeqAn代码充分利用了最新Intel®Xeon®Gold 6148处理器中的高级矢量支持,与上一代Intel®Xeon®处理器E5-2697 v4相比,这有助于在一系列SeqAn工作负载上实现高达1.6倍至2.7倍的性能提升。8
- 跨大量核的近似线性可伸缩性。在优化代码之前,SeqAn只能在单个线程上有效地运行。使用新的优化代码的基准测试显示了英特尔®Xeon Phi™处理器7250提供的大量内核和线程的出色可伸缩性。在所有68个核心上运行时,与在单个核心上运行相同的工作负载时相比,运行时间减少了55X(图2)。
如此大规模的性能和可扩展性改进具有变革性,可能会将复杂基因组分析所需的时间从几天缩短到几分钟。Reinert教授的软件优化工作专注于从代码中提取尽可能多的并行性,因此在未来几代处理器中,随着核心密度的增加,性能收益将继续增加
打开生命的秘密
为高性能优化算法是处理即将到来的基因组数据洪流的关键一步。赌注很高。麦肯锡全球研究所(McKinsey Global Institute)估计,到2025年,下一代基因组学有可能每年对全球经济产生高达1.6万亿美元的影响,而这种影响最终将远远超出经济领域。
我们正站在一个临界点上,我们有能力了解遗传密码及其对植物、动物、人类、种群甚至整个生态系统的详细影响。今天DNA测序的进步与生命科学研究工具的互补进步同时发生,如分子成像和分子动力学(原子和分子相互作用的计算机模拟)。
结合这些技术,快速基因组分析提供了基础,以前所未有的细节,了解单个基因和基因组合在细胞过程中发挥的作用。这些进步将加深我们对多种形式生命的理解,提高我们治愈和塑造生态系统的能力,并为能够适应每个人独特生理机能的精准医疗铺平道路。
有关性能和基准的信息可在http://www.intel.com/performance/datacenter。
参考文献
- 来源:地球上标记的物种数量为870万种,Lee Sweetlove,《自然》,2011年8月23日。https://www.nature.com/news/2011/110823/full/news.2011.498.html
- 来源:Knut Reinhert教授在2015年超级计算英特尔高性能计算开发者大会上的演讲,发表于2015年12月2日。https://www.youtube.com/watch?v=YVDaQFTeBlw一般来说,“地球上有107个物种,平均每个基因组有108个碱基对;因此,地球基因组有1015个碱基对。Illumina HiSeq测序仪每天可以测序1011个碱基对,因此他们可以在大约10天内以10倍的覆盖率对地球基因组进行测序。”
- 来源:克努特教授在2015年超级计算英特尔高性能计算开发者大会上的演讲,发布于2015年12月2日。https://www.youtube.com/watch?v=YVDaQFTeBlw
- 来源:克努特教授在2015年超级计算英特尔高性能计算开发者大会上的演讲,发布于2015年12月2日。https://www.youtube.com/watch?v=YVDaQFTeBlw
- 来源:颠覆性技术:将改变生活、商业和全球经济的进步。麦肯锡全球研究所,2013年5月。
- 来源:基因组研究人员对大数据提出警告,Erika Check Hayden,《自然》,2015年7月7日。https://www.nature.com/news/genome-researchers-raise-alarm-over-big-data-1.17912
- http://www.fu-berlin.de/en/presse/informationen/fup/2015/fup_15_285-professor-reinert-leitet-intel-parallel-computer-center/index.html
- Illumina测序150 bp条带和未条带细胞的局部和全局比对结果(2.85 x 1011未条带,3.21 x 1010条带)。基线配置:2 * Intel®Xeon®E5-2697 v4 (2.30 GHz, 18核)。测试系统:2 x Intel®Xeon®黄金处理器6148 (2.4 GHz, 20核)。所有测试都使用Linux 3.10.0-514.21.1.el7运行。x86_64和GNU编译器7.2.0。
- 基于Pac Bio Reads的结果为2.66 x 1013个细胞的全局对齐。测试配置:Intel®Xeon Phi™处理器7250 (1.4 GHz, 68核,16 GiBi MCDRAM)。所有测试都使用seqan_global、Linux 3.10.0-514.21.1.el7运行。x86_64和GNU编译器7.2.0。
- 来源:颠覆性技术:将改变生活、商业和全球经济的进步。麦肯锡全球研究所,2013年5月。
本文是英特尔HPC编辑计划的一部分,旨在突出由HPC社区通过先进技术推动的前沿科学、研究和创新。内容的发布者拥有最终的编辑权,并决定发表什么文章。