CN109918197A - 数据处理装置 - Google Patents
数据处理装置 Download PDFInfo
- Publication number
- CN109918197A CN109918197A CN201910118078.6A CN201910118078A CN109918197A CN 109918197 A CN109918197 A CN 109918197A CN 201910118078 A CN201910118078 A CN 201910118078A CN 109918197 A CN109918197 A CN 109918197A
- Authority
- CN
- China
- Prior art keywords
- module
- data
- data processing
- fpga chip
- processing equipment
- 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.)
- Granted
Links
Classifications
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Power Sources (AREA)
Abstract
本发明提供了一种数据处理装置,该装置包括:接口模块,用于获取参数数据,并实时获取序列数据;存储模块,用于存储存取指令,并缓存获取的所述参数数据和所述序列数据;配置模块,用于获取并配置可执行程序;核心模块,包括FPGA芯片,分别与所述接口模块、所述存储模块及所述配置模块连接,用于通过所述存取指令接收缓存的所述参数数据和所述序列数据,并通过所述可执行程序实现根据接收的所述参数数据对接收的所述序列数据进行数据处理,以及输出数据处理结果;时钟模块,与所述FPGA芯片连接,包括:固定频率晶振输出单元和可编程晶振输出单元;该调节频率用于控制数据传输速率。通过上述方案能够在保证序列数据的计算效率的情况下降低功耗。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种数据处理装置。
背景技术
在金融计算、风险控制、量化投资、机器学习等基础应用领域,时间序列分析得到广泛运用,例如,高维时间序列分析、高精度实时传感器数据分析、实时时间序列数据挖掘、实时在线模型训练和推理等。这些时间序列分析普遍存在数据计算量巨大、处理规则繁多、响应实时性要求高的问题。现有的通用计算系统在处理这类计算模式时效率较低,而且随着基础行业业务数据的爆发式增长,传统计算芯片的算力更加无法满足计算需求。
目前一些通过补充标准服务器,以通用CPU(中央处理器)结合针对特定应用加速的协处理器来共同处理海量数据。然而,这些处理器的硬件设备成本高,不易实现。至于采用GPU(图形处理器)替代CPU处理数据的方式也存在效率较低,数据延迟较大等问题。而且,这些实现方式的设备功耗都较高。
发明内容
有鉴于此,本发明提供了一种数据处理装置,以在保证序列数据的计算效率的情况下降低功耗。
为了实现上述目的,本发明采用以下方案:
在本发明一实施例中,数据处理装置,包括:
接口模块,用于获取参数数据,并实时获取序列数据;
存储模块,用于存储存取指令,并缓存获取的所述参数数据和所述序列数据;
配置模块,用于获取并配置可执行程序;
核心模块,包括FPGA芯片,分别与所述接口模块、所述存储模块及所述配置模块连接,用于通过所述存取指令接收缓存的所述参数数据和所述序列数据,并通过所述可执行程序实现根据接收的所述参数数据对接收的所述序列数据进行数据处理,以及输出数据处理结果;
时钟模块,与所述FPGA芯片连接,包括:
至少一个固定频率晶振输出单元,用于输出固定频率;
至少一个可编程晶振输出单元,用于根据所述FPGA芯片的实时功耗输出调节频率;
其中,所述固定频率和所述调节频率用于控制从所述存储模块到所述FPGA芯片的数据传输速率。
在本发明一实施例中,数据处理装置,还包括:
电源模块,与所述FPGA芯片连接,用于提供电源;
监测模块,与所述FPGA芯片连接,用于监测所述电源模块的输出电信号,并根据所述输出电信号确定所述实时功耗。
在本发明一实施例中,数据处理装置,还包括:控制模块,与所述FPGA芯片连接;
所述监测模块,还用于监测所述FPGA芯片的实时温度;
所述FPGA芯片,还用于根据所述实时温度输出风扇控制指令;
所述控制模块,用于根据所述风扇控制指令输出风扇控制电信号。
在本发明一实施例中,所述存储模块,包括:
至少一个QDRII SRAM,用于缓存所述参数数据;
至少一个DDR4 SDRAM,用于缓存所述序列数据,并在所述至少一个QDRII SRAM的存储空间不足时缓存所述参数数据;其中,所述参数数据的复用率大于所述序列数据的复用率。
在本发明一实施例中,所述QDRII SRAM的个数为4个;所述DDR4 SDRAM的个数为2个。
在本发明一实施例中,所述至少一个DDR4 SDRAM,还用于在所述至少一个QDRIISRAM的存储空间不足时缓存所述参数数据中复用率最低的数据。
在本发明一实施例中,所述至少一个DDR4 SDRAM,用于乒乓输入地缓存所述序列数据。
在本发明一实施例中,所述固定频率晶振输出单元的个数为3个;所述可编程晶振输出单元的个数为2个。
在本发明一实施例中,所述接口模块,包括:PCIe接口和/或QSFP+光电接口。
在本发明一实施例中,所述配置模块,还用于通过JTAG方式或AS方式将固化完成的所述可执行程序配置至所述FPGA芯片中。
本发明的数据处理装置,通过在时钟模块中同时设置固定频率晶振输出单元和可编程晶振输出单元,既能够利用固定频率晶振输出单元输出固定频率来保证序列数据的计算效率,又能够利用可编程晶振输出单元根据所述FPGA芯片的实时功耗调节频率,从而降低数据处理装置的功耗。进一步,通过针对序列数据的处理特点在存储模块中设置合理数量的QDRII SRAM和QDRII SRAM,能够提高序列数据的处理速度,从而提高序列数据处理的实时性和效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1是本发明一实施例的数据处理装置的结构示意图;
图2是本发明另一实施例的数据处理装置的结构示意图;
图3是本发明又一实施例的数据处理装置的结构示意图;
图4是本发明一具体实施例的数据处理装置的结构示意图;
图5是本发明一实施例中的数据处理方法的流程示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。
图1是本发明一实施例的数据处理装置的结构示意图。如图1所示,一些实施例的数据处理装置,可包括:接口模块110、存储模块120、配置模块130、核心模块140及时钟模块150,其中,核心模块140可包括FPGA芯片141。该数据处理装置可以是专用处理器、计算加速器装置、协处理器等,可以与CPU进行交互。
接口模块110用于获取参数数据,并实时获取序列数据。该参数数据可以是滤波所需参数等。该序列数据可以是时间序列数据、空间序列数据等,一般数据量较大。在序列数据处理过程中,参数数据的复用率一般较高,即,核心模块140需要频繁从存储模块120读取同样数据;序列数据的复用率一般较低,即,核心模块140可以从存储模块120读取一次后进行计算并输出。
存储模块120用于存储存取指令,并缓存获取的所述参数数据和所述序列数据。该存取指令可以经由接口模块110从主机获取后存储在存储模块120的闪存中。所述参数数据和所述序列数据可以经由接口模块110从主机获取后存储在存储模块120的缓存中。该存取指令可以用于控制存储模块120中的哪一种数据送入到核心模块140中FPGA芯片141的那个位置。
配置模块130用于获取并配置可执行程序。配置模块130可以从主机获取可执行程序并进行固化,然后将固化完成后的可执行程序配置至核心模块140中的FPGA(Field-Programmable Gate Array,现场可编程门阵列)芯片141。
核心模块140中的FPGA芯片141分别与所述接口模块110、所述存储模块120及所述配置模块130连接,该FPGA芯片141用于通过所述存取指令接收缓存的所述参数数据和所述序列数据,并通过所述可执行程序实现根据接收的所述参数数据对接收的所述序列数据进行数据处理,以及输出数据处理结果。具体而言,该FPGA芯片141可以根据所述存取指令来确定将缓存在所述储存模块120的所述参数数据和不同的所述序列数据分别输入至哪些位置或程序模块;该FPGA芯片141可以通过执行所述可执行程序来实现利用所述参数数据对所述序列数据进行数据处理,例如,对时间序列数据进行滤波处理。
时钟模块150与所述FPGA芯片141连接,该时钟模块150包括:至少一个固定频率晶振输出单元151和至少一个可编程晶振输出单元152。至少一个固定频率晶振输出单元151用于输出固定频率;至少一个可编程晶振输出单元152用于根据所述FPGA芯片141的实时功耗输出调节频率;其中,所述固定频率和所述调节频率用于控制从所述存储模块120到所述FPGA芯片141的数据传输速率。在现有技术中,时钟模块150一般只包含固定频率晶振输出单元,在特殊情况下,包含可编程晶振输出单元,但在现有技术中,可编程晶振输出单元主要是用于通过改变带宽来适应板间的连接匹配,即,用来提高板子的可扩展性。
本实施例中,通过在时钟模块中同时设置固定频率晶振输出单元和可编程晶振输出单元,既能够利用固定频率晶振输出单元输出固定频率来保证序列数据的计算效率,又能够利用可编程晶振输出单元根据所述FPGA芯片的实时功耗调节频率,从而降低数据处理装置的功耗。
图2是本发明另一实施例的数据处理装置的结构示意图。如图2所示,图1所示的数据处理装置,还可包括电源模块160和监测模块170,二者分别与所述FPGA芯片141连接。其中,电源模块160用于提供电源,可以为数据处理装置中的各模块提供电源,例如,接口模块110、存储模块120、配置模块130、核心模块140、时钟模块150、监测模块170等。监测模块170可用于监测所述电源模块160的输出电信号,并根据所述输出电信号确定所述实时功耗。该电信号例如可以是电流信号或电压信号。所确定的实时功耗例如可以用电流减小的百分比表示。监测模块170监测得到的实时功耗可以传输给FPGA芯片141,FPGA芯片141可以判断该实时功耗是否大于设定值;若是,可以做出进一步动作,例如,利用至少一个可编程晶振输出单元152降低序列数据从存储模块120向FPGA芯片141传输的速率,或者进一步或通过监测模块170监测得到的装置的温度,并判断装置的温度是否超标,若是可以进行暂停计算处理等动作,以避免FPGA芯片141或其他模块被烧坏。
本实施例,通过利用监测模块监测所述电源模块的输出电信号,并根据所述输出电信号确定所述实时功耗,能够实时减少数据处理装置的功耗,从而降低装置发热,进而防止装置中的芯片被烧毁。
图3是本发明又一实施例的数据处理装置的结构示意图。如图3所示,图2所示的数据处理装置,还可包括:控制模块180。该控制模块180可与所述FPGA芯片141连接。所述监测模块170还用于监测所述FPGA芯片141的实时温度;所述FPGA芯片141还用于根据所述实时温度输出风扇控制指令;所述控制模块180用于根据所述风扇控制指令输出风扇控制电信号。其中,可以监测模块170可包括温度传感器,可以利用温度传感器测量FPGA芯片141或整个数据处理装置的温度,并将温度输出至FPGA芯片141进行判断,若温度高于一定值,可以进行降低功耗的操作,例如,输出开启风扇的风扇控制指令。该控制模块180可以将风扇控制指令转化为电信号,传输给风扇,从而开启风扇为数据处理装置或其中的模块降温。
本实施例中,通过利用监测模块监测FPGA芯片的实时温度,利用FPGA芯片根据该实时温度输出风扇控制指令,并利用控制模块根据该风扇控制指令输出风扇控制电信号,能够实现根据数据处理装置的主要发热装置(FPGA芯片),从而避免装置被烧毁。
在一些实施例中,所述存储模块120,可包括:至少一个QDRII SRAM(四倍数据率II静态随机存取存储器)和至少一个DDR4 SDRAM(双倍数据率4同步动态随机存储器)。其中,至少一个QDRII SRAM用于缓存所述参数数据;至少一个DDR4 SDRAM用于缓存所述序列数据,并在所述至少一个QDRII SRAM的存储空间不足时缓存所述参数数据;其中,所述参数数据的复用率大于所述序列数据的复用率。在其他实施例中,存储模块120还可包括:至少一个FLASH Memory(例如,两片),用于存储上述存取指令。
QDRII SRAM的特点是容量小但存取数据的速率大,利用QDRII SRAM缓存数据量大的序列数据能够首先满足数据缓存的要求,而且由于序列数据的复用率较低,所以从QDRIISRAM读取序列数据至FPGA芯片或从FPGA芯片返回处理结果至QDRII SRAM的数据传输速率所受影响很小。QDRII SRAM的特点是容量大但存取数据的速率的小,参数数据的数据量较小所以可以用QDRII SRAM存储,而且参数数据的复用率较高,需要频繁从缓存读取参数数据至FPGA芯片,所以利用QDRII SRAM缓存参数数据能够提高数据读取速率。因此,本实施例中,根据数据和缓存的特点,利用QDRII SRAM和DDR4 SDRAM分别缓存序列数据和参数数据,能够提高序列数据的处理速度,从而提高序列数据处理的实时性和效率。
在一些实施例中,所述QDRII SRAM的个数为4个;所述DDR4 SDRAM的个数为2个。QDRII SRAM的特点是容量小但存取数据的速率大,而QDRII SRAM的特点是容量大但存取数据的速率的小,二者使用FPGA芯片中同样的管脚,各自的个数受到FPGA芯片的管脚个数的限制。
本实施例中,发明人通过研究发现,通过设置4个QDRII SRAM,设置2个DDR4SDRAM,既能够很好地满足数据缓存的需求,又能提高数据传输速率。
在一些实施例中,所述至少一个DDR4 SDRAM,具体地,可用于在所述至少一个QDRII SRAM的存储空间不足时缓存所述参数数据中复用率最低的数据。本实施例中,通过将复用率最低的未能由QDRII SRAM存储的数据缓存至DDR4 SDRAM,能够尽量减小数据传输速率的损失。
在一些实施例中,所述至少一个DDR4 SDRAM,用于乒乓输入地缓存所述序列数据。DDR4 SDRAM例如可以是2个。乒乓输入地缓存的过程例如可包括:在第一个缓冲周期,将输入序列数据缓存到第一DDR4 SDRAM;在第2个缓冲周期,可以通过所述存取指令的切换,将输入序列数据缓存到第二DDR4 SDRAM,同时将第一DDR4 SDRAM缓存的第1个周期数据送到FPGA芯片进行运算处理;在第3个缓冲周期,可以通过所述存取指令的再次切换,将输入的序列数据缓存到第一DDR4SDRAM,同时将第二DDR4 SDRAM缓存的第2个周期的数据通过所述存取指令切换,送到FPGA芯片进行运算处理,如此循环。
在一些实施例中,所述固定频率晶振输出单元151的个数为3个;所述可编程晶振输出单元152的个数为2个。固定频率晶振输出单元具有稳定性高、成本低的优点。可编程晶振输出单元具有频率可调的优点,但成本高。本实施例中,通过研究发现通过设置3个固定频率晶振输出单元能够满足序列数据传输带宽的基本需求,通过设置2个可编程晶振输出单元能够使得序列数据传输带宽的调节够用,因此上述设置能够综合稳定性、成本及频率调节的需求。
在一些实施例中,所述接口模块,包括:PCIe接口(Peripheral ComponentInterconnect Express,高速串行计算机扩展总线标准)和/或QSFP+光电接口(Quad SmallForm-factor Pluggable,四通道SFP接口)。本实施例中,利用PCIe接口可以便于从CPU主机接收数据,当数据需要预处理或识别时,可以在CPU主机上预处理或识别后再传输到该数据处理装置,以便于降低增加数据处理装置预处理难度。利用QSFP+光电接口能够直接获取光纤传输的数据,在数据类型等一定的情况下,通过QSFP+光电接口能够提高数据输入数据处理装置的速率。
在一些实施例中,所述配置模块130,还可用于通过JTAG((Joint Test ActionGroup,联合测试工作组)方式或AS方式(Active Serial Configuration Mode,主动串行配置模式)将固化完成的所述可执行程序配置至所述FPGA芯片141中。其中,利用JTAG方式掉电不可复原需要重新配置,而AS方式掉电可以恢复配置。
为了解决或部分解决时间序列分析应用场景中普遍存在的数据计算量巨大、处理规则繁多、响应实时性要求高等问题,在一些实施例中,利用FPGA对于时间序列分析的计算加速的特性,提出了适用于时间序列分析的计算加速装置,即,数据处理装置可包括核心模块、配置模块、时钟模块、存储模块、接口模块、监测模块、控制模块和电源模块。
各模块的具体功能如下:
核心模块,即FPGA,可负责计算加速架构及算法的实现,同时通过数据交互,实现存储模块、接口模块、监测模块以及控制模块的功能;
配置模块可通过JTAG方式或者AS方式将固化完成的可执行程序配置到FPGA中,使核心模块正确执行其功能;
时钟模块可为核心模块执行程序提供工作时钟,同时为接口模块数据传输提供参考时钟;
存储模块可辅助核心模块进行数据缓存和数据处理从而完成高速的数据交互,另外存储模块也负责关键数据的存储;
接口模块可负责与系统外部对接,实现数据的输入和输出;
监测模块可负责监测系统的温度及电源情况,并且向核心模块反馈信息,保证系统工作稳定性;
控制模块可负责控制风扇的运行,同时实现按钮的控制功能与LED灯的显示功能;
电源模块可为其他模块提供稳定低噪声的电压以及足够的电流,满足其他功能模块的功耗需求。
适用于时间序列分析的计算加速装置,可以通过以下步骤实现:
步骤一、电源模块按照配电顺序将外接的12V直流电压转化为各模块所需的稳定低噪声的电压,同时提供足够的工作电流,满足各模块工作需求;
步骤二、配置模块通过JTAG方式或者AS方式将固化完成的可执行程序配置到FPGA中,其中JTAG方式掉电不可复原需要重新配置,而AS方式掉电可以恢复配置;
步骤三、核心模块根据时钟模块提供的工作时钟执行配置完成的程序,对时钟模块的可编程时钟进行程序控制,设置接口模块数据传输的参考时钟频率;
步骤四、监测模块通过I2C协议接收核心模块程序指令,监测装置运行的温度及电源情况,并且通过I2C协议向核心模块反馈信息;
步骤五、核心模块通过I2C协议读取监测模块反馈信息,并且判定装置运行温度是否超过设定阈值;当温度高于设定值时,核心模块通过I2C协议向控制模块传输指令,启动风扇运转,而当温度低于设定值时,核心模块通过I2C协议向控制模块传输指令,停止风扇运转;
步骤六、接口模块根据时钟模块提供的低抖动参考时钟,输入需要计算加速处理的数据,经由核心模块到达存储模块进行缓存;
步骤七、核心模块调用存储模块缓存的原始数据,利用相应的核函数及并行处理算法对计算进行加速,计算结果输出到存储模块缓存;
步骤八、存储模块将计算计算处理后的数据经由核心模块,最后通过接口模块输出,完成数据计算加速的全过程。
与现有技术相比,本实施例的适用于时间序列分析的计算加速装置,具有如下有益效果:
1.利用FPGA实现了适用于时间序列分析的专用计算架构,采用数据驱动并行计算的架构,以数据流为中心进行计算,同时兼顾了时间序列分析中计算通量和实时性的需求,实现了计算速率和效率的多倍提升;
2.采用的FPGA可实现百万门级的硬件加速,同时集成低抖动、兼容性、平衡性的高速串行收发器,可实现最高12.5Gbps的传输速度,装置配备大容量高速度内存和存储以及高速可插拔QSFP+连接器,适配低延时高强度的应用需求尤其是计算密集型的应用场景;
3.采用低抖动晶振和时钟发生器结合的高性能定时器件中高速I/O接口提供时钟参考,兼具低抖动参考定时、小尺寸和内置电源噪声抑制的特性,最大限度地降低了开关电源噪声对高速I/O性能的影响,从而降低了数据传输的误码率;
4.采用标准PCI Express(PCIe)接口,适合于主流的服务器或工作站,可以快速部署且具有可扩展性,可以无缝升级现有的服务器基础设施,同时PCIe接口具有超高速数据传输速率,可满足大型服务器和磁盘阵列之间的高速数据交互,支持更高的虚拟化密度;
5.本发明所述装置搭载SDK(Software Development Kit,软件开发工具包)开发环境和基于高度封装的API((Application Programming Interface,应用程序编程接口)编译环境,配置不同的算法库使用权限,可以实现用户定制,可适用性广,且利于后续系统升级。
为使本领域技术人员更好地了解本发明,下面将以具体实施例说明本发明的实施方式。
图4是本发明一具体实施例的数据处理装置的结构示意图。如图4所示,该实施例的数据处理装置,即,计算加速装置可由核心模块、配置模块、时钟模块、存储模块、接口模块、监测模块、控制模块和电源模块构成。配置模块可包含MAX IICPLD(MAX IIComplexProgrammable Logic Device,MAX II复杂可编程逻辑器件)和USB Blaster(USB接口),时钟模块包含三片固定频率晶振输出单元和两片可编程晶振输出单元,存储模块包含两片FLASH Memory(闪存)、两片DDR4 SDRAM(Synchronous Dynamic Random Access Memory,同步动态随机存储)和四片QDRII+SRAM,接口模块包含四片QSFP+光电接口、PCIe接口和SMA等其他接口,监测模块包含温度感知和电源监测,控制模块包含电扇控制以及LED和开关控制,以上模块均与核心模块FPGA相连,电源模块与所有其他模块相连。
图5是本发明一实施例中的数据处理方法的流程示意图。如图5所示,输入数据经输入缓存得到计算加速处理的原始数据,调用对应核函数对原始数据进行处理得到预处理数据,对预处理数据并行计算得到计算结果,对并行的计算结果进行同步处理,得到有效数据,有效数据经过输出缓存,部分返回数据继续进行并行计算,另外部分作为输出数据输出。
以对计算金融领域的时间序列分析进行计算加速为例,一具体实施中的数据处理方法包括以下过程:
步骤1:外部12V直流电压通过PCIe接口接入本发明所述计算加速装置,经过电源隔离后,电源模块按照上电配置顺序首先将12V电压转化产生5V和3.3V电压,其次将12V电压转化产生0.9V和1V电压,最后将12V电压转化产生1.8V电压,将3.3V电压转化为1.5V和1.2V电压,提供足够的电流输入到其他模块;
步骤2:配置模块通过JTAG方式或者AS方式将固化完成的可执行程序配置到核心模块的FPGA中;其中JTAG方式掉电不可复原需要重新配置,而AS方式掉电可以恢复配置;
步骤3:时钟模块的固定频率晶振输出单元输出2路频率为100MHz和1路频率为50MHz的时钟信号;其中1路频率为50MHz的时钟信号经过时钟BUFFER的缓存,扇出5路频率为50MHz的时钟信号,与2路直接输出的频率为100MHz的时钟信号均输入到核心模块作为FPGA工作时钟;
步骤4:核心模块根据时钟模块提供的工作时钟执行步骤2中配置完成的程序,通过I2C协议向时钟模块的无源晶振与可编程时钟产生芯片,即可编程晶振时钟输出单元传输控制指令,使两个可编程晶振时钟输出单元输出接口模块数据传输所需频率的参考时钟;
步骤5:监测模块通过I2C协议接收核心模块程序指令,监测装置运行的温度高低及电源情况,并且通过I2C协议向核心模块反馈信息;
步骤6:核心模块通过I2C协议读取监测模块反馈信息,并且判定装置运行温度是否超过设定阈值40摄氏度;当温度高于设定值时,核心模块通过I2C协议向控制模块传输指令,启动风扇运转,而当温度低于设定值时,核心模块通过I2C协议向控制模块传输指令,停止风扇运转;
其中,步骤4、5、6中I2C协议传输速率均为1Mbit/s;
步骤7:依照参考采样时钟,输入数据通过接口模块进入计算加速装置,经由FPGA的高速数据传输接口进入存储模块的两片DDR4 SDRAM进行乒乓的输入缓存,缓存数据速率为1GHz,缓存数据量4GB;
其中,接口模块四片QSFP+光电接口采用的低抖动参考时钟频率为200MHz,(QuadSmall Form-factor Pluggable,四通道SFP接口)每片传输带宽40Gbps;PCIe接口采用的低抖动参考时钟频率为100MHz,传输带宽单通道8Gbps,8个通道共64Gbps;其他接口采用的参考时钟低于50MHz;
步骤8:存储模块DDR4 SDRAM缓存的原始数据输入到核心模块,后者调用相应的核函数对原始数据进行预处理,利用并行计算算法对预处理数据并行计算进行加速,并行计算的计算结果经过同步处理输出时钟对齐的有效数据进入存储模块的四片QDRII+SRAM进行乒乓的输出缓存,缓存数据速率为500MHz;
步骤9:核心模块读取输出缓存的有效数据,将部分返回数据输入并行计算单元进行后续的并行计算,同时将可用的输出数据通过接口模块的PCIe传输至外部,将重要的结果存储至存储模块的两片FLASH Memory中,存储数据量256MB,完成一种适用于时间序列分析的计算加速装置的工作全过程。
本实施例,对于时间序列分析,FPGA同时拥有流水线并行和数据并行,大大减小了输入与输出的延时比,能够满足很高的实时性要求。同时,虽然FPGA的处理频率一般比CPU低,但是可以实现并行度很大的硬件计算器,从而满足巨大的数据计算量与处理量。其次,FPGA拥有硬件可重构的体系结构,每个逻辑单元的功能和连接关系在程序配置后固定,没有复杂的指令逻辑,减轻处理规则的复杂度。另外,与GPU和CPU相比,FPGA拥有良好的运行能效比,实现相同计算加速性能时,功耗更低。
综上所述,本发明实施例的数据处理装置,通过在时钟模块中同时设置固定频率晶振输出单元和可编程晶振输出单元,既能够利用固定频率晶振输出单元输出固定频率来保证序列数据的计算效率,又能够利用可编程晶振输出单元根据所述FPGA芯片的实时功耗调节频率,从而降低数据处理装置的功耗。进一步,通过针对序列数据的处理特点在存储模块中设置合理数量的QDRII SRAM和QDRII SRAM,能够提高序列数据的处理速度,从而提高序列数据处理的实时性和效率。
在本说明书的描述中,参考术语“一个实施例”、“一个具体实施例”、“一些实施例”、“例如”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。各实施例中涉及的步骤顺序用于示意性说明本发明的实施,其中的步骤顺序不作限定,可根据需要作适当调整。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种数据处理装置,其特征在于,包括:
接口模块,用于获取参数数据,并实时获取序列数据;
存储模块,用于存储存取指令,并缓存获取的所述参数数据和所述序列数据;
配置模块,用于获取并配置可执行程序;
核心模块,包括FPGA芯片,分别与所述接口模块、所述存储模块及所述配置模块连接,用于通过所述存取指令接收缓存的所述参数数据和所述序列数据,并通过所述可执行程序实现根据接收的所述参数数据对接收的所述序列数据进行数据处理,以及输出数据处理结果;
时钟模块,与所述FPGA芯片连接,包括:
至少一个固定频率晶振输出单元,用于输出固定频率;
至少一个可编程晶振输出单元,用于根据所述FPGA芯片的实时功耗输出调节频率;
其中,所述固定频率和所述调节频率用于控制从所述存储模块到所述FPGA芯片的数据传输速率。
2.如权利要求1所述的数据处理装置,其特征在于,还包括:
电源模块,与所述FPGA芯片连接,用于提供电源;
监测模块,与所述FPGA芯片连接,用于监测所述电源模块的输出电信号,并根据所述输出电信号确定所述实时功耗。
3.如权利要求2所述的数据处理装置,其特征在于,还包括:控制模块,与所述FPGA芯片连接;
所述监测模块,还用于监测所述FPGA芯片的实时温度;
所述FPGA芯片,还用于根据所述实时温度输出风扇控制指令;
所述控制模块,用于根据所述风扇控制指令输出风扇控制电信号。
4.如权利要求1所述的数据处理装置,其特征在于,所述存储模块,包括:
至少一个QDRII SRAM,用于缓存所述参数数据;
至少一个DDR4 SDRAM,用于缓存所述序列数据,并在所述至少一个QDRII SRAM的存储空间不足时缓存所述参数数据;其中,所述参数数据的复用率大于所述序列数据的复用率。
5.如权利要求4所述的数据处理装置,其特征在于,所述QDRII SRAM的个数为4个;所述DDR4 SDRAM的个数为2个。
6.如权利要求4所述的数据处理装置,其特征在于,所述至少一个DDR4 SDRAM,还用于在所述至少一个QDRII SRAM的存储空间不足时缓存所述参数数据中复用率最低的数据。
7.如权利要求4所述的数据处理装置,其特征在于,所述至少一个DDR4 SDRAM,用于乒乓输入地缓存所述序列数据。
8.如权利要求1所述的数据处理装置,其特征在于,所述固定频率晶振输出单元的个数为3个;所述可编程晶振输出单元的个数为2个。
9.如权利要求1所述的数据处理装置,其特征在于,所述接口模块,包括:PCIe接口和/或QSFP+光电接口。
10.如权利要求1所述的数据处理装置,其特征在于,所述配置模块,还用于通过JTAG方式或AS方式将固化完成的所述可执行程序配置至所述FPGA芯片中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910118078.6A CN109918197B (zh) | 2019-02-15 | 2019-02-15 | 数据处理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910118078.6A CN109918197B (zh) | 2019-02-15 | 2019-02-15 | 数据处理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109918197A true CN109918197A (zh) | 2019-06-21 |
CN109918197B CN109918197B (zh) | 2020-02-21 |
Family
ID=66961594
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910118078.6A Active CN109918197B (zh) | 2019-02-15 | 2019-02-15 | 数据处理装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109918197B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111431596A (zh) * | 2020-03-24 | 2020-07-17 | 中星联华科技(北京)有限公司 | 一种信号升速方法及电路 |
WO2021109534A1 (zh) * | 2019-12-03 | 2021-06-10 | 深圳开立生物医疗科技股份有限公司 | 一种控制器的时钟配置方法、系统及超声设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150106649A1 (en) * | 2013-10-11 | 2015-04-16 | Qualcomm Innovation Center, Inc. | Dynamic scaling of memory and bus frequencies |
CN106249806A (zh) * | 2016-08-17 | 2016-12-21 | 上海锦同智能科技有限公司 | 一种高精准图像时钟信号产生方法及其装置 |
CN108152767A (zh) * | 2017-11-30 | 2018-06-12 | 华东师范大学 | 一种基于fpga的磁共振信号实时处理方法 |
-
2019
- 2019-02-15 CN CN201910118078.6A patent/CN109918197B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150106649A1 (en) * | 2013-10-11 | 2015-04-16 | Qualcomm Innovation Center, Inc. | Dynamic scaling of memory and bus frequencies |
CN106249806A (zh) * | 2016-08-17 | 2016-12-21 | 上海锦同智能科技有限公司 | 一种高精准图像时钟信号产生方法及其装置 |
CN108152767A (zh) * | 2017-11-30 | 2018-06-12 | 华东师范大学 | 一种基于fpga的磁共振信号实时处理方法 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021109534A1 (zh) * | 2019-12-03 | 2021-06-10 | 深圳开立生物医疗科技股份有限公司 | 一种控制器的时钟配置方法、系统及超声设备 |
CN111431596A (zh) * | 2020-03-24 | 2020-07-17 | 中星联华科技(北京)有限公司 | 一种信号升速方法及电路 |
CN111431596B (zh) * | 2020-03-24 | 2021-04-02 | 中星联华科技(北京)有限公司 | 一种信号升速方法及电路 |
Also Published As
Publication number | Publication date |
---|---|
CN109918197B (zh) | 2020-02-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Kwon et al. | Beyond the memory wall: A case for memory-centric hpc system for deep learning | |
Chen et al. | Cloud-DNN: An open framework for mapping DNN models to cloud FPGAs | |
US20010043122A1 (en) | Remotely controllable phase locked loop clock circuit | |
CN109993303B (zh) | 用于神经网络与深度学习的计算机加速装置 | |
Sheng et al. | Towards Low-Latency Communication on FPGA Clusters with 3D FFT Case Study | |
CN109918197A (zh) | 数据处理装置 | |
Qiao et al. | FANS: FPGA-accelerated near-storage sorting | |
CN112580792B (zh) | 一种神经网络多核张量处理器 | |
CN106970894A (zh) | 一种基于Arria10的FPGA异构加速卡 | |
Park et al. | TrainBox: an extreme-scale neural network training server architecture by systematically balancing operations | |
Henry et al. | High-performance deep-learning coprocessor integrated into x86 soc with server-class cpus industrial product | |
Fell et al. | The marenostrum experimental exascale platform (meep) | |
Rosenfeld et al. | Peering over the memory wall: Design space and performance analysis of the hybrid memory cube | |
Wang et al. | MOCA: An inter/intra-chip optical network for memory | |
Smaragdos et al. | Performance analysis of accelerated biophysically-meaningful neuron simulations | |
Lin et al. | swFLOW: A dataflow deep learning framework on sunway taihulight supercomputer | |
CN111190853A (zh) | 基于emif和srio接口的片间高速通信系统 | |
Minhas et al. | Nanostreams: A microserver architecture for real-time analytics on fast data streams | |
Weber et al. | Exploiting High-Bandwidth Memory for FPGA-Acceleration of Inference on Sum-Product Networks | |
Sun et al. | High-performance computing architecture for sample value processing in the smart grid | |
CN115794721A (zh) | 一种基于多核的PCIe网卡及其工作方法 | |
WO2022088171A1 (en) | Neural processing unit synchronization systems and methods | |
Kumar B et al. | A novel utilization-aware and power-delay-aware intelligent DMA controller for video streaming used in AI applications | |
Rościszewski et al. | The impact of the ac922 architecture on performance of deep neural network training | |
Melot | Algorithms and framework for energy efficient parallel stream computing on many-core architectures |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |