CN114721922A - 一种服务器集群的性能评估方法、计算设备及存储介质 - Google Patents

一种服务器集群的性能评估方法、计算设备及存储介质 Download PDF

Info

Publication number
CN114721922A
CN114721922A CN202210525856.5A CN202210525856A CN114721922A CN 114721922 A CN114721922 A CN 114721922A CN 202210525856 A CN202210525856 A CN 202210525856A CN 114721922 A CN114721922 A CN 114721922A
Authority
CN
China
Prior art keywords
benchmark test
benchmark
test
server cluster
running time
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
CN202210525856.5A
Other languages
English (en)
Other versions
CN114721922B (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.)
Beijing Paratera Technology Co ltd
Original Assignee
Beijing Paratera Technology 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 Beijing Paratera Technology Co ltd filed Critical Beijing Paratera Technology Co ltd
Priority to CN202210525856.5A priority Critical patent/CN114721922B/zh
Publication of CN114721922A publication Critical patent/CN114721922A/zh
Application granted granted Critical
Publication of CN114721922B publication Critical patent/CN114721922B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种服务器集群的性能评估方法、计算设备及存储介质,该方法在计算服务器上执行,计算服务器部署于待测服务器集群中,该方法包括:对基准测试集中的每个基准测试,编译基准测试对应的源码以获取基准测试可执行程序;多次运行基准测试可执行程序,并在每次运行完成后,对基准测试可执行程序的运行结果进行正确性验证;若运行结果通过正确性验证的次数达到预设通过次数,则计算基准测试的最终运行时间;根据基准测试集中每个基准测试的最终运行时间、参照运行时间和得分权重,确定待测服务器集群的测试得分,以评估待测服务器集群的性能。

Description

