[发明专利]基于CPU+GPU异构系统的序列比对方法有效
申请号: | 201410522707.9 | 申请日: | 2014-09-29 |
公开(公告)号: | CN104504303B | 公开(公告)日: | 2018-09-28 |
发明(设计)人: | 朱香元 | 申请(专利权)人: | 肇庆学院 |
主分类号: | G06F19/22 | 分类号: | G06F19/22 |
代理公司: | 北京卓恒知识产权代理事务所(特殊普通合伙) 11394 | 代理人: | 唐曙晖;刘明芳 |
地址: | 526061 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 cpu gpu 系统 序列 方法 | ||
公开了一种大规模生物序列比对及其基于异构系统的并行处理方法。首先,对序列优化存储,设计异构系统负载平衡方法;然后,设计异构系统内存优化方法,包括满足合并访问条件的序列存储方法、相似矩阵存储和访问方式、得分矩阵压缩存储,解决由于异构系统存储空间的匮乏而导致的实际计算性能低下;最后,基于内存预分配和复用策略,提出粗粒度序列比对并行方法。本发明基于CPU+GPU异构计算平台,充分利用了负载平衡和内存优化技术,从而显著提高大规模生物序列比对的处理效率。
技术领域
本发明属于计算机技术与生物基因技术相关联的交叉学科领域,涉及一种运行于CPU+GPU异构系统的序列比对方法,尤其是大规模序列比对方法。
背景技术
序列是生物信息的载体,包括DNA(脱氧核糖核酸)、RNA(核糖核酸)和蛋白质等。生物序列比对(sequence alignment)是以序列为研究对象,通过比较序列中各字符间的对应关系或字符的对比排列,发现序列之间的相似性,辨别序列之间的差异,从而推测其结构、功能以及进化上的联系。序列比对是生物序列分析领域最重要的研究方向之一,已被广泛应用于进化分析、功能预测、相似性搜索、生物制药、疾病诊断与治疗等方面。
随着GPU并行处理能力的不断提升,GPU已被广泛应用于生物信息学中的数据处理。当前基于CPU+GPU异构系统的序列比对方法包括MUMmerGPU、S-W、CUDA-BLAST、进化树的构建等。对这些方法进行分析,发现现有方法主要存在以下几个问题:
(1)缺乏异构计算系统负载平衡有效方法
序列比对时间与序列长度、序列之间的距离、以及序列数目相关。现有方法没有考虑这些参数对比对时间的影响,不能较好地指导负载平衡方法的设计。
(2)缺乏访存控制有效机制
GPU采用分级存储器模型,包括片上和片外存储器,其中片上存储器包括共享存储器、寄存器和各级cache,片外存储器包括全局、常数、纹理和局部存储器。片上存储器拥有较高的访问速率,而访问片外存储器需要很长的时间延迟。现有的方法中一般仅考虑各类存储器的特性选择合适的访问和存储方式,而没有考虑序列比对的应用特点,详细分析序列比对方法的计算过程,找出访问最多、最消耗GPU内存的关键点,对它们进行访存优化。
(3)可扩展能力不足
现有的方法通常应用CPU+GPU异构系统加速已有的序列比对方法,由于原有方法的可扩展性不强,从而导致现有的方法可扩展能力不足。随着生物数据的急剧增加,可扩展性已成为衡量序列比对方法好坏的重要标准之一。
发明内容
本发明的所要解决的技术问题是提供一种运行于CPU+GPU异构系统的大规模序列比对方法,以克服现有技术中大规模序列比对执行效率不高的问题。
根据本发明的第一个实施方案,提供运行于CPU+GPU异构系统的序列比对方法或大规模序列比对方法,该方法包括以下过程:
1)对序列进行优化存储,和实施异构系统负载平衡,其中在序列从CPU传输到GPU之前,先对序列进行序列优化存储;
2)设计内存优化方式,该优化方式包括:满足合并访问条件的序列存储方式、相似矩阵存储和访问方式和得分矩阵压缩存储方式;和
3)基于内存预分配和复用策略,采用粗粒度并行方式进行比对(或并行比对)。
一般来说,以上所述的序列优化存储包括以下二个子步骤:
排序:序列按长度进行排序来减少相邻线程处理序列的长度差异,以减少线程间的等待时间;和
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于肇庆学院,未经肇庆学院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410522707.9/2.html,转载请声明来源钻瓜专利网。
- 同类专利
- 专利分类
G06F 电数字数据处理
G06F19-00 专门适用于特定应用的数字计算或数据处理的设备或方法
G06F19-10 .生物信息学,即计算分子生物学中的遗传或蛋白质相关的数据处理方法或系统
G06F19-12 ..用于系统生物学的建模或仿真,例如:概率模型或动态模型,遗传基因管理网络,蛋白质交互作用网络或新陈代谢作用网络
G06F19-14 ..用于发展或进化的,例如:进化的保存区域决定或进化树结构
G06F19-16 ..用于分子结构的,例如:结构排序,结构或功能关系,蛋白质折叠,结构域拓扑,用结构数据的药靶,涉及二维或三维结构的
G06F19-18 ..用于功能性基因组学或蛋白质组学的,例如:基因型–表型关联,不均衡连接,种群遗传学,结合位置鉴定,变异发生,基因型或染色体组的注释,蛋白质相互作用或蛋白质核酸的相互作用