论文部分内容阅读
生物序列数据呈爆炸性趋势增长。如何处理这些海量数据,挖掘出蕴含于数据之中的生物学意义,是生物信息学领域的一个巨大挑战。另一个挑战来自于高性能计算平台下的适用并行软件的匮乏,这种匮乏在很大程度上制约着高性能计算平台上的计算能力。设计生物信息学领域适用的高性能计算平台下的并行软件,加速分析和处理大数据集的生物序列数据,显得尤为重要。相比于传统的数据库统计显著性,双序统计显著性能够更为准确地相关联(同源)序列。然而,由于其本身固有的计算密集性,双序统计显著性的评估过程是非常耗时的。此外,双序统计显著性的评估准确度也有待进一步的提升。基于此,本文对双序统计显著性的高性能评估算法进行了深入的研究,并取得了以下创新性成果:1.提出基于非统一内存访问(Non-Uniform Memory Access,NUMA)构架下的多核处理器的双序统计显著性评估的高性能算法。针对阿姆达尔加速评估模型在多核处理器环境下的不足,提出了一个新的评估模型,通过考虑引入多核环境下带来的额外开销(如线程同步、数据拷贝等),能更为准确地找出系统加速中的性能瓶颈。通过性能分析得知,双序统计显著性评估有三大计算密集核:序列重排、序列比对和参数拟合。算法优化了序列比对中的时间复杂度和空间复杂度。通过调整NUMA体系结构下的运行参数,克服了NUMA效应。实验表明,在使用24核处理器的情况下,相比于串行执行程序,评估算法获得的最大性能加速可达22.65倍。2.提出基于分布式节点与NUMA多核处理器混合构架下的双序统计显著性算法。该算法利用分布式内存环境下的大规模计算节点提升了整个评估系统的性能空间,同时利用每个节点内的多核处理器共享内存机制,节省了内存消耗。此外,取代基于目标序列数量的平衡负载调度策略,设计了一个新的基于序列长度总和的负载平衡调度算法。相比于串行执行程序,在跨域43个节点使用1024个处理器核的情况下,混合构架环境下加速算法获得的最大性能加速可达621.73倍。3.提出基于通用图形处理器的自适应数据切片的双序统计显著性评估算法。该算法根据GPU的硬件配置特征,自适应地调整传输至GPU中的目标序列数量,确保GPU的高占有率(occupancy)。同时,为了提高全局内存的访问速度,通过对目标序列及其混排副本进行内存布局重组,使之支持合并访问。在使用双GPUTesla C2050情况下,自适应数据切片的双序统计显著性评估算法,相比于串行执行程序,获得的最大性能加速可达369.95倍,GCUPS峰值达到25.50。4.提出一组适用于双序统计显著性的评估策略,包括特定评分矩阵定制、比对分值审查的参数拟合等,显著地提高了评估的准确度。通过对替换评分矩阵的各向异性定制,取代标准替换评分矩阵来评估序列比对的分值,最大程度的利用查询序列自身的特征信息。通过比对分值审查的极大似然参数估计方法,显著地提升极值分布中统计参数拟合的准确度。通过上述评估策略的优化,相比于BLAST、SSEARCH等序列分析系统提供的数据库统计显著性评估,在相同查询序列误报数(Error per Query)水平下,双序统计显著性评估的覆盖率(Coverage)提高了35%-40%。本文的研究成果也可容易地扩展到其它新一代测序(next-generation sequencing)应用当中,如DNA序列映射和序列数据库检索等。随着生物序列数据的日益快速增长,更高性能的加速平台如CPU和GPU混合构架(或GPU集群)、GPU和FPGA混合构架等都会有望应用到处理大规模序列分析当中,而本文的研究工作则可充当一块有意义的基石。