基因比对加速装置、方法及系统

文档序号:1143097 发布日期:2020-09-11 浏览:31次 >En<

阅读说明:本技术 基因比对加速装置、方法及系统 (Gene comparison accelerating device, method and system ) 是由 谭光明 王元戎 张中海 于 2020-05-22 设计创作,主要内容包括:本发明涉及一种基因比对并行加速装置,包括:一内存器件组,该内存器件组包括多个内存器件;该每一内存器件又包括多个区域,每一该区域包括:一存储层,用于存储基因序列以及read流数据;一逻辑层,用于对所述基因序列以及所述read流数据的缓存与处理;一内存控制器,用于控制所述存储层存储的所述基因序列以及所述read流数据的访问;以及一控制单元,用于封装底层协议,实现所述内存器件的内部通信;其中,所述逻辑层还包括一片上预取单元和一处理单元阵列,所述片上预取单元从所述存储层读取所述基因序列以及所述read流数据,供所述处理单元阵列处理。(The invention relates to a gene comparison parallel acceleration device, which comprises: a memory device group, the memory device group comprising a plurality of memory devices; each memory device further includes a plurality of regions, each of the regions including: the storage layer is used for storing the gene sequence and read stream data; a logic layer for caching and processing the gene sequence and the read stream data; a memory controller for controlling the access of the gene sequence stored in the storage layer and the read stream data; the control unit is used for packaging a bottom layer protocol and realizing internal communication of the memory device; the logic layer further comprises an on-chip pre-fetching unit and a processing unit array, wherein the on-chip pre-fetching unit reads the gene sequence and the read stream data from the storage layer for processing by the processing unit array.)

基因比对加速装置、方法及系统

技术领域

本发明涉及高性能计算领域,特别涉及一种基于近内存计算的基因比对并行加速装置。

背景技术

近年来基因测序成本的下降加速了测序数据的产出,为数据处理带来了性能上的挑战。最常见的基因比对算法——BWT的序列比对算法,需要一种高性能、低能耗的处理方式,但通过对算法和现有的计算平台分析发现,传统通用处理器平台对于比对应用来说存在“过度设计”的问题,造成较严重的资源浪费,其建立在通用性和局部性之上的结构特点不仅于比对应用无益,甚至导致其性能损失。另一方面,比对应用以频繁无规则的主存储器访问为主要特点,对主存的带宽性能有一定要求,虽然在现有平台上受限于计算资源而无法表现出来,但若为其提供高效的计算设备(如定制计算系统)时,现有“分立式”主存结构将难以为其提供充足的访存带宽。因此,探索如何深入挖掘应用内在特征,通过数据通路和并行结构定制提升计算效率,从而获得最优的性能和能耗效率,成为当务之急。

现代通用处理器核心一般具有复杂的指令流水线和指令调度与控制系统,为了利用程序局部性,还会加入层次化cache系统,尽管这种核心对传统程序展现了良好的性能,但对基于BWT的序列比对应用效率却很低。首先,序列比对计算操作简单,少数简单操作即可完成,这造成通用核心的过度设计问题,浪费了片上资源;其次,序列比对频繁进行无规则主存访问,无局部性特征,使得cache系统失;更重要的,通用核心的过度设计以及cache一致性等问题限制了核心数目扩展,阻碍了比对应用大规模并行处理潜力的发挥。因此,通用处理器对序列比对的计算效率较低,且会造成资源浪费、能耗损失。

发明内容

为了解决上述技术问题,本发明目的在于提供了一种基于近内存计算结构的基因比对的并行加速装置。通过近内存计算结构的设计,将计算单元移至主存储器内,利用3D堆叠技术提供的更高且可扩展的内存带宽,并降低数据移动延迟和能耗开销。

具体地说,本发明公开了一种基因比对并行加速装置,包括:

一内存器件组,该内存器件组包括多个内存器件;该每一内存器件又包括多个区域,每一该区域包括:一存储层,用于存储基因序列以及read流数据;一逻辑层,用于对所述基因序列以及所述read流数据的缓存与处理;一内存控制器,用于控制所述存储层存储的所述基因序列以及所述read流数据的访问;以及一控制单元,用于封装底层协议,实现所述内存器件的内部通信;其中,所述逻辑层还包括一片上预取单元和一处理单元阵列,所述片上预取单元从所述存储层读取所述基因序列以及所述read流数据,供所述处理单元阵列处理。

上述加速装置,其中,所述内存器件为混合存储立方体(HMC),多个该混合存储立方体(HMC)组成一混合存储立方体组,所述混合存储立方体(HMC)之间通过互联链路进行通信。

上述加速装置,其中,所述控制单元为一DRAM控制器。

上述加速装置,其中,所述混合存储立方体组包括16个混合存储立方体(HMC)。

上述加速装置,其中,每一所述混合存储立方体(HMC)被垂直划分为32个区域,该32个区域被平均分成2个区域组。

