含哈希分区加速器和内存的组合装置制造方法及图纸

技术编号:18237084 阅读:32 留言:0更新日期:2018-06-17 00:20
一种含哈希分区加速器和内存的组合装置,包括:内存,含数据存储区和逻辑区;哈希分区加速器,集成于内存的逻辑区上,用于加速处理哈希连接分区阶段,哈希分区加速器包括:哈希单元,用于从内存中读取分块的关系表中多个元组,然后并行的处理多个元组的键,产生多个哈希索引;直方图单元,用于根据多个哈希索引,并行的更新存储在直方图单元中直方图数据的多个副本,并更新后的各副本整合为数据一致性的直方图数据表单;混排单元,用于依据多个哈希索引,确定各元组存储于目标地址数组中的位置,将关系表中的元组复制到目标数组,实现对关系表的划分。 1

A combination device containing hash zoning accelerator and memory

A combination device containing the Hashi partition accelerator and memory, including memory, data storage and logical zones; the Hashi partition accelerator, integrated in the logical area of memory, used to accelerate the processing of the Hashi connection partition phase, and the Hashi partition accelerator includes the Hashi unit to read the partitioned relational tables from memory. A plurality of tuples, then parallel processing multiple tuples, and producing multiple hash indexes; a histogram unit, which is used to store multiple copies of histogram data in a histogram unit based on multiple hash indexes, and the updated copy is integrated into a data - induced histogram data form; a mixed list. The element is used to determine the location of each tuple in the target array based on multiple hash indexes, copy the tuples in the relational table to the target array, and realize the partition of the relational tables. One

【技术实现步骤摘要】
含哈希分区加速器和内存的组合装置
本公开涉及计算机系统领域,进一步涉及一种含哈希分区加速器和内存的组合装置。
技术介绍
在设计现代计算机系统时首先要考虑的因素是能耗。为了提高能效,如现场可编程门阵列(FPGA),图形处理器(GPU)和定制加速器一类的硬件加速器已被广泛应用于工业领域。随着靠近数据的处理技术的出现,将硬件加速器集成到动态随机存取存储器(DRAM)堆栈中以降低数据移动的成本成为一种新的系统设计思路。其基本思想是利用3D堆叠技术,将一些包含加速器的逻辑die和多个DRAMdie垂直集成到一个芯片中。然而,由于3D堆叠DRAM的面积、功耗、散热和制造等方面的限制,能够集成到DRAM中的加速器的数量和类型是有限的。因此,给定一个加速的目标应用程序,确定其中哪些部分最适合在DRAM中加速是至关重要的。
技术实现思路
有鉴于此,本公开的目的在于提供一种含哈希分区加速器和内存的组合装置,以解决以上所述的至少部分技术问题。本公开提供一种含哈希分区加速器和内存的组合装置,包括:内存,包括数据存储区和逻辑区;哈希分区加速器,集成于所述内存的逻辑区上,用于加速处理哈希连接分区(partition)阶段,该哈希分区加速器包括:哈希单元(hashunit),用于从内存中读取分块的关系表中多个元组,然后并行的处理所述多个元组的键,产生多个哈希索引;直方图单元(histogramunit),用于根据所述多个哈希索引,并行的更新存储在该直方图单元中直方图数据的多个副本,并更新后的各副本整合为数据一致性的直方图数据表单;混排单元(Shuffleunit),用于依据所述多个哈希索引,确定各元组存储于目标地址数组中的位置,将关系表中的元组复制到目标数组,实现对关系表的划分。在进一步的实施方案中,所述内存为一个或多个3D堆叠DRAM,各3D堆叠DRAM包括多层DRAM层和位于DRAM层下方的逻辑层,所述哈希分区加速器集成至所述逻辑层上。在进一步的实施方案中,还包括开关电路,所述哈希单元、直方图单元和混排单元各自连接至所述开关电路。在进一步的实施方案中,所述多层DRAM层包括水平方向并排的多个vault,对应于各vault,在逻辑层分别具有与各vault一一对应的vault控制电路。在进一步的实施方案中,所述逻辑层包括vault控制电路,所述哈希单元、直方图单元和混排单元均电性连接所述vault控制电路,通过该控制电路访问DRAM层。在进一步的实施方案中,各3D堆叠DRAM中所述vault的数量为4-16,DRAM层为4-8层,所述哈希分区加速器中哈希单元、直方图单元和混排单元的并行度为16。在进一步的实施方案中,所述哈希单元包括多个并行处理单元及与所述并行处理单元相同数量的多路选择器:所述并行处理单元用于处理各元组的键,产生各元组对应的哈希索引,所述多路选择器连接于各并行处理单元后端,用于选择哈希索引的输出为直方图单元或者混排单元。在进一步的实施方案中,所述直方图单元包括多个并行的增量单元和规约单元:所述增量单元分别用于根据所述多个哈希索,并行的更新各直方图数据的副本。所述规约单元用于将各自第一本地存储器的更新后表单整合为数据一致性的表单。在进一步的实施方案中,所述混排单元包括:多个并行的地址读取子单元:根据各所述哈希索引从目标地址数组中读取目标地址;冲突处理(DECONF)子单元,依据多个目标地址,对有冲突的目标地址,产生基于原始目标地址的偏移,同时也产生相同目标地址的计数值;分散(SCATTER)子单元,用于根据所述偏移和原始目标地址将元组移动到正确的位置,如无冲突则将元组移动至无偏移的目标地址;更新(UPDATE)子单元,根据所述计数值更新目标地址。在进一步的实施方案中,所述哈希分区加速器在逻辑区所占面积为1-2mm2。本公开的组合装置,通过将哈希分区加速器集成到内存中,可以从各个方面减少在分区阶段的能耗,从而减少总体能耗。在哈希分区加速器与内出的配合涉及中,哈希分区加速器在并行度和频率上存在多种选择,同时内存3D堆叠DRAM也可以选择不同的配置;能够在并行度和功耗之间达到平衡,既节省功耗也提高效率。附图说明图1是本公开实施例的哈希分区加速器在3D堆叠DRAM所处位置示意图。图2是本公开实施例的哈希分区加速器架构示意图。图3是本公开实施例的DECONF单元中XNOR网络示意图。图4是本公开实施例的3D堆叠DRAM配置方式示意图。图5是本公开实施例的不同设计下的混排操作的能量-延迟积示意图。图6是本公开实施例的混合加速系统示意图。图7是本公开实施例IntelHaswell和XeonPhi处理器在本公开实施例哈希分区加速器上操作的对比示意图。具体实施方式为使本公开的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本公开作进一步的详细说明。在此说明所附附图简化过且作为例示用。附图中所示的组件数量、形状及尺寸可依据实际情况而进行修改,且组件的配置可能更为复杂。本公开中也可进行其他方面的实践或应用,且不偏离本专利技术所定义的精神及范畴的条件下,可进行各种变化以及调整。根据本公开的基本构思,提出一种针对哈希分区加速器以及哈希连接(hashioins,也叫散列连接)的混合加速系统,在CPU和DRAM之间进行合适的加速任务划分。该系统包含内存端定制的加速器(也即哈希分区加速器)和主机处理器(例如包含SIMD加速器),这个系统能提高哈希连接的整体能效。上述哈希分区加速器和混合加速系统的构思基于本专利技术人的如下研究:对于哈希连接算法(例如optimizedversionofradixjoinalgorithm(PRO))进行了详细的性能分析和能耗分析,该算法针对现代多核系统进行了特殊的优化,上述算法主要包含分区(partition)、构造(build)和探测(probe)三个主要执行阶段,分区阶段可以进一步分为四个阶段:直方图化(Localhistogram),前缀计算(prefixsum),输出地址(outputaddressing),以及数据混排(datashuffling)。本公开专利技术人分析发现,哈希连接本质上是内存受限的,通过进行能耗分析,在分区阶段,总能量的50%以上被用于数据移动和流水线阻塞,这可以通过内存端加速得到显著缓解。在构造和探测阶段,只有大约15%的能量被用于数据移动和流水线阻塞,这仍然可以通过现有的CPU端加速器(如SIMD单元)加速。并且分区阶段中,直方图化和数据混排阶段占总执行时间的99%以上。原因在于这两个阶段有高代价的非规则内存访问。因此,本公开中主要考虑对这个两个阶段采用靠近数据的处理技术。图1是本公开实施例的哈希分区加速器在内存(例如3D堆叠DRAM)所处位置示意图。结合图2所示,根据本公开实施例的一方面,提供一种哈希分区加速器,配置为集成于内存上,用于加速处理哈希连接分区(partition)阶段,该哈希分区加速器包括:哈希单元(a)(hashunit),用于从内存中读取分块的关系表中多个元组,然后并行的处理所述多个元组的键,产生多个哈希索引;直方图单元(b)(histogramunit),用于根据所述多个哈希索引,并行的更新存储在该直方图单元中直方图数据的多个副本,并更新后的各本文档来自技高网...
含哈希分区加速器和内存的组合装置

