CN111459871A - 一种基于fpga异构计算的区块链加速系统及方法 - Google Patents

一种基于fpga异构计算的区块链加速系统及方法 Download PDF

Info

Publication number
CN111459871A
CN111459871A CN202010251216.0A CN202010251216A CN111459871A CN 111459871 A CN111459871 A CN 111459871A CN 202010251216 A CN202010251216 A CN 202010251216A CN 111459871 A CN111459871 A CN 111459871A
Authority
CN
China
Prior art keywords
fpga heterogeneous
fpga
block chain
heterogeneous
heterogeneous computing
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
CN202010251216.0A
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.)
Jinan Inspur Hi Tech Investment and Development Co Ltd
Original Assignee
Jinan Inspur Hi Tech Investment and Development Co 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 Jinan Inspur Hi Tech Investment and Development Co Ltd filed Critical Jinan Inspur Hi Tech Investment and Development Co Ltd
Priority to CN202010251216.0A priority Critical patent/CN111459871A/zh
Publication of CN111459871A publication Critical patent/CN111459871A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/167Interprocessor communication using a common memory, e.g. mailbox

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

本申请公开了一种基于FPGA异构计算的区块链加速系统及方法,用以解决区块链效率较低、性能较低的问题。系统包括现场可编程逻辑门阵列FPGA异构计算节点,用于基于异构计算运行区块链平台;并行存储系统,用于存储所述区块链平台的数据;开放运算语言OpenCL编程框架,用于为所述FPGA异构计算节点提供异构计算的编程环境。本系统可通过硬件加速区块链底层平台,并结合区块链平台中的相应的智能合约,实现区块链平台中的高度并行的计算工作。这样能够提升区块链平台签名验签、打包、共识等过程的计算性能,提升网络并发数,增强区块链平台的性能。

Description

