CN110618963A - 一种计算与存储融合的异构计算硬件加速系统及方法 - Google Patents

一种计算与存储融合的异构计算硬件加速系统及方法 Download PDF

Info

Publication number
CN110618963A
CN110618963A CN201810627987.8A CN201810627987A CN110618963A CN 110618963 A CN110618963 A CN 110618963A CN 201810627987 A CN201810627987 A CN 201810627987A CN 110618963 A CN110618963 A CN 110618963A
Authority
CN
China
Prior art keywords
computing
storage
calculation
subsystem
hardware acceleration
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201810627987.8A
Other languages
English (en)
Inventor
邱赐云
李礼
叶韬
周正
吴春
王雨雷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai V-Kool Information Technology Ltd By Share Ltd
Original Assignee
Shanghai V-Kool Information Technology Ltd By Share Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shanghai V-Kool Information Technology Ltd By Share Ltd filed Critical Shanghai V-Kool Information Technology Ltd By Share Ltd
Priority to CN201810627987.8A priority Critical patent/CN110618963A/zh
Publication of CN110618963A publication Critical patent/CN110618963A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7867Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

本发明公开了一种计算与存储融合的异构计算硬件加速系统,包括冯·诺依曼体系结构的计算子系统,FPGA芯片,活跃存储子系统,外部存储系统;FPGA芯片与存储子系统通过高速互联接口通信;冯·诺依曼计算子系统与FPGA芯片,通过高速互联设施通信;FPGA芯片与外部存储系统,通过以太网协议进行通信。本发明通过将计算任务分类,数据在进入活跃存储子系统前采用异构硬件加速单元完成特定的计算,在后续对活跃存储子系统的数据进行处理时,CPU与FPGA协同工作,执行各自擅长的任务,减少数据在计算过程中的行进距离,达到提高计算效率和降低功耗的积极效果。本发明还公开了一种异构计算硬件加速方法,具有上述有益效果。

Description