上述加速装置,其中,各该所述区域之间通过片上网络连接,并通过该片上网络的接口实现各该区域之间消息的接收和转发。

上述加速装置,其中,所述2个区域组独立并行运行。

上述加速装置,其中,所述区域组用于存储所述基因序列数据,所述区域组存储的所述基因序列数据被划分为16块连续区间,分别存储于该区域组的各所述区域的所述存储层。

上述加速装置,其中,每一所述区域中的所述处理单元阵列包括4个处理单元。

上述加速装置,其中,所述处理单元阵列中的每一所述处理单元又包括一计算子单元、一片上存储子单元以及一调度子单元,其中所述片上存储子单元包括一寄存器堆、一片上高速暂存存储器以及一FIFO存储器。

上述加速装置,其中,所述各区域之间通信时,源区域向目的区域发送一处理请求后,所述目的区域的所述调度子单元为该处理请求分配一发射槽,所述目的区域的所述计算单元和所述片上存储子单元继续处理其他所述源区域发送的处理请求。

上述加速装置,其中,所述片上预取单元还包括一访存单元,该访存单元位于所述处理单元阵列之前,用于为所述处理单元阵列读取数据。

上述加速装置,其中,所述片上预取单元读取数据时,所述调度子单元将所述处理请求进行地址转换得到一内存地址,然后将该内存地址发送给所述片上预取单元,所述片上预取单元根据该内存地址在所述存储层获取数据,并将该数据送至所述处理单元阵列的数据缓存中。

为了实现本发明的另一发明目的,本发明还提供一种基于近内存计算的基因比对并行加速方法,应用上述任一项所述的加速装置,包括:

步骤一、获取基因序列以及read流数据,并将所述基因序列以及所述read流数据存储于所述内存器件的所述存储层;

步骤二、所述片上预取单元从所述存储层预取所述基因序列以及所述read流数据,供所述处理单元阵列进行处理;

其中,所述内存控制器控制所述片上预取单元对所述存储层的数据的预取,所述控制单元控制所述内存器件的内部通信。通过优化处理的并发度和带宽利用率,极大地提高算法的执行效率。

为了实现本发明的另一发明目的,本发明还提供一种用于基因比对的数据处理系统,包括上述的加速装置。其可以充分利用并行加速装置在性能和功耗等方面的优势。

为了实现本发明的另一发明目的,本发明还提供了一种存储介质,用于存储一种用于执行上述加速方法的计算机程序。

为让本发明的上述特征和效果能阐述的更明确易懂,下文特举实施例,并配合说明书附图作详细说明如下。

附图说明

图1(a)为本发明的近内存计算加速装置的总体结构图;

图1(b)为本发明的混合存储立方体(HMC)的结构示意图;

图1(c)为本发明的混合存储立方体(HMC)中区域(Vault)的逻辑层的结构示意图;

图1(d)为本发明的混合存储立方体(HMC)中区域(Vault)的逻辑层的结构方块图;

图2为本发明的混合存储立方体(HMC)内存器件组内各区域互连结构图;

图3(a)为现有技术中处理单元的计算与访存紧耦合的结构图;

图3(b)为本发明的处理单元PE的计算与访存解耦合的结构图。

具体实施方式

请参考图1(a)至图1(d),图1a)至图1(d)所示为本发明的近内存计算加速装置的总体结构图。其中,如图1(a)所示,近内存计算加速装置基于内存器件混合存储立方体(HMC),由16个HMC“立方”构成,提供了128GB的内存容量,这些HMC可以通过互联链路进行通信,但得益于BWT的基因比对应用场景中read间的独立并发性,这些HMC单独存储基因组参考序列以及read流数据。

如图1(b)所示,每个HMC内存器件被垂直的分为32个区域(称为Vault),这些Vault被片上网络连接起来。每个HMC的32个Vault划分为2组,每组16个Vault,每组的Vault上都可以存储一份参考序列数据,而不同的组可以独立并行执行。

如图1(c)所示,每个Vault的组成部分除了存储层,还有Vault逻辑层结构。进一步地,如如图1(d)所示,每个Vault都内置一个专用的内存控制器来控制存储层数据的访问,内置的DRAM控制器将底层协议加以封装,使得HMC的内部网络通信基于非阻塞函数式消息传递机制进行传输。Vault之间的通信则是由网络接口(NI)来实现的,不仅可以收发来自其他Vault的消息,还可以作为“路由”在片上网络中接收转发消息。

每个Vault逻辑层上都放置了处理单元阵列(PE array)。每一个加速装置的处理单元(PE)的处理部件可以分为计算部件和片上存储部件两类,片上存储部件主要包括寄存器堆、片上高速暂存存储器(Scratchpad Memory,SPM)以及缓存read数据的FIFO。

