[发明专利]一种基于GPU流的快速并行字符串匹配方法和系统有效
申请号: | 202110222110.2 | 申请日: | 2021-02-28 |
公开(公告)号: | CN112883245B | 公开(公告)日: | 2022-05-10 |
发明(设计)人: | 陈海军;唐卓;曹嵘晖;刘妮;叶晖 | 申请(专利权)人: | 湖南工商大学 |
主分类号: | G06F16/903 | 分类号: | G06F16/903;G06F16/245 |
代理公司: | 武汉臻诚专利代理事务所(普通合伙) 42233 | 代理人: | 宋业斌 |
地址: | 410205 *** | 国省代码: | 湖南;43 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 gpu 快速 并行 字符串 匹配 方法 系统 | ||
1.一种基于GPU流的快速并行字符串匹配方法,是应用在包括一个主节点和多个从节点的分布式计算系统中,其特征在于,所述方法包括以下步骤:
(1)主节点接收用户提交的应用程序,对该应用程序进行解析,以得到DAG图;
(2)主节点对步骤(1)中DAG图中任务所对应的数据进行分割处理,以得到分割后的多个数据块;步骤(2)具体包括以下子步骤:
(2-1)主节点对任务所对应的数据进行扫描,以得到坏字符表;坏字符表是通过如下子步骤构建:
(2-1-1)设置计数器i=1,并获取主节点任务所对应的模式串P,并获取数组skip用于记录坏字符,其中数组skip的大小为256;
(2-1-2)判断i是否等于256,如果是则过程结束,并将得到的数组skip作为最终的坏字符表,否则进入(2-1-3);
(2-1-3)判断数组skip中第i个元素所对应的字符Ci是否位于模式串P中,若是则进入步骤(2-1-4),否则将数组skip中第i个元素设置为Plen,其中Plen表示主节点任务所对应的模式串P的长度;
(2-1-4)将数组skip中第i个元素设置为Plen-1-max(PCi),其中PCi表示数组skip中第i个元素所对应的字符Ci在模式串P中的位置,max(PCi)表示字符Ci在模式串P中最右端的位置,然后进入步骤(2-1-5);
(2-1-5)设置i=i+1,并返回步骤(2-1-2);
(2-2)主节点对任务所对应的数据进行扫描,以得到首字符表F;
(2-3)主节点获取从节点中的GPU总数,并根据该GPU总数确定每个GPU处理的平均数据块大小L;
(2-4)主节点根据步骤(2-3)得到的平均数据块大小L对主节点任务所对应的数据进行分割,以得到分割后的多个数据块;步骤(2-4)具体为,分割过程的第一个分割点,是主节点任务所对应的数据所对应的字符串中,与距离L最近的字符所在的位置,其中L的起始点是字符串的起点,分割过程的第二个分割点,是主节点任务所对应的数据所对应的字符串中,与距离2L最近的字符所在的位置,分割过程的第三个分割点,是主节点任务所对应的数据所对应的字符串中,与距离3L最近的字符所在的位置,…,以此类推,然后以确定的这些分割点对数据进行分割,以得到分割后的多个数据块;
(3)主节点将步骤(2)得到的分割后的数据块发送到从节点;
(4)从节点判断每个数据块中是否存在多个分割点;如果是则转入步骤(5),否则转入步骤(6);
(5)从节点按照分割点对步骤(2)得到的每个数据块进行分割,以得到多个分割后的数据块,并创建k个GPU执行流,并将分割后的数据块平均分配给k个GPU执行流进行处理,以得到k个并行执行的任务执行流,其中k为小于等于64的整数;
(6)从节点对步骤(2)得到的每个数据块按照前55%和后55%两部分进行分割,以得到独立的两个数据块,并将分割后的两个数据块分配给两个GPU执行流处理,以得到2个并行执行的任务执行流;
(7)从节点为步骤(5)和(6)中得到的任务执行流配置s个线程,以得到包含s个并行控制流的控制流组,其中s的取值范围是128到512之间;
(8)从节点利用步骤(7)得到的控制流组中的第m个控制流对首字符表F中第m个元素Fm到第m-1个元素Fm+1之间的字符串PSm进行匹配,以得到移位后的模式串P,其中m∈[1,s];
(9)从节点判断步骤(8)移位后的模式串P和字符串PSm是否匹配成功,如果是则过程结束,否则进入步骤(10);
(10)从节点判断首字符表F中第m+s个元素Fm+s是否处于首字符表F中,如果是,则进入步骤(11),否则过程结束;
(11)从节点将首字符表F中第m个元素Fm设置为等于Fm+s,并返回步骤(8)。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于湖南工商大学,未经湖南工商大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110222110.2/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种石墨烯电池检测系统及其检测方法
- 下一篇:一种废水处理用的通风散热装置