CN109343896A - 一种大数据处理系统 - Google Patents

一种大数据处理系统 Download PDF

Info

Publication number
CN109343896A
CN109343896A CN201811126777.7A CN201811126777A CN109343896A CN 109343896 A CN109343896 A CN 109343896A CN 201811126777 A CN201811126777 A CN 201811126777A CN 109343896 A CN109343896 A CN 109343896A
Authority
CN
China
Prior art keywords
fpga
layer
big data
jvm
accelerator card
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
CN201811126777.7A
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.)
Shandong Chaoyue CNC Electronics Co Ltd
Original Assignee
Shandong Chaoyue CNC Electronics 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 Shandong Chaoyue CNC Electronics Co Ltd filed Critical Shandong Chaoyue CNC Electronics Co Ltd
Priority to CN201811126777.7A priority Critical patent/CN109343896A/zh
Publication of CN109343896A publication Critical patent/CN109343896A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3877Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种大数据处理系统,包括多个数据节点,每个数据节点包括:底层硬件层,该底层硬件层至少包括CPU、FPGA异构加速卡,该FPGA异构加速卡通过总线与CPU通信;系统驱动层,该系统驱动层至少加载FPGA异构加速卡驱动;JVM层,该JVM层设置有Java本地接口;大数据框架层,该大数据框架层经由JVM层通过Java本地接口调用FPGA异构加速卡;以及运行支持库层,该运行支持库层用于FPGA异构计算。本发明的大数据处理系统,能够满足计算复杂度高的任务对实时性的要求,实现计算任务的流水并行处理,降低JVM与FPGA数据传输延时,实现标签在线更新功能。

Description