一种基于FPGA异构计算的区块链加速系统及方法
技术领域
本申请涉及区块链加速技术领域,尤其涉及一种基于FPGA异构计算的区块链加速系统及方法。
背景技术
随着技术的不断发展,区块链的应用越来越广泛。
区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链凭借其存储数据的安全性、防篡改性等特点,广泛应用在对数据存储有较高要求的领域。
但是,区块链在存储数据的过程中,需要通过大量的计算,由区块链中所有节点达成共识后,才能进行数据的存储。因此,区块链存在效率较低、性能较低的问题。
发明内容
本申请实施例提供一种基于FPGA异构计算的区块链加速系统及方法,用以解决区块链效率较低、性能较低的问题。
本申请实施例提供的一种基于FPGA异构计算的区块链加速系统,包括:
现场可编程逻辑门阵列FPGA异构计算节点,用于基于异构计算运行区块链平台;
并行存储系统,用于存储所述区块链平台的数据;
开放运算语言OpenCL编程框架,用于为所述FPGA异构计算节点提供异构计算的编程环境。
在一个示例中,所述系统还包括:集群管理模块,用于对所述区块链平台中的各FPGA异构计算节点进行管理与作业调度。
在一个示例中,所述FPGA异构计算节点包括:中央处理器CPU;FPGA异构计算芯片,用于进行异构计算;存储模块,用于存储所述FPGA异构计算节点的数据。
在一个示例中,所述FPGA异构计算节点还包括:区块链传输控制协议卸载引擎TOE芯片,用于进行TCP加速。
在一个示例中,所述FPGA异构计算芯片,用于为所述CPU提供编程接口,并提供本身的作业调度和在线重构。
在一个示例中,所述FPGA异构计算节点根据异构协议互联融合标准,对若干高速总线协议进行整合。
在一个示例中,所述OpenCL编程框架包括基于所述FPGA异构计算芯片的PCIE驱动、OpenCL驱动与OpenCL运行库。
在一个示例中,所述FPGA异构计算节点基于异构计算与预先嵌入的签名算法和/或共识算法,执行区块链平台中的签名验签操作和/或共识操作。
一种基于FPGA异构计算的区块链加速方法,应用于权利要求1~8任一权利要求所述的系统,所述方法包括:
确定嵌入FPGA异构计算节点中的签名算法;
采用FPGA异构计算,实现区块链平台中的签名验签操作。
在一个示例中,所述方法还包括:确定嵌入FPGA异构计算节点中的共识算法;采用FPGA异构计算,实现区块链平台中的共识操作。
本申请实施例提供的方案,至少包括以下有益效果:
通过部署FPGA异构计算节点,构建多处理器协同、并行运算的系统,可由FPGA异构计算芯片负责计算密集型、高度并行的计算工作。通过FPGA提供的强大的计算能力和足够的灵活性,完成区块链平台中数据的计算、缓存、输入输出等功能。
在集群环境下,区块链平台中的各FPGA异构计算节点可通过动态分配调度技术,实现各FPGA异构计算节点内部的CPU与FPGA异构计算芯片之间的高效协同,实现支持并行处理和流水处理等多种加速模式的异构架构。
基于各FPGA异构计算节点,可通过硬件加速区块链底层平台,并结合区块链平台中的相应的智能合约,实现区块链平台中的高度并行的计算工作。这样能够提升区块链平台签名验签、打包、共识等过程的计算性能,提升网络并发数,增强区块链平台的性能。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本申请实施例提供的一种基于FPGA异构计算的区块链加速系统结构示意图;
图2为本申请实施例提供的与图1相对应的一种基于FPGA异构计算的区块链加速方法流程图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
图1为本申请实施例提供的基于FPGA异构计算的区块链加速系统结构示意图。
基于FPGA异构计算的区块链加速系统具体可包括,若干现场可编程逻辑门阵列(Field Programmable Gate Array,FPGA)异构计算节点110、并行存储系统120与开放运算语言(Open Computing Language,OpenCL)编程框架130。其中,FPGA异构计算节点110与并行存储系统120连接。
具体的,区块链平台中可包括若干基于FPGA异构计算的区块链节点,即FPGA异构计算节点110。各FPGA异构计算节点可作为区块链平台中的参与节点,通过异构计算来执行区块链平台中的各种操作,包括验证签名、进行共识等等。
并行存储系统120与各FPGA异构计算节点110连接,用于存储区块链平台中各FPGA异构计算节点110的数据,其可对区块链平台中各FPGA异构计算节点之间的并行运算中的数据全部进行存储。
在一个实施例中,并行存储系统120可采用BeeGFS架构的存储系统,这种存储系统通过将多个存储服务器结合在一起,可以克服单台服务器、单网络互连、数量有限的硬盘驱动器等严格的性能限制,为区块链平台提供高性能的存储。
在一个实施例中,FPGA异构计算节点110可包括中央处理器(central processingunit,CPU)111、FPGA异构计算芯片112与存储模块113。
具体的,FPGA异构计算节点110可包括计算节点主板,主板中包括CPU111,CPU111用于承担FPGA异构计算节点中的逻辑选择、判断跳转和输入/输出(Input/Output,IO)通信等方面的职责。
FPGA异构计算芯片112,即FPGA异构计算卡,在FPGA异构计算节点执行区块链平台中的签名验签、共识等操作时,FPGA异构计算芯片112用于执行具体的异构计算过程。
具体的,FPGA异构计算芯片具备以下功能:
(1)FPGA异构计算芯片具备可编程的逻辑资源,可根据需要进行修改与设置,能够满足多级扩展逻辑;
(2)FPGA异构计算芯片内部的固化逻辑可根据需要进行重新配置,通过重配置FPGA异构计算芯片的内部逻辑,可为主控CPU提供合适的编程接口,实现在线重构,同时为FPGA异构计算芯片本身的任务调度与在线重构提供便利;
(3)FPGA异构计算芯片具备PCIe等多种高速串行计算机扩展总线标准资源,可为各个FPGA异构计算芯片之间组成多种架构的互联提供方便。
存储模块113用于存储相应的FPGA异构计算节点的数据。其中,存储模块113属于并行存储系统120的一部分,区块链平台中的各FPGA异构计算节点的存储模块共同构成并行存储系统120。
在一个实施例中,FPGA异构计算节点110可采用固态硬盘SSD、硬盘驱动器HDD作为存储模块,通过HDD/SSD存储的方式进行数据存储。
在一个实施例中,FPGA异构计算节点110还包括区块链传输控制协议卸载引擎(Transmission Control Protocol Offload Engine,TOE)芯片114。TOE芯片114用于将TCP/IP堆叠的工作卸载到网络接口控制器上,由硬件来处理TCP/IP数据包,减轻CPU的负担,以实现TCP加速。
具体的,FPGA异构计算节点的网卡上可配置有TOE专用芯片,由FPGA异构计算芯片来处理区块链平台中的请求。这样能够提升区块链平台中的网络并发数,加快网络响应,提升响应效率。
在一个实施例中,区块链平台中的各FPGA异构计算节点之间通过高速以太网连接。在高速以太网接口上,通过TOE芯片进行TCP加速,可有效减轻处理器的负担。
在一个实施例中,系统中还包括业务网络交换机(图中未示出)。区块链平台中的各FPGA异构计算节点110之间可通过业务网络交换机进行数据的高速传输,计算系统内部可通过高速总线互联。
在一个实施例中,FPGA异构计算节点可根据异构协议互联融合标准,对若干高速总线协议进行整合,使FPGA异构计算节点能够支持多种异构互联协议,提高系统的兼容性。
OpenCL编程框架130用于为各FPGA异构计算节点提供异构计算的编程环境。具体的,OpenCL编程框架包括基于FPGA异构计算芯片的PCIE驱动、OpenCL驱动与OpenCL运行库。OpenCL编程框架130能够为上层应用提供应用程序接口(Application ProgrammingInterface,API),为下层硬件提供编译器。
在一个实施例中,系统还包括集群管理模块(图中未示出)。集群管理模块用于对区块链平台中的各FPGA异构计算节点110进行管理,并且,集群管理模块可根据区块链平台中的工作,与各FPGA异构计算节点110的工作饱和程度、空闲时间等,实现各FPGA异构计算节点之间的作业调度与资源管理,从而实现各FPGA异构计算节点之间的并行运算。
在本申请实施例中,通过部署FPGA异构计算节点,构建多处理器协同、并行运算的系统,可由FPGA异构计算芯片负责计算密集型、高度并行的计算工作。通过FPGA提供的强大的计算能力和足够的灵活性,完成区块链平台中数据的计算、缓存、输入输出等功能。
在集群环境下,区块链平台中的各FPGA异构计算节点可通过动态分配调度技术,实现各FPGA异构计算节点内部的CPU与FPGA异构计算芯片之间的高效协同,实现支持并行处理和流水处理等多种加速模式的异构架构。
基于各FPGA异构计算节点,可通过硬件加速区块链底层平台,并结合区块链平台中的相应的智能合约,实现区块链平台中的高度并行的计算工作。这样能够提升区块链平台签名验签、打包、共识等过程的计算性能,提升网络并发数,增强区块链平台的性能。
基于同样的思路,本申请的一些实施例还提供了上述基于FPGA异构计算的区块链加速系统对应的基于FPGA异构计算的区块链加速方法。
图2为本申请实施例提供的与图1相对应的一种基于FPGA异构计算的区块链加速方法流程图,具体步骤包括:
S201:确定嵌入FPGA异构计算节点中的签名验签算法。
S202:采用FPGA异构计算,实现区块链平台中的签名验签操作。
在本申请实施例中,管理者可预先在FPGA异构计算节点中嵌入区块链相关的签名验签算法。于是,在区块链平台中的各区块链节点在进行签名验签操作时,可通过各区块链节点中的FPGA异构计算芯片,进行相应的FPGA异构计算,来实现相应的操作。这样能够有效提高区块链平台中的计算性能,解决区块链平台的性能问题。
在一个实施例中,针对区块链平台中的任意常规算法,包括共识算法等。管理者都可预先在FPGA异构计算节点中嵌入相关的算法,通过各区块链节点中的FPGA异构计算芯片,进行相应的FPGA异构计算,来实现相应的操作,以此提高区块链平台的性能。
本申请实施例提供的方法与系统是相对应的,因此,方法也具有与其对应的系统类似的有益技术效果,由于上面已经对系统的有益技术效果进行了详细说明,因此,这里不再赘述方法的有益技术效果。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (10)