一种服务器集群的性能评估方法、计算设备及存储介质
技术领域
本发明涉及高性能计算及测试技术领域,特别涉及一种服务器集群的性能评估方法、计算设备及存储介质。
背景技术
在对服务器集群进行性能评估时,主要是通过四项基本测试来实现,包括针对CPU(Central Processing Unit,中央处理器)浮点性能的LINPACK(Linear System Package,线性系统软件包)测试、针对内存性能的Stream(一种内存带宽测试程序)测试、针对网络性能的IMB(Intel MPI(Message Passing Interface,信息传递接口)Benchmarks,英特尔公司提供的MPI基准)测试、以及针对硬盘性能的IOZone(一种文件系统的检测工具)测试。
但是,上述四项基本测试是分别对服务器集群的不同方面进行测试,不能直接反映应用,特别是HPC(High Performance Computing,高性能计算)应用的实际运行效果。而其他有针对性的常规测试工具,如由SPEC(Standard Performance EvaluationCorporation标准性能评估组织)为CPU选型推出的测试软件SPEC CPU,其测试的对象是CPU,选用的测试基准是CPU密集型应用,反映的是CPU的性能。而对于某些领域,如HPC领域,应用的运行速度往往由CPU、内存、网络、硬盘等多种因素同时影响,类似SPEC CPU的测试工具无法评估现实领域应用在高性能服务器集群上运行的性能效果,难以满足面向实际应用的服务器集群的性能评估测试需求。
因此,需要一种新的服务器集群的性能评估方法,以解决上述问题。
发明内容
为此,本发明提供一种服务器集群的性能评估方案,以力图解决或者至少缓解上面存在的问题。
根据本发明的一个方面,提供一种服务器集群的性能评估方法,该方法在计算服务器中执行,计算服务器部署于待测服务器集群中,该方法包括如下步骤:首先,对基准测试集中的每个基准测试,编译基准测试对应的源码以获取基准测试可执行程序;多次运行基准测试可执行程序,并在每次运行完成后,对基准测试可执行程序的运行结果进行正确性验证;若运行结果通过正确性验证的次数达到预设通过次数,则计算基准测试的最终运行时间;根据基准测试集中每个基准测试的最终运行时间、参照运行时间和得分权重,确定待测服务器集群的测试得分,以评估待测服务器集群的性能。
可选地,在根据本发明的服务器集群的性能评估方法中,还包括:在每次运行完成后,获取基准测试可执行程序的输出数据;对输出数据进行后处理,以生成对应的运行结果,后处理包括格式转换、字符串去除、数据对齐、求取范数中至少一种。
可选地,在根据本发明的服务器集群的性能评估方法中,对基准测试可执行程序的运行结果进行正确性验证的步骤,包括:通过检验基准测试可执行程序的运行结果中的关键数据,进行正确性验证;和/或将基准测试可执行程序的运行结果与参照输出数据进行对比,以验证正确性。
可选地,在根据本发明的服务器集群的性能评估方法中,计算基准测试的最终运行时间的步骤,包括:对各通过正确性验证的运行结果所对应的程序运行时间,取中位数作为基准测试的最终运行时间。
可选地,在根据本发明的服务器集群的性能评估方法中,根据基准测试集中每个基准测试的最终运行时间、参照运行时间和得分权重,确定待测服务器集群的测试得分的步骤,包括:对基准测试集中的每个基准测试,将基准测试的参照运行时间与最终运行时间的比值作为得分;将每个基准测试的得分与得分权重的乘积进行加和处理,以计算出待测服务器集群的测试得分。
可选地,在根据本发明的服务器集群的性能评估方法中,还包括:从计算服务器上安装的操作系统中记录下对应的硬件信息和软件信息,硬件信息包括中央处理器信息、内存信息、主板信息、硬盘信息和网络信息,软件信息包括操作系统信息、编译器信息和系统库信息。
可选地,在根据本发明的服务器集群的性能评估方法中,还包括:校验基准测试集中每个基准测试对应的测试相关文件的哈希值,以便后续编译处理,测试相关文件包括测试主体、基准测试对应的源码、输入数据、参照输出数据、记录参照运行时间的文本文件。
可选地,在根据本发明的服务器集群的性能评估方法中,基准测试集由数据服务器集群中的管理服务器生成,包括:通过数据服务器集群中的管理服务器,对各被提交的作业进行处理,以确定各被提交的作业关联的应用的总运行时间;根据各应用的总运行时间,计算各应用的运行时间占比;对每个应用,将应用的运行时间占比作为应用对应的基准测试的得分权重,以构建基准测试集。
可选地,在根据本发明的服务器集群的性能评估方法中,通过数据服务器集群中的管理服务器,对各被提交的作业进行处理,以确定各被提交的作业关联的应用的总运行时间的步骤,包括:通过数据服务器集群中的管理服务器,分别对各被提交的作业进行解析,以确定各被提交的作业关联的应用;记录各被提交的作业的运行时间;将各被提交的作业的运行时间,相应累加到各被提交的作业关联的应用的总运行时间上。
根据本发明的又一个方面,提供了一种计算设备,包括:至少一个处理器;以及存储器,存储有程序指令,其中,程序指令被配置为适于由至少一个处理器执行,程序指令包括用于执行如上所述的服务器集群的性能评估方法的指令。
根据本发明的又一个方面,提供了一种存储有程序指令的可读存储介质,当程序指令被计算设备读取并执行时,使得计算设备执行如上所述的服务器集群的性能评估方法。
根据本发明的服务器集群的性能评估方案,对基准测试集中的每个基准测试,多次运行基准测试对应的基准测试可执行程序,并在每次运行完成后,对运行结果进行正确性验证,若运行结果通过正确性验证的次数达到预设通过次数,则计算基准测试的最终运行时间,根据基准测试集中每个基准测试的最终运行时间、参照运行时间和得分权重,确定待测服务器集群的测试得分,以评估性能。在上述技术方案中,基于现实领域应用对服务器集群进行测试,一方面结果更符合现实应用场景,另一方面可以全面发挥服务器集群的性能,使基准测试更准确,反映的计算能力更真实。
附图说明
为了实现上述以及相关目的,本文结合下面的描述和附图来描述某些说明性方面,这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面旨在落入所要求保护的主题的范围内。通过结合附图阅读下面的详细描述,本公开的上述以及其它目的、特征和优势将变得更加明显。遍及本公开,相同的附图标记通常指代相同的部件或元素。
图1示出了根据本发明一个实施例的计算设备100的结构框图;以及
图2示出了根据本发明一个实施例的服务器集群的性能评估方法200的流程图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
图1示出了根据本发明一个实施例的计算设备100的结构框图。
如图1所示,在基本配置102中,计算设备100典型地包括系统存储器106和一个或者多个处理器104。存储器总线108可以用于在处理器104和系统存储器106之间的通信。
取决于期望的配置,处理器104可以是任何类型的处理器,包括但不限于:微处理器(UP)、微控制器(UC)、数字信息处理器(DSP)或者它们的任何组合。处理器104可以包括诸如一级高速缓存110和二级高速缓存112之类的一个或者多个级别的高速缓存、处理器核心114和寄存器116。示例的处理器核心114可以包括运算逻辑单元(ALU)、浮点数单元(FPU)、数字信号处理核心(DSP核心)或者它们的任何组合。示例的存储器控制器118可以与处理器104一起使用,或者在一些实现中,存储器控制器118可以是处理器104的一个内部部分。
取决于期望的配置,系统存储器106可以是任意类型的存储器,包括但不限于:易失性存储器(诸如RAM)、非易失性存储器(诸如ROM、闪存等)或者它们的任何组合。系统存储器106可以包括操作系统120、一个或者多个应用122以及程序数据124。在一些实施方式中,应用122可以布置为在操作系统上由一个或多个处理器104利用程序数据124执行指令。
计算设备100还包括储存设备132,储存设备132包括可移除储存器136和不可移除储存器138。
计算设备100还可以包括储存接口总线134。储存接口总线134实现了从储存设备132(例如,可移除储存器136和不可移除储存器138)经由总线/接口控制器130到基本配置102的通信。操作系统120、应用122以及程序数据124的至少一部分可以存储在可移除储存器136和/或不可移除储存器138上,并且在计算设备100上电或者要执行应用122时,经由储存接口总线134而加载到系统存储器106中,并由一个或者多个处理器104来执行。
计算设备100还可以包括有助于从各种接口设备(例如,输出设备142、外设接口144和通信设备146)到基本配置102经由总线/接口控制器130的通信的接口总线140。示例的输出设备142包括图像处理单元148和音频处理单元150。它们可以被配置为有助于经由一个或者多个A/V端口152与诸如显示器或者扬声器之类的各种外部设备进行通信。示例外设接口144可以包括串行接口控制器154和并行接口控制器156,它们可以被配置为有助于经由一个或者多个I/O端口158和诸如输入设备(例如,键盘、鼠标、笔、语音输入设备、触摸输入设备)或者其他外设(例如打印机、扫描仪等)之类的外部设备进行通信。示例的通信设备146可以包括网络控制器160,其可以被布置为便于经由一个或者多个通信端口164与一个或者多个其他计算设备162通过网络通信链路的通信。
网络通信链路可以是通信介质的一个示例。通信介质通常可以体现为在诸如载波或者其他传输机制之类的调制数据信号中的计算机可读指令、数据结构、程序模块,并且可以包括任何信息递送介质。“调制数据信号”可以是这样的信号,它的数据集中的一个或者多个或者它的改变可以在信号中以编码信息的方式进行。作为非限制性的示例,通信介质可以包括诸如有线网络或者专线网络之类的有线介质,以及诸如声音、射频(RF)、微波、红外(IR)或者其它无线介质在内的各种无线介质。这里使用的术语计算机可读介质可以包括存储介质和通信介质二者。
计算设备100可以实现为包括桌面计算机和笔记本计算机配置的个人计算机。当然,计算设备100也可以实现为小尺寸便携(或者移动)电子设备的一部分,这些电子设备可以是诸如蜂窝电话、数码照相机、个人数字助理(PDA)、个人媒体播放器设备、无线网络浏览设备、个人头戴设备、应用专用设备、或者可以包括上面任何功能的混合设备。甚至可以被实现为服务器,如文件服务器、数据库服务器、应用程序服务器和WEB服务器等。本发明的实施例对此均不做限制。
在根据本发明的实施例中,计算设备100实现为服务器,具体可实现为计算服务器,并被配置为执行根据本发明的服务器集群的性能评估方法200。其中,布置在操作系统上的应用122中包含用于执行本发明的服务器集群的性能评估方法200的多条程序指令,这些程序指令可以指示处理器104执行本发明的服务器集群的性能评估方法200,以便计算设备100通过执行本发明的服务器集群的性能评估方法200对服务器集群进行性能评估。
图2示出了根据本发明一个实施例的服务器集群的性能评估方法200的流程图。服务器集群的性能评估方法200可以在计算服务器(例如可由前述计算设备100实现)中执行,计算服务器部署于待测服务器集群中。需要说明的是,本发明中涉及到的应用,可以是高性能计算应用,也可以是与高性能计算应用类似的应用或其他应用。当应用是高性能计算应用时,用于运行高性能计算应用的服务器集群可以理解为是高性能计算服务器集群。
如图2所示,方法200始于步骤S210。在步骤S210中,对基准测试集中的每个基准测试,编译基准测试对应的源码以获取基准测试可执行程序。根据本发明的一个实施例,基准测试集由数据服务器集群中的管理服务器生成。为便于理解,以下先对待测服务器集群、数据服务器集群进行简要说明。
待测服务器集群是对其性能不甚了解、根据相关需求确认需要获取集群性能的服务器集群,而数据服务器集群是可提供数据来构建基准测试集、能够或者方便获取数据的服务器集群。此处的数据服务器集群也可以选用参照服务器集群来代替,参照服务器集群是已测试过、对性能有所了解的服务器集群。通过数据服务器集群可以生成基准测试集,将基准测试集应用到参照服务器集群中可以获取参照数据,包括参照输出数据、参照运行时间等,最终可利用基准测试集,结合参照数据对待测服务器集群进行性能评估。这三类服务器集群一般均包括管理服务器和计算服务器,还可包括存储服务器,应用和数据存储在存储服务器上,便于服务器集群共享,不同服务器所具备的功能和数量可根据具体要求来实现和确定,本发明对此并不限制。
在生成基准测试集时,先通过数据服务器集群中的管理服务器,对各被提交的作业进行处理,以确定各被提交的作业关联的应用的总运行时间。根据本发明的一个实施例,可采取如下方式确定各被提交的作业关联的应用的总运行时间。在该实施方式中,通过数据服务器集群中的管理服务器,分别对各被提交的作业进行解析,以确定各被提交的作业关联的应用,记录各被提交的作业的运行时间,将各被提交的作业的运行时间,相应累加到各被提交的作业关联的应用的总运行时间上。
具体来说,数据服务器集群中的管理服务器检测各被提交的作业,分别对各被提交的作业对应的作业提交命令行或者作业提交脚本进行解析。对于以命令行方式提交的作业或者以脚本方式提交而脚本中有显式的作业提交命令行的作业,对命令行参数进行解析,获得可执行程序名称及可执行程序路径。对于以脚本方式提交而脚本中没有显式的作业提交命令行的作业,检索脚本中是否有mpirun(MPI程序快速执行命令)或mpiexec(MPI程序运行命令)命令,如果有,则对mpirun或mpiexec命令的参数进行解析,获得可执行程序名称及可执行程序路径,如果没有,则在作业运行期间,获取计算节点运行对应作业的核心上占用率最高的可执行程序名称及可执行程序路径。
数据服务器集群中的管理服务器检测到被提交的作业结束,记录对应的运行时间。根据可执行程序名称与应用名称对应关系,将可执行程序名称对应到应用上。对于一个可执行程序名称对应一个应用的可执行程序,直接将作业的运行时间累加到对应应用的总运行时间上。对于一个可执行程序名称对应多个应用的可执行程序,如果可执行程序路径包含其中一个应用的名称,则将作业的运行时间累加到该应用的总运行时间上。对于可执行程序名称没有经验性的对应应用名称的可执行程序,将可执行程序名称作为应用名称,将作业的运行时间累加到该应用名称对应应用的总运行时间上。基于此,可以计算出各被提交的作业关联的应用的总运行时间。
然后,根据各应用的总运行时间,计算各应用的运行时间占比。例如,对每个应用,计算应用的总运行时间与全部应用的总运行时间的加和之比,以获取该应用的运行时间占比。进而,对每个应用,将应用的运行时间占比作为应用对应的基准测试的得分权重,以构建基准测试集。
在基准测试集中,每个基准测试可以理解为对应一个应用,其关联有相应的得分权重。此外,基准测试还可以关联有对应的源码、输入数据、参照输出数据和参照运行时间,所有基准测试及其关联的内容共同构成了基准测试集。当然,基准测试集所包括的内容可以根据测试需求等实际情况来相适应调整,此处不进行限制。
根据本发明的一个实施例,为方便后续编译和运行处理,待测服务器集群上通常会预先安装MPI。例如,可直接安装预编译版本,或从源码编译的方式来进行安装。安装完成之后,还需要完成相应的路径添加操作,方可编译和运行使用MPI的程序或应用。对于MPI的安装方式及相应配置,可参考常用技术手段来实现,本发明对此不再赘述。
而后,加载编译环境,将编译器、包含文件、库文件路径添加到环境变量当中,并对基准测试进行配置,配置将影响后续的编译和运行流程。配置的内容通常包括本次基准测试的名称、基准测试编译和运行时的环境变量、编译各基准测试可执行文件所采用的编译器、编译各基准测试可执行文件所采用的编译选项、各基准测试的总共运行的次数、各基准测试同时运行的进程数、各基准测试用时运行的线程数、各基准测试所采用的输入数据、结果展示文件的格式等。
根据本发明的一个实施例,方法200还包括从计算服务器上安装的操作系统中记录下对应的硬件信息和软件信息,硬件信息包括中央处理器信息、内存信息、主板信息、硬盘信息和网络信息,软件信息包括操作系统信息、编译器信息和系统库信息。
在该实施方式中,中央处理器信息包括CPU生产厂商、CPU型号、CPU主频、CPU核心数量、CPU各级缓存容量和CPU支持的指令集。内存信息包括内存厂商、内存容量、可用内存容量、内存类型和内存频率。主板信息包括主板厂商和主板型号,硬盘信息包括硬盘总容量和硬盘可用容量,网络信息包括固件版本和网络带宽。操作系统信息包括操作系统版本,编译器信息包括编译器厂商和编译器版本,系统库信息包括系统库版本。软件信息还包括BIOS(Basic Input Output System,基本输入输出系统)信息,BIOS信息包括BIOS厂商和BIOS版本。
对于具体获取硬件信息和软件信息的方式,根据操作系统的不同,可通过相应的命令、文件、选项或执行操作来实现,在此不进行赘述。对服务器集群,特别是高性能计算服务器集群而言,硬件往往对于其性能有决定性的作用,而其软件也会对性能释放产生影响。记录待测服务器集群的基本信息(如硬件信息、软件信息)有利于测试人员进行信息汇总、对比不同服务器集群、分析服务器集群性能瓶颈、以及在出现性能问题时进行诊断。
根据本发明的一个实施例,方法200还包括校验基准测试集中每个基准测试对应的测试相关文件的哈希值,以便后续编译处理,确保文件没有在传输过程中损坏或者被人为修改。其中,测试相关文件包括测试主体、基准测试对应的源码、输入数据、参照输出数据、记录参照运行时间的文本文件。
在该实施方式中,测试主体为计算服务器所包含的文件,输入数据为执行基准测试时对应的基准测试可执行程序(即应用)应输入的数据,参照输出数据对参照服务器集群进行基准测试时,对应的基准测试可执行程序输出的数据,参照运行时间为对参照服务器集群进行基准测试时,对应的基准测试可执行程序运行的时间。
根据本发明的一个实施例,在编译之前,根据配置的基准测试的名称建立编译文件夹,编译文件夹的名称需要有所区别,从而防止不同编译选项的中间文件和结果文件混淆。以Linux操作系统为例,一般采用make(一种编译命令)的方式进行编译,而make的配置文件名称为Makefile,可根据配置信息生成,其中包括但不限于以下信息:C语言代码文件的编译器、C++语言代码文件的编译器、FORTRAN(Formula Translation,公式翻译)语言代码文件的编译器、C语言代码文件的编译选项、C++语言代码文件的编译选项、以及Fortran语言代码文件的编译选项、包含选项、链接选项。执行make命令,make程序会读取Makefile文件,开始编译。
编译完成后,进入步骤S220,多次运行基准测试可执行程序,并在每次运行完成后,对基准测试可执行程序的运行结果进行正确性验证。根据本发明的一个实施例,在运行之前,根据配置的基准测试的名称建立运行文件夹,运行文件夹的名称需要有所区分,从而防止基准测试的输入数据文件、续算文件、结果文件产生混淆,对基准测试的计时和正确性验证产生影响。
将编译好的基准测试可执行程序以及输入数据复制到运行文件夹当中,记录下基准测试可执行程序运行开始的时间,之后启动基准测试可执行程序,同时将配置的参数输入给基准测试可执行程序。对于不使用MPI的基准测试可执行程序,直接运行,并且传递所需的参数,对于需要使用MPI的基准测试可执行程序,则使用MPI方式运行。比如,将MPI相关路径加入到环境变量当中,之后使用如“mpirun -n num exe”格式的mpirun命令,其中“-nnum”表示设置需要的进程数为num,exe表示基准测试可执行程序的名称。等待基准测试可执行程序运行完成,记录下运行完成时的时间,将运行完成时的时间与运行开始的时间之差,作为本次基准测试对应的基准测试可执行程序的程序运行时间。
根据本发明的一个实施例,方法200还包括在每次运行完成后,获取基准测试可执行程序的输出数据,对输出数据进行后处理,以生成对应的运行结果,方便后续正确性校验。其中,后处理包括格式转换、字符串去除、数据对齐、求取范数中至少一种。在该实施方式中,格式转换可以是将输出数据在NetCDF(Network Common Data Form,网络通用数据格式)、HDF5(Hierarchical Data Format 5,层次性数据格式5)、XLS(eXtensibleStylesheet Language,可扩展样式表语言)、XML(eXtensible Markup Language,可扩展标记语言)、JSON(JavaScript Object Notation,JavaScript对象表示法)、CSV(Comma-Separated Values,逗号分隔值)、文本等格式当中进行转换,也可以是将图片数据转换为位图格式。
上述运行结果的正确性被多种因素影响,包括CPU设计的正确性、服务器集群硬件整体的稳定性、运行时库的适配性、编译器优化的程度、MPI的稳定性等。根据本发明的一个实施例,可通过检验基准测试可执行程序的运行结果中的关键数据,进行正确性验证,这种方式可以粗略地、快速地判断运行结果的正确性。
关键数据根据基准测试的不同有所不同,基准测试若涉及化学,则可以将总能量作为关键数据,若涉及工程模拟,则可以将单点位移和应力作为关键数据,对此本发明不作限制。此外,除了关键数据,如具有概括性或统揽性的数据,也可以用于运行结果的正确性验证。
根据本发明的一个实施例,也可将基准测试可执行程序的运行结果与参照输出数据进行对比,以验证正确性。由于浮点数计算在浮点数的末尾几位往往存在一定的误差,所以在对比时需要设定一定的容许偏差。容许偏差的设置有两种,一种是绝对偏差,以结果值与正确值的差值来计算,另一种是相对偏差,以结果值与正确值的差值和正确值的比值来计算。当误差在容许偏差内时,可认为运行结果无误,当误差超出容忍偏差的范围时,判定运行结果有误,本次基准测试无效。
以上正确性验证的方式可任选其一,也可自由组合,具体选择哪种方式需依照测试需求并结合实际情况来确定。
在步骤S230中,若运行结果通过正确性验证的次数达到预设通过次数,则计算基准测试的最终运行时间。根据本发明的一个实施例,对各通过正确性验证的运行结果所对应的程序运行时间,取中位数作为基准测试的最终运行时间。
例如,对某一基准测试,目前已运行该基准测试对应的基准测试可执行程序次,且每次的运行结果均通过正确性验证,而预设通过次数恰好为,则将这次的运行结果所对应的程序运行时间取中位数,作为该基准测试的最终运行时间。
最后,执行步骤S240,根据基准测试集中每个基准测试的最终运行时间、参照运行时间和得分权重,确定待测服务器集群的测试得分,以评估待测服务器集群的性能。
根据本发明的一个实施例,可通过如下方式确定待测服务器集群的测试得分。首先,对基准测试集中的每个基准测试,将基准测试的参照运行时间与最终运行时间的比值作为得分,然后,将每个基准测试的得分与得分权重的乘积进行加和处理,以计算出待测服务器集群的测试得分。
在该实施方式中,假设基准测试集包括M个基准测试,将第m个基准测试的最终运行时间、参照运行时间分别表示为
Figure 294461DEST_PATH_IMAGE001
,则第m个基准测试的得分
Figure 171150DEST_PATH_IMAGE002
可以如下公式确定:
Figure 993612DEST_PATH_IMAGE003
(1)
其中,
Figure 260645DEST_PATH_IMAGE004
Figure 459546DEST_PATH_IMAGE005
表示第m个基准测试的得分权重,其满足以下约束:
Figure 128424DEST_PATH_IMAGE006
(2)
设待测服务器集群的测试得分为R,则有:
Figure 121788DEST_PATH_IMAGE007
(3)
一般情况下,R值越大表示待测服务器集群的测试得分越高,说明其性能高,反之则说明待测服务器集群性能低。
根据本发明实施例的服务器集群的性能评估方案,对基准测试集中的每个基准测试,多次运行基准测试对应的基准测试可执行程序,并在每次运行完成后,对运行结果进行正确性验证,若运行结果通过正确性验证的次数达到预设通过次数,则计算基准测试的最终运行时间,根据基准测试集中每个基准测试的最终运行时间、参照运行时间和得分权重,确定待测服务器集群的测试得分,以评估性能。其中,所选用的基准测试均对应与同一类型的应用,如高性能计算应用,使用的算例充分考虑了不同算例的不同特征、对应用不同模块的依赖性,还可通过MPI方式来运行程序以便进程之间的通信和同步。而且,在具体计算测试得分时,结合得分权重来对不同基准测试的重要性进行区分,使得测试结果更为准确和可靠。在上述技术方案中,基于现实领域应用对服务器集群进行测试,一方面结果更符合现实应用场景,另一方面可以全面发挥服务器集群的性能,使基准测试更准确,反映的计算能力更真实。
这里描述的各种技术可结合硬件或软件,或者它们的组合一起实现。从而,本发明的方法和设备,或者本发明的方法和设备的某些方面或部分可采取嵌入有形媒介,例如可移动硬盘、U盘、软盘、CD-ROM或者其它任意机器可读的存储介质中的程序代码(即指令)的形式,其中当程序被载入诸如计算机之类的机器,并被所述机器执行时,所述机器变成实践本发明的设备。
在程序代码在可编程计算机上执行的情况下,计算设备一般包括处理器、处理器可读的存储介质(包括易失性和非易失性存储器和/或存储元件),至少一个输入装置,和至少一个输出装置。其中,存储器被配置用于存储程序代码;处理器被配置用于根据该存储器中存储的所述程序代码中的指令,执行本发明的服务器集群的性能评估方法。
以示例而非限制的方式,可读介质包括可读存储介质和通信介质。可读存储介质存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息。通信介质一般以诸如载波或其它传输机制等已调制数据信号来体现计算机可读指令、数据结构、程序模块或其它数据,并且包括任何信息传递介质。以上的任一种的组合也包括在可读介质的范围之内。
在此处所提供的说明书中,算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与本发明的示例一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下被实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多特征。
本领域那些技术人员应当理解在本文所公开的示例中的设备的模块或单元或组件可以布置在如该实施例中所描述的设备中,或者可替换地可以定位在与该示例中的设备不同的一个或多个设备中。前述示例中的模块可以组合为一个模块或者此外可以分成多个子模块。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。
此外,所述实施例中的一些在此被描述成可以由计算机系统的处理器或者由执行所述功能的其它装置实施的方法或方法元素的组合。因此,具有用于实施所述方法或方法元素的必要指令的处理器形成用于实施该方法或方法元素的装置。此外,装置实施例的在此所述的元素是如下装置的例子:该装置用于实施由为了实施该发明的目的元素所执行的功能。
如在此所使用的那样,除非另行规定,使用序数词“第一”、“第二”、“第三”等等来描述普通对象仅仅表示涉及类似对象的不同实例,并且并不意图暗示这样被描述的对象必须具有时间上、空间上、排序方面或者以任意其它方式的给定顺序。
尽管根据有限数量的实施例描述了本发明,但是受益于上面的描述,本技术领域内的技术人员明白,在由此描述的本发明的范围内,可以设想其它实施例。此外,应当注意,本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限定本发明的主题而选择的。因此,在不偏离所附权利要求书的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。对于本发明的范围,对本发明所做的公开是说明性的,而非限制性的,本发明的范围由所附权利要求书限定。

