CN110175107A - 一种fpga云服务器性能的测试方法及测试系统 - Google Patents

一种fpga云服务器性能的测试方法及测试系统 Download PDF

Info

Publication number
CN110175107A
CN110175107A CN201910391685.XA CN201910391685A CN110175107A CN 110175107 A CN110175107 A CN 110175107A CN 201910391685 A CN201910391685 A CN 201910391685A CN 110175107 A CN110175107 A CN 110175107A
Authority
CN
China
Prior art keywords
test
performance
fpga
cloud server
measured
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
Application number
CN201910391685.XA
Other languages
English (en)
Other versions
CN110175107B (zh
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.)
Huazhong University of Science and Technology
Original Assignee
Huazhong University of Science and Technology
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 Huazhong University of Science and Technology filed Critical Huazhong University of Science and Technology
Priority to CN201910391685.XA priority Critical patent/CN110175107B/zh
Publication of CN110175107A publication Critical patent/CN110175107A/zh
Application granted granted Critical
Publication of CN110175107B publication Critical patent/CN110175107B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3414Workload generation, e.g. scripts, playback
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3419Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time

Abstract

本发明公开了一种FPGA云服务器性能的测试方法及测试系统,属于计算机云服务系统测试领域,包括:(1)分别从云端加载已加密的第一硬件测试程序和第二硬件测试程序到待测FPGA云服务器;第一硬件测试程序用于测试待测FPGA云服务器的数据传输性能,第二硬件测试程序用于测试待测FPGA云服务器中FPGA器件的计算性能;数据传输性能包括DMA读性能和DMA写性能,FPGA器件的计算性能包括浮点运算加速性能和位操作加速性能;(2)在待测FPGA云服务器中的虚拟机上分别运行第一硬件测试程序和第二硬件测试程序,以分别获得数据传输性能和FPGA器件的计算性能,从而完成对待测FPGA云服务器的性能测试。本发明能够提高对FPGA云服务器性能测试的准确度。

Description