一种计算与存储融合的异构计算硬件加速系统及方法
技术领域
本发明属于异构计算领域,涉及到采用FPGA作为硬件加速器完成特定计算的领域,具体涉及到一种计算与存储融合的异构计算硬件加速系统及方法。
背景技术
冯·诺依曼体系结构的计算机,计算与存储分离,计算要在存储层级体系搬移数据才能完成。在过去的20多年,由于内存性能以及存储器单位pin脚传输带宽性能落后于处理器性能的发展速度,引起内存墙和带宽墙问题,制约高性能计算的发展。数据搬移导致的功耗,占到全部计算过程功耗的50%以上,严重影响高性能计算的发展和数据中心的建设。为了解决内存墙、带宽墙和功耗高问题,计算机体系结构在发生变革,其中一个重要方向是计算向存储靠近、计算存储融合,代表性的产品比如IBM的Netezza计算平台。Netezza计算平台由IBMBlue Gene/Q计算子系统、BGAS节点和外部存储系统构成。其中的BGAS节点,包含32个处理器,每个处理器通过PCIe接口连接2TB的SLC NAND非易失闪存。Blue Gene/Q负责高性能计算,实时处理数据从BGAS节点读取,BGAS节点具有一定的计算能力,能完成数据的排序、组合等处理,长期存放的数据存放在外部存储系统。
CPU属于冯·诺依曼计算体系结构,可以执行任意指令,处理复杂的算法,具有很高的计算效力。但是,CPU执行指令需要指令存储器、译码器、各种指令的运算器、分支跳转处理逻辑,共享内存,需要内存仲裁与缓存管理。CPU的这些特性导致其在处理重复性的计算时效率不高,同时由于并行性的限制和操作系统的调度,做通信效率不高,延迟不稳定。
在大数据时代,需要处理的数据量往往以PB计,计算过程涉及海量数据的搬移。算法更新速度很快,新的应用不断出现。内存墙、带宽墙问题与功耗高问题日益突出。
本发明意在解决现行计算体系结构面对特定计算的计算效率不足问题,解决计算与存储分离带来的数据搬移延时与功耗问题。
发明内容
相比冯·诺依曼计算体系结构的CPU,FPGA计算无指令、无需共享内存,能效高于CPU,并且FPGA同时拥有流水线并行和数据并行,延迟小。本发明提出采用FPGA替代BGAS节点的处理器,将IBM Blue Gene/Q计算子系统扩展至一般概念的冯·诺依曼计算子系统,组成冯·诺依曼计算子系统+(FPGA+活跃存储子系统)+外部存储系统的异构计算平台,同时设计一套协同计算方法,实现CPU与FPGA的协同计算,达到提升计算效率和降低功耗的目的。本发明采用的具体技术方案是:
一种计算与存储融合的异构计算硬件加速系统,其特征在于,包括:
冯·诺依曼体系结构的计算子系统,现场可编程门阵列FPGA芯片,活跃存储子系统,外部存储系统;
所述FPGA芯片与所述存储子系统通过高速互联接口通信,构成异构硬件加速单元;
所述冯·诺依曼计算子系统与所述FPGA芯片,通过高速互联设施进行通信;所述的FPGA芯片与所述的外部存储系统,通过以太网协议进行通信;
所述的FPGA芯片,通过A/D转换接口或JESD204B协议接口与外部数据采集系统通信,完成数据的采集或回放;
所述的计算与存储融合,是指采集的数据在存入活跃存储子系统之前,完成了特定的计算;或者从活跃存储子系统读取后,由FPGA完成特定的计算;其中,特定的计算包括重复性计算、具有流水线并行特征的计算,具有I/O通信带宽敏感型的计算,计算密集但逻辑简单的计算;
所述的活跃存储子系统,是指存储当前或即将发生的计算任务中需要用的数据的系统;所述的外部存储系统,用于存储长期归档的数据。
优选的,所述的通过高速互联设施进行通信,高速互联设施或为PCIe,或为串行RapidIO。
优选的,所述的活跃存储子系统为非易失性存储介质。
优选的,所述非易失性存储介质或为NAND flash,或为相变存储PCM,或为阻变存储器ReRAM。
优选的,所述冯·诺依曼计算子系统与所述FPGA芯片互联,或为单路结构,或为多路并行的结构。
一种计算与存储融合的异构计算硬件加速方法,其特征在于,包括:
冯·诺依曼计算子系统与FPGA异构硬件加速单元分别执行不同的计算任务;
将计算任务分为两类,第一类计算任务即上述的特定的计算,包括重复性计算、具有流水线并行特征的计算,具有I/O通信带宽敏感型的计算,计算密集但逻辑简单的计算;除第一类计算任务之外的计算任务划归为第二类计算任务;
将第一类计算任务交由FPGA异构硬件加速单元处理,实现硬件加速;第二类计算任务交由冯·诺依曼计算子系统处理;
处理的数据存储在存储子系统中,外部存储系统存储长期归档数据或者网络上的数据。
所述重复性计算、具有流水线并行特征的计算,主要指对称加密,压缩,快速傅立叶变换,有限冲激响应滤波器等的计算;
所述I/O带宽敏感型的计算,主要指机器视觉,机器学习,深度学习算法等的计算;
所述计算密集但逻辑简单的计算,指计算过程涉及大量的数据搬移、但是逻辑简单的计算,比如数据结构中的外排序算法,线性代数中的取交集、合并、补集的操作,数字中频涉及的梳妆滤波器、半带滤波器以及数字压控振荡器、混频计算。
所述第二类计算任务,或为具有低重复性特征的计算,或为不具备流水线特征的计算。
本发明的关键技术是异构计算和计算存储融合技术,保护的重点是一套方法和装置。本发明的技术方案与现有技术相比,使用FPGA替代了原技术计算节点的处理器,同时对计算任务分类,将局部功能的计算、重复性的计算、流水线并行实现的计算、通信带宽敏感型计算、计算密集但逻辑简单的计算交由FPGA处理,低重复性的计算、不能流水线并行处理的计算交由CPU处理,CPU和FPGA执行各自擅长的计算任务。本发明创造性体现在将异构计算与计算存储融合技术有机结合,数据在进入活跃存储子系统之前采用异构硬件加速单元完成特定的计算,以及在后续的对活跃存储子系统的数据进行处理时,提供了一套方法和装置。要解决的技术问题是指令系统计算机在面对特定问题计算效力不足的问题以及冯·诺依曼体系结构计算机计算与存储分离带来的功耗过高问题。
本发明提出的计算与存储融合的异构计算方法与装置,计算任务分类,CPU与FPGA协同工作、执行各自擅长的任务,同时计算靠近存储(计算与存储融合)减少数据在计算过程中的行进距离,达到提高计算效率和降低功耗的积极效果。
附图说明
图1为本发明所提供的一种计算与存储融合的异构计算硬件加速系统的结构示意图;
图2为局部性/重复性/流水性并行计算的异构加速系统示意图;
图3为某搜索引擎系统架构示意图;
图4为计算密集型/带宽敏感型计算的异构加速系统示意图;
图5为带宽敏感型计算的异构加速系统示意图;
图6为互联设施计算异构加速系统示意图;
图7为本发明所提供的一种计算与存储融合的异构计算硬件加速方法的流程图。
具体实施方式
下面结合具体实施例对本发明作进一步描述:
实施例1:以对称加密算法AES的软硬件实现为例,说明这种带有局部性、重复性特征的计算采用FPGA硬件实现和采用软件实现的性能差异。
请参阅图2,AES加密有多轮的重复和变换,大致步骤如下:1、密钥扩展(KeyExpansion),2、初始轮(Initial Round),3、重复轮(Rounds),每一轮又包括:SubBytes、ShiftRows、MixColumns、AddRoundKey,4、最终轮(Final Round),最终轮没有MixColumns。根据使用的密钥长度,AES加密有3种方案,分别是AES-128、AES-192和AES-256。三种方案涉及到的计算类型相同,只是重复轮的轮数有所不同。AES硬件加速引擎介于CPU与活跃存储子系统之间。
AES加密过程由重复性的操作完成,硬件实现采用流水线设计,每个时钟周期即可完成128bit明文的处理。从OpenCores公开的资料看,硬件实现工作频率最高能支持到324.6MHz。以300MHz计算,吞吐量达到4.8GB/s,若采用软件实现,每个CPU核只能处理100MB/s,硬件实现性能是软件实现的48倍。NXP半导体公布的AES硬件与软件实现效率数据(基于FRDM-K82F评估板),硬件和软件实现的吞吐量分别是12.207MB/s和0.247MB/s,二者性能差异接近50倍。
表1不同机构的AES性能评估
硬件 软件 差异
OpenCores 4.8GB/s 100MB/s 48倍
NXP 12.207MB/s 0.247MB/s 49.4倍
采用FPGA硬件加速,代码在重编程烧写后固定,无需指令、共享内存、调度等操作,而且FPGA与存储子系统通过高速的PCIe通信,无需经过计算机存储层级体系,减少数据行进的距离。得益于这些优势,在处理重复性计算、可深度流水线操作的计算方面,FPGA性能远优于CPU。
实施例2:以搜索引擎的实现为例,说明大型计算系统采用软硬件协同的异构计算实现方法。
请参阅图3,一种典型的搜索引擎系统架构如图3所示,包括前端网页服务器、索引服务器和文件服务器。前端网页服务器负责接收终端用户的搜索请求以及返回查询结果页面。索引服务器接收来自前端网页服务器的查询任务,完成解析、获取元数据、获取倒序表、执行列表操作、相似性计算和匹配程度排名等操作。索引服务器步骤X1涉及断词、词干提取和词形还原操作,步骤X5涉及文件系统的排名算法,这些操作或算法包含大量复杂的计算;步骤X2、X3涉及读取元数据、倒序表等I/O敏感型操作;步骤X4涉及取交集、合并、补集这类线性代数操作,这些操作计算密集但是逻辑简单。
请参阅图4,针对搜索引擎索引服务器的计算特点,一种异构计算架构如图4,区别于从外存取数据至CPU完成计算的传统架构,本实施例采用CPU与FPGA协同计算,CPU负责复杂的、对计算能力要求高的计算(X1和X5),FPGA负责涉及大量I/O操作或者计算密集但复杂度不高的计算(X2、X3和X5)。
实施例3:数据结构中的外排序算法。
请参阅图5,排序是计算机内经常进行的一种操作,其目的是将一组“无序”的记录序列调整为“有序”的记录序列。分内部排序和外部排序,若整个排序过程不需要访问外存便能完成,则称此类排序问题为内部排序。反之,若参加排序的记录数量很大,整个序列的排序过程不可能在内存中完成,则称此类排序问题为外部排序。
外部采集到的数据在存入活跃存储子系统之前,先在FPGA内部实现外排序操作,再进行存储;或者数据随机存入存储器,在遇到对数据排序的计算任务时,取出的数据在FPGA内部实现排序,再将排序结果送往上位机。
外排序算法是I/O带宽敏感型的操作,适合交由本文提出的异构计算架构的FPGA处理,如图5,避免I/O成为瓶颈。
实施例4:接口实现实例。
请参阅图6,冯·诺依曼计算子系统与FPGA、FPGA与活跃存储子系统、FPGA与外部存储系统通过互联设施互联,FPGA完成数据的采集与回放,一种可行的实施例是:冯·诺依曼计算子系统与FPGA通过SRIO互联,FPGA与活跃存储子系统通过PCIe互联,FPGA与外部存储系统通过光纤互联,FPGA通过A/D转换接口、JESD204B协议转换接口采集外部数据或通过这些接口进行数据回放,A/D转换接口由FPGA上的SMA铜头、JESD204B协议转换接口由FPGA上的FMC+连接器连接。

