论文部分内容阅读
HMMer是广泛应用的生物信息学开源软件工具包,它提供了对基因和蛋白质进行分类与匹配的一系列工具集。P7Viterbi是HMMer的核心函数,由两层嵌套循环实现了计算密集型算法Plan7 HMM。虽然算法具有很强的并行潜力,但受限于CPU的串行本质,HMMer在常规平台上运行十分耗时。FPGA技术近年来有了巨大的发展,基于FPGA和CPU的异构系统得到了学术界的广泛关注,大量的学者正在对其计算能力、适用范围、开发流程、耦合方式、应用前景进行广泛的研究。FPGA-CPU异构系统可以发掘Plan7 HMM算法的并行性,目前主要有两类:(1)并行执行多个核心函数,(2)简化运算以实现对单个核心函数的并行运算。后者对单个函数进行并行运算,但运算的简化导致精度的下降。因此,本文在不简化运算的前提下提出了一种可以适应Plan7 HMM的数据依赖特性的基于脉动阵列的并行运算结构,并且使用PCI Express总线耦合方式实现了加速系统。本文首先总结了对HMMer进行加速的常用方法并分析其优缺点,并选择并行度较高、加速潜力较大的CPU-FPGA协同工作方式作为加速方式;分析了FPGA实现高性能计算的可行性和CPU-FPGA耦合方式的优缺点,并选择外部总线方式作为本文的耦合方式。其次,介绍了HMMer采用的Plan7 HMM的基本原理;对HMMer进行性能分析,从而确定对Plan7 HMM进行实现的P7Viterbi函数为系统的核心函数。然后,提出了适合数据依赖特性的并行运算的脉动结构,提出了并行数据提供方案来解决数据的并行访问,提出了运算切分机制来解决运算单元规模与计算规模不匹配的问题,提出了“自动重算”机制来解决阻碍计算并行的“回边”问题。再次,在FPGA实现过程中,应用并行化、流水化和参数化技术提高了系统的吞吐率和可移植性。最后,对系统的性能进行了分析并提出本文存在的不足与改进的方向。实验表明,本文所设计的系统具有很高的效率和很好的可移植性。当采用Virtex 5 110T芯片时,每个运算单元的平均加速比相对于奔腾4平台为4.4倍、相对于酷睿2平台为3.7倍,系统的平均加速比相对于奔腾4平台为109倍、相对于酷睿2平台为92倍。