论文部分内容阅读
自人类基因组计划启动以来,人类基因组与疾病间关联的奥秘被逐步揭示。随着NGS(Next Generation Sequencing,下一代测序,也称为高通量测序)等新一代测序技术的发展,基因数据的总量发生了爆炸性的增长,其增长速度远远超过了摩尔定律;另一方面,测序技术的进步使基因测序成本迅速降低,截止2015年,为人类个体进行一次全基因组测序的成本已经降至1000美元以下。基因测序成本的降低也产生了更多了测序需求,个体化医疗等相关产业得以快速普及,精准医疗的研究也逐步开展,这从另一方面加速了基因数据的增长。基因大数据时代的到来对基因序列分析技术提出了巨大挑战,如何快速而合理地诠释这些大规模的数据成为获取数据后的一个更大难点,是当前生物信息学研究的关键步骤,具有巨大的现实意义。 近年来,受限于半导体工艺和功耗等因素,计算机体系结构逐渐向异构多核的方向发展。OpenCL是跨多种异构平台的编程模型,支持任务和数据级别的并行,利用OpenCL可以充分发挥多种领域专用加速处理器的并行特性。在基因数据分析流程中,序列比对是其中的关键步骤,也是基因数据分析流程的性能瓶颈。基于BWT的序列比对算法由于内存开销较小,在当前的基因数据分析流程中居于主流地位。本文首先分析了基因数据分析流程在微体系结构上的效率瓶颈,然后对序列比对算法这一关键步骤的加速技术进行了研究,我们选择在生物信息学领域认可度较高的基于BWT的BWA软件包作为研究对象,主要研究成果如下: 系统地剖析了NGS数据分析流程在多核处理器平台上的运行时性能行为特征,并且给出加速NGS算法领域专用体系结构的设计建议。基于自顶向下的方法,我们详细采样了WGS和RNA-seq两种基因数据处理流程的访存模式和计算特征,并对它们在通用处理器微体系结构上的效率瓶颈进行了详细分析。 针对基于BWT的序列比对算法,抽象出了一套性能关键的可移植性好的编程接口。为了保证应用程序在不同领域专用加速处理器上的可移植性,我们采用基于OpenCL的技术方案设计算法接口,接口底层的实现针对不同加速体系结构进行定制优化。 提出了一种基于OpenCL的序列比对算法跨平台加速方法。通过对BWA-aln算法性能的详细采样,我们将其性能热点函数实现为OpenCL内核函数,对BWA-aln算法面向多种异构平台进行了移植,并基于Intel MIC架构进行优化,相对于多核CPU平台8线程的BWA-aln算法取得了超过4倍的加速比。 提出了一种基于众核编程模型的大规模细粒度线程和数据并行的序列比对算法优化方法。对于BWA-MEM序列比对算法,我们将其基于Intel MIC架构进行并行优化,通过多核多线程的大规模并行加速和基于向量处理单元的SIMD数据并行加速,提高了程序的比对性能。