掌桥专利:专业的专利平台
掌桥专利
首页

一种用于加速基因测序的可重构处理器芯片架构及应用

文献发布时间:2023-06-19 18:37:28


一种用于加速基因测序的可重构处理器芯片架构及应用

技术领域

本发明涉及基因测序技术领域,特别是涉及一种用于加速基因测序的可重构处理器芯片架构及应用。

背景技术

随着基因测序进入大数据时代,测序工程中包含庞大的数据量,传统的计算机系统已经无法适应大数据的典型需求。目前,适用于大数据处理的平台可分为软件处理平台与硬件处理平台两类。

云计算平台和GPGPU平台是两种最为主流的大数据软件处理平台。

1)云计算平台

一般来说,云计算平台由大量同构的基于CPU的单节点服务器构成,多个节点间互相配合、协同工作。云计算平台编程模型大体上可以分为基于Map-Reduce计算模型和基于图的计算模型两种,两种计算模型的本质都是利用任务级并行和数据集并行的手段来加速应用的执行。

2)GPGPU平台

GPGPU平台是一种较为普及的并行加速平台,每块GPGPU处理器芯片内部往往由多个SM构成,每个SM由多个SP组成,每个SP就是一个计算单元。本质上来说,GPGPU是以SIMD的方式来利用数据级并行来加速任务的执行。目前,针对GPGPU平台提出和实现了诸如CUDA、OpenCL和OpenACC等编程规范,这大大降低了基于GPGPU的应用的开发门槛,也使GPGPU成为了目前较为广泛使用的并行加速平台。

虽然利用云计算平台和GPGPU平台的确可以加速基因测序算法的执行,但是它们还是各自存在相对的局限性。对于云计算平台来说,集群运行的维护就需要不小的开销,并且从效率的角度来说,单个节点的计算效率其实并不是很高。GPGPU平台的每块GPU芯片虽然有很高的计算效率,但是每块GPU芯片也都有很高的功率,因此在运行时往往需要消耗大量的电能来处理任务。以细粒度的视角来看,云计算平台的每个节点往往是普通的CPU架构,而CPU由于其通用性的设计架构使得对于处理特定的基因测序算法任务可能会得不到理想的性能。GPGPU平台的每块GPU芯片则主要适合处理能够进行数据级并行的任务,虽然基因测序算法中的大部分比较适合进行数据级并行,但是还有一部分不能够进行数据级并行。此外,为了增强通用性,GPU芯片集成很多基因测序算法用不到的功能部件,这不仅带来了较大的芯片面积,还带来了不小的额外功耗开销。

硬件平台主要有专用集成电路(ASIC)和现场可编程门阵列(FPGA)。

1)ASIC

相对于云平台和GPGPU,ASIC采用改进硬件架构来对算法进行加速。ASIC作为特定专用的集成电路,对特定的应用和算法具有较高的计算效率。但其专用性也导致其灵活性差,开发成本高;硬件设计的高门槛也使得其设计开发周期长,开发难度大。

2)FPGA

相比于ASIC,其设计周期与实现难度要低很多,包含了大量门级的可重构逻辑单元,具有可编程互连的特性,它可以模拟CPU、GPU等硬件的各种并行计算,从而实现数据的加速处理。但由于FPGA基于查找表(LUT)粒度较细,重构速度慢,且相对专用芯片面积和功耗较大,而检测速度是基因测序的一个重要指标。

CGRA是粗粒度的可重构架构。它通过内部建立模块,减少互连来提高效率。通过配置不同的功能区域,实现数据流的驱动。而等到下一个时刻,可以将这个单元快速配置不同的功能,再次进行数据流的驱动,这是一种数据驱动、动态重构的计算模式,数据高速并行,布线和编译速度快,可以提高系统的性能。

发明内容

本发明所要解决的技术问题是提供一种用于加速基因测序的可重构处理器芯片架构及应用,通过数据的高速并行处理以及流水线操作,在有限的阵列中实现系统高性能、低功耗,并通过高速及高灵活度的可重构功能实现同时进行多种特殊基因序列的对比,大大提高测序速度。

