一种UPI带宽检测方法、装置、设备及可读存储介质与流程

文档序号:18142478发布日期:2019-07-10 11:13阅读:1459来源:国知局
一种UPI带宽检测方法、装置、设备及可读存储介质与流程

本发明涉及服务器技术领域,更具体地说,涉及一种upi带宽检测方法、装置、设备及可读存储介质。



背景技术:

在双路cpu以上的服务器中,不同cpu通过upi链路进行数据交互,且每个cpu对应一个内存。

在现有技术中,为了检测连接不同cpu的upi链路的带宽,一般采用能够发送高速信号的测试仪器在upi链路的一端发送信号,在另一端接收信号,然后计算接收信号的损耗;当接收信号的衰减程度合格时,表明当前upi链路的带宽正常,服务器的系统性能较好。但是,测试仪器发送的信号不携带具体数据,因此利用测试仪器检测正常的upi链路在实际应用过程中,其带宽可能会有所降低。其中,upi带宽是服务器的重要性能指标,其一般为10.4gt/s。

因此,如何准确检测upi链路的upi带宽,是本领域技术人员需要解决的问题。



技术实现要素:

本发明的目的在于提供一种upi带宽检测方法、装置、设备及可读存储介质,以实现准确检测upi链路的upi带宽。

为实现上述目的,本发明实施例提供了如下技术方案:

一种upi带宽检测方法,应用于支持多cpu的服务器,包括:

利用与目标cpu绑定的线程访问对象cpu对应的内存,并记录访问数据量和访问时长;

将所述访问数据量确定为目标upi链路在所述访问时长内的数据传输量,所述目标upi链路为连接所述目标cpu和所述对象cpu的多条upi链路;

根据所述访问数据量和所述访问时长计算所述目标upi链路的upi带宽。

其中,所述根据所述访问数据量和所述访问时长计算所述目标upi链路的upi带宽,包括:

计算所述目标upi链路在单位时间内的数据传输量;

将所述目标upi链路在单位时间内的数据传输量与所述目标upi链路的链路个数的比值,确定为所述目标upi链路的upi带宽。

其中,所述根据所述访问数据量和所述访问时长计算所述目标upi链路的upi带宽,包括:

计算单个upi链路在所述访问时长内的数据传输量;

将所述单个upi链路在所述访问时长内的数据传输量与所述访问时长的比值,确定为所述目标upi链路的upi带宽。

其中,所述利用与目标cpu绑定的线程访问对象cpu对应的内存,并记录访问数据量和访问时长,包括:

利用与目标cpu绑定的线程访问对象cpu对应的内存,按照预设的访问量阈值访问所述内存中的数据,并记录访问时长。

其中,所述按照预设的访问量阈值访问所述内存中的数据,并记录访问时长之前,还包括:

将服务器总内存量的80%与服务器中cpu个数的比值设置为所述预设的访问量阈值。

一种upi带宽检测装置,应用于支持多cpu的服务器,包括:

访问模块,用于利用与目标cpu绑定的线程访问对象cpu对应的内存,并记录访问数据量和访问时长;

确定模块,用于将所述访问数据量确定为目标upi链路在所述访问时长内的数据传输量,所述目标upi链路为连接所述目标cpu和所述对象cpu的多条upi链路;

计算模块,用于根据所述访问数据量和所述访问时长计算所述目标upi链路的upi带宽。

其中,所述访问模块具体用于:

利用与目标cpu绑定的线程访问对象cpu对应的内存,按照预设的访问量阈值访问所述内存中的数据,并记录访问时长。

其中,还包括:

设置模块,用于将服务器总内存量的80%与服务器中cpu个数的比值设置为所述预设的访问量阈值。

一种upi带宽检测设备,包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序时实现上述任意一项所述的upi带宽检测方法的步骤。

一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一项所述的upi带宽检测方法的步骤。

通过以上方案可知,本发明实施例提供的一种upi带宽检测方法,应用于支持多cpu的服务器,包括:利用与目标cpu绑定的线程访问对象cpu对应的内存,并记录访问数据量和访问时长;将所述访问数据量确定为目标upi链路在所述访问时长内的数据传输量,所述目标upi链路为连接所述目标cpu和所述对象cpu的多条upi链路;根据所述访问数据量和所述访问时长计算所述目标upi链路的upi带宽。

