论文部分内容阅读
在生物学当中,BLAST序列比对算法是一个应用极为广泛的算法,它对海量DNA或蛋白质序列进行处理,具有数据密集和IO密集型特征,消耗时间通常令人难以忍受。因而,通过并行化来提高BLAST运算效率备受研究人员关注。当前,研究人员一般采用MPI方式来完成BLAST算法并行化,但MPI主要适合于处理计算密集型运算,且需要专门的超级计算环境支持,利用它来完成BLAST并行化有诸多限制。而专注于处理数据密集与IO密集型运算的Map/Reduce计算模型的出现,为BLAST算法的并行化,提供了一个新的实现思路。
本文主要研究如何基于Map/Reduce计算模型来并行化BLAST算法,主要研究内容如下:
1.研究如何利用Map/Reduce计算模型来并行化BLAST算法,重点研究同时对输入序列文件与序列库进行切分的双切分并行化方式。
2.利用Map/Reduce计算模型的实现框架Hadoop构建数据密集型运算平台,并在该平台之上采用三层结构来完成BLAST算法的双切分并行化。
3.通过在该平台上,对仅切分输入序列的单切分方式与双切分方式进行各种不同情况下的效率比较,得到双切分方式在大序列库的情况下运算效率远高于单切分方式、而在小序列库的情况下运算效率低于单切分方式的结论。
本文的研究工作,为生物学领域的研究人员选择合适的方式来并行化BLAST算法提供了理论依据,同时积累了利用Map/Reduce计算模型来处理数据密集型计算的经验。