本发明解决其技术问题所采用的技术方案是:提供一种用于加速基因测序的可重构处理器芯片架构,包括配置管理器、可重构检测阵列、后处理与记录模块、第一存储单元、第二存储单元和外设,所述外设包括至少一个预处理模块,用于将待检测样本基因序列的FASTQ文件转换为ASCII码;所述第一存储单元用于存储待检测样本基因序列的ASCII码,所述第二存储单元用于存储参考基因序列的ASCII码,所述配置管理器通过控制总线分别与可重构检测阵列、后处理与记录模块和外设相连,所述外设通过控制总线分别与第一存储单元和第二存储单元相连,所述可重构检测阵列的输入端分别与第一存储单元和第二存储单元相连、输出端和后处理与记录模块相连;

所述配置管理器用于通过控制总线对可重构检测阵列和后处理与记录模块的功能进行配置,所述可重构检测阵列和后处理与记录模块按照配置管理器的配置好的功能运行处理。

所述可重构检测阵列包括m×n个阵列排列的可重构检测单元PE,相邻的两个可重构检测单元PE进行互连形成网格结构;所述可重构检测单元PE根据所述配置管理器配置的任务执行处理。

所述可重构检测单元PE包括SPM、配置记忆模块、第一多路选择器MUX、第二多路选择器MUX、计算结构ALU和计数器Couter,所述配置记忆模块和第一多路选择器MUX分别与计算结构ALU相连,所述SPM通过第二多路选择器MUX和计算结构ALU相连;所述配置记忆模块分别与所述第一多路选择器MUX和第二多路选择器MUX相连;

所述SPM用于存储第二存储单元输入的参考基因序列;

所述配置记忆模块内含配置管理器写入的配置信息,用于控制所述计算结构ALU所执行的功能及输出路径;

所述配置记忆模块控制第一多路选择器MUX从上下左右的可重构检测单元PE向计算结构ALU输入操作数;

所述配置记忆模块控制第二多路选择器MUX从所述SPM向计算结构ALU输入操作数。

所述后处理与记录模块包括第三存储单元与若干索引记录单元,所述第三存储单元用于存储可重构检测阵列的输出结果,所述索引记录单元用于从待检测样本基因序列中查找出与参考基因序列匹配的片段,以及匹配的片段在待检测样本基因序列中的位置索引。

所述索引记录单元包括选择控制逻辑、含多输入的AND模块、第三多路选择器MUX、加法器Adder、索引记录模块Index和参考基因片段长度记录模块;

所述选择控制逻辑用于将执行目标序列对比的可重构检测单元PE的计算结构ALU输出连接到AND模块,并将执行目标序列对比的可重构检测单元PE的计数器Counter输出连接到第三多路选择器MUX上;

所述参考基因片段长度记录模块用于将参考基因序列的长度-1后作为操作数输出给加法器Adder,并进行加法操作;

所述AND模块连接自身索引记录单元所检测的参考基因序列在可重构检测阵列中用到的所有可重构检测单元PE的输出;当所述AND模块的输出为1时,AND模块控制第三多路选择器MUX与加法器Adder启用并执行对应操作;

所述第三多路选择器MUX连接自身索引记录单元所检测的参考基因序列在可重构检测阵列中用到的所有可重构检测单元PE内计数器Couter的输出,由所述AND模块的输出与选择控制逻辑控制选择数据路径最后一个可重构检测单元单元内计数器Couter输出,并将选择后的结果作为操作数输入至加法器Adder以及写入索引记录模块Index中索引开始处;

所述加法器Adder由AND模块的输出控制,将第三多路选择器MUX选择出的数据与参考基因片段长度记录模块输出的对应可重构检测单元PE所需检测参考基因序列的长度-1相加,得到匹配基因序列在待检测样本基因序列中的末位索引,然后写入索引记录模块Index中索引结束处;

所述索引记录模块Index用于记录与参考基因序列相同的基因片段在待检测样本基因序列中的位置索引。

所述第一存储单元、第二存储单元和第三存储单元均为静态随机存取存储器。

本发明解决其技术问题所采用的技术方案是:提供一种上述用于加速基因测序的可重构处理器芯片架构的基因序列比对方法,包括以下步骤:

(1)参考基因序列装载:所述配置管理器控制第二存储单元中用于序列对比的参考基因序列输入到6×6的可重构检测阵列中,按照设定检测路径依次通过可重构检测阵列中的第1行第1个、第2行第1个、第3行第1个、第4行第1个、第5行第1个、第6行第1个、第2行第6个、第3行第6个可重构检测单元PE,并将所述参考基因序列存至对应可重构检测单元PE的SPM内;

(2)可重构检测单元PE装载:所述配置管理器控制可重构检测单元PE的计算结构ALU启用比较器功能,可重构检测单元PE中的第二多路选择器MUX的输入来自该单元的SPM,输出至后处理与记录模块中的索引记录单元;

