首页 / 专利库 / 电脑零配件 / 多核处理器 / CPU资源分配方法及测试设备

CPU资源分配方法及测试设备

阅读:927发布:2020-05-13

专利汇可以提供CPU资源分配方法及测试设备专利检索,专利查询,专利分析的服务。并且本 申请 提供一种CPU资源分配方法及测试设备。该测试设备包括测试 进程 和资源调度平台,测试进程用于执行测试任务,测试进程包括多个测试线程,测试设备包括至少一个CPU,每一个CPU包括至少一个核Core,测试进程向资源调度平台发送资源调度 请求 ,资源调度请求包括执行测试任务所需的CPU资源信息;资源调度平台根据执行测试任务所需的CPU资源信息,为测试进程分配至少一个目标Core;资源调度平台向测试进程发送资源调度响应,资源调度响应包括至少一个目标Core的标识;测试进程将多个测试线程分配至各目标Core中。本申请以Core为基本单位进行分配,可使测试设备的CPU资源利用更合理。,下面是CPU资源分配方法及测试设备专利的具体信息内容。

1.一种多核处理器CPU资源分配方法,其特征在于,应用于测试设备,所述测试设备包括测试进程和资源调度平台,所述测试进程用于执行测试任务,所述测试进程包括多个测试线程,所述测试设备包括至少一个CPU,每一个CPU包括至少一个核Core,所述方法包括:
所述测试进程向所述资源调度平台发送资源调度请求,所述资源调度请求包括执行所述测试任务所需的CPU资源信息;
所述资源调度平台根据所述执行所述测试任务所需的CPU资源信息,为所述测试进程分配至少一个目标Core;
所述资源调度平台向所述测试进程发送资源调度响应,所述资源调度响应包括所述至少一个目标Core的标识;
所述测试进程将所述多个测试线程分配至各目标Core中。
2.如权利要求1所述的方法,其特征在于,所述测试进程向所述资源调度平台发送资源调度请求之前,所述方法还包括:
所述测试进程接收测试配置指令,所述测试配置指令包括所述测试任务的测试规格;
所述测试进程从预设的各测试规格与执行该测试规格的测试任务所需的CPU资源信息的对应关系中,查找与所述测试任务的测试规格对应的所需的CPU资源信息。
3.如权利要求1所述的方法,其特征在于,所述资源调度响应还包括所述至少一个目标Core的Core类型,所述Core类型用于表征Core的处理能,所述测试进程将所述多个测试线程分配至各目标Core中,包括:
所述测试进程根据各测试线程所承载测试任务的负载情况以及各目标Core的Core类型,将所述多个测试线程分配至各目标Core中。
4.如权利要求3所述的方法,其特征在于,所述资源调度平台向所述测试进程发送资源调度响应之前,所述方法还包括:
所述资源调度平台针对每一个CPU,获取该CPU的CPU类型;
从预设的CPU类型与Core类型的对应关系中,查找与该CPU的CPU类型对应的Core类型;
将查找到的Core类型确定为该CPU包括的所有Core的Core类型。
5.如权利要求1所述的方法,其特征在于,所述方法还包括:
所述资源调度平台将所述至少一个CPU包括的各个Core划分为系统专用Core、公用Core以及测试专用Core;
所述资源调度平台为所述测试进程分配的至少一个目标Core包括公用Core和/或测试专用Core;
所述测试进程将所述多个测试线程分配至各目标Core中,包括:
所述测试进程根据各测试线程所承载测试任务的类型,将各测试线程分配至公用Core和/或测试专用Core。
6.一种测试设备,其特征在于,所述测试设备包括测试进程和资源调度平台,所述测试进程用于执行测试任务,所述测试进程包括多个测试线程,所述测试设备包括至少一个CPU,每一个CPU包括至少一个核Core;
所述测试进程,用于向所述资源调度平台发送资源调度请求,所述资源调度请求包括执行所述测试任务所需的CPU资源信息;并将所述多个测试线程分配至所述资源调度平台为其分配的至少一个目标Core中;
所述资源调度平台,用于根据所述执行所述测试任务所需的CPU资源信息,为所述测试进程分配至少一个目标Core;向所述测试进程发送资源调度响应,所述资源调度响应包括所述至少一个目标Core的标识。
7.如权利要求6所述的设备,其特征在于:
所述测试进程,还用于接收测试配置指令,所述测试配置指令包括所述测试任务的测试规格;从预设的各测试规格与执行该测试规格的测试任务所需的CPU资源信息的对应关系中,查找与所述测试任务的测试规格对应的所需的CPU资源信息。
8.如权利要求6所述的设备,其特征在于,所述资源调度响应还包括所述至少一个目标Core的Core类型,所述Core类型用于表征Core的处理能力;
所述测试进程,具体用于根据各测试线程所承载测试任务的负载情况以及各目标Core的Core类型,将所述多个测试线程分配至各目标Core中。
9.如权利要求8所述的设备,其特征在于:
所述资源调度平台,还用于针对每一个CPU,获取该CPU的CPU类型;从预设的CPU类型与Core类型的对应关系中,查找与该CPU的CPU类型对应的Core类型;将查找到的Core类型确定为该CPU包括的所有Core的Core类型。
10.如权利要求6所述的设备,其特征在于:
所述资源调度平台,还用于将所述至少一个CPU包括的各个Core划分为系统专用Core、公用Core以及测试专用Core;
所述资源调度平台为所述测试进程分配的至少一个目标Core包括公用Core和/或测试专用Core;
所述测试进程,具体用于根据各测试线程所承载测试任务的类型,将各测试线程分配至公用Core和/或测试专用Core。

