CN107315645B - 一种cpu核配置方法及装置 - Google Patents

一种cpu核配置方法及装置 Download PDF

Info

Publication number
CN107315645B
CN107315645B CN201710523747.9A CN201710523747A CN107315645B CN 107315645 B CN107315645 B CN 107315645B CN 201710523747 A CN201710523747 A CN 201710523747A CN 107315645 B CN107315645 B CN 107315645B
Authority
CN
China
Prior art keywords
cpu cores
processing
determining
cpu
network port
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.)
Active
Application number
CN201710523747.9A
Other languages
English (en)
Other versions
CN107315645A (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.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur Intelligent 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 Suzhou Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN201710523747.9A priority Critical patent/CN107315645B/zh
Publication of CN107315645A publication Critical patent/CN107315645A/zh
Application granted granted Critical
Publication of CN107315645B publication Critical patent/CN107315645B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0896Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5012Processor sets

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Multi Processors (AREA)

Abstract

本申请实施例提供一种CPU核配置方法及装置,应用于设置有至少一个基于iSCSI协议的网口和至少一个CPU核的终端,通过确定至少一个网口的第一数量和至少一个CPU核的第二数量;依据网口的带宽和第一数量,确定同时处理至少一个网口的数据包所需的CPU核的第三数量;根据第二数量以及预设的CPU核预留数量,确定用于处理至少一个网口的数据包的CPU核的第四数量;基于预先设置的用于处理iSCSI内核线程的CPU核数以及用于软中断处理过程的CPU核数的比例,分配根据第三数量和第四数量确定的目标数量的CPU核的方式,实现了对终端中CPU核的配置,进而使得在充分利用终端中CPU资源的基础上,提高了终端上网口的性能。

Description

一种CPU核配置方法及装置
技术领域
本申请涉及信息配置技术领域,特别是涉及一种CPU核配置方法及装置
背景技术
iSCSI协议作为一种联系用于存储数据的终端与客户端之间的基于TCP/IP技术的前端协议,以其低廉的成本和灵活方便的特性越来越受到人们的关注。尤其是随着10GB网卡的应用普及,基于网卡的iSCSI协议势必会越来越多的被应用到存储技术前端协议当中。
在用于存储数据的终端中,作为驱动iSCSI协议的iSCSI驱动程序的是基于软件的,往往会消耗很多的CPU资源,若是对用于处理终端上的网口的数据包的CPU核分配不合理,往往会导致终端上网口性能降低的问题。
因此,如何对终端中的CPU资源进行分配,以使得在充分利用终端中的CPU资源的基础上,提高终端上网口的性能,已成为非常重要的研究方向。
发明内容
有鉴于此,本申请实施例提供一种CPU核配置方法及装置,通过对终端中CPU核的配置,以保证在充分利用所述终端中CPU资源的基础上,提高所述终端上网口的性能。
为了实现上述目的,本申请实施例提供的技术方案如下:
一种CPU核配置方法,应用于设置有至少一个基于iSCSI协议的网口和至少一个CPU核的终端,该方法包括:
确定所述至少一个网口的第一数量和所述至少一个CPU核的第二数量;
依据所述网口的带宽和所述第一数量,确定同时处理所述至少一个网口的数据包所需的CPU核的第三数量;
根据所述第二数量以及预设的CPU核预留数量,确定用于处理所述至少一个网口的数据包的CPU核的第四数量;
基于预先设置的用于处理iSCSI内核线程的CPU核数以及用于软中断处理过程的CPU核数的比例,分配根据所述第三数量和第四数量确定的目标数量的CPU核。
优选的,所述依据所述网口的带宽和所述第一数量,确定同时处理所述至少一个网口的数据包所需的CPU核的第三数量,包括:
针对所述至少一个网口中的每个网口,依据该网口的带宽以及预设的处理所述带宽的网口的数据包所需的CPU核的数量,确定处理该网口的数据包所需的CPU核的数量;
将处理所述至少一个网口中的每个网口的数据包所需的CPU核的数量进行累加计算,累加结果;
基于所述累加结果确定同时处理所述至少一个网口的数据包所需的CPU核的第三数量。
优选的,所述根据所述第二数量以及预设的CPU核预留数量,确定用于处理所述至少一个网口的数据包的CPU核的第四数量,包括:
将所述第二数量和预设的CPU核预留数量之间的差值,作为用于处理所述至少一个网口的数据包的CPU核的第四数量。
优选的,所述基于预先设置的用于处理iSCSI内核线程的CPU核数以及用于软中断处理过程的CPU核数的比例,分配根据所述第三数量和第四数量确定的目标数量的CPU核,包括:
将所述第三数量和第四数量中的最小数量,确定为目标数量;
基于预先设置的用于处理iSCSI内核线程的CPU核数以及用于软中断处理过程的CPU核数的比例,确定从所述目标数量的CPU核中,分配的用于处理iSCSI内核线程的CPU核的个数;
根据所述目标数量和确定的用于处理iSCSI内核线程的CPU核的个数,确定用于软中断处理过程的CPU核的个数。
优选的,所述基于预先设置的用于处理iSCSI内核线程的CPU核数以及用于软中断处理过程的CPU核数的比例,确定从所述目标数量的CPU核中,分配的用于处理iSCSI内核线程的CPU核的个数,包括:
基于预先设置的用于处理iSCSI内核线程的CPU核数以及用于软中断处理过程的CPU核数的比例,确定从所述目标数量的CPU核中,分配的用于处理iSCSI内核线程的CPU核的数量;
确定所述数量是否小于1;
如果是,将用于处理iSCSI内核线程的CPU核的个数确定为1个;
如果否,对所述数量进行四舍五入,得到用于处理iSCSI内核线程的CPU核的个数。
优选的,所述根据所述目标数量和确定的用于处理iSCSI内核线程的CPU核的个数,确定用于软中断处理过程的CPU核的个数,包括:
确定所述目标数量和确定的用于处理iSCSI内核线程的CPU核的个数之间的差值是否大于1;
若是,将所述目标数量和确定的用于处理iSCSI内核线程的CPU核的个数之间的差值,确定为用于软中断处理过程的CPU核的个数;
若否,将用于软中断处理过程的CPU核的个数确定为1个。
一种CPU核配置装置,应用于设置有至少一个基于iSCSI协议的网口和至少一个CPU核的终端,该装置包括:
第一确定单元,用于确定所述至少一个网口的第一数量和所述至少一个CPU核的第二数量;
第二确定单元,用于依据所述网口的带宽和所述第一数量,确定同时处理所述至少一个网口的数据包所需的CPU核的第三数量;
第三确定单元,用于根据所述第二数量以及预设的CPU核预留数量,确定用于处理所述至少一个网口的数据包的CPU核的第四数量;
分配单元,用于基于预先设置的用于处理iSCSI内核线程的CPU核数以及用于软中断处理过程的CPU核数的比例,分配根据所述第三数量和第四数量确定的目标数量的CPU核。
优选的,所述第二确定单元,包括:
数量确定单元,用于针对所述至少一个网口中的每个网口,依据该网口的带宽以及预设的处理所述带宽的网口的数据包所需的CPU核的数量,确定处理该网口的数据包所需的CPU核的数量;
累加单元,用于将处理所述至少一个网口中的每个网口的数据包所需的CPU核的数量进行累加计算,累加结果;
第二确定子单元,用于基于所述累加结果确定同时处理所述至少一个网口的数据包所需的CPU核的第三数量。
优选的,所述第三确定单元,具体用于:
将所述第二数量和预设的CPU核预留数量之间的差值,作为用于处理所述至少一个网口的数据包的CPU核的第四数量。
优选的,所述分配单元,包括:
目标数量确定单元,用于将所述第三数量和第四数量中的最小数量,确定为目标数量;
第一个数确定单元,用于基于预先设置的用于处理iSCSI内核线程的CPU核数以及用于软中断处理过程的CPU核数的比例,确定从所述目标数量的CPU核中,分配的用于处理iSCSI内核线程的CPU核的个数;
第二个数确定单元,用于根据所述目标数量和确定的用于处理iSCSI内核线程的CPU核的个数,确定用于软中断处理过程的CPU核的个数。
本申请实施例提供一种CPU核配置方法及装置,应用于设置有至少一个基于iSCSI协议的网口和至少一个CPU核的终端,通过确定至少一个网口的第一数量和至少一个CPU核的第二数量;依据网口的带宽和第一数量,确定同时处理至少一个网口的数据包所需的CPU核的第三数量;根据第二数量以及预设的CPU核预留数量,确定用于处理至少一个网口的数据包的CPU核的第四数量;基于预先设置的用于处理iSCSI内核线程的CPU核数以及用于软中断处理过程的CPU核数的比例,分配根据第三数量和第四数量确定的目标数量的CPU核的方式,实现了对终端中CPU核的配置,进而使得在充分利用终端中CPU资源的基础上,提高了终端上网口的性能。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种CPU核配置方法流程图;
图2为本申请实施例提供的一种依据所述网口的带宽和所述第一数量,确定同时处理所述至少一个网口的数据包所需的CPU核的第三数量的方法流程图;
图3为本申请实施例提供的一种基于预先设置的用于处理iSCSI内核线程的CPU核数以及用于软中断处理过程的CPU核数的比例,分配根据所述第三数量和第四数量确定的目标数量的CPU核的方法流程图;
图4为本申请实施例提供的一种基于预先设置的用于处理iSCSI内核线程的CPU核数以及用于软中断处理过程的CPU核数的比例,确定从所述目标数量的CPU核中,分配的用于处理iSCSI内核线程的CPU核的个数的方法流程图;
图5为本申请实施例提供的一种根据所述目标数量和确定的用于处理iSCSI内核线程的CPU核的个数,确定用于软中断处理过程的CPU核的个数的方法流程图;
图6为本申请实施例提供的一种CPU核配置装置的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
实施例:
图1为本申请实施例提供的一种CPU核配置方法流程图。
可选的,本申请实施例提供的如图1所示的一种CPU核配置方法具体为一种用于iSCSI target的CPU核配置方法,如图1所示的CPU核配置方法应用于设置有至少一个基于iSCSI协议的网口和至少一个CPU核的终端。具体的,如图1所示的CPU核配置方法包括:
S101、确定所述至少一个网口的第一数量和所述至少一个CPU核的第二数量;
可选的,确定所述终端上设置的至少一个网口的数量(第一数量),以及所述终端上设置的至少一个CPU核的数量(第二数量)。
S102、依据所述网口的带宽和所述第一数量,确定同时处理所述至少一个网口的数据包所需的CPU核的第三数量;
可选的,依据所述网口的带宽和所述第一数量,计算同时处理所述至少一个网口的数据包所需的CPU核的数量,并根据计算得到的数量确定第三数量。
S103、根据所述第二数量以及预设的CPU核预留数量,确定用于处理所述至少一个网口的数据包的CPU核的第四数量;
可选的,所述根据所述第二数量以及预设的CPU核预留数量,确定用于处理所述至少一个网口的数据包的CPU核的第四数量,包括:将所述第二数量和预设的CPU核预留数量之间的差值,作为用于处理所述至少一个网口的数据包的CPU核的第四数量。
优选的,CPU核预留数量为自然数,CPU核预留数量为所述终端预留的用于处理其他的非网口的数据包的CPU核的数量(比如,用于专门处理实时压缩过程的CPU核等)。
可选的,确定第二数量和预设的CPU核预留数量之间的差值,并将确定的差值作为用于处理所述至少一个网口的数据包的CPU核的第四数量。比如,若第二数量为6,预设的CPU核预留数量为2,则用于处理所述至少一个网口的数据包的CPU核的第四数量为4。
S104、基于预先设置的用于处理iSCSI内核线程的CPU核数以及用于软中断处理过程的CPU核数的比例,分配根据所述第三数量和第四数量确定的目标数量的CPU核。
可选的,根据第三数量和第四数量可确定目标数量,进而基于预先设置的用于处理iSCSI内核线程的CPU核数以及用于软中断处理过程的CPU核数的比例,可对所述终端中所述目标数量的CPU核进行分配。
为了便于对本申请实施例提供的一种CPU核配置方法的理解,现对该方法中的一种依据所述网口的带宽和所述第一数量,确定同时处理所述至少一个网口的数据包所需的CPU核的第三数量的方法进行详细介绍。
图2为本申请实施例提供的一种依据所述网口的带宽和所述第一数量,确定同时处理所述至少一个网口的数据包所需的CPU核的第三数量的方法流程图。
如图2所示,该方法包括:
S201、针对所述至少一个网口中的每个网口,依据该网口的带宽以及预设的处理所述带宽的网口的数据包所需的CPU核的数量,确定处理该网口的数据包所需的CPU核的数量;
可选的,针对所述至少一个网口中的每个网口而言,确定该网口的带宽,进而确定预设的处理所述带宽的网口的数据包所需的CPU核的数量,以将所确定的数量作为处理该网口的数据包所需的CPU核的数量。
比如,预先设置处理10GGb网口的数据包所需的CPU核的数量为1.5个CPU核。以上仅仅是本申请实施例提供的预设的处理所述带宽的网口的数据包所需的CPU核的数量的一种优选方式,发明人可根据自己的需求预先设置处理不同带宽的网口所需的CPU核的数量,再此不做限定。
S202、将处理所述至少一个网口中的每个网口的数据包所需的CPU核的数量进行累加计算,累加结果;
可选的,针对所述至少一个网口中的每个网口而言,确定出处理该网口的数据包所需的CPU核的数量后,将确定出的所有的数量进行累加计算,得到累加结果。比如,所述至少一个网口为3个网口(分别为网口1、网口2和网口3),确定的处理网口1的数据包所需的CPU核的数量为0.6、确定的处理网口2的数据包所需的CPU核的数量为1.5,确定的处理网口3的数据包所需的CPU核的数量为1.5,将0.6、1.5和1.5进行累计计算,得到累加结果3.6。
S203、基于所述累加结果确定同时处理所述至少一个网口的数据包所需的CPU核的第三数量。
在本申请实施例中,优选的,基于所述累加结果确定同时处理所述至少一个网口的数据包所需的CPU核的第三数量,包括:在所述累加结果为非整数的情况下,基于所述累加结果确定同时处理所述至少一个网口的数据包所需的CPU核的第三数量。可选的,在所述累加结果为非整数的情况下,基于所述累加结果确定同时处理所述至少一个网口的数据包所需的CPU核的第三数量,包括:将对所述累加结果进行四舍五入的结果,确定为同时处理所述至少一个网口的数据包所需的CPU核的第三数量。例如,若所述累加结果为3.6,对3.6进行四舍五入得到的第三数量为4;若所述累加结果为3.3,对3.3进行四舍五入得到的第三数量为3。进一步的,若所述累加结果为整数,则将所述累加结果确定为同时处理所述至少一个网口的数据包所需的CPU核的第三数量。
在本申请实施例中,优选的,可直接将累加结果确定为同时处理所述至少一个网口的数据包所需的CPU核的第三数量。即,不论所述累加结果是否为整数,均直接将所述累加结果作为同时处理所述至少一个网口的数据包所需的CPU核的第三数量。例如,若所述累加结果为3.6,确定第三数量为3.6;若所述累加结果为3.3,确定第三数量为3.3;若累加结果为3,确定第三数量为3。
为了便于对本申请实施例提供的一种CPU核配置方法的理解,现对该方法中的一种基于预先设置的用于处理iSCSI内核线程的CPU核数以及用于软中断处理过程的CPU核数的比例,分配根据所述第三数量和第四数量确定的目标数量的CPU核的方法进行详细介绍。
图3为本申请实施例提供的一种基于预先设置的用于处理iSCSI内核线程的CPU核数以及用于软中断处理过程的CPU核数的比例,分配根据所述第三数量和第四数量确定的目标数量的CPU核的方法流程图。
如图3所示,该方法包括:
S301、将所述第三数量和第四数量中的最小数量,确定为目标数量;
可选的,比较第三数量和第四数量,将其中较小的数量确定为目标数量。例如,若第三数量为3,第四数量为5,则将第三数量确定为目标数量(目标数量为3);若第三数量为5,第四数量为2,则将第四数量确定为目标数量(目标数量为2)。
S302、基于预先设置的用于处理iSCSI内核线程的CPU核数以及用于软中断处理过程的CPU核数的比例,确定从所述目标数量的CPU核中,分配的用于处理iSCSI内核线程的CPU核的个数;
可选的,预先设置有用于处理处理iSCSI内核线程的CPU核数以及用于软中断处理过程的CPU核数的比例,以便在确定目标数量后,计算从所述目标数量中分配出的用于处理iSCSI内核线程的CPU核的个数。
S303、根据所述目标数量和确定的用于处理iSCSI内核线程的CPU核的个数,确定用于软中断处理过程的CPU核的个数。
图4为本申请实施例提供的一种基于预先设置的用于处理iSCSI内核线程的CPU核数以及用于软中断处理过程的CPU核数的比例,确定从所述目标数量的CPU核中,分配的用于处理iSCSI内核线程的CPU核的个数的方法流程图。
如图4所示,该方法包括:
S401、基于预先设置的用于处理iSCSI内核线程的CPU核数以及用于软中断处理过程的CPU核数的比例,确定从所述目标数量的CPU核中,分配的用于处理iSCSI内核线程的CPU核的数量;
例如,若预先设置的用于处理iSCSI内核线程的CPU核数以及用于软中断处理过程的CPU核数的比例为2:1,目标数量为6;则确定的从所述目标数量的CPU核中,分配的用于处理iSCSI内核线程的CPU核的数量为4,计算方式为:6*(2/3)=4。
S402、确定所述数量是否小于1;如果是,执行步骤S403;如果否,执行步骤S404;
S403、将用于处理iSCSI内核线程的CPU核的个数确定为1个;
S404、对所述数量进行四舍五入,得到用于处理iSCSI内核线程的CPU核的个数。
例如,若确定的从所述目标数量的CPU核中,分配的用于处理iSCSI内核线程的CPU核的数量为3.6,则对3.6进行四舍五入得到的用于处理iSCSI内核线程的CPU核的个数为4;若确定的从所述目标数量的CPU核中,分配的用于处理iSCSI内核线程的CPU核的数量为3.2,则对3.2进行四舍五入得到的用于处理iSCSI内核线程的CPU核的个数为3。
图5为本申请实施例提供的一种根据所述目标数量和确定的用于处理iSCSI内核线程的CPU核的个数,确定用于软中断处理过程的CPU核的个数的方法流程图。
如图5所示,该方法包括:
S501、确定所述目标数量和确定的用于处理iSCSI内核线程的CPU核的个数之间的差值是否大于1;若是,执行步骤S502;若否,执行步骤S503;
S502、将所述目标数量和确定的用于处理iSCSI内核线程的CPU核的个数之间的差值,确定为用于软中断处理过程的CPU核的个数;
S503、将用于软中断处理过程的CPU核的个数确定为1个。
为了更加清楚的对本申请实施例提供的一种CUP核配置方法进行详细介绍,现通过一实例进行详细说明。
本申请实施例提供的一种CPU核配置方法应用于终端,所述终端上设置有至少一个基于iSCSI协议的网口和至少一个CPU核,所述至少一个网口中的每个网口为10Gb网口。
本申请实施例提供的一种CPU核配置方法,首先确定所述至少一个网口的第一数量和所述至少一个CPU核的第二数量;进而以及所述网口的带宽和所述第一数量,确定同时处理所述至少一个网口的数据包所需的CPU核的第三数量【预先设置处理一个10Gb网口的CPU核的数量为1.5个,将1.5乘以第一数量得到乘积结果,根据乘积结果确定第三数量(根据乘积结果确定第三数量的一种方式为:若乘积结果不为整数,将对乘积结果进行四舍五入得到的结果作为第三数量;若乘积结果为整数,将乘积结果确定为第三数量。根据乘积结果确定第三数量的另一种方式为:将乘积结果直接作为第三数量)】;根据所述第二数量以及预设的CPU核预留数量,确定用于处理所述至少一个网口的数据包的CPU核的第四数量(将第二数量和预设的CPU核预留数量之间的差值,确定为用于处理所述至少一个网口的数据包的CPU核的第四数量,优选的,预设的CPU核预留数量为自然数);基于预先设置的用于处理iSCSI内核线程的CPU核数以及用于软中断处理过程的CPU核数的比例,分配根据所述第三数量和第四数量确定的目标数量的CPU核(预先设置的用于处理iSCSI内核线程的CPU核数以及用于软中断处理过程的CPU核数的比例为2:1;取第三数量和第四数量中的比较小的数量,作为目标数量;将目标数量乘以2/3得到乘积结果,若乘积结果小于1,将用于处理iSCSI内核线程的CPU核的个数确定为1;在乘积结果不小于1的情况下,判断乘积结果是否为整数,若乘积结果为整数,将乘积结果确定为用于处理iSCSI内核线程的CPU核的个数;若乘积结果不为整数,将对乘积结果进行四舍五入后得到的结果确定为用于处理iSCSI内核线程的CPU核的个数)。
相应的,确定所述目标数量和确定的用于处理iSCSI内核线程的CPU核的个数之间的差值是否大于1;若是,将所述目标数量和确定的用于处理iSCSI内核线程的CPU核的个数之间的差值,确定为用于软中断处理过程的CPU核的个数;若否,将用于软中断处理过程的CPU核的个数确定为1个。
在本申请实施例中,优选的,在确定终端中用于处理iSCSI内核线程的CPU核的个数(第一个数),以及用于软中断处理过程的CPU核的个数(第二个数)后,从终端中分配第一个数的CPU核与“处理iSCSI内核线程”进程绑定,以保证与“处理iSCSI内核线程”进程绑定的CPU核仅用于处理“处理iSCSI内核线程”进程;以及,从终端中分配第二个数的CPU核与“软中断处理过程”进程绑定,以保证与“软中断处理过程”进程绑定的CPU核仅用于处理“软中断处理过程”进程。
本申请实施例提供一种CPU核配置方法,应用于设置有至少一个基于iSCSI协议的网口和至少一个CPU核的终端,通过确定至少一个网口的第一数量和至少一个CPU核的第二数量;依据网口的带宽和第一数量,确定同时处理至少一个网口的数据包所需的CPU核的第三数量;根据第二数量以及预设的CPU核预留数量,确定用于处理至少一个网口的数据包的CPU核的第四数量;基于预先设置的用于处理iSCSI内核线程的CPU核数以及用于软中断处理过程的CPU核数的比例,分配根据第三数量和第四数量确定的目标数量的CPU核的方式,实现了对终端中CPU核的配置,进而使得在充分利用终端中CPU资源的基础上,提高了终端上网口的性能。
图6为本申请实施例提供的一种CPU核配置装置的结构示意图。
如图6所示的一种CPU核配置装置应用于设置有至少一个基于iSCSI协议的网口和至少一个CPU核的终端。具体的,如图6所示的装置包括:
第一确定单元61,用于确定所述至少一个网口的第一数量和所述至少一个CPU核的第二数量;
第二确定单元62,用于依据所述网口的带宽和所述第一数量,确定同时处理所述至少一个网口的数据包所需的CPU核的第三数量;
第三确定单元63,用于根据所述第二数量以及预设的CPU核预留数量,确定用于处理所述至少一个网口的数据包的CPU核的第四数量;
分配单元64,用于基于预先设置的用于处理iSCSI内核线程的CPU核数以及用于软中断处理过程的CPU核数的比例,分配根据所述第三数量和第四数量确定的目标数量的CPU核。
可选的,所述第二确定单元,包括:
数量确定单元,用于针对所述至少一个网口中的每个网口,依据该网口的带宽以及预设的处理所述带宽的网口的数据包所需的CPU核的数量,确定处理该网口的数据包所需的CPU核的数量;
累加单元,用于将处理所述至少一个网口中的每个网口的数据包所需的CPU核的数量进行累加计算,累加结果;
第二确定子单元,用于基于所述累加结果确定同时处理所述至少一个网口的数据包所需的CPU核的第三数量。
可选的,所述第三确定单元,具体用于:将所述第二数量和预设的CPU核预留数量之间的差值,作为用于处理所述至少一个网口的数据包的CPU核的第四数量。
可选的,所述分配单元,包括:
目标数量确定单元,用于将所述第三数量和第四数量中的最小数量,确定为目标数量;
第一个数确定单元,用于基于预先设置的用于处理iSCSI内核线程的CPU核数以及用于软中断处理过程的CPU核数的比例,确定从所述目标数量的CPU核中,分配的用于处理iSCSI内核线程的CPU核的个数;
第二个数确定单元,用于根据所述目标数量和确定的用于处理iSCSI内核线程的CPU核的个数,确定用于软中断处理过程的CPU核的个数。
本申请实施例提供一种CPU核配置装置,应用于设置有至少一个基于iSCSI协议的网口和至少一个CPU核的终端,通过确定至少一个网口的第一数量和至少一个CPU核的第二数量;依据网口的带宽和第一数量,确定同时处理至少一个网口的数据包所需的CPU核的第三数量;根据第二数量以及预设的CPU核预留数量,确定用于处理至少一个网口的数据包的CPU核的第四数量;基于预先设置的用于处理iSCSI内核线程的CPU核数以及用于软中断处理过程的CPU核数的比例,分配根据第三数量和第四数量确定的目标数量的CPU核的方式,实现了对终端中CPU核的配置,进而使得在充分利用终端中CPU资源的基础上,提高了终端上网口的性能。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
以上仅是本申请的优选实施方式,使本领域技术人员能够理解或实现本申请。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (6)

1.一种CPU核配置方法,其特征在于,应用于设置有至少一个基于iSCSI协议的网口和至少一个CPU核的终端,该方法包括:
确定至少一个网口的第一数量和所述至少一个CPU核的第二数量;
针对所述至少一个网口中的每个网口,依据该网口的带宽以及预设的处理所述带宽的网口的数据包所需的CPU核的数量,确定处理该网口的数据包所需的CPU核的数量;
将处理所述至少一个网口中的每个网口的数据包所需的CPU核的数量进行累加计算,累加结果;
基于所述累加结果确定同时处理所述至少一个网口的数据包所需的CPU核的第三数量;
将所述第二数量和预设的CPU核预留数量之间的差值,作为用于处理所述至少一个网口的数据包的CPU核的第四数量;所述CPU核预留数量为所述终端预留的用于处理其他的非网口的数据包的CPU核的数量;
将所述第三数量和第四数量中的最小数量,确定为目标数量;基于预先设置的用于处理iSCSI内核线程的CPU核数以及用于软中断处理过程的CPU核数的比例,分配所述目标数量的CPU核。
2.根据权利要求1所述的方法,其特征在于,所述基于预先设置的用于处理iSCSI内核线程的CPU核数以及用于软中断处理过程的CPU核数的比例,分配所述目标数量的CPU核,包括:
基于预先设置的用于处理iSCSI内核线程的CPU核数以及用于软中断处理过程的CPU核数的比例,确定从所述目标数量的CPU核中,分配的用于处理iSCSI内核线程的CPU核的个数;
根据所述目标数量和确定的用于处理iSCSI内核线程的CPU核的个数,确定用于软中断处理过程的CPU核的个数。
3.根据权利要求2所述的方法,其特征在于,所述基于预先设置的用于处理iSCSI内核线程的CPU核数以及用于软中断处理过程的CPU核数的比例,确定从所述目标数量的CPU核中,分配的用于处理iSCSI内核线程的CPU核的个数,包括:
基于预先设置的用于处理iSCSI内核线程的CPU核数以及用于软中断处理过程的CPU核数的比例,确定从所述目标数量的CPU核中,分配的用于处理iSCSI内核线程的CPU核的数量;
确定所述数量是否小于1;
如果是,将用于处理iSCSI内核线程的CPU核的个数确定为1个;
如果否,对所述数量进行四舍五入,得到用于处理iSCSI内核线程的CPU核的个数。
4.根据权利要求3所述的方法,其特征在于,所述根据所述目标数量和确定的用于处理iSCSI内核线程的CPU核的个数,确定用于软中断处理过程的CPU核的个数,包括:
确定所述目标数量和确定的用于处理iSCSI内核线程的CPU核的个数之间的差值是否大于1;
若是,将所述目标数量和确定的用于处理iSCSI内核线程的CPU核的个数之间的差值,确定为用于软中断处理过程的CPU核的个数;
若否,将用于软中断处理过程的CPU核的个数确定为1个。
5.一种CPU核配置装置,其特征在于,应用于设置有至少一个基于iSCSI协议的网口和至少一个CPU核的终端,该装置包括:
第一确定单元,用于确定至少一个网口的第一数量和所述至少一个CPU核的第二数量;
第二确定单元,用于依据所述网口的带宽和所述第一数量,确定同时处理所述至少一个网口的数据包所需的CPU核的第三数量;
第三确定单元,用于将所述第二数量和预设的CPU核预留数量之间的差值,作为用于处理所述至少一个网口的数据包的CPU核的第四数量;所述CPU核预留数量为所述终端预留的用于处理其他的非网口的数据包的CPU核的数量;
分配单元,用于将所述第三数量和第四数量中的最小数量,确定为目标数量;基于预先设置的用于处理iSCSI内核线程的CPU核数以及用于软中断处理过程的CPU核数的比例,分配所述目标数量的CPU核;
其中,所述第二确定单元,包括:
数量确定单元,用于针对所述至少一个网口中的每个网口,依据该网口的带宽以及预设的处理所述带宽的网口的数据包所需的CPU核的数量,确定处理该网口的数据包所需的CPU核的数量;
累加单元,用于将处理所述至少一个网口中的每个网口的数据包所需的CPU核的数量进行累加计算,累加结果;
第二确定子单元,用于基于所述累加结果确定同时处理所述至少一个网口的数据包所需的CPU核的第三数量。
6.根据权利要求5所述的装置,其特征在于,所述分配单元,包括:
目标数量确定单元,用于将所述第三数量和第四数量中的最小数量,确定为目标数量;
第一个数确定单元,用于基于预先设置的用于处理iSCSI内核线程的CPU核数以及用于软中断处理过程的CPU核数的比例,确定从所述目标数量的CPU核中,分配的用于处理iSCSI内核线程的CPU核的个数;
第二个数确定单元,用于根据所述目标数量和确定的用于处理iSCSI内核线程的CPU核的个数,确定用于软中断处理过程的CPU核的个数。
CN201710523747.9A 2017-06-30 2017-06-30 一种cpu核配置方法及装置 Active CN107315645B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710523747.9A CN107315645B (zh) 2017-06-30 2017-06-30 一种cpu核配置方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710523747.9A CN107315645B (zh) 2017-06-30 2017-06-30 一种cpu核配置方法及装置

Publications (2)

Publication Number Publication Date
CN107315645A CN107315645A (zh) 2017-11-03
CN107315645B true CN107315645B (zh) 2020-09-15

Family

ID=60179855

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710523747.9A Active CN107315645B (zh) 2017-06-30 2017-06-30 一种cpu核配置方法及装置

Country Status (1)

Country Link
CN (1) CN107315645B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110673956B (zh) * 2019-09-24 2022-04-15 Oppo广东移动通信有限公司 回收线程创建方法、装置、计算机设备以及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102681902A (zh) * 2012-05-15 2012-09-19 浙江大学 一种基于多核系统任务分配的负载均衡方法
CN102984085A (zh) * 2012-11-21 2013-03-20 网神信息技术(北京)股份有限公司 映射方法及装置
CN103838516A (zh) * 2012-11-23 2014-06-04 中国科学院声学研究所 一种用于多核处理器高效访问iSCSI磁盘阵列的方法及系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101583325B1 (ko) * 2014-08-12 2016-01-07 주식회사 구버넷 가상 패킷을 처리하는 네트워크 인터페이스 장치 및 그 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102681902A (zh) * 2012-05-15 2012-09-19 浙江大学 一种基于多核系统任务分配的负载均衡方法
CN102984085A (zh) * 2012-11-21 2013-03-20 网神信息技术(北京)股份有限公司 映射方法及装置
CN103838516A (zh) * 2012-11-23 2014-06-04 中国科学院声学研究所 一种用于多核处理器高效访问iSCSI磁盘阵列的方法及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于多核分布式环境下的任务调度关键技术研究;耿晓中;《中国博士学位论文全文数据库 信息科技辑》;20130815(第08期);全文 *

Also Published As

Publication number Publication date
CN107315645A (zh) 2017-11-03

Similar Documents

Publication Publication Date Title
CN108881448B (zh) Api请求的处理方法及装置
WO2015096681A1 (zh) 一种业务访问处理方法及装置
CN105791254B (zh) 网络请求处理方法、装置及终端
CN109408243B (zh) 一种基于rdma的数据处理方法、装置和介质
CN111490963B (zh) 基于quic协议栈的数据处理方法、系统、设备及存储介质
CN108228366B (zh) 一种数据流的处理方法和装置
US20140181829A1 (en) Pseudo-random hardware resource allocation
WO2020026018A1 (zh) 文件的下载方法、装置、设备/终端/服务器及存储介质
CN111224897A (zh) 一种流量转发方法、装置、交换机设备及智能网卡
CN104239150A (zh) 一种硬件资源调整的方法及装置
WO2014183574A1 (zh) 计算节点部署方法、处理节点、控制器及系统
US9363199B1 (en) Bandwidth management for data services operating on a local network
CN107315645B (zh) 一种cpu核配置方法及装置
CN108200185B (zh) 一种实现负载均衡的方法及装置
CN108924128A (zh) 一种移动终端及其进程间通信的限制方法、存储介质
CN108429703A (zh) Dhcp客户端上线方法及装置
CN105656794A (zh) 数据分发方法及装置
CN104572276A (zh) 一种基于云计算的并发数据处理方法
CN111597041A (zh) 一种分布式系统的调用方法、装置、终端设备及服务器
CN107659511B (zh) 一种过载控制方法、主机和存储介质以及程序产品
CN105490956A (zh) 一种网络请求处理方法及装置
CN114024913B (zh) 一种网络性能优化方法、装置、设备以及存储介质
CN113453285B (zh) 一种资源调整方法、装置及存储介质
CN115665251A (zh) 边缘云资源分配方法及系统
CN111245794B (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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20200820

Address after: 215100 No. 1 Guanpu Road, Guoxiang Street, Wuzhong Economic Development Zone, Suzhou City, Jiangsu Province

Applicant after: SUZHOU LANGCHAO INTELLIGENT TECHNOLOGY Co.,Ltd.

Address before: 450018 Henan province Zheng Dong New District of Zhengzhou City Xinyi Road No. 278 16 floor room 1601

Applicant before: ZHENGZHOU YUNHAI INFORMATION TECHNOLOGY Co.,Ltd.

GR01 Patent grant
GR01 Patent grant