(3)后处理与记录模块装载:所述配置管理器将设定检测路径的长度记录到参考基因片段长度记录模块,并配置选择控制逻辑的任务,所述选择控制逻辑控制AND模块选择连接所述设定检测路径所经过的所有可重构检测单元PE;

(4)所述配置管理器控制第二存储单元将待检测样本基因序列从第1行第1个可重构检测单元PE输入6×6的可重构检测阵列,开始索引记录;每个待检测基因进入可重构检测单元PE后与自身SPM里存储的参考基因进行一次比较,若相等,计算结构ALU输出为1,否则输出为0;

(5)当待检测样本基因序列的第1个基因进入第3行第6个可重构检测单元PE进行比较操作时,第3行第6个可重构检测单元PE的计数器Counter开始工作并从0计数;

(6)当待检测样本基因序列的第8个基因进入第3行第6个可重构检测单元PE时,若设定检测路径上的所有可重构检测单元PE的计算结构ALU比较输出均为1时,此时第3行第6个可重构检测单元PE的计数器Counter计数为5(请问此处是否为7答:否,应该为5);并且AND模块内8输入AND模块的与门的所有输入为1,则AND模块的输出为1,控制启用第三多路选择器MUX与加法器Adder;第三多路选择器MUX选择读取第3行第6个可重构检测单元PE的Counter值为5,与参考基因片段长度记录模块里序列长度-1为5作为两个操作数输入加法器Adder进行加法操作,输出为12;

(7)将通过第三多路选择器MUX的数值写入索引记录模块Index的索引开始处,将加法器Adder输出写入索引记录模块Index的索引结束处,则完成一次成功序列匹配并得出相应序列在待检测样本基因序列中的索引[512],后处理与记录模块最后将索引[512]通过控制总线传输回配置管理器内部,进行后续操作。

有益效果

由于采用了上述的技术方案,本发明与现有技术相比,具有以下的优点和积极效果:本发明所要解决的技术问题是在加速基因测序的硬件架构中,通过数据的高速并行处理以及流水线操作,在有限的阵列中实现系统高性能、低功耗,并通过高速及高灵活度的可重构功能实现同时进行多种特殊基因序列的对比,大大提高测序速度;本发明的可重构处理器芯片架构可以改善以下方面:(1)通用处理器中通常会配置浮点运算器、定点运算器和分支预测逻辑等若干的功能部件,而基因比对算法具有计算密度低、并行度高的特征,这些部件不仅占用了处理器硅片的面积,而且消耗了大量的电能,但本发明中,面向基因比对算法的加速,采用加速单元定制,去除了处理器中的浮点运算单元并增加了定点运算单元,从而能够满足基因比对算法计算密度低的特征;(2)与ASIC相比,本发明灵活性高,可以根据需检测的基因序列重构检测路径检测单元等,降低开发周期与开发成本;(3)与FPGA相比,本发明粒度粗,重构速度快,加快检测速度并降低功耗。

附图说明

图1是本发明实施方式的基因测序基本流程图;

图2是本发明实施方式的用于加速基因测序的可重构处理器芯片架构图;

图3是本发明实施方式的可重构检测单元PE内部结构示意图;

图4是本发明实施方式的后处理与记录模块内部结构示意图;

图5是本发明实施方式的索引记录单元内部结构示意图;

图6是本发明实施方式的基因序列比对方法相关示意图。

具体实施方式

下面结合具体实施例,进一步阐述本发明。应理解,这些实施例仅用于说明本发明而不用于限制本发明的范围。此外应理解,在阅读了本发明讲授的内容之后,本领域技术人员可以对本发明作各种改动或修改,这些等价形式同样落于本申请所附权利要求书所限定的范围。

本发明的实施方式涉及一种用于加速基因测序的可重构处理器芯片架构,请参阅图1,该图展示了基因测序的基本流程,从待检测样本中提取出原始FASTQ文件后分别通过预处理、序列比对、标记去重、变异检测后最终得出分析报告的过程。本发明的架构主要适用于其中的序列比对步骤。

请参阅图2,该图展示了用于加速基因测序的可重构处理器芯片架构的总体布局,其主要由外设、配置管理器、可重构检测阵列、后处理与记录模块、第一存储单元(SampleSRAM)、第二存储单元(LibrarySRAM)以及控制总线构成,以下进行详细介绍。

