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云服务器的性能测试。