1.一种基于FPGA异构计算的区块链加速系统,其特征在于,包括:
现场可编程逻辑门阵列FPGA异构计算节点,用于基于异构计算运行区块链平台;
并行存储系统,用于存储所述区块链平台的数据;
开放运算语言OpenCL编程框架,用于为所述FPGA异构计算节点提供异构计算的编程环境。
2.根据权利要求1所述的系统,其特征在于,所述系统还包括:
集群管理模块,用于对所述区块链平台中的各FPGA异构计算节点进行管理与作业调度。
3.根据权利要求1所述的系统,其特征在于,所述FPGA异构计算节点包括:
中央处理器CPU;
FPGA异构计算芯片,用于进行异构计算;
存储模块,用于存储所述FPGA异构计算节点的数据。
4.根据权利要求3所述的系统,其特征在于,所述FPGA异构计算节点还包括:
区块链传输控制协议卸载引擎TOE芯片,用于进行TCP加速。
5.根据权利要求3所述的系统,其特征在于,所述FPGA异构计算芯片,用于为所述CPU提供编程接口,并提供本身的作业调度和在线重构。
6.根据权利要求1所述的系统,其特征在于,所述FPGA异构计算节点根据异构协议互联融合标准,对若干高速总线协议进行整合。
7.根据权利要求2所述的系统,其特征在于,所述OpenCL编程框架包括基于所述FPGA异构计算芯片的PCIE驱动、OpenCL驱动与OpenCL运行库。
8.根据权利要求1所述的系统,其特征在于,所述FPGA异构计算节点基于异构计算与预先嵌入的签名算法和/或共识算法,执行区块链平台中的签名验签操作和/或共识操作。
9.一种基于FPGA异构计算的区块链加速方法,应用于权利要求1~8任一权利要求所述的系统,其特征在于,所述方法包括:
确定嵌入FPGA异构计算节点中的签名算法;
采用FPGA异构计算,实现区块链平台中的签名验签操作。
10.根据权利要求9所述的方法,其特征在于,所述方法还包括:
确定嵌入FPGA异构计算节点中的共识算法;
采用FPGA异构计算,实现区块链平台中的共识操作。
CN202010251216.0A 2020-04-01 2020-04-01 一种基于fpga异构计算的区块链加速系统及方法 Pending CN111459871A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010251216.0A CN111459871A (zh) 2020-04-01 2020-04-01 一种基于fpga异构计算的区块链加速系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010251216.0A CN111459871A (zh) 2020-04-01 2020-04-01 一种基于fpga异构计算的区块链加速系统及方法