外设中包括但不限于一个预处理模块。待检测的样品通过提取后生成的FASTQ原始文件经过预处理模块后以字符串形式提取出待比对碱基序列,然后转化为其对应的ASCII码,通过控制总线进入SampleSRAM。序列比对所参照的参考基因序列从外设中通过控制总线进入LibrarySRAM。

配置管理器通过控制总线与外设进行双向互连,读写外设的数据并控制数据流入相应的SRAM(SampleSRAM或LibrarySRAM);同时,配置管理器还负责配置可重构检测阵列中每个可重构检测单元PE执行的功能以及不同序列比对时数据流路径,以及控制后处理与记录模块的具体功能。

可重构检测阵列由m×n个可重构检测单元PE构成,每个可重构检测单元PE可由配置管理器通过配置实现不同功能,可重构检测单元PE之间四向互连构成网状拓扑结构,支持高并行度的数据流水,可通过重新配置数据路径检测不同的参考基因序列。

SampleSRAM存储待检测样本基因序列转化后的ASCII码,由配置管理器控制将数据从可重构检测阵列最左端一列的不同位置输入阵列。

LibrarySRAM存储检测需用到的参考基因序列片段的ASCII码,由配置管理器控制将数据从可重构检测阵列最上方一行不同位置输入阵列,并分别暂存入对应数据流路径上可重构检测单元PE中的SPM中。

后处理与记录模块负责根据配置管理器配置的功能收集检测结果并处理数据以待执行下一步操作。

请参阅图3,该图展示了m×n可重构检测阵列中每个可重构检测单元PE的内部结构(省略内部部分数据布线及控制布线)。每个可重构检测单元PE包括SPM、内含配置信息的配置记忆模块(即ConfigMemory模块)、两个多路选择器MUX(第一多路选择器MUX、第二多路选择器MUX)、计算结构ALU以及计数器Couter,以下进行详细介绍。

SPM负责储存由LibrarySRAM传入进来的参考基因序列。

ConfigMemory模块内含由配置管理器写入的配置信息,具体控制计算结构ALU所执行的功能及输出路径、两个多路选择器MUX的选择情况。

第一多路选择器MUX或第二多路选择器MUX通过ConfigMemory模块控制可以选择从上下左右或者SPM五条路径其一向计算结构ALU输入操作数。

计算结构ALU由ConfigMemory模块决定其执行的操作以及结果输出至后处理与记录模块中的SRAM或对应的索引记录单元还是相邻可重构检测单元PE。当执行索引记录操作时计算结构ALU功能为比较器,当两个操作数相等时输出1,否则输出0。

计数器Conter用于计数,从所有配置信息及参考基因序列装载完成,开始序列对比后其所在可重构检测单元PE接收到第一个数据开始计数(没有接收到待处理数据前不工作,接收到第一个数据后从0开始计数)。

请参阅图4,该图展示了后处理与记录模块内部的结构组成,其包括第三存储单元SRAM和M个索引记录单元,以下进行详细介绍。

第三存储单元SRAM用于储存可重构检测阵列输出的结果。

M个索引记录单元支持同时并行检测M种参考基因序列,在执行序列对比中索引记录操作时启用,负责在待检测样本基因序列中查找与参考基因序列匹配的片段,以及匹配的片段在待检测样本基因序列中的位置索引。一个索引记录单元负责对比一种参考基因序列,配置管理器通过配置多条不同参考基因序列的序列对比并行处理来决定启用多少个索引记录单元。

请参阅图5,该图展示了索引记录单元内部结构。索引记录单元包括选择控制逻辑、含多输入的AND模块、第三多路选择器MUX、加法器Adder、索引记录模块Index以及参考基因片段长度记录模块,以下进行详细介绍。

选择控制逻辑用于选择将执行目标序列对比的可重构检测单元PE的计算结构ALU输出连接到AND模块,以及将执行目标序列对比的可重构检测单元PE的计数器Counter输出连接到第三多路选择器MUX上,并且控制第三多路选择器MUX选择序列对比时数据流通过的最后一个可重构检测单元PE的计数器Counter输出。

参考基因片段长度记录模块将测序基因库中的参考基因序列长度-1作为操作数输出给加法器Adder进行加法操作。

AND模块连接该索引记录单元所检测的参考基因序列在可重构检测阵列中用到的所有可重构检测单元PE的输出。当所有参考基因序列的输出均为1时,通过AND模块可控制第三MUX选择器与Adder加法器启用并执行对应操作。