一种FPGA云服务器性能的测试方法及测试系统
技术领域
本发明属于计算机云服务系统测试领域,更具体地,涉及一种FPGA云服务器性能的测试方法及测试系统。
背景技术
可编程门阵列(FPGA)由于具有高吞吐率、低延迟的特点,已经广泛应用于机器学习、高性能科学计算等技术领域,并且随着云服务技术的发展,FPGA云服务器逐渐流行起来,FPGA作为CPU的协处理器用于加速各类云服务。FPGA云服务器克服了FPGA编程难的缺点,同时有效利用了FPGA强大的运算能力和可重复编程的特性,用户只需要一个终端设备和网络连接,就可以获得高于CPU计算能力几十倍甚至几百倍的计算资源,以及运行在云端环境的软件资源。
FPGA云服务器属于一种基础设施即服务(IaaS,Infrastructure as a Service)平台,该平台整合了计算、存储以及网络等IT基础设施资源,以虚拟机实例的形式供租户按需使用。部署在FPGA云服务器上的业务性能主要由FPGA加速性能决定,因此,通过性能测试准确获取FPGA云服务器的性能极为重要。
FPGA云服务器中,FPGA资源可划分为两个区域,静态区域和动态区域,静态区域设计由运营商提供,用户无法配置这部分逻辑功能;动态区域对应一个或多个用户IP,用于自定义用户逻辑设计。由于与物理环境相比,云环境的复杂程度更高,编程接口的简化也掩盖了很多设计细节,因此对FPGA云服务器的性能测试是一项很困难的任务。目前的云服务器性能测试方法主要针对虚拟机的各方面性能进行考虑,包括CPU计算能力,内存,网络以及硬盘等,但是,这些测试方法并没有考虑到FPGA云服务器架构中更为底层的物理结构对FPGA云服务器性能所产生的影响,因此,通过现有的FPGA云服务器性能的测试方法所获取的测试结果,并不能反映FPGA云服务器真实的性能。因此,现有的FPGA云服务性能的测试方法,准确度不高。
发明内容
针对现有技术的缺陷和改进需求,本发明提供了一种FPGA云服务器性能的测试方法及测试系统,其目的在于,提高对FPGA云服务器性能测试的准确度。
为实现上述目的,按照本发明的一个方面,提供了一种FPGA云服务器性能的测试方法,包括:
(1)分别从云端加载已加密的第一硬件测试程序和第二硬件测试程序到待测FPGA云服务器;
第一硬件测试程序用于测试待测FPGA云服务器的数据传输性能,第二硬件测试程序用于测试待测FPGA云服务器中FPGA器件的计算性能;
(2)在待测FPGA云服务器中的虚拟机上分别运行第一硬件测试程序和第二硬件测试程序,以分别获得数据传输性能和FPGA器件的计算性能,从而完成对待测FPGA云服务器的性能测试。
FPGA云服务器由虚拟机、数据传输层和硬件加速层这三个子系统构成,FPGA云服务器的加速性能实际受数据传输层的性能和硬件加速层的性能影响,其中,数据传输层的性能即FPGA云服务器的数据传输性能,硬件加速层的性能即FPGA云服务器中FPGA器件的计算性能;本发明所提供的FPGA云服务器性能的测试方法,将FPGA云服务器的性能解耦成三个子系统的性能,分别测试数据传输性能和FPGA器件的计算性能以完成对FPGA云服务器性能的测试,由此能够结合FPGA云服务器架构的特点,提高FPGA云服务器性能测试的准确度。
进一步地,在待测FPGA云服务器中的虚拟机上运行第一硬件测试程序,获得数据传输性能,包括:DMA读性能测试和DMA写性能测试;
FPGA器件与虚拟机CPU之间通过虚拟化的PCIe通道传输内存数据,DMA传输方式是FPGA器件与虚拟机CPU之间最常用的数据传输方式,DMA读写性能也能够直接反映数据传输层性能,因此,本发明通过测试DMA读性能和DMA写性能实现对数据传输性能的测试,能够保证测试的准确性,并简化测试,降低测试难度。
更进一步地,DMA读性能测试包括:
(a1)通过DMA引擎将FPGA器件中大小为pkt_size的数据包传输到虚拟机的内存中,以完成对该数据包的DMA读操作;
(a2)记录该DMA读操作的数据传输时间;
(a3)将虚拟机内存中接收到的数据与该数据包进行比对,若相同,则判定此次测试有效;否则,判定此次测试无效;
(a4)重复执行步骤(a1)~(a3),直至有效的测试次数达到指定的测试次数n;
(a5)获得所有有效测试的数据传输总时间total_time_r,以计算DMA读性能为:
更进一步地,DMA写性能测试包括:
(b1)在虚拟机内存中初始化大小为pkt_size的数据包,并通过DMA引擎将该数据包从虚拟机内存传输到FPGA器件中,以完成对该数据包的DMA写操作;
(b2)记录该DMA写操作的数据传输时间;
(b3)将虚拟机内存中的数据包与写入FPGA器件中的数据进行比对,若相同,则判定此次测试有效;否则,判定此次测试无效;
(b4)重复执行步骤(b1)~(b3),直至有效的测试次数达到预设的测试次数n;
(b5)获得所有有效测试的数据传输总时间total_time_w,以计算DMA写性能为:
在上述DMA读性能测试和DMA写性能测试中,通过多次测试,并严格判定每一次测试是否有效,能够进一步保证测试的准确性。
进一步地,在待测FPGA云服务器中的虚拟机上运行第二硬件测试程序,获得FPGA器件的计算性能,包括:浮点运算加速性能测试和位操作加速性能测试。
浮点运算加速性能与数据挖掘、机器学习、大数据等技术实现紧密相关,能够反映FPGA云服务器在上述相关领域的效能表现;位操作,即与或非操作,是FPGA的一种基础指令操作,位操作加速性能反映了FPGA云服务器计算整形数据的能力;浮点运算加速性能和位操作加速性能能够直接反映FPGA器件的计算性能;因此,本发明通过测试浮点运算加速性能和位操作加速性能实现对FPGA器件的计算性能的测试,能够保证测试的准确性,并简化测试,降低测试难度。
更进一步地,浮点运算加速性能测试包括:
(c1)在虚拟机内存中初始化浮点矩阵A和浮点矩阵B,浮点矩阵A的行数和列数分别为N和K,浮点矩阵B的行数和列数分别为K和M;
(c2)在该虚拟机的CPU中计算第一结果矩阵为C0=AB;
(c3)利用FPGA器件中的乘法运算单元执行浮点矩阵A和浮点矩阵B的乘法运算,以得到第二结果矩阵C,并记录对应的运算时间comput_time;
(c4)将第二结果矩阵和第一结果矩阵进行比对,若相同,则判定此次测试有效,并计算浮点运算加速性能为:测试结束;否则,则判定此次测试无效,并转入步骤(c1)。
作为进一步优选地,浮点矩阵A和浮点矩阵B的规模均不小于1024*1024,以充分利用FPGA器件中乘法运算单元的计算性能。
更进一步地,位操作加速性能测试包括:
(d1)将被加密文件解析为字符串,以得到明文;
(d2)在虚拟机的CPU中利用预设的秘钥对明文进行AES加密,以得到第一密文;
(d3)将明文和秘钥均传输至FPGA器件中的AES加密单元,以使得AES加密单元利用秘钥对明文进行AES加密,从而得到第二密文,并记录对应的加密时间AES_time;
(d4)将第二密文与第一密文进行比对,若相同,则判定此次测试有效,并计算位操作加速性能为:否则,判定此次测试无效,并转入步骤(d1);
其中,file_size为被加密文件的大小。
作为进一步优选的,被加密文件的大小file_size≥30MB,以充分利用FPGA器件中位运算单元的计算性能。
上述浮点运算加速性能测试和位操作加速性能测试中,会严格判定测试是否有效,能够进一步保证测试的准确性。
按照本发明的另一方面,提供了一种FPGA云服务器性能的测试系统,包括:加载模块和测试模块;
加载模块,用于分别从云端加载已加密的第一硬件测试程序和第二硬件测试程序到待测FPGA云服务器;第一硬件测试程序用于测试待测FPGA云服务器的数据传输性能,第二硬件测试程序用于测试待测FPGA云服务器中FPGA器件的计算性能;
测试模块,用于在待测FPGA云服务器中的虚拟机上分别运行第一硬件测试程序和第二硬件测试程序,以分别获得数据传输性能和FPGA器件的计算性能,从而完成对待测FPGA云服务器的性能测试。
总体而言,通过本发明所构思的以上技术方案,能够取得以下有益效果:
(1)本发明所提供的FPGA云服务器性能的测试方法和系统,将FPGA云服务器的性能解耦成三个子系统的性能,分别测试数据传输性能和FPGA器件的计算性能以完成对FPGA云服务器性能的测试,由于数据传输性能和FPGA器件的计算性能能够最为直接且准确的反映FPGA云服务器的整体性能,因此,本发明能够结合FPGA云服务器架构的特点,有效提高FPGA云服务器性能测试的准确度。
(2)本发明所提供的FPGA云服务器性能的测试方法和系统,通过测试DMA读性能和DMA写性能实现对数据传输性能的测试,并通过测试浮点运算加速性能和位操作加速性能实现对FPGA器件的计算性能的测试,能够保证测试的准确性,并简化测试,降低测试难度。
(3)本发明所提供的FPGA云服务器性能的测试方法和系统,在每一项测试中,都会严格验证每一次测试的有效性,由此能够进一步保证对FPGA云服务器性能测试的准确性。
附图说明
图1为现有的FPGA云服务器架构示意图;
图2为本发明实施例提供的开发环境的初始化流程图;
图3为本发明实施例提供的FPGA云服务器性能测试的方法流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
在详细解释本发明的技术方案之前,先对FPGA云服务器的架构进行简要介绍。
FPGA云服务器的架构如图1所示,FPGA云服务器包括:虚拟机和FPGA板卡,FPGA板卡包含DDR存储器、乘法运算单元、位运算单元等各中FPGA器件,虚拟机运行在FPGA云服务器中,FPGA板卡作为一种硬件加速器为部署在FPGA云服务器上的任务提供性能加速,虚拟机和FPGA板卡通过PCIe通道传输数据;从功能上,可以将FPGA云服务器架构划分为三个子系统,即虚拟机、由FPGA板卡构成的硬件加速层以及在虚拟机和硬件加速层之间负责数据传输的数据传输层。
根据重构方式和操作权限的不同,FPGA云服务器被划分为静态区域和动态区域,其中,静态区域是整个系统架构的关键,也是整个系统的通用服务逻辑,用于连接虚拟机侧的应用程序与FPGA侧的动态区用户IP,静态区域包括PCIe协议控制器、DMA数据传输模块和内存控制器,PCIe协议控制器用于控制PCIe报文的构造、解析和传输,DMA数据传输模块用于将PCIe报文数据以DMA方式进行高效率传输,内存控制器用于控制数据在DDR存储器与FPGA之间的数据传输;动态区域对应一个或多个用户IP;静态区域不允许用户进行配置,动态区域则用于自定义用户逻辑设计。
FPGA云服务器提供两种开发套件,包括:硬件开发套件(HardwareDevelopmentKit,HDK)和软件开发套件(Software Development Kit,SDK);其中,HDK,用于提供硬件开发环境,包括加速器示例、编译工具及编译环境、自动化脚本和统一的FPGA硬件接口(例如PCIe接口、DMA接口和内存控制器接口等),这些接口与所述FPGA云服务器静态区域的所有模块相对应;SDK,用于提供软件开发环境,包括软件示例、云上FPGA管理工具、硬件抽象接口、加速器抽象接口和与HDK对应的驱动程序及软件库。
在对FPGA云服务器性能进行测试之前,需要执行启动虚拟机和配置必备的开发环境的步骤,具体过程如图2所示,包括:
(S01)登陆FPGA云平台,在控制台配置虚拟机参数,向云端服务器请求虚拟机;
(S02)云端服务器根据请求的参数配置启动虚拟机;
(S03)配置HDK开发环境和SDK开发环境。
针对图1所示的FPGA云服务器,发明所提供的FPGA云服务器性能的测试方法,如图3所示,包括:
(1)分别从云端加载已加密的第一硬件测试程序和第二硬件测试程序到待测FPGA云服务器;
第一硬件测试程序用于测试待测FPGA云服务器的数据传输性能,第二硬件测试程序用于测试待测FPGA云服务器中FPGA器件的计算性能;
第一硬件测试程序和第二硬件测试程序可预先编写好,并加密、打包后上传到云端;对测试程序的加密,可通过运行运营商提供的加密脚本完成;
(2)在待测FPGA云服务器中的虚拟机上分别运行第一硬件测试程序和第二硬件测试程序,以分别获得数据传输性能和FPGA器件的计算性能,从而完成对待测FPGA云服务器的性能测试;
在一个可选的实施方式中,在待测FPGA云服务器中的虚拟机上运行第一硬件测试程序,获得数据传输性能,包括:DMA读性能测试和DMA写性能测试;
FPGA器件与虚拟机CPU之间通过虚拟化的PCIe通道传输内存数据,DMA传输方式是FPGA器件与虚拟机CPU之间最常用的数据传输方式,DMA读写性能也能够直接反映数据传输层性能,因此,本发明通过测试DMA读性能和DMA写性能实现对数据传输性能的测试,能够保证测试的准确性,并简化测试,降低测试难度;
可选地,DMA读性能测试包括:
(a1)通过DMA引擎将FPGA器件中大小为pkt_size的数据包传输到虚拟机的内存中,以完成对该数据包的DMA读操作;
(a2)记录该DMA读操作的数据传输时间;具体地,可通过clock_gettime函数分别获取数据包开始传输和传输结束的时间,两个时间做差即可得到该数据传输时间;
(a3)将虚拟机内存中接收到的数据与该数据包进行比对,若相同,则判定此次测试有效;否则,判定此次测试无效;
(a4)重复执行步骤(a1)~(a3),直至有效的测试次数达到指定的测试次数n;
(a5)获得所有有效测试的数据传输总时间total_time_r,以计算DMA读性能为:
在本实施例中,DMA读性能的测试指标是单位时间内的数据传输量;
可选地,DMA写性能测试包括:
(b1)在虚拟机内存中初始化大小为pkt_size的数据包,并通过DMA引擎将该数据包从虚拟机内存传输到FPGA器件中,以完成对该数据包的DMA写操作;
(b2)记录该DMA写操作的数据传输时间;具体地,可通过clock_gettime函数分别获取数据包开始传输和传输结束的时间,两个时间做差即可得到该数据传输时间;
(b3)将虚拟机内存中的数据包与写入FPGA器件中的数据进行比对,若相同,则判定此次测试有效;否则,判定此次测试无效;
(b4)重复执行步骤(b1)~(b3),直至有效的测试次数达到预设的测试次数n;
(b5)获得所有有效测试的数据传输总时间total_time_w,以计算DMA写性能为:
在本实施例中,DMA写性能的测试指标是单位时间内的数据传输量;
在上述DMA读性能测试和DMA写性能测试中,通过多次测试,并严格判定每一次测试是否有效,能够进一步保证测试的准确性;
可选地,在执行上DMA读性能测试和DMA写性能测试之前,还可执行“echo 20>/sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages”命令配置本机大页内存,以降低缓存命中缺失率,提高内存访问效率;
在一个可选的实施方式中,在待测FPGA云服务器中的虚拟机上运行第二硬件测试程序,获得FPGA器件的计算性能,包括:浮点运算加速性能测试和位操作加速性能测试;
浮点运算加速性能与数据挖掘、机器学习、大数据等技术实现紧密相关,能够反映FPGA云服务器在上述相关领域的效能表现;位操作,即与或非操作,是FPGA的一种基础指令操作,位操作加速性能反映了FPGA云服务器计算整形数据的能力;浮点运算加速性能和位操作加速性能能够直接反映FPGA器件的计算性能;因此,本发明通过测试浮点运算加速性能和位操作加速性能实现对FPGA器件的计算性能的测试,能够保证测试的准确性,并简化测试,降低测试难度;具体可通过执行浮点运算密集型任务来测试FPGA器件的浮点运算加速性能,可通过执行位操作密集型任务来测试FPGA器件的位操作运算加速性能;
可选地,浮点运算加速性能测试包括:
(c1)在虚拟机内存中初始化浮点矩阵A和浮点矩阵B,浮点矩阵A的行数和列数分别为N和K,浮点矩阵B的行数和列数分别为K和M;
为充分利用FPGA器件中乘法运算单元的计算性能,浮点矩阵A和浮点矩阵B的规模均不小于1024*1024;浮点矩阵A和浮点矩阵B都是密集矩阵(Dense Matrix);
(c2)在该虚拟机的CPU中计算第一结果矩阵为C0=AB;
(c3)利用FPGA器件中的乘法运算单元执行浮点矩阵A和浮点矩阵B的乘法运算,以得到第二结果矩阵C,并记录对应的运算时间comput_time;具体地,可通过clock_gettime函数分别获取浮点矩阵乘法的开始时间和结束时间,两个时间做差即可得到该运算时间comput_time;
(c4)将第二结果矩阵和第一结果矩阵进行比对,若相同,则判定此次测试有效,并计算浮点运算加速性能为:测试结束;否则,则判定此次测试无效,并转入步骤(c1);
在本实施例中,算浮点运算加速性能的测试指标是每秒十亿次浮点运算次数(GFLOPs);
可选地,位操作加速性能测试包括:
(d1)将被加密文件解析为字符串,以得到明文;
为充分利用FPGA器件中位运算单元的计算性能,被加密文件的大小file_size≥30MB;
(d2)在虚拟机的CPU中利用预设的秘钥对明文进行AES加密,以得到第一密文;
(d3)将明文和秘钥均传输至FPGA器件中的AES加密单元,以使得AES加密单元利用秘钥对明文进行AES加密,从而得到第二密文,并记录对应的加密时间AES_time;具体地,可通过clock_gettime函数分别获取AES加密的开始时间和结束时间,两个时间做差即可得到该加密时间AES_time;
(d4)将第二密文与第一密文进行比对,若相同,则判定此次测试有效,并计算位操作加速性能为:否则,判定此次测试无效,并转入步骤(d1);
在本实施例中,位计算加速性能的测试指标是吞吐率,即单位时间内处理的数据量;
上述浮点运算加速性能测试和位操作加速性能测试中,会严格判定测试是否有效,能够进一步保证测试的准确性。
在FPGA云服务器的三个子系统中,FPGA云服务器的加速性能实际受数据传输层的性能和硬件加速层的性能影响,其中,数据传输层的性能即FPGA云服务器的数据传输性能,硬件加速层的性能即FPGA云服务器中FPGA器件的计算性能;上述FPGA云服务器性能的测试方法,将FPGA云服务器的性能解耦成三个子系统的性能,分别测试数据传输性能和FPGA器件的计算性能以完成对FPGA云服务器性能的测试,由此能够结合FPGA云服务器架构的特点,提高FPGA云服务器性能测试的准确度。
本发明还提供了一种FPGA云服务器性能的测试系统,用于实现上述FPGA云服务器性能的测试方法,该测试系统包括:加载模块和测试模块;
加载模块,用于分别从云端加载已加密的第一硬件测试程序和第二硬件测试程序到待测FPGA云服务器;第一硬件测试程序用于测试待测FPGA云服务器的数据传输性能,第二硬件测试程序用于测试待测FPGA云服务器中FPGA器件的计算性能;
测试模块,用于在待测FPGA云服务器中的虚拟机上分别运行第一硬件测试程序和第二硬件测试程序,以分别获得数据传输性能和FPGA器件的计算性能,从而完成对待测FPGA云服务器的性能测试;
在本发明实施例中,各模块的具体实施方式可参考上述方法实施例中的描述,在此将不再复述。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种FPGA云服务器性能的测试方法,其特征在于,包括:
(1)分别从云端加载已加密的第一硬件测试程序和第二硬件测试程序到待测FPGA云服务器;
所述第一硬件测试程序用于测试所述待测FPGA云服务器的数据传输性能,所述第二硬件测试程序用于测试所述待测FPGA云服务器中FPGA器件的计算性能;
(2)在所述待测FPGA云服务器中的虚拟机上分别运行所述第一硬件测试程序和所述第二硬件测试程序,以分别获得所述数据传输性能和所述FPGA器件的计算性能,从而完成对所述待测FPGA云服务器的性能测试。
2.如权利要求1所述的FPGA云服务器性能的测试方法,其特征在于,在所述待测FPGA云服务器中的虚拟机上运行所述第一硬件测试程序,获得所述数据传输性能,包括:DMA读性能测试和DMA写性能测试。
3.如权利要求2所述的FPGA云服务器性能的测试方法,其特征在于,所述DMA读性能测试包括:
(a1)通过DMA引擎将FPGA器件中大小为pkt_size的数据包传输到虚拟机的内存中,以完成对该数据包的DMA读操作;
(a2)记录该DMA读操作的数据传输时间;
(a3)将虚拟机内存中接收到的数据与该数据包进行比对,若相同,则判定此次测试有效;否则,判定此次测试无效;
(a4)重复执行步骤(a1)~(a3),直至有效的测试次数达到指定的测试次数n;
(a5)获得所有有效测试的数据传输总时间total_time_r,以计算DMA读性能为:
4.如权利要求2所述的FPGA云服务器性能的测试方法,其特征在于,所述DMA写性能测试包括:
(b1)在虚拟机内存中初始化大小为pkt_size的数据包,并通过DMA引擎将该数据包从虚拟机内存传输到FPGA器件中,以完成对该数据包的DMA写操作;
(b2)记录该DMA写操作的数据传输时间;
(b3)将虚拟机内存中的数据包与写入所述FPGA器件中的数据进行比对,若相同,则判定此次测试有效;否则,判定此次测试无效;
(b4)重复执行步骤(b1)~(b3),直至有效的测试次数达到预设的测试次数n;
(b5)获得所有有效测试的数据传输总时间total_time_w,以计算DMA写性能为:
5.如权利要求1所述的FPGA云服务器性能的测试方法,其特征在于,在所述待测FPGA云服务器中的虚拟机上运行所述第二硬件测试程序,获得所述FPGA器件的计算性能,包括:浮点运算加速性能测试和位操作加速性能测试。
6.如权利要求5所述的FPGA云服务器性能的测试方法,其特征在于,所述浮点运算加速性能测试包括:
(c1)在虚拟机内存中初始化浮点矩阵A和浮点矩阵B,所述浮点矩阵A的行数和列数分别为N和K,所述浮点矩阵B的行数和列数分别为K和M;
(c2)在所述该虚拟机的CPU中计算第一结果矩阵为C0=AB;
(c3)利用FPGA器件中的乘法运算单元执行所述浮点矩阵A和所述浮点矩阵B的乘法运算,以得到第二结果矩阵C,并记录对应的运算时间comput_time;
(c4)将所述第二结果矩阵和所述第一结果矩阵进行比对,若相同,则判定此次测试有效,并计算所述浮点运算加速性能为:测试结束;否则,则判定此次测试无效,并转入步骤(c1)。
7.如权利要求6所述的FPGA云服务器性能的测试方法,其特征在于,所述浮点矩阵A和浮点矩阵B的规模均不小于1024*1024。
8.如权利要求5所述的FPGA云服务器性能的测试方法,其特征在于,所述位操作加速性能测试包括:
(d1)将被加密文件解析为字符串,以得到明文;
(d2)在虚拟机的CPU中利用预设的秘钥对所述明文进行AES加密,以得到第一密文;
(d3)将所述明文和所述秘钥均传输至FPGA器件中的AES加密单元,以使得所述AES加密单元利用所述秘钥对所述明文进行AES加密,从而得到第二密文,并记录对应的加密时间AES_time;
(d4)将所述第二密文与所述第一密文进行比对,若相同,则判定此次测试有效,并计算所述位操作加速性能为:否则,判定此次测试无效,并转入步骤(d1);
其中,file_size为所述被加密文件的大小。
9.如权利要求8所述的FPGA云服务器性能的测试方法,其特征在于,所述被加密文件的大小file_size≥30MB。
10.一种FPGA云服务器性能的测试系统,其特征在于,包括:加载模块和测试模块;
所述加载模块,用于分别从云端加载已加密的第一硬件测试程序和第二硬件测试程序到待测FPGA云服务器;所述第一硬件测试程序用于测试所述待测FPGA云服务器的数据传输性能,所述第二硬件测试程序用于测试所述待测FPGA云服务器中FPGA器件的计算性能;
所述测试模块,用于在所述待测FPGA云服务器中的虚拟机上分别运行所述第一硬件测试程序和所述第二硬件测试程序,以分别获得所述数据传输性能和所述FPGA器件的计算性能,从而完成对所述待测FPGA云服务器的性能测试。
CN201910391685.XA 2019-05-13 2019-05-13 一种fpga云服务器性能的测试方法及测试系统 Active CN110175107B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910391685.XA CN110175107B (zh) 2019-05-13 2019-05-13 一种fpga云服务器性能的测试方法及测试系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910391685.XA CN110175107B (zh) 2019-05-13 2019-05-13 一种fpga云服务器性能的测试方法及测试系统