Claims (8)

1.一种计算与存储融合的异构计算硬件加速系统,其特征在于,包括:
冯·诺依曼体系结构的计算子系统,现场可编程门阵列FPGA芯片,活跃存储子系统,外部存储系统;其中,计算与存储融合;
所述FPGA芯片与所述存储子系统通过高速互联接口通信,构成异构硬件加速单元;
所述冯·诺依曼计算子系统与所述FPGA芯片,通过高速互联设施进行通信;所述的FPGA芯片与所述的外部存储系统,通过以太网协议进行通信;
所述的FPGA芯片,通过A/D转换接口或JESD204B协议接口与外部数据采集系统通信,完成数据的采集或回放;
所述的活跃存储子系统,用于存储当前或即将发生的计算任务中需要用到的数据;
所述的外部存储系统,用于存储长期归档的数据;
所述计算与存储融合,指采集的数据在存入活跃存储子系统之前,完成了特定的计算,或者从活跃存储子系统读取后,由FPGA完成特定的计算;其中,特定的计算包括重复性计算、具有流水线并行特征的计算,具有I/O通信带宽敏感型的计算,计算密集但逻辑简单的计算。
2.根据权利要求1所述的一种计算与存储融合的异构计算硬件加速系统,其特征在于:所述的通过高速互联设施进行通信,其中互联设施或为PCIe,或为串行RapidIO。
3.根据权利要求1所述的一种计算与存储融合的异构计算硬件加速系统,其特征在于:所述的活跃存储子系统为非易失性存储介质。
4.根据权利要求3所述的一种计算与存储融合的异构计算硬件加速系统,其特征在于:所述非易失性存储介质或为NAND flash,或为相变存储PCM,或为阻变存储器ReRAM。
5.根据权利要1-4任一项所述的一种计算与存储融合的异构计算硬件加速系统,其特征在于:所述冯·诺依曼计算子系统与所述FPGA芯片互联,或为单路结构,或为多路并行的结构。
6.一种计算与存储融合的异构计算硬件加速方法,其特征在于,包括:
冯·诺依曼计算子系统与FPGA异构硬件加速单元分别执行不同的计算任务;
将计算任务分为两类,第一类计算任务包括重复性计算、具有深度流水线特征的计算,具有I/O通信带宽敏感型的计算,计算密集但逻辑简单的计算;除第一类计算任务之外的计算任务划归为第二类计算任务;
将第一类计算任务交由FPGA异构硬件加速单元处理,实现硬件加速;第二类计算任务交由冯·诺依曼计算子系统处理;
处理的数据存储在活跃存储子系统中,外部存储系统存储长期归档数据或者网络上的数据。
7.根据权利要求6所述的一种计算与存储融合的异构计算硬件加速方法,其特征在于,包括:
所述重复性计算、具有深度流水线特征的计算,或为对称加密,或为压缩,或为快速傅立叶变换,或为有限冲激响应滤波器;
所述I/O带宽敏感型的计算,或为机器视觉,或为机器学习,或为深度学习算法;
所述计算密集但逻辑简单的计算,指计算过程涉及大量的数据搬移、但是逻辑简单的计算,或为数据结构中的外排序算法,或为线性代数中的取交集、合并、补集的操作,或为数字中频涉及的梳妆滤波器、半带滤波器以及数字压控振荡器、混频计算。
8.根据权利要求6所述的一种计算与存储融合的异构计算硬件加速方法,其特征在于,包括:
所述第二类计算任务,或为具有低重复性特征的计算,或为不具备流水线特征的计算。
CN201810627987.8A 2018-06-19 2018-06-19 一种计算与存储融合的异构计算硬件加速系统及方法 Pending CN110618963A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810627987.8A CN110618963A (zh) 2018-06-19 2018-06-19 一种计算与存储融合的异构计算硬件加速系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810627987.8A CN110618963A (zh) 2018-06-19 2018-06-19 一种计算与存储融合的异构计算硬件加速系统及方法