Claims (10)

1.一种服务器集群的性能评估方法,在计算服务器上执行,所述计算服务器部署于待测服务器集群中,所述方法包括:
对基准测试集中的每个基准测试,编译所述基准测试对应的源码以获取基准测试可执行程序;
多次运行所述基准测试可执行程序,并在每次运行完成后,对所述基准测试可执行程序的运行结果进行正确性验证;
若所述运行结果通过正确性验证的次数达到预设通过次数,则计算所述基准测试的最终运行时间;
根据所述基准测试集中每个基准测试的最终运行时间、参照运行时间和得分权重,确定所述待测服务器集群的测试得分,以评估所述待测服务器集群的性能。
2.如权利要求1所述的方法,还包括:
在每次运行完成后,获取所述基准测试可执行程序的输出数据;
对所述输出数据进行后处理,以生成对应的运行结果,所述后处理包括格式转换、字符串去除、数据对齐、求取范数中至少一种。
3.如权利要求1或2所述的方法,其中,所述对所述基准测试可执行程序的运行结果进行正确性验证的步骤,包括:
通过检验所述基准测试可执行程序的运行结果中的关键数据,进行正确性验证;和/或
将所述基准测试可执行程序的运行结果与参照输出数据进行对比,以验证正确性。
4.如权利要求1或2所述的方法,其中,所述计算所述基准测试的最终运行时间的步骤,包括:
对各通过正确性验证的运行结果所对应的程序运行时间,取中位数作为所述基准测试的最终运行时间。
5.如权利要求1或2所述的方法,其中,所述根据所述基准测试集中每个基准测试的最终运行时间、参照运行时间和得分权重,确定所述待测服务器集群的测试得分的步骤,包括:
对所述基准测试集中的每个基准测试,将所述基准测试的参照运行时间与最终运行时间的比值作为得分;
将所述每个基准测试的得分与得分权重的乘积进行加和处理,以计算出所述待测服务器集群的测试得分。
6.如权利要求1或2所述的方法,还包括:
从所述计算服务器上安装的操作系统中记录下对应的硬件信息和软件信息,所述硬件信息包括中央处理器信息、内存信息、主板信息、硬盘信息和网络信息,所述软件信息包括操作系统信息、编译器信息和系统库信息。
7.如权利要求1或2所述的方法,还包括:
校验基准测试集中每个基准测试对应的测试相关文件的哈希值,以便后续编译处理,所述测试相关文件包括测试主体、基准测试对应的源码、输入数据、参照输出数据、记录参照运行时间的文本文件。
8.如权利要求1或2所述的方法,其中,所述基准测试集由数据服务器集群中的管理服务器生成,包括:
通过所述数据服务器集群中的管理服务器,对各被提交的作业进行处理,以确定所述各被提交的作业关联的应用的总运行时间;
根据各应用的总运行时间,计算所述各应用的运行时间占比;
对每个应用,将所述应用的运行时间占比作为所述应用对应的基准测试的得分权重,以构建基准测试集;
其中,所述通过所述数据服务器集群中的管理服务器,对各被提交的作业进行处理,以确定所述各被提交的作业关联的应用的总运行时间的步骤,包括:
通过所述数据服务器集群中的管理服务器,分别对各被提交的作业进行解析,以确定所述各被提交的作业关联的应用;
记录所述各被提交的作业的运行时间;
将所述各被提交的作业的运行时间,相应累加到所述各被提交的作业关联的应用的总运行时间上。
9.一种计算设备,包括:
至少一个处理器;以及
存储器,存储有程序指令,其中,所述程序指令被配置为适于由所述至少一个处理器执行,所述程序指令包括用于执行如权利要求1-8中任一项所述的方法的指令。
10.一种存储有程序指令的可读存储介质,当所述程序指令被计算设备读取并执行时,使得所述计算设备执行如权利要求1-8中任一项所述方法。
CN202210525856.5A 2022-05-16 2022-05-16 一种服务器集群的性能评估方法、计算设备及存储介质 Active CN114721922B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210525856.5A CN114721922B (zh) 2022-05-16 2022-05-16 一种服务器集群的性能评估方法、计算设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210525856.5A CN114721922B (zh) 2022-05-16 2022-05-16 一种服务器集群的性能评估方法、计算设备及存储介质