第三多路选择器MUX连接该索引记录单元所检测的参考基因序列在可重构检测阵列中用到的所有可重构检测单元PE内计数器Couter的输出,由AND模块的输出与选择控制逻辑控制选择数据路径最后一个可重构检测单元PE的计数器Couter输出,并将选择后的结果作为操作数输入至加法器Adder以及写入索引记录模块Index中索引开始处(即begin处)。

加法器Adder由AND模块的输出控制,将第三多路选择器MUX选择出的数据与参考基因片段长度记录模块输出的该单元PE所需检测参考基因序列的长度-1相加,得到匹配基因序列在待检测样本基因序列中的末位索引,然后写入索引记录模块Index中索引结束处(即end处)。

索引记录模块Index用于记录与参考基因序列相同的基因片段在待检测样本基因序列中的位置索引。

本发明的实施方式还涉及一种用于加速基因测序的可重构处理器芯片架构的基因序列比对方法,实现图1中的“序列比对”环节,为了便于理解,本实施方式将可重构检测阵列大小设置为6×6,需要对比的参考基因序列为AATCCTAC,待检测样本序列为ATACTCATCCTAATTATACT……(为简化便于理解实施方式中均用大写字母表示需要对比的基因序列,实际上需要转化为每个字母对应的ASCII码进行比较),具体实施过程如下:

配置装载:

参考基因序列装载:首先配置管理器控制从LibrarySRAM的基因序列库中找到序列对比的参考基因序列AATCCTAC,并将其输入到6×6可重构检测阵列中。配置管理器配置测序路径,详见图6:依次通过PE1-1(存A),PE1-2(存A),PE1-3(存T),PE1-4(存C),PE1-5(存C),PE1-6(存T),PE2-6(存A),PE3-6(存C),并将参考基因序列存放入设定路径的对应可重构检测单元PE的SPM内。

可重构检测单元PE装载:配置管理器控制可重构检测单元PE的ALU启用比较器功能,可重构检测单元PE内其中一个MUX的输入来自该单元的SPM,输出至后处理与记录模块的索引记录单元。

后处理与记录模块装载:配置管理器将设定检测路径的长度(即需要通过的可重构检测单元PE数量)记录到参考基因片段长度记录模块,并配置选择控制逻辑的任务,选择控制逻辑控制AND模块选择连接设定路径所经过的所有可重构检测单元PE。

索引记录:

配置管理器控制SampleSRAM将待检测样本的基因序列从PE1-1输入6×6可重构检测阵列,开始索引记录。每个代表基因的字母进入PE后与该PE中SPM里的参考字母进行一次比较,相等时ALU输出为1,其他情况为0。当待检测样本序列的第一个基因(字母)进入PE3-6进行比较操作时,PE3-6的Counter开始工作并从0计数。当待检测样本序列的第8个基因(字母)进入PE3-6时,若设定检测路径上的所有可重构检测单元PE的ALU比较器输出为1时,此时最后一个PE3-6的计数器Counter计数为5。此时AND模块内8输入与门的所有输入为1,则AND模块输出为1,控制启用第三多路选择器MUX与加法器Adder。第三多路选择器MUX选择读取PE3-6的Counter值(5),与参考基因片段长度记录模块里序列长度-1(5)作为两个操作数输入加法器Adder进行加法操作,输出为12。将通过第三多路选择器MUX的数值写入索引记录模块Index的begin处,将加法器Adder输出写入索引记录模块Index的end处,则完成一次成功序列匹配并得出相应序列在待检测样本基因序列中的索引为[512],后处理与记录模块最后将索引[512]通过控制总线传输回配置管理器内部,帮助其进行截取片段等后续操作。

由于篇幅限制,本实施方式展示的可重构检测阵列规模较小且只展示了单条基因序列的测序(索引记录)过程,本发明的可重构检测阵列可以通过配置不同的测序路径同时并行检测多条参考基因序列,方法同上所述。

前述对本发明的具体示例性实施方案的描述是为了说明和例证的目的。这些描述并非想将本发明限定为所公开的精确形式,并且很显然,根据上述教导,可以进行很多改变和变化。对示例性实施例进行选择和描述的目的在于解释本发明的特定原理及其实际应用,从而使得本领域的技术人员能够实现并利用本发明的各种不同的示例性实施方案以及各种不同的选择和改变。本发明的范围意在由权利要求书及其等同形式所限定。

技术分类

06120115637812