【技术保护点】
1.一种含哈希分区加速器和内存的组合装置,其特征在于,包括:

【技术特征摘要】
1.一种含哈希分区加速器和内存的组合装置,其特征在于,包括:内存,包括数据存储区和逻辑区;哈希分区加速器,集成于所述内存的逻辑区上,用于加速处理哈希连接分区(partition)阶段,该哈希分区加速器包括:哈希单元(hashunit),用于从内存中读取分块的关系表中多个元组,然后并行的处理所述多个元组的键,产生多个哈希索引;直方图单元(histogramunit),用于根据所述多个哈希索引,并行的更新存储在该直方图单元中直方图数据的多个副本,并更新后的各副本整合为数据一致性的直方图数据表单;混排单元(Shuffleunit),用于依据所述多个哈希索引,确定各元组存储于目标地址数组中的位置,将关系表中的元组复制到目标数组,实现对关系表的划分。2.根据权利要求1所述的组合装置,其特征在于,所述内存为一个或多个3D堆叠DRAM,各3D堆叠DRAM包括多层DRAM.层和位于DRAM层下方的逻辑层,所述哈希分区加速器集成至所述逻辑层上。3.根据权利要求1所述的组合装置,其特征在于,还包括开关电路,所述哈希单元、直方图单元和混排单元各自连接至所述开关电路。4.根据权利要求2所述的组合装置,其特征在于,所述多层DRAM层包括水平方向并排的多个vault,对应于各vault,在逻辑层分别具有与各vault一一对应的vault控制电路。5.根据权利要求4所述的组合装置,其特征在于,所述逻辑层包括vault控制电路,所述哈希单元、直方图单元和混排单元均电性连接所述vault控...

【专利技术属性】
技术研发人员:吴林阳郭雪婷陈云霁
申请(专利权)人:中国科学院计算技术研究所
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1