一种大数据处理系统
技术领域
本发明涉及大数据处理技术领域,更具体地,特别是指一种大数据处理系统。
背景技术
大数据时代的到来对计算系统的性能提出了更高的要求,采用Hadoop、Spark等分布式计算的方式能够把巨大的问题分成许多小的部分,然后把这些小任务分配给许多计算机进行处理,通过多个计算节点来处理同一任务,以满足大数据处理的要求。然而单纯采用CPU进行处理无法满足计算复杂度高的任务对实时性的要求。
目前我国主流计算机采用的X86处理器、Windows操作系统等,存在核心技术受制于人带来的安全隐患,“棱镜门”事件以及近期发生的美国制裁中兴事件已经给我们上了沉重的一课,不遗余力地加快发展自主可控核心软硬件已经成为我国信息技术安全发展的当务之急。为此,需要提出一种基于国产CPU的大数据处理平台,以满足我国核心关键领域的大数据处理需求。
现有技术中尚未披露一种基于国产CPU的大数据处理系统,该系统能够满足计算复杂度高的任务对实时性的要求,实现计算任务的流水并行处理,降低JVM与FPGA数据传输延时,实现标签在线更新功能等。
发明内容
有鉴于此,本发明实施例的目的在于提出一种大数据处理系统,能够满足计算复杂度高的任务对实时性的要求,实现计算任务的流水并行处理,降低JVM与FPGA数据传输延时,实现标签在线更新功能。
基于上述目的,本发明实施例的一方面提供了一种大数据处理,包括多个数据节点,每个数据节点包括:
底层硬件层,该底层硬件层至少包括CPU、FPGA异构加速卡,所述FPGA异构加速卡通过总线与CPU通信;
系统驱动层,该系统驱动层至少加载FPGA异构加速卡驱动;
JVM层,该JVM层设置有Java本地接口;
大数据框架层,该大数据框架层经由JVM层通过Java本地接口调用FPGA异构加速卡;以及
运行支持库层,该运行支持库层用于FPGA异构计算。
在一些实施方式中,大数据框架层至少包括计算框架、资源管理器yarn以及分布式存储系统。
在一些实施方式中,所述资源管理器yarn的资源调度采用基于标签的方式,该标签表示节点能够加速的作业。
在一些实施方式中,数据节点插入多个FPGA异构加速卡,每个FPGA异构加速卡部署运行相同或不同作业任务的多个核。
在一些实施方式中,FPGA异构加速卡之间通过其上提供的SRIO*4接口实现相互通信。
在一些实施方式中,数据节点内的每个FPGA异构加速卡通过SRIO进行互联通信以实现计算任务的流水并行处理。
在一些实施方式中,FPGA异构加速卡被设置为实现算法的在线可重构的静态配置区和动态可重构区。
在一些实施方式中,静态配置区包括DDR4控制器、PCIe-DMA模块、万兆以太网模块、SRIO通信模块。
在一些实施方式中,运行支持库层包括OpenCL运行支持库,该OpenCL运行支持库为CPU调用FPGA提供动态链接库。
在一些实施方式中,JVM和FPGA数据传输延时在CPU与FPGA通信过程中采用流水线技术和FPGA缓存技术实现降低。
本发明具有以下有益技术效果:本发明实施例提供的大数据处理系统,通过建立异构加速平台,能够满足计算复杂度高的任务对实时性的要求,实现计算任务的流水并行处理,降低JVM与FPGA数据传输延时,实现标签在线更新功能。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的大数据处理系统的层次框架的示意图;
图2为本发明提供的大数据处理系统的基于标签的资源分配示意图;
图3为本发明提供的大数据处理系统的拓扑结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明实施例进一步详细说明。
需要说明的是,本发明实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本发明实施例的限定,后续实施例对此不再一一说明。
基于上述目的,本发明实施例的第一个方面,提出了一种大数据处理系统的实施例。图1示出的是本发明提供的大数据处理系统的层次框架的实施例的示意图。
所述大数据处理系统包括多个数据节点(datanode),每个数据节点包括:
底层硬件层,该底层硬件层至少包括CPU、FPGA(Field-Programmable GateArray,即现场可编程门阵列)异构加速卡,该FPGA异构加速卡通过总线与CPU通信;
系统驱动层,该系统驱动层至少加载FPGA异构加速卡驱动;
JVM层,该JVM层设置有Java本地接口;
大数据框架层,该大数据框架层经由JVM层通过Java本地接口调用FPGA异构加速卡;以及
运行支持库层,该运行支持库层用于FPGA异构计算。
如图1所示,所述底层硬件层包括国产CPU、FPGA异构加速卡、网络、存储等设备。系统驱动层采用国产操作系统,并且加载FPGA异构加速卡等驱动。JVM层在系统层之上,支撑大数据框架层运行。大数据框架层通过Java本地接口(JNI)调用FPGA异构加速卡,大数据框架层包括MapReduce、Spark等计算框架、资源管理器yarn以及分布式存储系统等组件。
在一个实施方式中,大数据框架层至少包括计算框架、资源管理器yarn以及分布式存储系统。其中,计算框架包括MapReduce、Spark等。
在一个实施方式中,资源调度采用基于标签的方式,该标签表示节点能够加速的作业。图2为本发明提供的大数据处理系统的基于标签的资源分配示意图。
如图2所示,为有效管理FPGA计算资源,对yarn资源进行扩展,并采用基于标签的方式进行资源调度。每个节点能够加速的具体作业被设置成相应的标签,在资源管理器中将整个集群的资源分到几个队列中,并为各个队列设置标签,例如:标签1可以代表加速GZIP压缩算法、标签2可以代表加速聚类算法(K-means),标签N可以代表加速贝叶斯(Bayes)算法等,其中GZIP是GNUzip的缩写,它是一个GNU自由软件的文件压缩程序。
提交的作业首先查询是否存在相应的节点标签,若有,则将作业提交到与节点标签相同的队列中,若没有,则按照yarn公平调度器的多维资源调度算法(DRF)选择候选FPGA进行算法重构,并更新该节点标签,同时建立与其相对应的队列,实现标签在线更新功能。
在一个实施方式中,数据节点采用CPU+FPGA的异构计算模式,其中数据节点插入多个FPGA异构加速卡,每个FPGA异构加速卡部署运行相同或不同作业任务的多个核;FPGA异构加速卡之间通过其上提供的SRIO*4接口实现相互通信;数据节点内的每个FPGA异构加速卡通过SRIO进行互联通信以实现计算任务的流水并行处理;FPGA异构加速卡被设置为实现算法的在线可重构的静态配置区和动态可重构区;静态配置区包括DDR4控制器、PCIe-DMA模块、万兆以太网模块、SRIO通信模块。图3为本发明提供的大数据处理系统的拓扑结构示意图。
如图3所示,由若干数据节点Datanode、两个Namenode通过网络互连,Namenode负责运行资源管理等任务,数据节点负责执行作业。
数据节点采用国产CPU+FPGA的异构计算模式,每个数据节点可插多个FPGA异构卡,FPGA异构卡通过PCIe3.0-DMA方式与CPU进行通信。每个FPGA异构卡可部署多个核,可以运行相同或不同的作业任务。
可选地,所述国产CPU采用FT-2000PLUS。
可选地,FPGA异构卡采用Xilinx KU115FPGA芯片,并配置具有8位ECC校验位的DDR4,可支持2个SODIMM,单条最大支持8GBDDR4x72bit@1333MHz/2400MT/s。
所述FPGA内部分为静态配置区和动态可重构区,能够实现算法的在线可重构。静态配置区包含DDR4控制器、PCIe-DMA模块、万兆以太网模块、SRIO通信模块等模块,静态配置区通过主动加载的方式上电后从Flash进行加载,动态可重构区负责执行CPU下发的算法,对计算任务进行加速。
优选地,FPGA异构计算单元还提供SRIO x4接口,通过该接口可以实现与计算节点内的其他FPGA异构计算单元的通信,通过该互连结构,FPGA异构计算单元之间可以实现计算任务的流水并行处理。
在一个实施方式中,运行支持库层包括OpenCL运行支持库,该OpenCL运行支持库将FPGA调给CPU以提供动态链接库;
FPGA采用OpenCL编程框架进行开发,并生成库,存在JVM本地库中,以供大数据框架层调用。
OpenCL运行支持库为CPU调用FPGA提供动态链接库,当程序需要FPGA进行加速时,通过JNI调用本地库函数,并基于OpenCL运行支持库,实现FPGA的函数、数据加载、调度。
在一个实施方式中,JVM和FPGA数据传输延时在CPU与FPGA通信过程中采用流水线技术和FPGA缓存技术降低。
为降低JVM与FPGA数据传输延时,在CPU于FPGA通信的过程中采用流水线技术和FPGA缓存技术进行实现。
本发明实施例提供的大数据处理系统,通过建立异构加速平台,能够满足计算复杂度高的任务对实时性的要求,实现计算任务的流水并行处理,降低JVM与FPGA数据传输延时,实现标签在线更新功能。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本发明实施例公开的范围(包括权利要求)被限于这些例子;在本发明实施例的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,并存在如上所述的本发明实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。因此,凡在本发明实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明实施例的保护范围之内。