说明书全文

CPU资源分配方法及测试设备

技术领域

[0001] 本申请涉及网络通信技术领域,尤其涉及一种CPU资源分配方法及测试设备。

背景技术

[0002] 网络测试仪(以下称为测试设备)主要用于测试被测设备的网络性能。比如,是否可以建立连接、可建立连接的数量等等。
[0003] 测试设备通常包括多个多核处理器(CPU)以及多个物理端口。为了避免各测试业务因抢占CPU资源导致性能抖动,通常将CPU与物理端口绑定。这样,通过物理端口传输的测试业务将由与物理端口绑定的CPU处理。
[0004] 但是,各测试业务的复杂程度不同,导致处理测试业务的CPU的处理压不同。比如,处理复杂测试业务的CPU可能超负荷运转,而处理简单测试业务的CPU可能比较空闲,造成测试设备的CPU资源利用不合理。发明内容
[0005] 有鉴于此,本申请提出一种CPU资源分配方法及测试设备,用以合理利用测试设备的CPU资源。
[0006] 为实现上述申请目的,本申请提供了如下技术方案:
[0007] 第一方面,本申请提供一种CPU资源分配方法,应用于测试设备,所述测试设备包括测试进程和资源调度平台,所述测试进程用于执行测试任务,所述测试进程包括多个测试线程,所述测试设备包括至少一个CPU,每一个CPU包括至少一个核Core,所述方法包括:
[0008] 所述测试进程向所述资源调度平台发送资源调度请求,所述资源调度请求包括执行所述测试任务所需的CPU资源信息;
[0009] 所述资源调度平台根据所述执行所述测试任务所需的CPU资源信息,为所述测试进程分配至少一个目标Core;
[0010] 所述资源调度平台向所述测试进程发送资源调度响应,所述资源调度响应包括所述至少一个目标Core的标识;
[0011] 所述测试进程将所述多个测试线程分配至各目标Core中。
[0012] 可选的,所述测试进程向所述资源调度平台发送资源调度请求之前,所述方法还包括:
[0013] 所述测试进程接收测试配置指令,所述测试配置指令包括所述测试任务的测试规格;
[0014] 所述测试进程从预设的各测试规格与执行该测试规格的测试任务所需的CPU资源信息的对应关系中,查找与所述测试任务的测试规格对应的所需的CPU资源信息。
[0015] 可选的,所述资源调度响应还包括所述至少一个目标Core的Core类型,所述Core类型用于表征Core的处理能力,所述测试进程将所述多个测试线程分配至各目标Core中,包括:
[0016] 所述测试进程根据各测试线程所承载测试任务的负载情况以及各目标Core的Core类型,将所述多个测试线程分配至各目标Core中。
[0017] 可选的,所述资源调度平台向所述测试进程发送资源调度响应之前,所述方法还包括:
[0018] 所述资源调度平台针对每一个CPU,获取该CPU的CPU类型;
[0019] 从预设的CPU类型与Core类型的对应关系中,查找与该CPU的CPU类型对应的Core类型;
[0020] 将查找到的Core类型确定为该CPU包括的所有Core的Core类型。
[0021] 可选的,所述方法还包括:
[0022] 所述资源调度平台将所述至少一个CPU包括的各个Core划分为系统专用Core、公用Core以及测试专用Core;
[0023] 所述资源调度平台为所述测试进程分配的至少一个目标Core包括公用Core和/或测试专用Core;
[0024] 所述测试进程将所述多个测试线程分配至各目标Core中,包括:
[0025] 所述测试进程根据各测试线程所承载测试任务的类型,将各测试线程分配至公用Core和/或测试专用Core。
[0026] 第二方面,本申请提供一种测试设备,所述测试设备包括测试进程和资源调度平台,所述测试进程用于执行测试任务,所述测试进程包括多个测试线程,所述测试设备包括至少一个CPU,每一个CPU包括至少一个核Core;
[0027] 所述测试进程,用于向所述资源调度平台发送资源调度请求,所述资源调度请求包括执行所述测试任务所需的CPU资源信息;并将所述多个测试线程分配至所述资源调度平台为其分配的至少一个目标Core中;
[0028] 所述资源调度平台,用于根据所述执行所述测试任务所需的CPU资源信息,为所述测试进程分配至少一个目标Core;向所述测试进程发送资源调度响应,所述资源调度响应包括所述至少一个目标Core的标识。
[0029] 可选的,所述测试进程,还用于接收测试配置指令,所述测试配置指令包括所述测试任务的测试规格;从预设的各测试规格与执行该测试规格的测试任务所需的CPU资源信息的对应关系中,查找与所述测试任务的测试规格对应的所需的CPU资源信息。
[0030] 可选的,所述资源调度响应还包括所述至少一个目标Core的Core类型,所述Core类型用于表征Core的处理能力;
[0031] 所述测试进程,具体用于根据各测试线程所承载测试任务的负载情况以及各目标Core的Core类型,将所述多个测试线程分配至各目标Core中。
[0032] 可选的,所述资源调度平台,还用于针对每一个CPU,获取该CPU的CPU类型;从预设的CPU类型与Core类型的对应关系中,查找与该CPU的CPU类型对应的Core类型;将查找到的Core类型确定为该CPU包括的所有Core的Core类型。
[0033] 可选的,所述资源调度平台,还用于将所述至少一个CPU包括的各个Core划分为系统专用Core、公用Core以及测试专用Core;
[0034] 所述资源调度平台为所述测试进程分配的至少一个目标Core包括公用Core和/或测试专用Core;
[0035] 所述测试进程,具体用于根据各测试线程所承载测试任务的类型,将各测试线程分配至公用Core和/或测试专用Core。
[0036] 由以上描述可以看出,本申请中,资源调度平台基于测试进程的请求,为测试进程分配CPU资源,且以Core为基本单位进行分配,因此,可使测试设备的CPU资源利用更合理。附图说明
[0037] 为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0038] 图1是本申请实施例示出的一种CPU资源分配方法流程图
[0039] 图2是本申请实施例示出的一种确定执行测试任务所需的CPU资源信息的实现流程;
[0040] 图3是本申请实施例示出的一种确定测试设备中各Core的Core类型的实现流程;
[0041] 图4是本申请实施例示出的一种测试设备的内部结构图;
[0042] 图5是本申请实施例提供的一种测试设备的结构示意图。