Publications (2)

Publication Number Publication Date
CN110175107A true CN110175107A (zh) 2019-08-27
CN110175107B CN110175107B (zh) 2020-07-28

Family

ID=67690902

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910391685.XA Active CN110175107B (zh) 2019-05-13 2019-05-13 一种fpga云服务器性能的测试方法及测试系统

Country Status (1)

Country Link
CN (1) CN110175107B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110597680A (zh) * 2019-09-20 2019-12-20 四川长虹电器股份有限公司 用于fpga云服务器性能测试的系统及方法
CN112162890A (zh) * 2020-09-24 2021-01-01 深圳市航顺芯片技术研发有限公司 一种mcu的dma压力测试方法、设备及存储介质
CN112699069A (zh) * 2020-12-28 2021-04-23 中孚信息股份有限公司 一种基于PCIe接口的高速数据传输方法及系统
CN113139359A (zh) * 2021-03-29 2021-07-20 西安润道智检科技有限公司 基于fpga内嵌处理器的虚拟仿真测试方法

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106445759A (zh) * 2016-10-28 2017-02-22 浪潮软件集团有限公司 一种通用的云服务器测试方法
CN106778015A (zh) * 2016-12-29 2017-05-31 哈尔滨工业大学(威海) 一种基于云平台中fpga异构加速基因计算方法
CN107301140A (zh) * 2017-06-27 2017-10-27 山东超越数控电子有限公司 一种利用fpga接口板采用dma进行数据传输的方法
CN108319563A (zh) * 2018-01-08 2018-07-24 华中科技大学 一种基于fpga的网络功能加速方法和系统
CN108804232A (zh) * 2018-06-26 2018-11-13 郑州云海信息技术有限公司 一种支持云端fpga部署的方法、主机服务器及系统
CN108932135A (zh) * 2018-06-29 2018-12-04 中国科学技术大学苏州研究院 基于fpga的分类算法的加速平台设计方法
US20190026150A1 (en) * 2017-07-20 2019-01-24 Cisco Technology, Inc. Fpga acceleration for serverless computing
US10223242B1 (en) * 2018-08-27 2019-03-05 Capital One Services, Llc Testing an application in a production infrastructure temporarily provided by a cloud computing environment

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106445759A (zh) * 2016-10-28 2017-02-22 浪潮软件集团有限公司 一种通用的云服务器测试方法
CN106778015A (zh) * 2016-12-29 2017-05-31 哈尔滨工业大学(威海) 一种基于云平台中fpga异构加速基因计算方法
CN107301140A (zh) * 2017-06-27 2017-10-27 山东超越数控电子有限公司 一种利用fpga接口板采用dma进行数据传输的方法
US20190026150A1 (en) * 2017-07-20 2019-01-24 Cisco Technology, Inc. Fpga acceleration for serverless computing
CN108319563A (zh) * 2018-01-08 2018-07-24 华中科技大学 一种基于fpga的网络功能加速方法和系统
CN108804232A (zh) * 2018-06-26 2018-11-13 郑州云海信息技术有限公司 一种支持云端fpga部署的方法、主机服务器及系统
CN108932135A (zh) * 2018-06-29 2018-12-04 中国科学技术大学苏州研究院 基于fpga的分类算法的加速平台设计方法
US10223242B1 (en) * 2018-08-27 2019-03-05 Capital One Services, Llc Testing an application in a production infrastructure temporarily provided by a cloud computing environment

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110597680A (zh) * 2019-09-20 2019-12-20 四川长虹电器股份有限公司 用于fpga云服务器性能测试的系统及方法
CN112162890A (zh) * 2020-09-24 2021-01-01 深圳市航顺芯片技术研发有限公司 一种mcu的dma压力测试方法、设备及存储介质
CN112162890B (zh) * 2020-09-24 2021-09-21 深圳市航顺芯片技术研发有限公司 一种mcu的dma压力测试方法、设备及存储介质
CN112699069A (zh) * 2020-12-28 2021-04-23 中孚信息股份有限公司 一种基于PCIe接口的高速数据传输方法及系统
CN113139359A (zh) * 2021-03-29 2021-07-20 西安润道智检科技有限公司 基于fpga内嵌处理器的虚拟仿真测试方法
CN113139359B (zh) * 2021-03-29 2023-09-08 西安润道智检科技有限公司 基于fpga内嵌处理器的虚拟仿真测试方法