Claims (10)

1.一种大数据处理系统,其特征在于,包括多个数据节点,每个数据节点包括:
底层硬件层,所述底层硬件层至少包括CPU、FPGA异构加速卡,所述FPGA异构加速卡通过总线与CPU通信;
系统驱动层,所述系统驱动层至少加载FPGA异构加速卡驱动;
JVM层,所述JVM层设置有Java本地接口;
大数据框架层,所述大数据框架层经由所述JVM层通过Java本地接口调用FPGA异构加速卡;以及
运行支持库层,所述运行支持库层用于FPGA异构计算。
2.根据权利要求1所述的系统,其特征在于,所述大数据框架层至少包括计算框架、资源管理器yarn以及分布式存储系统。
3.根据权利要求2所述的系统,其特征在于,所述资源管理器yarn的资源调度采用基于标签的方式,所述标签表示节点能够加速的作业。
4.根据权利要求1所述的系统,其特征在于,所述数据节点插入多个FPGA异构加速卡,每个FPGA异构加速卡部署运行相同或不同作业任务的多个核。
5.根据权利要求4所述的系统,其特征在于,所述FPGA异构加速卡之间通过其上提供的SRIO*4接口实现相互通信。
6.根据权利要求4所述的系统,其特征在于,数据节点内的每个FPGA异构加速卡通过SRIO进行互联通信以实现计算任务的流水并行处理。
7.根据权利要求6所述的系统,其特征在于,所述FPGA异构加速卡被设置为实现算法的在线可重构的静态配置区和动态可重构区。
8.根据权利要求7所述的系统,其特征在于,所述静态配置区包括DDR4控制器、PCIe-DMA模块、万兆以太网模块、SRIO通信模块。
9.根据权利要求1所述的系统,其特征在于,所述运行支持库层包括OpenCL运行支持库,所述OpenCL运行支持库为CPU调用FPGA提供动态链接库。
10.根据权利要求1所述的系统,其特征在于,JVM和FPGA数据传输延时在CPU与FPGA通信过程中采用流水线技术和FPGA缓存技术实现降低。
CN201811126777.7A 2018-09-26 2018-09-26 一种大数据处理系统 Pending CN109343896A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811126777.7A CN109343896A (zh) 2018-09-26 2018-09-26 一种大数据处理系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811126777.7A CN109343896A (zh) 2018-09-26 2018-09-26 一种大数据处理系统

Publications (1)

Publication Number Publication Date
CN109343896A true CN109343896A (zh) 2019-02-15