Publications (2)

Publication Number Publication Date
CN114721922A true CN114721922A (zh) 2022-07-08
CN114721922B CN114721922B (zh) 2022-10-04

Family

ID=82231684

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210525856.5A Active CN114721922B (zh) 2022-05-16 2022-05-16 一种服务器集群的性能评估方法、计算设备及存储介质

Country Status (1)

Country Link
CN (1) CN114721922B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115640109A (zh) * 2022-11-04 2023-01-24 苏州阿基米德网络科技有限公司 一种任务调度方法、系统及客户端
CN118349365A (zh) * 2024-06-18 2024-07-16 深圳市银雁科技有限公司 一种资源调度方法、装置、电子设备及存储介质

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102929693A (zh) * 2012-09-18 2013-02-13 杭州华为数字技术有限公司 整机柜服务器的性能评测方法及装置
CN104516799A (zh) * 2013-09-27 2015-04-15 上海宝信软件股份有限公司 服务器性能测试方法
CN105068934A (zh) * 2015-08-31 2015-11-18 浪潮集团有限公司 一种用于云平台的基准测试系统及方法
CN106850321A (zh) * 2017-04-05 2017-06-13 无锡华云数据技术服务有限公司 一种集群服务器的模拟测试系统
CN110442500A (zh) * 2019-07-19 2019-11-12 苏州浪潮智能科技有限公司 一种基于Unixbench的超融合集群性能的测试方法及装置
CN110968495A (zh) * 2018-09-29 2020-04-07 浙江大学 一种容器云平台性能评估方法及装置
CN111338924A (zh) * 2020-03-09 2020-06-26 苏州浪潮智能科技有限公司 一种服务器性能测试方法、系统、设备以及介质
CN113342515A (zh) * 2021-05-11 2021-09-03 北京大学 一种无服务器计算资源选择方法、装置、设备及存储介质
CN113886162A (zh) * 2021-10-21 2022-01-04 统信软件技术有限公司 一种计算设备性能测试方法、计算设备及存储介质

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102929693A (zh) * 2012-09-18 2013-02-13 杭州华为数字技术有限公司 整机柜服务器的性能评测方法及装置
CN104516799A (zh) * 2013-09-27 2015-04-15 上海宝信软件股份有限公司 服务器性能测试方法
CN105068934A (zh) * 2015-08-31 2015-11-18 浪潮集团有限公司 一种用于云平台的基准测试系统及方法
CN106850321A (zh) * 2017-04-05 2017-06-13 无锡华云数据技术服务有限公司 一种集群服务器的模拟测试系统
CN110968495A (zh) * 2018-09-29 2020-04-07 浙江大学 一种容器云平台性能评估方法及装置
CN110442500A (zh) * 2019-07-19 2019-11-12 苏州浪潮智能科技有限公司 一种基于Unixbench的超融合集群性能的测试方法及装置
CN111338924A (zh) * 2020-03-09 2020-06-26 苏州浪潮智能科技有限公司 一种服务器性能测试方法、系统、设备以及介质
CN113342515A (zh) * 2021-05-11 2021-09-03 北京大学 一种无服务器计算资源选择方法、装置、设备及存储介质
CN113886162A (zh) * 2021-10-21 2022-01-04 统信软件技术有限公司 一种计算设备性能测试方法、计算设备及存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
胡志华等: "WWW服务器集群性能分析与测试", 《计算机与网络》 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115640109A (zh) * 2022-11-04 2023-01-24 苏州阿基米德网络科技有限公司 一种任务调度方法、系统及客户端
CN115640109B (zh) * 2022-11-04 2023-11-14 苏州阿基米德网络科技有限公司 一种任务调度方法、系统及客户端
CN118349365A (zh) * 2024-06-18 2024-07-16 深圳市银雁科技有限公司 一种资源调度方法、装置、电子设备及存储介质
CN118349365B (zh) * 2024-06-18 2024-09-10 深圳市银雁科技有限公司 一种资源调度方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN114721922B (zh) 2022-10-04