每个Vault逻辑层上放置一个片上预取单元,其主要完成参考序列数据的预取和read流的预取,通过参考序列数据块的预取可以在进行局部频数的计算之前就为处理单元阵列准备好所需的BWT字符串数据,而read流预取可以顺序的预取read流中下一条或者几条read数据,为后续的read处理做准备。

当每个Vault上处理单元的数目设置为4个,使得处理单元阵列的计算速率和预取器的供数速率基本匹配,充分利用内存带宽资源。

下面对这些方面进行具体描述:

1.多HMC协同工作

近内存计算加速装置基于HMC内存器件,由16个HMC“立方”构成,每个HMC“立方”提供了8G的内存,一共提供了128GB的内存容量,这些HMC通过互联链路进行通信,单独存储基因组参考序列以及read流数据。

2.数据分组和Vault分组

每个Vault的组成部分除了存储层,还有Vault逻辑层结构。每个Vault都内置一个专用的内存控制器来控制存储层数据的访问,内置的DRAM控制器将底层协议加以封装,使得HMC的内部网络通信包传输。Vault之间的通信则是由网络接口(NI)来实现的,不仅可以收发来自其他Vault的消息,还可以作为“路由”在片上网络中接收转发消息。处理单元PE只负责计算,而把数据读取功能分离出去,交给片上预取单元(Prefetcher)来做,这样便实现了访存与计算的流水化作业。

3.Vault逻辑层设计

每个HMC被垂直的分为32个区域(称为Vault),Vault被片上网络连接起来。每个HMC的32个Vault划分为2组,每组16个Vault,不同的组之间用2D网格片上网络连接起来,如图2所示。在每个Vault组内,将参考序列划分为16块连续区间,分别存放于16个Vault的存储层上面。

4.非阻塞函数式消息传递机制

在阻塞式消息传递机制中,源Vault在向目的Vault发出数据请求或者处理请求之后,需要等待目的Vault返回数据或者处理结果,而这期间源Vault只能“空转”等待。这种通信方式最为直观,但是其带来的资源闲置和浪费问题严重,致使处理单元的吞吐率下降。本实施例的加速装置采用非阻塞函数式消息传递机制,源Vault在向目的Vault发出处理请求的消息之后,在输入队列中的调度器内为其分配相应的发射槽,而其他部件(如处理单元中的计算部件和片上存储部件)不需等待返回结果,可以对其他Vault发送来的处理请求进行访存和计算等操作,或者对其他返回值进行下一步处理。

5.计算-访存解耦合

如图3(a)和图3(b)所示的处理单元计算-访存结构,其中,图3(a)所示为现有技术中,处理单元的计算单元(PE、CU)与访存单元(AU、MU)紧耦合的结构图。图3(b)所示为处理单元PE的访存单元(AU、MU)被“解耦”出来,作为预取单元的一部分被放置在PE阵列之前,通过数据预取为PE阵列源源不断的提供数据。输入队列的调度器将输入队列中“请求”队列(I/O Queue)的处理请求进行简单的地址转换,然后将内存地址发送给预取单元,预取单元便根据相应内存地址在Vault的存储层进行数据访问,数据取回后送至处理单元阵列的数据缓存内,供处理单元PE进行后续计算。这样,每次迭代过程的访存和计算部分就可以“流水式”进行,处理单元PE在处理前一个任务时,预取单元同时进行下一个任务的数据预取,从而保证处理单元PE无需等待数据访存。

6.PE数目权衡方法

当处理单元PE数目为4个时,不管“计数(counting)”还是“判定(determining)”过程,都显示10%~20%的处理单元PE空闲率,这说明在此种情形下处理单元阵列的计算速率已超过预取单元的供数速率,计算并发度已经充分利用了访存带宽。而当处理单元PE数目超过4之后,便会出现越来越大比例的处理单元PE空闲率,也就是资源浪费越来越明显。基于此,本发明选用Vault的处理单元阵列由4个处理单元PE组成,这样既能充分利用内存带宽资源,又能保证资源的有效利用。

本发明的另一实施例中,本发明的该加速装置可以用于基因比对的专用处理器。

本发明的另一实施例中,本发明揭示了一种基于近内存计算结构的并行加速方法。

本发明的另一实施例中,进一步包括一种存储介质,用于存储执行上述方法的计算机处理程序。

在本发明的具体实施例中,涉及的计算机程序包括适合于当计算机程序在计算机上运行时执行根据本发明的方法的所有步骤的计算机程序代码部件。优选地,在计算机可读介质上体现计算机程序。

本发明的有益效果在于:通过近内存计算结构的设计,将计算单元移至主存储器内,利用3D堆叠技术提供的更高且可扩展的内存带宽,降低数了据移动延迟和能耗开销,大大提高了基因比对的效率。

当然,本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。

10页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种用于基因比对的加速方法、装置、存储介质与服务器

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!