Family

ID=65306662

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811126777.7A Pending CN109343896A (zh) 2018-09-26 2018-09-26 一种大数据处理系统

Country Status (1)

Country Link
CN (1) CN109343896A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111143258A (zh) * 2019-12-29 2020-05-12 苏州浪潮智能科技有限公司 一种基于Opencl的系统访问FPGA的方法、系统、设备以及介质
CN113905097A (zh) * 2021-09-26 2022-01-07 威讯柏睿数据科技(北京)有限公司 一种数据传输方法和装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102541804A (zh) * 2011-12-26 2012-07-04 中国人民解放军信息工程大学 一种异构系统中多gpu互连体系结构
CN106250349A (zh) * 2016-08-08 2016-12-21 浪潮(北京)电子信息产业有限公司 一种高能效异构计算系统
CN106528171A (zh) * 2016-11-24 2017-03-22 郑州云海信息技术有限公司 一种异构计算平台子系统间的接口设计方法、装置及系统
CN107273331A (zh) * 2017-06-30 2017-10-20 山东超越数控电子有限公司 一种基于cpu+gpu+fpga架构的异构计算系统和方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102541804A (zh) * 2011-12-26 2012-07-04 中国人民解放军信息工程大学 一种异构系统中多gpu互连体系结构
CN106250349A (zh) * 2016-08-08 2016-12-21 浪潮(北京)电子信息产业有限公司 一种高能效异构计算系统
CN106528171A (zh) * 2016-11-24 2017-03-22 郑州云海信息技术有限公司 一种异构计算平台子系统间的接口设计方法、装置及系统
CN107273331A (zh) * 2017-06-30 2017-10-20 山东超越数控电子有限公司 一种基于cpu+gpu+fpga架构的异构计算系统和方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
彭福来: "面向国产CPU的可重构计算系统设计及性能探究", 《计算机工程与应用》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111143258A (zh) * 2019-12-29 2020-05-12 苏州浪潮智能科技有限公司 一种基于Opencl的系统访问FPGA的方法、系统、设备以及介质
CN113905097A (zh) * 2021-09-26 2022-01-07 威讯柏睿数据科技(北京)有限公司 一种数据传输方法和装置

Similar Documents

Publication Publication Date Title
CN105979009B (zh) 一种针对云应用容器的增加负载自动均衡方法
KR101823505B1 (ko) 계산 작업을 처리하기 위한 컴퓨터 클러스터 장치 및 이를 작동시키기 위한 방법
CN108376118A (zh) 服务发布系统、方法、设备及存储介质
CN109327509A (zh) 一种主/从架构的低耦合的分布式流式计算框架
Tsai et al. Two-tier multi-tenancy scaling and load balancing
CN104601664B (zh) 一种云计算平台资源管理与虚拟机调度的控制系统
KR20140080434A (ko) 맵리듀스 프레임워크에서 데이터 프로세싱의 최적화를 위한 디바이스 및 방법
CN106919445A (zh) 一种在集群中并行调度容器的方法和装置
CN103294540B (zh) 一种通过至强融核协处理器提升Erlang虚拟机性能的方法
Jia et al. Reliability-aware dynamic service chain scheduling in 5G networks based on reinforcement learning
CN109840142A (zh) 基于云监控的线程控制方法、装置、电子设备及存储介质
US9184982B2 (en) Balancing the allocation of virtual machines in cloud systems
CN109739640A (zh) 一种基于申威架构的容器资源管理系统
Tseng et al. Service-oriented virtual machine placement optimization for green data center
CN105740085A (zh) 容错处理方法及装置
CN109343896A (zh) 一种大数据处理系统
CN108874549A (zh) 资源复用方法、装置、终端和计算机可读存储介质
CN114138434A (zh) 一种大数据任务调度系统
CN109840141A (zh) 基于云监控的线程控制方法、装置、电子设备及存储介质
CN111459871A (zh) 一种基于fpga异构计算的区块链加速系统及方法
CN113992509B (zh) Sdn网络业务配置下发方法、装置及存储介质
CN113254143B (zh) 虚拟化网络功能网元编排调度方法、装置和系统
Peters et al. In compute/memory dynamic packet/circuit switch placement for optically disaggregated data centers
US11513858B2 (en) System for operating and method for arranging nodes thereof
CN109117146A (zh) 云平台双机容灾系统的自动部署方法、装置、存储介质和计算机设备

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
RJ01 Rejection of invention patent application after publication

Application publication date: 20190215