具体实施方式

[0043] 这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
[0044] 在本申请实施例使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请实施例。在本申请实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
[0045] 应当理解,尽管在本申请实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请实施例范围的情况下,协商信息也可以被称为第二信息,类似地,第二信息也可以被称为协商信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
[0046] 本申请实施例提供一种CPU资源分配方法。该方法中,资源调度平台基于测试进程的请求,为测试进程分配CPU资源,且以Core为基本单位进行分配,因此,可使测试设备的CPU资源利用更合理。
[0047] 为了使本申请实施例的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本申请实施例执行详细描述:
[0048] 参见图1,为本申请实施例示出的一种CPU资源分配方法流程图。该流程应用于测试设备。该测试设备包括测试进程和资源调度平台。
[0049] 其中,测试进程用于执行具体的测试任务,比如,测试被测设备的报文处理能力。资源调度平台用于为测试进程分配CPU资源。
[0050] 需要说明的是,测试设备包括至少一个CPU,每一个CPU包括至少一个Core。测试进程包括多个测试线程。本申请实施例需要为每一个测试线程分配CPU资源。
[0051] 如图1所示,该流程可包括以下步骤:
[0052] 步骤101,测试进程向资源调度平台发送资源调度请求。
[0053] 本申请实施例中,测试进程在执行具体测试任务之前,需要向资源调度平台申请CPU资源。为此,测试进程向资源调度平台发送资源调度请求,该资源调度请求包括测试进程执行测试任务所需的CPU资源信息。
[0054] 步骤102,资源调度平台根据测试进程执行测试任务所需的CPU资源信息,为测试进程分配至少一个目标Core。
[0055] 资源调度平台接收测试进程通过步骤101发送的资源调度请求,获取该资源调度请求包括测试进程执行测试任务所需的CPU资源信息,并根据该CPU资源信息,为测试进程分配CPU资源。
[0056] 作为一个实施例,该测试进程执行测试任务所需的CPU资源信息包括测试进程执行测试任务所需Core的数量。资源调度平台根据测试进程执行测试任务所需Core的数量,为测试进程分配至少该数量个目标Core。比如,测试进程执行测试任务需要2个Core,则资源调度平台为该测试进程分配至少2个目标Core。
[0057] 作为另一个实施例,该测试进程执行测试任务所需的CPU资源信息可包括所需Core的数量以及Core类型。其中,该Core类型用于表征Core的处理能力。资源调度平台根据所需Core的数量以及Core类型,为测试进程分配该数量个Core类型匹配的目标Core。比如,测试进程执行测试任务需要2个Core,且要求其中至少一个Core为处理能力较强的Core,则资源调度平台可为该测试进程选择至少2个目标Core,且保证其中至少一个目标Core为处理能力较强的Core。
[0058] 这里,将资源调度平台为测试进程分配的Core称为目标Core。可以理解的是,之所以称为目标Core,只是为便于描述而进行的命名,并非用于限定。
[0059] 步骤103,资源调度平台向测试进程发送资源调度响应。
[0060] 资源调度平台通过步骤102为测试进程分配目标Core后,向测试进程发送资源调度响应,该资源调度响应包括资源调度平台为测试进程分配的至少一个目标Core的标识。
[0061] 步骤104,测试进程将多个测试线程分配至各个目标Core中。
[0062] 测试进程接收资源调度平台通过步骤103发送的资源调度响应,获取该资源调度响应包括的至少一个目标Core的标识。
[0063] 测试进程根据该至少一个目标Core的标识,将自身包括的多个测试线程分配至各目标Core中,以执行测试任务。
[0064] 至此,完成图1所示流程。
[0065] 通过图1所示流程可以看出,本申请实施例中,资源调度平台基于测试进程的请求,为测试进程分配CPU资源,且以Core为基本单位进行分配,因此,可使测试设备的CPU资源利用更合理。
[0066] 作为一个实施例,测试进程在执行步骤101之前,还可执行如下确定执行测试任务所需的CPU资源信息的实现流程。参见图2,为本申请实施例示出的一种确定执行测试任务所需的CPU资源信息的实现流程。
[0067] 如图2所示,该流程可包括以下步骤:
[0068] 步骤201,测试进程接收测试配置指令。
[0069] 该测试配置指令包括待执行的测试任务的测试规格。比如,当前测试任务的测试规则为向被测设备发送100M流量。
[0070] 步骤202,测试进程从预设的各测试规格与执行该测试规格的测试任务所需的CPU资源信息的对应关系中,查找与待执行的测试任务的测试规格对应的所需的CPU资源信息。
[0071] 测试设备的硬件资源是固定的,比如,CPU的类型、CPU的处理能力、CPU中Core的处理能力等。因此,可根据CPU的处理能力,预估各测试规格下执行该测试规格的测试任务所需的CPU资源,并预先配置于测试设备中。参见表1,为本申请实施例示出的一种各测试规格与执行该测试规格的测试任务所需的CPU资源信息之间的对应关系的示例。
[0072]测试规格 所需的CPU资源信息
100M流量 2个Core
200M流量 4个Core
…… ……
[0073] 表1
[0074] 这里,需要说明的是,当测试设备中各Core的处理能力不同时,可在所需的CPU资源信息中指定所需的Core类型。如前所述,该Core类型用于表征Core的处理能力。参见表2,为本申请实施例示出的另一种各测试规格与执行该测试规格的测试任务所需的CPU资源信息之间的对应关系的示例。
[0075]
[0076] 表2
[0077] 以表2中第1条对应关系为例,该对应关系表示:当测试规格为100M流量时,测试进程执行该测试规格的测试任务需要2个Core,其中至少要有1个大核。这里,大核代表一种Core类型,用于表示处理能力较强的Core。
[0078] 本步骤中,测试进程从预设的各测试规格与执行该测试规格的测试任务所需的CPU资源信息的对应关系(比如,表1或表2)中,查找与待执行的测试任务的测试规格对应的所需的CPU资源信息。
[0079] 至此,完成图2所示流程。
[0080] 通过图2所示流程可以看出,本申请实施例中,测试进程可根据测试任务的测试规则,自行确认所需CPU资源。
[0081] 作为一个实施例,当测试进程通过步骤103接收到资源调度响应,且该资源调度响应包括目标Core的Core类型时,该测试进程执行步骤104的具体步骤为,根据各测试线程所承载测试任务的负载情况以及各目标Core的Core类型,将多个测试线程分配至各个目标Core中。
[0082] 比如,资源调度平台为测试进程分配了两个目标Core,记为Core1和Core2,其中,Core1的Core类型为大核,代表处理能力较强的Core;Core2的Core类型为小核,代表处理能力较弱的Core。测试进程包括两个测试线程,记为测试线程1和测试线程2,其中,测试线程1所承载测试任务的负载较大,测试线程2所承载测试任务的负载较小。则测试进程可将测试线程1分配至处理能力较强的Core1,将测试线程2分配至处理能力较弱的Core2。
[0083] 至此,完成本实施例的描述。通过上述描述可以看出,本申请实施基于Core的处理能力以及测试线程所承载测试任务的负载情况进行资源分配,使CPU资源利用更合理。
[0084] 作为一个实施例,资源调度平台在执行步骤103向测试进程发送资源调度响应之前,还可执行如下确定测试设备中各Core的Core类型的处理流程。参见图3,为本申请实施例示出的一种确定测试设备中各Core的Core类型的实现流程。
[0085] 如图3所示,该流程可包括以下步骤:
[0086] 步骤301,资源调度平台针对每一个CPU,获取该CPU的CPU类型。
[0087] 本申请实施例中,资源调度平台启动后,可扫描每一个CPU。通过扫描,获取各CPU的CPU类型,比如,当前CPU的CPU类型为AMD Ryzen 3900x。
[0088] 步骤302,资源调度平台从预设的CPU类型与Core类型的对应关系中,查找与该CPU的CPU类型对应的Core类型。
[0089] 测试设备所使用的CPU类型是可知的,比如,当前测试设备使用了5种类型的CPU,分别为XEON E5-2690 v3、XEON Gold 6146、i7-7900x、XEONPlatinum8176、AMD Ryzen 3900x。
[0090] 本申请实施例中,可针对测试设备所使用的各种类型的CPU进行性能测试。具体为,针对各类型CPU中单个Core的处理性能进行测试。
[0091] 比如,经过测试后,将XEON E5-2690 v3中单个Core的处理性能定义为100%;XEON Gold 6146中单个Core的处理性能相对于XEON E5-2690 v3中单个Core的处理性能可以达到120%;i7-7900x中单个Core的处理性能相对于XEON E5-2690 v3中单个Core的处理性能可以达到140%;XEONPlatinum 8176中单个Core的处理性能相对于XEON E5-2690 v3中单个Core的处理性能可以达到160%;AMD Ryzen 3900x中单个Core的处理性能相对于XEON E5-2690 v3中单个Core的处理性能可以达到170%。
[0092] 作为一个示例,可将150%作为分界线,将处理性能小于150%的Core定义为小核,将处理性能大于或等于150%的Core定义为大核。即,通过大核、小核区分Core的处理能力。
[0093] 本申请实施例可预先设置各CPU类型与Core类型的对应关系,如表3所示。
[0094]
[0095] 表3
[0096] 当资源调度平台通过步骤301获取到当前扫描的CPU的CPU类型时,可根据该CPU的CPU类型,从预设的CPU类型与Core类型的对应关系中,查找与该CPU的CPU类型对应的Core类型。
[0097] 比如,资源调度平台通过步骤301扫描到第一个CPU,记为CPU1。该CPU1的CPU类型为XEON E5-2690 v3。资源调度平台根据XEON E5-2690 v3查询表3,命中第1条表项,则获取到该表项包括的Core类型(小核)。
[0098] 步骤303,资源调度平台将查找到的Core类型确定为该CPU包括的所有Core的Core类型。
[0099] 同一CPU中各Core的处理性能相同,因此,通过步骤302查找到的Core类型,即为当前CPU包括的所有Core的Core类型。
[0100] 仍以前述CPU1为例,通过查询表3获取到的Core类型为小核,则可确定该CPU1包括的所有Core的Core类型为小核。
[0101] 以此类推,资源调度平台可得到测试设备中所有Core的Core类型。
[0102] 基于此,资源调度平台可在执行步骤103时,在资源调度响应中包括各目标Core的Core类型,以使测试进程基于各目标Core的Core类型,将多个测试线程分配至各目标Core中。
[0103] 至此,完成图3所示流程。
[0104] 通过图3所示流程,资源调度平台可得到测试设备中所有Core的Core类型。
[0105] 作为一个实施例,资源调度平台可将测试设备中的各个Core划分为系统专用Core、公用Core以及测试专用Core。其中,系统专用Core可提供给操作系统(比如,Linux操作系统)专用;公用Core可提供给所有测试进程公用;测试专用Core可提供给测试进程专用。比如,测试设备有10个Core,记为Core1~Core10,资源调度平台可将Core1、Core2划分为系统专用Core,将Core3、Core4划分为公用Core,将Core5~Core10划分为测试专用Core。
[0106] 基于此,资源调度平台在为测试进程分配至少一个目标Core时,可包括公用Core和/或测试专用Core。测试进程根据各测试线程所承载的测试任务的类型,为各测试线程选择公用Core和/或测试专用Core。
[0107] 作为一个示例,测试进程包括的各测试线程对处理性能要求都不高,则测试进程通过步骤101向资源调度平台申请公用Core。资源调度平台通过步骤102为测试进程分配公用Core,并通过步骤103发送给测试进程。测试进程通过步骤104将各测试线程分配至资源调度平台为其分配的公用Core中。
[0108] 作为另一个示例,测试进程包括对处理性能要求较高的测试线程,则测试进程通过步骤101向资源调度平台申请测试专用Core。资源调度平台通过步骤102为测试进程分配测试专用Core,同时,也可选择是否为测试进程提供公用Core,并通过步骤103发送给测试进程。测试进程通过步骤104将处理性能要求较高的测试线程分配至资源调度平台为其分配的测试专用Core中。若该测试进程还包括对处理性能要求不高的测试线程,则可将这部分测试线程分配至资源调度平台为其提供的公用Core中。以使CPU资源利用更加合理。
[0109] 现以一具体实施例详细介绍本申请提供的CPU资源分配方法。
[0110] 参见图4,为本申请实施例示出的一种测试设备的内部结构图。该测试设备包括两个CPU,分别为CPU41和CPU42,其中,CPU41的类型为AMD Ryzen3900x;CPU42的类型为XEON E5-2690 v3。分别对CPU41和CPU42的Core进行性能测试后,得到表4所示对应关系,并配置到测试设备中。
[0111]
[0112]
[0113] 表4
[0114] 测试设备中安装有Linux操作系统43,该操作系统启动后,自动启动资源调度平台44。资源调度平台44扫描测试设备中的硬件资源。以扫描CPU41为例,通过扫描获取到该CPU41的CPU类型为AMD Ryzen 3900x,查询表4,可知该CPU41包括的Core401~Core406的Core类型为大核。同理,扫描CPU42,可知该CPU42包括的Core407~Core410的Core类型为小核。
[0115] 资源调度平台44可将Core401和Core402划分为系统专用Core,分配给Linux操作系统43使用;将Core403和Core404划分为公用Core,以备所有测试进程使用;将Core405~Core410划分为测试专用Core,以备测试进程专用。
[0116] 图4所示测试设备中包括测试进程45和测试进程46。以测试进程45为例,该测试进程用于向被测设备发送流量,以测试被测设备的报文处理能力。该测试进程45包括2个辅助线程(对处理性能要求不高)以及20个用于发送报文的线程(简称发包线程)。
[0117] 用户配置测试进程45此次所要执行测试任务的测试规格,比如,测试规格为发送100M流量。测试进程45根据该测试规格,查询预先配置的表5。
[0118] 测试规格 所需的CPU资源信息100M流量 2个Core,其中,包括至少1个大核
…… ……
[0119] 表5
[0120] 可知,该测试规格下,需要2个Core,且至少包括1个大核。
[0121] 测试进程45向资源调度平台44发送资源调度请求,该资源调度请求包括查询表5获取到的所需的CPU资源信息(2个Core,其中,包括至少1个大核)。
[0122] 资源调度平台44接收到资源调度请求后,获取该资源调度请求包括的测试进程45执行测试任务所需的CPU资源信息(2个Core,其中,包括至少1个大核)。根据该CPU资源信息从Core405~Core410(当前均处于空闲状态)中,为测试进程45选择测试专用Core。如前所述,Core405、Core406为大核,Core407~Core410为小核,则资源调度平台44可选择Core405和Core407分配给测试进程45。
[0123] 资源调度平台44向测试进程45发送资源调度响应,该资源调度响应包括Core405和Core407的标识以及对应的Core类型。此外,在该资源调度响应中还可以包括Core403和Core404的标识以及对应Core类型(用于表示公用Core)。
[0124] 测试进程45接收资源调度响应,获取资源调度平台44为其分配的Core的标识以及对应Core类型,如表6所示。
[0125] Core的标识 Core类型Core403 公用
Core404 公用
Core405 大核
Core407 小核
[0126] 表6
[0127] 测试进程45根据获取到的上述信息,可将2个辅助线程分配至Core403(公用Core);将12个发包线程分配至Core405(大核);将8个发包线程分配至Core407(小核)。
[0128] 至此,完成针对测试进程的CPU资源分配。
[0129] 以上为对本申请实施例提供的方法的描述,下面对本申请实施例提供的设备进行描述:
[0130] 参见图5,为本申请实施例提供的设备的结构示意图。该设备包括:测试进程501和资源调度平台502,其中:
[0131] 所述测试进程501,用于向所述资源调度平台502发送资源调度请求,所述资源调度请求包括执行所述测试任务所需的CPU资源信息;并将所述多个测试线程分配至所述资源调度平台502为其分配的至少一个目标Core中;
[0132] 所述资源调度平台502,用于根据所述执行所述测试任务所需的CPU资源信息,为所述测试进程501分配至少一个目标Core;向所述测试进程501发送资源调度响应,所述资源调度响应包括所述至少一个目标Core的标识。
[0133] 作为一个实施例,所述测试进程501,还用于接收测试配置指令,所述测试配置指令包括所述测试任务的测试规格;从预设的各测试规格与执行该测试规格的测试任务所需的CPU资源信息的对应关系中,查找与所述测试任务的测试规格对应的所需的CPU资源信息。
[0134] 作为一个实施例,所述资源调度响应还包括所述至少一个目标Core的Core类型,所述Core类型用于表征Core的处理能力;
[0135] 所述测试进程501,具体用于根据各测试线程所承载测试任务的负载情况以及各目标Core的Core类型,将所述多个测试线程分配至各目标Core中。
[0136] 作为一个实施例,所述资源调度平台502,还用于针对每一个CPU,获取该CPU的CPU类型;从预设的CPU类型与Core类型的对应关系中,查找与该CPU的CPU类型对应的Core类型;将查找到的Core类型确定为该CPU包括的所有Core的Core类型。
[0137] 作为一个实施例,所述资源调度平台502,还用于将所述至少一个CPU包括的各个Core划分为系统专用Core、公用Core以及测试专用Core;
[0138] 所述资源调度平台502为所述测试进程分配的至少一个目标Core包括公用Core和/或测试专用Core;
[0139] 所述测试进程501,具体用于根据各测试线程所承载测试任务的类型,将各测试线程分配至公用Core和/或测试专用Core。
[0140] 至此,完成图5所示设备的描述。
[0141] 以上所述仅为本申请实施例的较佳实施例而已,并不用以限制本申请,凡在本申请实施例的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