论文部分内容阅读
信息技术的高速发展使得生物序列数据呈爆炸性增长,如何高效处理和分析这些海量数据,是当前要面对的一个挑战。序列比对是生物信息分析最基本的处理方法,由于比对过程耗时极大,利用并行计算技术对计算加速成为重要研究课题。而混合并行模型是近年来通用并行计算平台的新热点,它可充分发挥并行系统的综合计算能力。因此结合基于消息传递MPI、共享内存的OpenMP和CUDA并行编程模型,实现基于多机、多核CPU、众核GPU的并行模型,将该模型应用于序列比对研究是一个很有前景的研究方向。 基于遗传模拟退火多序列比对(GSA-MSA)算法是全局比对算法,论文主要对混合并行下的GSA-MSA算法进行并行化研究。为了实现并行加速,对混合并行系统的硬件架构、执行模型、混合编程编译方法和并行性能指标等进行详细研究,剖析GSA-MSA算法的实现原理和串行算法特点,对其潜在多层次并行性进行挖掘。针对该算法在多种的混合并行模型下进行全面的多级并行化设计与实现,分别设计单节点内CUDA并行算法、多节点间的MPI+OpenMP、MPI+CUDA、MPI+OpenMP+CUDA的混合并行算法,并且从通信、任务划分、负载均衡、存储方式方面进行优化处理。 在并行算法的性能评估中,利用5种参数模型测试分析算法的适应度结果、执行时间、加速比和可拓展性;对混合并行算法的通信代价、负载均衡和内存容量耗用进行算法的适用性测试分析;最后综合分析评估各种参数模型下多种GSA-MSA混合并行算法的整体性能。实验取得了以下的研究结果: 1、各个混合模型的 GSA-MS A并行算法都能保持和串行算法的结果误差小于0.15%,在序列数量越大、长度越小时,并行算法的执行速度越具有明显优势。 2、在加速比测试中,五个参数模型的并行算法都有较好加速效果,单节点内CUDA算法最高加速比达到113.60;4节点MPI+OpenMP达到13.88以上;由于测试环境各节点内只有一个GPU,MPI+CUDA与MPI+OpenMP+CUDA的加速比相差不大,OpenMP加速效果不明显。三层混合算法对长序列的加速比达到256.86,短序列可高达393.42。另外,并行算法拥有较好的可拓展性,在增大种群数量和温度控制时,加速效果更为明显,增大遗传迭代次数时,各参数模型的加速效果基本一致。 3、并行算法适用性评估中,三层混合并行算法能很好的控制通信代价,通信耗时占总时间的2.23%以下。节点间的计算时间差不大于总时间的6.69%,负载均衡较为理想,节点内也实现了良好的动态线程块和线程分配方式。此外,测试中,GP U显存耗用不到217MB,说明还有一定的可提升空间。 实验结果表明,混合并行的GSA-MSA算法在保持了串行算法的敏感度下,具有较好的加速比、可拓展性和适用性。研究成果对混合并行计算的研究和多序列比对并行化研究具有一定的参考价值与实用意义。