Also Published As

Publication number Publication date
CN110175107B (zh) 2020-07-28

Similar Documents

Publication Publication Date Title
CN110175107A (zh) 一种fpga云服务器性能的测试方法及测试系统
Bortolotti et al. Virtualsoc: A full-system simulation environment for massively parallel heterogeneous system-on-chip
Saldaña et al. MPI as a programming model for high-performance reconfigurable computers
US7437282B2 (en) Method and apparatus to provide alternative stimulus to signals internal to a model actively running on a logic simulation hardware emulator
CN113704041A (zh) Fpga设计的安全调试
US11934825B2 (en) Event-driven design simulation
US20200371843A1 (en) Framework for application driven exploration and optimization of hardware engines
Schmitz et al. TPM-SIM: A framework for performance evaluation of trusted platform modules
US20180349252A1 (en) Execution of graphic workloads on a simulated hardware environment
US11106846B1 (en) Systems and methods for emulation data array compaction
Kumar et al. ESP: A language for programmable devices
Park et al. Coprocessor computing with FPGA and GPU
US11119787B1 (en) Non-intrusive hardware profiling
Li et al. Formal and virtual multi-level design space exploration
Koehler et al. Platform-aware bottleneck detection for reconfigurable computing applications
Saldana et al. A message-passing hardware/software co-simulation environment to aid in reconfigurable computing design using TMD-MPI
Ghasemi A scalable heterogeneous dataflow architecture for big data analytics using fpgas
CN110597680A (zh) 用于fpga云服务器性能测试的系统及方法
Chen et al. MRP: Mix real cores and pseudo cores for FPGA-based chip-multiprocessor simulation
US11048843B1 (en) Dynamic netlist modification of compacted data arrays in an emulation system
US20230267253A1 (en) Automated synthesis of virtual system-on-chip environments
Saldana et al. A message-passing hardware/software cosimulation environment for reconfigurable computing systems
Maas et al. A high-performance oblivious RAM controller on the convey HC-2ex heterogeneous computing platform
Bellows High-visibility debug-by-design for FPGA platforms
Arora et al. Exploring software partitions for fast security processing on a multiprocessor mobile SoC

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