Publications (1)

Publication Number Publication Date
CN110618963A true CN110618963A (zh) 2019-12-27

Family

ID=68919960

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810627987.8A Pending CN110618963A (zh) 2018-06-19 2018-06-19 一种计算与存储融合的异构计算硬件加速系统及方法

Country Status (1)

Country Link
CN (1) CN110618963A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113111027A (zh) * 2021-04-23 2021-07-13 广东电网有限责任公司电力调度控制中心 一种层次化保护装置
CN113392065A (zh) * 2021-07-14 2021-09-14 中科晶锐(苏州)科技有限公司 异构计算系统及计算方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105677595A (zh) * 2016-01-21 2016-06-15 方一信息科技(上海)有限公司 一种同时实现计算加速和pciessd存储的fpga方法
CN106250349A (zh) * 2016-08-08 2016-12-21 浪潮(北京)电子信息产业有限公司 一种高能效异构计算系统
CN107145299A (zh) * 2017-05-04 2017-09-08 中北大学 基于jesd204b协议的多通道宽带信号高速采集与转发系统
CN107392308A (zh) * 2017-06-20 2017-11-24 中国科学院计算技术研究所 一种基于可编程器件的卷积神经网络加速方法与系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105677595A (zh) * 2016-01-21 2016-06-15 方一信息科技(上海)有限公司 一种同时实现计算加速和pciessd存储的fpga方法
CN106250349A (zh) * 2016-08-08 2016-12-21 浪潮(北京)电子信息产业有限公司 一种高能效异构计算系统
CN107145299A (zh) * 2017-05-04 2017-09-08 中北大学 基于jesd204b协议的多通道宽带信号高速采集与转发系统
CN107392308A (zh) * 2017-06-20 2017-11-24 中国科学院计算技术研究所 一种基于可编程器件的卷积神经网络加速方法与系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
于松林: "基于FPGA的AES算法设计与实现", 《中国优秀硕士学位论文全文数据库信息科技辑》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113111027A (zh) * 2021-04-23 2021-07-13 广东电网有限责任公司电力调度控制中心 一种层次化保护装置
CN113392065A (zh) * 2021-07-14 2021-09-14 中科晶锐(苏州)科技有限公司 异构计算系统及计算方法