Publications (1)

Publication Number Publication Date
CN111459871A true CN111459871A (zh) 2020-07-28

Family

ID=71680563

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010251216.0A Pending CN111459871A (zh) 2020-04-01 2020-04-01 一种基于fpga异构计算的区块链加速系统及方法

Country Status (1)

Country Link
CN (1) CN111459871A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112001494A (zh) * 2020-08-20 2020-11-27 浪潮电子信息产业股份有限公司 一种实现nGraph框架支持FPGA后端设备的方法
CN112433869A (zh) * 2020-12-04 2021-03-02 中国人民解放军国防科技大学 面向软件超结点的OpenCL编程框架构建方法和装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170323045A1 (en) * 2016-05-06 2017-11-09 Baidu Usa Llc Method and system for designing fpga based on hardware requirements defined in source code
CN108776649A (zh) * 2018-06-11 2018-11-09 山东超越数控电子股份有限公司 一种基于cpu+fpga异构计算系统及其加速方法
CN110400141A (zh) * 2019-06-28 2019-11-01 苏州浪潮智能科技有限公司 区块链数字签名方法与系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170323045A1 (en) * 2016-05-06 2017-11-09 Baidu Usa Llc Method and system for designing fpga based on hardware requirements defined in source code
CN108776649A (zh) * 2018-06-11 2018-11-09 山东超越数控电子股份有限公司 一种基于cpu+fpga异构计算系统及其加速方法
CN110400141A (zh) * 2019-06-28 2019-11-01 苏州浪潮智能科技有限公司 区块链数字签名方法与系统

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
ANDREI V. VASSILIEV: "Scalable OpenCL FPGA Computing Evolution", pages 1 - 2 *
彭新显: "基于OpenCL并行加速算法研究及其FPGA实现", no. 3 *
胡雷钧;陈乃刚;李健;韩峰;赵雅倩;: "FPGA异构计算平台及其应用", no. 07 *
陈志刚: "《多层客户/服务计算模型及实现技术》", 31 January 2003, 湖南科学技术出版社, pages: 64 - 65 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112001494A (zh) * 2020-08-20 2020-11-27 浪潮电子信息产业股份有限公司 一种实现nGraph框架支持FPGA后端设备的方法
US11762721B2 (en) 2020-08-20 2023-09-19 Inspur Electronic Information Industry Co., Ltd. Method for realizing nGraph framework supporting FPGA rear-end device
CN112433869A (zh) * 2020-12-04 2021-03-02 中国人民解放军国防科技大学 面向软件超结点的OpenCL编程框架构建方法和装置
CN112433869B (zh) * 2020-12-04 2021-07-09 中国人民解放军国防科技大学 面向软件超结点的OpenCL编程框架构建方法和装置

