论文部分内容阅读
人类基因组测序工作完成后,对基因数据的处理和分析能力提出了更高的要求。计算是生物信息学的基本研究方法之一,其算法的特点是数据量较大、算法比较简单、运算类型单一、重复性较强、潜在的并行度较高。用现有的大规模并行机或超级服务器等通用系统解决这些问题,既浪费系统的资源,使用维护也比较复杂,有些问题甚至无法在限定的时间内完成。可重构计算就是一种行之有效的解决方案,这种解决方案不仅能够有效地对一些最常用的算法进行加速,而且能够快速适应算法的变化。本文的工作紧密结合面向生物信息处理的专用计算机系统这一项目的需求,分别基于PCI-X总线和DDR SDRAM总线设计实现了两种比较通用的算法可重构加速卡,并讨论了DDR SDRAM接口设计、PCI-X接口设计、ZBT SRAM接口设计等内容。在算法的硬件实现方面,本文系统地讨论了两条序列相似性的比较问题,详细阐述了编辑距离的原始算法和化简的方法以及从算法到逻辑的映射方法,根据这一方法提出了一种简单而高效的处理器单元(PE:Processing Element)的设计方法,并在此基础上进一步实现了脉动阵列的设计和完整的编辑距离算法核心处理逻辑电路设计。基于Altera公司的FPGA—Stratix lS30,本文在加速卡上设计实现了3072个PE,其工作频率限定为133.3MHz,峰值计算能力为409.6GCUPS(Giga Cell Update PerSecond)。加速比测试结果表明,与通用CPU相比,在序列比较长时(数十K对数百K长度),该卡最高可以得到3000倍以上的加速比,即使是在序列长度为几K时,也仍能取得两个数量级左右的加速比。在实际的应用中,本文利用硬件加速卡对多序列联配程序ClustalW的第一个计算步骤——序列两两最优联配过程进行了加速。测试过程中使用了随机生成的长度为3Kbp的序列,当序列的数量在100~1000条范围变化时,多序列联配的整体加速比与序列的数量基本上成正比关系,在这个范围内最高可以得到近35倍的整体加速比,显示出了硬件加速卡在实际系统中的良好的应用前景。在此基础上,本文又提出了一种面向蛋白质序列的局部联配算法的PE设计方法,该设计可以重用编辑距离算法的实现中的总线接口和片上控制逻辑,通过简单升级加速卡上的FPGA芯片就可以实现500倍以上的加速比。最后,作者对全文进行了总结,介绍了下一步的工作,并指出了将其他类型算法映射到该加速卡上的可行性。