[发明专利]基于众核协处理器的三级流水序列比对方法有效

专利信息
申请号: 201410745667.4 申请日: 2014-12-09
公开(公告)号: CN104375807A 公开(公告)日: 2015-02-25
发明(设计)人: 廖湘科;朱小谦;崔英博;彭绍亮;邹丹;王恒;朱敏;刘欣;王海强;高明 申请(专利权)人: 中国人民解放军国防科学技术大学
主分类号: G06F9/38 分类号: G06F9/38
代理公司: 国防科技大学专利服务中心 43202 代理人: 郭敏
地址: 410073 湖*** 国省代码: 湖南;43
权利要求书: 查看更多 说明书: 查看更多
摘要: 发明公开了一种基于众核协处理器的三级流水序列比对方法,目的是提高序列比对软件的比对速度。技术方案是:采用MIC众核协处理器使用多线程并行进行序列比对,并将MIC上序列比对过程中从主存读取序列到MIC、比对序列和将比对结果写回主存这三个串行步骤采用三级流水方式,即在进行每一轮序列比对的同时,读取下一组比对所需要的序列,同时将上一组比对的结果写回主存,使得读写操作和比对操作并行进行。本发明实现了序列读取,序列比对和比对结果写回的三个主要过程的并行执行,提高了比对效率,降低了比对时间,与两路八核CPU相比,本发明可加速比对过程2.3倍以上,且避免拷贝大量内存空间,提高了程序的时空效率。
搜索关键词: 基于 众核协 处理器 三级 流水 序列 方法
【主权项】:
一种基于众核协处理器的三级流水序列比对方法,其特征在于包括以下步骤:步骤1:CPU根据计算机主存可用空间大小M_CPU,以及DNA短序列所占空间大小M_DNA,将DNA短序列即read平均分为L组,L为正整数,表示对“x”向上取整;步骤2:在MIC即众核协处理器上声明三个指针变量:Seqs_ptr、Read_ptr和Write_ptr,并根据MIC上可用空间大小M_MIC以及参考基因组大小M_REF,在MIC上分别为三个指针分配同样大小的缓存空间,MIC上每块缓存空间大小M_SEQ=(M_MIC‑M_REF)/3,其中Seqs_ptr指向的空间存储当前一组正在比对的序列,Read_ptr指向的空间存储下一组将要比对的序列,Write_ptr指向的空间存储上一组序列比对的结果;步骤3:CPU初始化循环变量i为零;步骤4:CPU将磁盘中L组read中的第i组读入主存中;步骤5:CPU根据MIC上Seqs_ptr指向的空间的大小M_SEQ,将读入主存中的read平均分为M小组,M为正整数,步骤6:CPU将循环变量m置为零;步骤7:CPU将主存中M个小组read中的第m组读到MIC的Seqs_ptr指向的空间内;步骤8:根据MIC上可用计算核心数Core_MIC,以及MIC上每个计算核心支持的最大硬件线程数Thread_MIC,在MIC上同时启动N+2个线程,线程编号为0到N+1,N>0,为整数,N=(Core_MIC‑1)*Thread_MIC,其中MIC卡需要保留一个核心处理主存与MIC卡之间数据调度,N+2个线程并行执行以下步骤:步骤8.1:第0到第N‑1号线程并行比对Seqs_ptr对应空间中的read,并将比较结果写入Seqs_ptr对应空间中;比对方法采用李恒在论文《Fast and accurate short read alignment with Burrows‑Wheeler Transform》中公布的基于BW变换的方法,将Seqs_ptr对应空间中的所有read比对完毕后,转到步骤9;步骤8.2:第N号线程将循环变量m加1,判断m是否等于M,如果m不等于M,执行步骤8.2.1,如果m等于M,结束第N号线程,转到步骤9;步骤8.2.1:第N号线程将主存中M个小组read中的第m组读到MIC的Read_ptr对应空间内,读取完毕后,转到步骤9;步骤8.3:第N+1号线程判断Write_ptr对应空间是否为空,如果Write_ptr对应空间不为空,执行步骤8.3.1,如果Write_ptr对应空间为空,结束第N+1号线程,转到步骤9;步骤8.3.1:第N+1号线程将Write_ptr对应空间中的read比对结果写回主存,写完成后转到步骤9;步骤9:同步第0到第N+1号线程,同步完成后,在MIC上的多线程部分执行完毕,以下步骤为单线程执行;步骤10:MIC进行指针交换,在MIC上声明临时指针tmp_ptr,将Seqs_ptr值赋给tmp_ptr,将Read_ptr值赋给Seqs_ptr,将Write_ptr值赋给Read_ptr,将tmp_ptr值赋给Write_ptr,将tmp_ptr值置为空。步骤11:MIC判断Seqs_ptr对应空间是否为空,如果不为空,转步骤8,如果为空,执行步骤12;步骤12:MIC将Write_ptr对应空间中的read比对结果写回主存;步骤13:CPU将内存中第i大组read比对的结果写回磁盘,并清空相应内存空间;步骤14:CPU将循环变量i加1;步骤15:CPU判断i是否等于L,如果i不等于L,转步骤4,如果i等于L,执行步骤16;步骤16:MIC释放Seqs_ptr、Read_ptr、Write_ptr指向的空间;步骤17:结束比对。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国人民解放军国防科学技术大学,未经中国人民解放军国防科学技术大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/patent/201410745667.4/,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top