Similar Documents

Publication Publication Date Title
Tong et al. Accelerating decision tree based traffic classification on FPGA and multicore platforms
Kim et al. In-storage processing of database scans and joins
US10445323B2 (en) Association rule mining with the micron automata processor
Teubner et al. FPGA acceleration for the frequent item problem
CN108681569A (zh) 一种数据自动分析系统及其方法
Yang et al. Huge: An efficient and scalable subgraph enumeration system
CN103403699A (zh) 估算流数据库应用中的负荷削减数据
Frey et al. A spinning join that does not get dizzy
US20170293670A1 (en) Sequential pattern mining with the micron automata processor
CN104317549A (zh) 一种实现数据排序的级联结构电路和方法
CN103440246A (zh) 用于MapReduce的中间结果数据排序方法及系统
Kulkarni et al. Hyperloglog sketch acceleration on fpga
CN205507633U (zh) 一种基于FPGA的高性能运算PCI-e加速卡
CN110618963A (zh) 一种计算与存储融合的异构计算硬件加速系统及方法
Usui et al. A cost-effective and scalable merge sorter tree on FPGAs
Sallinen et al. Incremental graph processing for on-line analytics
US9135984B2 (en) Apparatuses and methods for writing masked data to a buffer
Kiefer et al. Optimistic data parallelism for fpga-accelerated sketching
Ding et al. Real-time trajectory similarity processing using longest common subsequence
Xia et al. Redundancy-free high-performance dynamic GNN training with hierarchical pipeline parallelism
CN107341193B (zh) 路网中移动对象查询方法
CN111475205B (zh) 一种基于数据流解耦合的粗粒度可重构阵列结构设计方法
Yue et al. Desis: Efficient Window Aggregation in Decentralized Networks.
Werner et al. Accelerated join evaluation in Semantic Web databases by using FPGAs
Sanders et al. Engineering a distributed-memory triangle counting algorithm

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20191227

RJ01 Rejection of invention patent application after publication