Similar Documents

Publication Publication Date Title
CN114721922B (zh) 一种服务器集群的性能评估方法、计算设备及存储介质
US9208057B2 (en) Efficient model checking technique for finding software defects
US9201632B2 (en) Systems and methods for incremental software development
US9563547B2 (en) Testing optimized binary modules
US8997065B2 (en) Automatic modularization of source code
US20170235661A1 (en) Integration of Software Systems via Incremental Verification
JP6342129B2 (ja) 混合モードプログラムのソースコードエラー位置検出装置及び方法
CN117034821B (zh) 用于芯片设计前端仿真验证的回归验证方法及介质
US8438000B2 (en) Dynamic generation of tests
CN111444087A (zh) 一种覆盖率数据处理方法、装置、计算设备及可读存储介质
US20120054560A1 (en) Verifying correctness of processor transactions
JP5936135B2 (ja) 情報処理装置、情報処理方法、及び、プログラム
JP2019091144A (ja) シミュレーション装置、シミュレーションシステム、シミュレーション方法及びシミュレーションプログラム
US10102099B2 (en) Performance information generating method, information processing apparatus and computer-readable storage medium storing performance information generation program
US10324822B1 (en) Data analytics in a software development cycle
KR20190020363A (ko) 동적 분석과 정적 분석을 연계한 프로그램을 분석하기 위한 방법 및 장치
WO2019142266A1 (ja) テストケース生成装置、テストケース生成方法およびテストケース生成プログラム
US10936776B1 (en) Analyzing waveform data generated for simulated circuit design
US8352234B2 (en) Model generation based on a constraint and an initial model
US20220019522A1 (en) Automated sequencing of software tests using dependency information
US8639490B2 (en) Concretization of abstracted traces
Truong et al. RISC-V random test generator
CN114328273B (zh) 一种应用程序控件的调试方法、调试装置及计算设备
CN116861829B (zh) 用于定位逻辑系统设计中错误的方法、电子设备
CN118114623B (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
GR01 Patent grant
GR01 Patent grant