可见,所述方法使服务器中的目标cpu访问对象cpu对应的内存,并将访问到的数据量作为该访问时长内从目标cpu传输至对象cpu的数据传输量,故基于访问数据量、访问时长和连接目标cpu和对象cpu的upi链路数,就可以计算出单个upi链路的带宽。其中,本发明以实际传输的具体数据为检测依据,在服务器应用过程中检测出了upi链路的带宽,因此本发明公开的upi带宽检测方法能够更准确地检测出upi带宽,为服务器性能的判别提供更为精准的依据。

相应地,本发明实施例提供的一种upi带宽检测装置、设备及可读存储介质,也同样具有上述技术效果。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例公开的一种upi带宽检测方法流程图;

图2为本发明实施例公开的一种upi带宽检测逻辑示意图;

图3为本发明实施例公开的一种upi带宽检测装置示意图;

图4为本发明实施例公开的一种upi带宽检测设备示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明实施例公开了一种upi带宽检测方法、装置、设备及可读存储介质,以实现准确检测upi链路的upi带宽。

参见图1,本发明实施例提供的一种upi带宽检测方法,应用于支持多cpu的服务器,包括:

s101、利用与目标cpu绑定的线程访问对象cpu对应的内存,并记录访问数据量和访问时长;

需要说明的是,为了在短时间内访问尽可能多的数据,一般用与目标cpu绑定的所有线程访问对象cpu对应的内存,其中包括超线程。

s102、将访问数据量确定为目标upi链路在访问时长内的数据传输量,目标upi链路为连接目标cpu和对象cpu的多条upi链路;

需要说明的是,不同cpu进行数据交互的过程可以概括为:若一个服务器中有两个cpu,且每个cpu对应一个内存,那么cpu1将处理后的数据存入内存1,这样cpu2就可以读取内存1中的数据,从而实现数据交换。此即为intel的非统一内存存取架构模型(numa,non-uniformmemoryaccess),在此基础上,cpu2在一段时间内读取的内存1中的数据,可以看作该段时间内通过upi链路从cpu2传输至cpu1的数据,即:访问数据量即为目标upi链路在访问时长内的数据传输量。

s103、根据访问数据量和访问时长计算目标upi链路的upi带宽。

其中,根据访问数据量和访问时长计算目标upi链路的upi带宽,包括:计算目标upi链路在单位时间内的数据传输量;将目标upi链路在单位时间内的数据传输量与目标upi链路的链路个数的比值,确定为目标upi链路的upi带宽。

其中,根据访问数据量和访问时长计算目标upi链路的upi带宽,包括:计算单个upi链路在访问时长内的数据传输量;将单个upi链路在访问时长内的数据传输量与访问时长的比值,确定为目标upi链路的upi带宽。

可见,本实施例提供了一种upi带宽检测方法,所述方法使服务器中的目标cpu访问对象cpu对应的内存,并将访问到的数据量作为该访问时长内从目标cpu传输至对象cpu的数据传输量,故基于访问数据量、访问时长和连接目标cpu和对象cpu的upi链路数,就可以计算出单个upi链路的带宽。其中,本发明以实际传输的具体数据为检测依据,在服务器应用过程中检测出了upi链路的带宽,因此本发明公开的upi带宽检测方法能够更准确地检测出upi带宽,为服务器性能的判别提供更为精准的依据。

基于上述实施例,需要说明的是,所述利用与目标cpu绑定的线程访问对象cpu对应的内存,并记录访问数据量和访问时长,包括:利用与目标cpu绑定的线程访问对象cpu对应的内存,按照预设的访问量阈值访问所述内存中的数据,并记录访问时长。

其中,所述按照预设的访问量阈值访问所述内存中的数据,并记录访问时长之前,还包括:将服务器总内存量的80%与服务器中cpu个数的比值设置为所述预设的访问量阈值。

具体的,为了访问到尽可能多的数据,与此同时还保障系统的服务性能,可以预设访问量阈值。经过多次测试可知,将的访问量阈值设置为服务器总内存量的80%与服务器中cpu个数的比值时,不仅可访问到尽可能多的数据,还不影响系统的服务性能。

基于上述实施例,需要说明的是,在检测出upi带宽之后,将检测到的upi带宽与参考带宽进行对比,以确定当前upi链路的upi带宽是否合格。

按照本发明公开的一种upi带宽检测方法,可实现如下测试脚本,以实现upi带宽的自动检测。本实施例中的测试脚本的实现逻辑请参见图2。该测试脚本基于lmbench内存测试工具,能够跨numa内存访问数据。具体实施过程包括:

1、在待测服务器端安装适用版本的lmbench测试工具;

2、在lmbench的路径下,创建测试脚本upitest.sh,测试脚本部分示例如下:

#!/bin/bash

echo“runningmemorybandwidthreadtestviacpu1andaccesstocpu2memory”

numactl-cpunodebind=1-membind=2./bw_mem-p线程数内存量rd

echo“runningmemorybandwidthreadtestviacpu2andaccesstocpu1memory”

numactl-cpunodebind=2-membind=1./bw_mem-p线程数内存量rd

其中,线程数为单处理器中的所有线程数目(包含超线程),内存量为所有内存容量的80%的一半,所有内存容量可在/proc/meminfo取得。内存量即为上文提及的访问量阈值,当前系统中为双路cpu。

3、添加脚本执行权限chmod+xmtest.sh,并执行测试upitest.sh,输出upi带宽(默认单位为mb/s)。

其中,测试脚本upitest.sh计算upi带宽的过程为:基于内存量所有线程访问cpu1对应的内存中的数据,当访问到的数据量达到内存量时,记录访问时间,此时将访问到的数据量与访问时长的比值,确定为连接cpu1和cpu2的所有upi链路在单位时间内的数据传输量,进而除以所有upi链路的链路个数,从而可得到单个upi链路在单位时间内的数据传输量,即upi带宽。其中,一般以秒为单位时间。

可见,本实施例提供的测试脚本能够自动检测出upi链路的实际带宽,不仅能够提高检测效率,还确保了在单路以上处理器的硬件设计中的upi性能没有瓶颈问题。

下面对本发明实施例提供的一种upi带宽检测装置进行介绍,下文描述的一种upi带宽检测装置与上文描述的一种upi带宽检测方法可以相互参照。

参见图3,本发明实施例提供的一种upi带宽检测装置,应用于支持多cpu的服务器,包括:

访问模块301,用于利用与目标cpu绑定的线程访问对象cpu对应的内存,并记录访问数据量和访问时长;

确定模块302,用于将所述访问数据量确定为目标upi链路在所述访问时长内的数据传输量,所述目标upi链路为连接所述目标cpu和所述对象cpu的多条upi链路;

计算模块303,用于根据所述访问数据量和所述访问时长计算所述目标upi链路的upi带宽。

其中,所述访问模块具体用于:

利用与目标cpu绑定的线程访问对象cpu对应的内存,按照预设的访问量阈值访问所述内存中的数据,并记录访问时长。

其中,还包括:

设置模块,用于将服务器总内存量的80%与服务器中cpu个数的比值设置为所述预设的访问量阈值。

其中,所述计算模块具体用于:

计算所述目标upi链路在单位时间内的数据传输量;将所述目标upi链路在单位时间内的数据传输量与所述目标upi链路的链路个数的比值,确定为所述目标upi链路的upi带宽。

其中,所述计算模块具体用于:

计算单个upi链路在所述访问时长内的数据传输量;将所述单个upi链路在所述访问时长内的数据传输量与所述访问时长的比值,确定为所述目标upi链路的upi带宽。

可见,本实施例提供了一种upi带宽检测装置,包括:访问模块、确定模块以及计算模块。首先由访问模块利用与目标cpu绑定的线程访问对象cpu对应的内存,并记录访问数据量和访问时长;进而确定模块将访问数据量确定为目标upi链路在访问时长内的数据传输量,目标upi链路为连接目标cpu和对象cpu的多条upi链路;最后计算模块根据访问数据量和访问时长计算目标upi链路的upi带宽。如此各个模块之间分工合作,各司其职,从而以实际传输的具体数据为检测依据,在服务器应用过程中检测出了准确的upi链路的带宽,为服务器性能的判别提供了更为精准的依据。

下面对本发明实施例提供的一种upi带宽检测设备进行介绍,下文描述的一种upi带宽检测设备与上文描述的一种upi带宽检测方法及装置可以相互参照。

参见图4,本发明实施例提供的一种upi带宽检测设备,包括:

存储器401,用于存储计算机程序;

处理器402,用于执行所述计算机程序时实现上述任意实施例所述的upi带宽检测方法的步骤。

下面对本发明实施例提供的一种可读存储介质进行介绍,下文描述的一种可读存储介质与上文描述的一种upi带宽检测方法、装置及设备可以相互参照。

一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任意实施例所述的upi带宽检测方法的步骤。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1