Similar Documents

Publication Publication Date Title
US11934883B2 (en) Computer cluster arrangement for processing a computation task and method for operation thereof
US9442749B2 (en) Transaction-based service control system and control method
US7415331B2 (en) System for controlling unmanned vehicles
US20080294872A1 (en) Defragmenting blocks in a clustered or distributed computing system
US20090320023A1 (en) Process Migration Based on Service Availability in a Multi-Node Environment
Redekopp et al. Optimizations and analysis of bsp graph processing models on public clouds
US20120291041A1 (en) Assigning resources for tasks
CN103593242A (zh) 基于Yarn框架的资源共享控制系统
CN103294540B (zh) 一种通过至强融核协处理器提升Erlang虚拟机性能的方法
Lai et al. Sol: Fast distributed computation over slow networks
CN111459871A (zh) 一种基于fpga异构计算的区块链加速系统及方法
Narantuya et al. Multi-Agent Deep Reinforcement Learning-Based Resource Allocation in HPC/AI Converged Cluster.
CN116382861A (zh) Numa架构的服务器网络进程自适应调度方法、系统及介质
CN112540858B (zh) 任务处理方法、服务器、客户端及系统
CN114281529A (zh) 分布式虚拟化的客户操作系统调度优化方法、系统及终端
CN106844021B (zh) 计算环境资源管理系统及其管理方法
CN114866612B (zh) 一种电力微服务卸载方法及装置
Chauhan et al. An intensify deadline aware credit based cloud task scheduling
CN117472581A (zh) 支持大规模应用部署的虚拟化fpga集群管理调度系统及方法
CN117311920A (zh) 任务调度方法、装置和系统
CN115586954A (zh) 一种基于边缘计算的工业互联网后台运行管控方法
CN118394498A (zh) 一种用于超算平台硬件与软件资源控制与管理的智能计算云操作系统及方法
Ding et al. Improved YARN resource scheduling algorithm based on network load sensing
Khuat et al. Spatio-temporal scheduling for 3D reconfigurable & multiprocessor architecture
Parkavi et al. Abstraction based K-tier partitioning scheme for parallel job scheduling in multiple cloud centers

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