CN116431357B - 内核分配方法、分配组件、工作节点和存储介质 - Google Patents
内核分配方法、分配组件、工作节点和存储介质 Download PDFInfo
- Publication number
- CN116431357B CN116431357B CN202310700000.1A CN202310700000A CN116431357B CN 116431357 B CN116431357 B CN 116431357B CN 202310700000 A CN202310700000 A CN 202310700000A CN 116431357 B CN116431357 B CN 116431357B
- Authority
- CN
- China
- Prior art keywords
- affinity
- network
- kernel
- thread
- relationship
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 58
- 238000004891 communication Methods 0.000 claims abstract description 149
- 238000012545 processing Methods 0.000 claims abstract description 41
- 230000006870 function Effects 0.000 claims description 36
- 238000013138 pruning Methods 0.000 claims description 23
- 230000004044 response Effects 0.000 claims description 19
- 238000001514 detection method Methods 0.000 claims description 15
- 238000012544 monitoring process Methods 0.000 claims description 13
- 238000012986 modification Methods 0.000 claims description 6
- 230000004048 modification Effects 0.000 claims description 6
- 238000012216 screening Methods 0.000 claims description 2
- 230000008569 process Effects 0.000 abstract description 25
- 238000010586 diagram Methods 0.000 description 10
- 230000000694 effects Effects 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 6
- 230000003190 augmentative effect Effects 0.000 description 4
- 238000010295 mobile communication Methods 0.000 description 4
- 238000012217 deletion Methods 0.000 description 3
- 230000037430 deletion Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 206010033799 Paralysis Diseases 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5033—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering data affinity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5018—Thread allocation
Landscapes
- Engineering & Computer Science (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)
Abstract
本发明实施例提供一种内核分配方法、分配组件、工作节点和存储介质,该方法包括:部署在物理主机上的通信网络在运行过程中可以产生网络线程,此线程运行于物理主机上中央处理器的内核中。分配组件可以获取用于描述网络线程与内核之间亲和关系的亲和信息。并根据此亲和信息确定网络线程和内核之间是否具有独占关系。对于具有亲和关系但不具有独占关系的网络线程和内核,分配组件可以进行调整,以使实现网络线程和内核之间的独占。上述过程中,借助分配组件对网络线程与内核之间的亲和关系和独占关系进行检测和调整功能,能够保证不同网络线程各自独占不同的内核以使网络线程被分配到足够的计算资源,保证通信网络的数据处理性能。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种内核分配方法、分配组件、工作节点和存储介质。
背景技术
随着第五代移动通信技术(5th Generation Mobile CommunicationTechnology,简称5G)的不断发展,5G通信网络已经可以为用户提供多种服务。并且随着网络功能虚拟化(Network Function Virtualization,简称NFV)的发展,5G通信网络中的功能实例比如接入设备、核心网中的功能网元等均可以以软件程序的形式部署在多内核的硬件设备中。功能实例运行所产生的线程即5G通信网络对应的网络线程可以借助硬件设备的计算资源尤其是内核资源,对数据进行处理,从而实现5G通信网络的运行。
在实际中,考虑到5G通信网络低时延、高可靠的特性,如何为5G网络线程分配充足的内核资源就成为一个亟待解决的问题。
发明内容
有鉴于此,本发明实施例提供一种内核分配方法、分配组件、工作节点和存储介质,用以为网络线程分配充足的内核资源。
第一方面,本发明实施例提供一种内核分配方法,包括:
获取通信网络运行时产生的网络线程的亲和信息,所述通信网络部署于物理主机上,所述亲和信息反映所述网络线程与所述物理主机上中央处理器CPU包含的内核之间的亲和关系;
根据所述亲和信息确定具有亲和关系的网络线程与内核是否具有独占关系;
若所述网络线程与所述内核不具有独占关系,则调整所述网络线程与所述内核之间的亲和关系,以使所述网络线程与亲和关系调整后所亲和的内核具有独占关系。
第二方面,本发明实施例提供一种分配组件,包括:关系确定子组件和处理子组件;
所述关系确定子组件,用于获取通信网络运行时产生的网络线程的亲和信息,所述通信网络部署于物理主机上,所述亲和信息反映所述网络线程与所述物理主机上中央处理器CPU包含的内核之间的亲和关系;
根据所述亲和信息确定具有亲和关系的网络线程与内核是否具有独占关系;
所述处理子组件,用于若所述网络线程与所述内核不具有独占关系,则调整所述网络线程与所述内核之间的亲和关系,以使所述网络线程与亲和关系调整后对应的内核具有独占关系。
第三方面,本发明实施例提供一种工作节点,部署于容器编排系统,所述工作节点包括:容器组和分配组件;
所述容器组,用于处理部署于所述容器编排系统的通信网络产生的数据;
所述分配组件,用于获取通信网络运行时产生的网络线程的亲和信息,所述通信网络部署于物理主机上,所述亲和信息反映所述网络线程与所述物理主机上中央处理器CPU包含的内核之间的亲和关系;
根据所述亲和信息确定具有亲和关系的网络线程与内核是否具有独占关系;
若所述网络线程与所述内核不具有独占关系,则调整所述网络线程与所述内核之间的亲和关系,以使所述网络线程与亲和关系调整后所亲和的内核具有独占关系。
第四方面,本发明实施例提供了一种非暂时性机器可读存储介质,所述非暂时性机器可读存储介质上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器至少可以实现如第一方面所述的内核分配方法。
通信网络可以部署在物理主机上,则通信网络在运行过程中产生的网络线程可以作为用户线程也运行于物理主机上CPU的内核中,即网络线程可以利用CPU的内核提供的计算资源进行数据出。则本发明实施例提供的内核分配方法:
对于通信网络运行时产生的网络线程,部署于物理主机上的分配组件可以获取这些网络线程的亲和信息,该亲和信息用于描述网络线程与内核之间的亲和关系。然后,根据此亲和信息再进一步确定具有亲和关系的网络线程和内核之间是否同时具有独占关系。若网络线程和内核具有亲和关系但不具有独占关系,则分配组件可以调整网络线程和内核之间的亲和关系,通过调整使网络线程和内核在具有亲和关系的同时也具有独占关系。
上述过程中,分配组件可以具有对网络线程和内核之间的亲和关系和独占关系进行检测的功能以及调整亲和关系的功能。利用分配组件的功能能够实现网络线程对内核的独占。而这种独占关系能够保证网络线程都被分配到足够的计算资源,从而能够保证线程对数据处理的实时性和时序性,以最终保证通信网络的性能。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种通信网络的结构示意图;
图2为本发明实施例提供的一种内核分配方法的流程图;
图3为本发明实施例提供的亲和关系调整的示意图;
图4为本发明实施例提供的另一种内核分配方法的流程图;
图5为本发明实施例提供的一种分配组件的结构示意图;
图6为本发明实施例提供的另一种分配组件的结构示意图;
图7为本发明实施例提供的一种工作节点的结构示意图;
图8为本发明实施例提供的一种容器编排系统的结构示意图;
图9为本发明实施例提供的内核分配方法、分配组件应用在5G专用网络中的示意图;
图10为本发明实施例提供的一种内核分配装置的结构示意图;
图11为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义,“多种”一般包含至少两种,但是不排除包含至少一种的情况。
应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
取决于语境,如在此所使用的词语“如果”、“若”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于识别”。类似地,取决于语境,短语“如果确定”或“如果识别(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当识别(陈述的条件或事件)时”或“响应于识别(陈述的条件或事件)”。
需要说明的有,本发明所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,并且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准,并提供有相应的操作入口,供用户选择授权或者拒绝。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的商品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种商品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的商品或者系统中还存在另外的相同要素。
在对本发明下述各实施例提供的进行详细描述之前,还可以对本发明涉及的相关概念进行解释:
亲和(affinity)关系:线程要在CPU的一内核中尽量长时间地运行而不被迁移到CPU的其他内核。即线程与CPU的内核之间的绑定关系,线程可以借助自身绑定的内核所提供的计算资源进行数据处理。
独占关系:内核只与线程之间的一一绑定关系,即线程可以使用其绑定的内核所提供的全部计算资源进行数据处理。
可见,具有独占关系的内核和线程一定具有亲和关系,反之,具有亲和关系的内核和线程不一定具有独占关系。
用户线程(User-level Threads):指不需要内核支持而在用户安装的应用程序中实现的线程。
内核线程(Kernel Threads):指由内核管理的线程。即使物理设备启动后会产生内核线程,内核线程的产生与用户是否在物理主机中安装其他应用程序无关。
下面可以结合附图对本发明的一些实施方式作详细说明。在各实施例之间不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。另外,下述各方法实施例中的步骤时序仅为一种举例,而非严格限定。
图1为本发明实施例提供的一种通信网络。如图1所示,该通信网络可以包括数据网络(Data Network,简称DN)、核心网、无线接入网(Radio Access Network,简称RAN)。
可选地,本实施例以及下述各实施例提及的通信网络具体可以表现为云网络或者本地化网络。而对于表现为云网络或者本地化网络的通信网络,可选地,其具体又可以是公用网络或者部署在特定区域内比如某一工业园区内的专用网络。
可选地,通信网络中的核心网可以是 5G通信技术的5G核心网(5G Core Network,简称5GC),也可以是第四代移动通信技术(4th Generation Mobile CommunicationTechnology,简称4G)的4G核心网,也可以是4G和5G混合的核心网。其中,5G核心网和4G核心网都可以具有通用的核心网结构,在此不再详细介绍。
可选地,RAN可以包括接入设备。接入设备具体可以表现为基站。当核心网具体为5GC时,基站可以为5G基站(the next Generation Node B,简称gNB)。
可选地,通信网络具体为5G通信网络时,该网络中的gNB、5GC中的各控制面功能(Control Plane Function,简称CPF)网元以及用户面功能网元(User Plane Function,简称UPF)等等均可以认为是通信网络中的功能实例,功能实例协同工作可以保证通信网络的正常通信功能,并且功能实例还可以以虚拟化软件形式部署在多内核的硬件设备即物理主机中。
可选地,通信网络中的DN可以包括提供服务的数据服务器,该数据服务器可以单独的服务器或者服务器集群。一台数据服务器可以提供至少一种服务。
可选地,数据服务器提供的服务也可以认为是通信网络提供的服务,当通信网络具体为5G通信网络时,考虑到5G通信网络的超低时延、高传输速度、高可靠性、超大连接等特性,5G通信网络提供的服务比如可以是即时通信服务、直播服务、信息搜索服务等等。其中,语音通话服务可以是终端设备中安装的各种即时通信应用程序提供的通话服务,又或者是移动运营商提供的通话服务。直播服务对应的直播视频具体可以是体育赛事、游戏的直播视频,也可以是用以实现远程教育和远程医疗的直播视频等等。除此之外,数据服务器提供的服务还可以包括自动驾驶服务、扩展现实(Extended Reality,简称XR)服务、工业园区的视频监测服务等等。其中,XR服务具体可以又包括虚拟现实(Virtual Reality,简称VR)服务、增强现实(Augmented Reality,简称AR)服务、混合现实(Mixed Reality,简称MR)服务等等。
在实际中,当用户使用的终端设备接入上述的通信网络后,便可以使用通信网络提供的上述各种服务。
对于为用户提供多种服务、以物理主机作为运行载体的通信网络,在实际运行时发明人发现:通信网络可以产生相应的网络线程,网络线程可以借助与自身具有亲和关系的内核所提供的计算资源进行数据处理,以实现通信网络的稳定运行。但由于通信网络尤其是5G通信网络,对于数据处理的时序性以及实时性有较高要求,也即是数据处理实时性的破坏会降低通信网络的响应速度,数据处理时序性的破坏又会影响通信网络的运行甚至会造成网络瘫痪,因此,就需要为网络线程分配充足的计算资源尤其是内核资源以保证通信网络的正常、稳定运行。
为了实现内核资源的充足分配,发明人又发现一种可选地方式:在将通信网络部署到物理设备上时,可以人为预先设置网络线程和内核之间的亲和关系,并且这种预先设置的亲和关系往往可以保证网络线程与内核之间具有独占关系,这种独占关系可以保证网络线程被分配到足够的计算资源,从而能够保证线程对数据处理的实时性和时序性,以最终保证通信网络的性能。
但考虑到人为疏忽,预先设置的亲和关系可能存在缺陷,即存在不能保证网络线程与内核之间具有独占关系的肯,此时,在通信网络运行后,网络线程就会由于没有被分配到足够的计算资源而无法按照要求进行数据处理,并且最终影响通信网络的稳定性。则为了改善人为疏忽对网络稳定性的影响,可以使用本发明下述各实施例中提供的内核分配方法。
图2为本发明实施例提供的一种内核分配方法的流程图。本发明实施例提供的该内核分配方法可以由上述物理主机中的分配组件执行。如图2所示,该方法可以包括如下步骤:
S101,获取通信网络运行时产生的网络线程的亲和信息,通信网络部署于物理主机上,亲和信息反映网络线程与物理主机上中央处理器CPU包含的内核之间的亲和关系。
根据图1所示实施例可知,通信网络的功能实例可以以软件形式部署在多内核的物理主机上。在通信网络运行时各功能实例可以产生的至少一个网络线程。每个网络线程都与CPU中的内核具有亲和关系,则对于至少一个网络线程中的任一网络线程,其都可以利用与自身具有亲和关系的内核所提供的计算资源进行数据处理。可选地,网络线程可以是核心网中各CPF和/或UPF运行时产生的网络线程。
并且在网络线程工作的过程中,物理主机中的分配组件还可以实时监测并获取网络线程各自的亲和信息,并在获取到亲和关系后执行后续步骤,以对网络线程和内核之间的亲和关系、独占关系进行检测。其中,亲和信息用于反映网络线程与物理主机中CPU包含的内核之间的亲和关系。亲和信息也即是网络线程和CPU中内核之间的绑定关系。其中,一个网络线程和一个内核绑定,一个内核可以能与至少一个用户线程绑定。用户线程具体可以包括网络线程和应用线程,应用线程的相关内容可以参见下述相关实施例中的描述。并且对于亲和信息的具体获取过程可以参见下述相关实施例中的描述,在此不再赘述。
S102,根据亲和信息确定具有亲和关系的网络线程与内核是否具有独占关系。
接着,分配组件基于步骤S101中获取的亲和信息,可以根据不同网络线程各自的亲和信息,进一步确定具有亲和关系的网络线程和内核之间是否同时具有独占关系。
举例来说,一种情况,分配组件执行步骤S101后得到的亲和信息:网络线程1与内核1具有亲和关系,网络线程2与内核2具有亲和关系。则分配组件通过分析可以得知:网络线程1和网络线程2分别独占一个内核,即网络线程1和网络线程2都分配到了足够的计算资源。此时,分配组件不会调整网络线程和内核之间的亲和关系即无需执行后续步骤S103。
另一种情况,分配组件执行步骤S101后得到的亲和信息:网络线程1与内核1具有亲和关系,网络线程2与内核1具有亲和关系。则分配组件通过分析可以得知:网络线程1和网络线程2同时与同一内核即内核1具有亲和关系,即网络线程1和网络线程2都不独占内核1。由于独占关系不存在,因此,网络线程1和网络线程2均未分配到足够的计算资源。此时,可以进一步执行步骤S103。
S103,若网络线程与内核不具有独占关系,则调整网络线程与内核之间的亲和关系,以使网络线程与亲和关系调整后所亲和的内核具有独占关系。
经过步骤S102后,当分配组件确定出至少一个网络线程中的任一网络线程与内核不存在独占关系后,分配组件还可以进一步根据步骤S101获取到的至少一个网络线程各自的亲和关系调整此任一网络线程的亲和关系,即为不具有独占关系的任一网络线程重新建立亲和关系,以使任一网络线程与亲和关系调整后所亲和的内核具有独占关系。
可选地,亲和关系的调整过程可以如图3所示。在图3中,通信系统运行后产生网络线程1~网络线程3。分配组件执行步骤S101后获取到的亲和信息:网络线程1与内核1具有亲和关系,网络线程2与内核2具有亲和关系,网络线程3与内核2有亲和关系。基于此亲和信息,分配组件可以分析出网络线程2和网络线程3共用内核2,可选地,可以在保持网络线程2的亲和关系不变的情况下,进一步调整网络线程3的亲和关系,即重新建立网络线程3与内核3之间的亲和关系。其中,在与网络线程3建立亲和关系之前,物理设备中的内核3没有与任一用户线程建立亲和关系。其中,用户线程可以包括网络线程和应用线程,应用线程的相关内容可以参见下述相关实施例中的描述。可选地,分配组件也可以在保持网络线程3的亲和关系不变的情况下,调整网络线程2的亲和关系。
本实施例中,对于通信网络运行时产生的网络线程,部署于物理主机上的分配组件可以获取这些网络线程的亲和信息。然后,根据此亲和信息再进一步确定具有亲和关系的网络线程和内核之间是否同时具有独占关系。若网络线程和内核具有亲和关系但不具有独占关系,则分配组件可以调整网络线程和内核之间的亲和关系,通过调整使网络线程和内核在具有亲和关系的同时也具有独占关系。
上述过程中,借助分配组件可以实现对网络线程和内核之间的亲和关系和独占关系的检测。同时再借助分配组件实现亲和关系的调整,以最终能够实现网络线程对内核的独占。这种独占关系能够保证网络线程都被分配到足够的计算资源,从而能够保证线程对数据处理的实时性和时序性,以最终保证通信网络的性能。
图1所示实施例中已经给出了一种执行本发明各实施例提供的内核分配方法的原因,即为了改善人为设置的亲和关系中的缺陷。
可选地,另一种原因,在实际中,物理主机中除了部署有通信网络外,还可以安装相关的第三方应用程序。这些第三方应用程序在运行过程中也会产生相应的应用线程。应用线程的运行可能会侵占网络线程使用的内核,从而破坏网络线程和内核之间的独占关系,并最终影响通信网络的稳定性。此时,分配组件也可以执行图2所示实施例的方法来确定网络线程和内核之间的亲和关系、独占关系,并进一步确定是否对网络线程的亲和关系进行调整。
其中,上述提及的网络线程和应用线程可以统称为用户线程。并且当第三方应用程序对数据处理的实时性和时序性的要求远低于通信网络时,应用线程与内核之间可以不具有独占关系。
可选地,第三方应用程序可以是用于监测通信网络的数据流量的程序,也可以是用于检测通信网络运行状态的程序等等。可选地,第三方应用程序还可以与通信网络提供的服务相关。举例来说,当上述的通信网络作为专用网络部署于某一工业园区或者工业流水线上,用以对园区或者流水线进行视频监测时,与此监测服务关联的第三方应用程序可以包括各种视频采集软件,比如摄像头软件、增强现实(Augmented Reality,简称AR)软件、虚拟现实 (Virtual Reality,简称VR)软件等等。第三方应用程序还可以包括用于检测并维护上述这些视频采集软件正常运行的运维软件。
根据图1所示实施例可知,在将通信网络部署到物理主机上时,可以人为设置网络线程和内核之间的亲和关系。在实际中,人为设置的亲和关系可以反映一个网络线程与至少一个内核之间的亲和关系。为了后续描述的清晰、简洁,可以将此人为预设的亲和关系称为第一亲和关系。并且对于正确设置的第一亲和关系,每个网络线程都可以与不同的至少一个内核具有亲和关系。比如网络线程1与内核1~内核3具有第一亲和关系,网络线程2与内核4~内核6具有第一亲和关系等等。
在通信网络运行后,网络线程可以使用自身亲和的至少一个内核中的任一个内核所提供的计算资源进行处理数据。则为了后续描述的清晰、简洁,可以将网络线程进行数据处理时实际使用的内核与该网络线程之间的亲和关系称为第二亲和关系。举例来说,人为预设网络线程与内核1~内核3之间具有第一亲和关系,网络线程在数据处理时实际使用的是内核1所提供的计算资源,则网络线程与内核1之间具有第二亲和关系。
可见,第一亲和关系包含第二亲和关系。并且第一亲和关系是从网络线程维度描述亲和关系的,即一条第一亲和关系反映的是一个线程与哪个内核具有亲和关系。第二亲和关系是从CPU内核维度描述亲和关系的,即一条第二亲和关系反映一个内核与哪些网络线程具有亲和关系。
可选地,分配组件可以对第一亲和关系进行分析,以确定网络线程是否都独占有一个内核,也即是从网络线程的维度进行亲和关系、独占关系的检测。可选地,分配组件还可以对第二亲和关系进行分析,以确定内核是否被一个网络线程独占,也即是从内核的维度进行亲和关系、独占关系的检测。
在实际中,可选地,分配组件可以选择从任一维度确定网络线程和内核之间的亲和关系和独占关系。可选地,分配组件也可以同时从不同维度进行亲和关系和独占关系的检测。
对于从不同维度确定亲和关系、独占关系的过程,一种可选地确定时机,分配组件可以在到达关系检测周期时,从不同维度确定亲和关系、独占关系。并且在实际中,物理主机中线程的类型和数量众多,比如包括内核线程、用户线程,因此,分配组件可以先从不同类型的线程各自的亲和关系中先筛选出反映第一亲和关系的亲和信息再对其进行分析,相比于第二亲和关系,分配组件获取并分析第一亲和关系所需的时间更长,所以从线程维度进行关系检测所需的时间大于从CPU内核维度进行关系检测所需的时间。因此,从CPU内核维度对网络线程进行关系检测的周期可以被设置为小于从CPU内核维度对网络线程进行关系检测的周期。
本实施例中,分配组件可以选择周期性地从单一维度或者多个维度确定网络线程与内核之间的亲和关系和独占关系,以进一步确定是否修改网络线程的亲和关系。另外,本实施例中未详细描述以及所能达到的技术效果可以参见图2所示实施例中相关描述,在此不再赘述。
正如图1所示实施例中的描述,通信网络中的各功能实例可以为通信网络提供的目标通信功能,比如基站的各种功能、核心网的各种功能等等。该软件形式的功能实例具体又可以部署于至少一个容器组(pod)中,该至少一个容器组可以被容器编排系统管理。可选地,容器编排系统可以包括docker-compose 、Kubernetes(简称K8S)、OpenShift、DockerSwarm中的任一种。
当容器编排系统具体为K8S时,上述的至少一个容器具可以运行在容器编排系统的工作节点(node)中,并且根据提供的目标通信功能不同,容器组中的任一容器可以包括以下任一种类型:Guaranteed、Burstable、BestEffort。可选地,对于提供基站功能的容器,大部分是Guaranteed类型的。可选地,分配组件也可以以容器组的形式运行于容器编排系统中。
在部署通信网络时,可以对容器的资源需求(requests)和资源限制(limits)进行声明。则K8S中的主节点(master)可以根据声明的内容创建相应类型的容器,并由工作节点中的CPU manager将容器分配到相应的工作节点上,即使容器在该工作节点上运行。其中,requests和limits可以认为是创建不同类型的容器所需的两个参数。requests用于表明保证容器正常运行所需的最少计算资源;limits用于表明保证容器正常运行所需的最多计算资源。
具体地,若设置requests等于limits,则创建的容器为Guaranteed类型;若设置requests小于limits,则创建的容器为Burstable类型;若没有设置requests和limits,则创建的容器为BestEffort。三种类型的容器的优先级依次降低。
基于上述描述,对于从不同维度确定亲和关系、独占关系的过程,除了周期性确定以外,另一种可选地确定时机,分配组件还可以实时监测是否存在容器的删改事件或者容器的创建事件。若监测到存在容器的删改事件,则响应于容器的删改,分配组件获取网络线程的亲和信息,再基于此亲和信息从不同维度确定网络线程和内核之间的亲和关系、独占关系。类似的,监测到存在容器的创建事件,则响应于容器的创建,分配组件可以获取网络线程的亲和信息,再从不同维度确定网络线程和内核之间的亲和关系、独占关系。可选地,当提供目标通信功能的容器组中的任一容器出现故障时,容器编排系统可以进行容器的重新创建。
并且为了后续描述清晰,可以将上述运行于容器中的网络线程称为第一类网络线程。则响应于容器的创建或者容器的删改,分配组件获取的具体为第一类网络线程的亲和关系。
本实施例中,分配组件可以响应于特定事件的发生,从不同维度确定网络线程与内核之间的独占关系,并进一步确定是否修改网络线程的亲和关系。另外,本实施例中未详细描述以及所能达到的技术效果可以参见图2所示实施例中相关描述,在此不再赘述。
并且需要说明的有,上述两种确定时机是独立的,即分配组件在周期性确定亲和关系、独占关系的同时,若某一时间未达到关系检测周期而分配组件监测到出现删改事件或者创建事件时,分配组件也可以确定亲和关系、独占关系。
上述实施例中,通信网络在具有目标通信功能的同时,还可以具有其他通信功能,其中,其他通信功能可以包括对通信网络的管控、运维功能等等。目标通信功能可以由至少一个容器组提供,其他通信功能可以由直接运行于操作系统中的通信组件来提供,则通信组件运行后可以产生第二类网络线程。并且该通信组件不由容器编排系统管理。并且与提供目标通信功能的容器相同的,其他功能组件也可以认为是通信网络中的功能实例。
则分配组件可以获取第一类网络线程和/或第二类网络线程的亲和关系,并进一步根据亲和关系确定网络线程和内核之间的独占关系,并通过亲和关系的调整以实现网络线程和内核之间独占,保证通信网络的稳定。并且调整后的亲和关系可以更新至容器编排系统中的主节点中,以使主节点获取最新的网络线程和内核之间的亲和关系。
本实施例中,提供不同通信功能的容器或者程序可以分别产生不同类型的网络线程,分配组件可以确定不同类型的网络线程与内核之间的关系,从而最终保证通信网络的稳定。另外,本实施例中未详细描述以及所能达到的技术效果可以参见图2所示实施例中相关描述,在此不再赘述。
在满足上述提及的任一种亲和关系、独占关系的确定时机后,分配组件可以获取网络线程的亲和信息。
则一种可选地亲和信息获取方式,分配组件可以利用物理主机的操作系统中的状态文件(status 文件)获取至少一个网络线程各自的亲和信息。该亲和信息反映网络线程和内核之间的第一亲和关系。则分配组件可以利用状态文件中包含的第一亲和关系,并根据第一亲和关系确定网络线程是否都有独占有一个内核,也即是从网络线程的维度进行独占关系的检测。
其中,本实施例中提及的网络线程可以是上述的第一类网络线程和/或第二类网络线程。
可选地,网络线程和内核线程可以公用同一内核所提供的计算资源,则分配组件可以利用状态文件可以同时获取到内核线程和网络线程各自的亲和信息。
并且由于内核线程所使用的计算资源较少,因此,内核线程可以与网络线程共享同一内核所提供的计算资源。则分配组件无需关注网络线程和内核线程之间是否存在内核的共享。分配组件可以按照图2所示的方法来重点确定不同的网络线程之间是否共享同一内核。则分配组件在从状态文件中得到网络线程和内核线程各自亲和信息后,还可以根据线程标识对亲和信息进行筛选,以筛选出网络线程的亲和信息即滤除内核线程的亲和信息,从而改善内核线程的亲和信息对网络线程与内核之间独占关系的判断造成影响。
本实施例中,借助操作系统中的状态文件,分配组件可以获取第一亲和关系,并根据此关系从线程维度进一步确定网络线程和内核之间的亲和关系和独占关系。并且通过对内核线程的过滤,还可以进一步提高关系检测的准确性。
另一种可选地亲和信息获取方式,分配组件可以响应于物理主机对通信网络产生的线程状态查询命令(PS命令),获取网络线程的亲和信息。该亲和信息反映网络线程与运行有此网络线程的内核之间的第二亲和关系。分配组件可以利用此第二亲和关系,确定内核是否被一个网络线程独占,也即是从内核的维度进行亲和关系、独占关系的检测。其中,本实施例中提及的网络线程可以是上述的第一类网络线程和/或第二类网络线程。
本实施例中,借助操作系统中提供的PS命令,分配组件可以从CPU维度检测网络线程和内核之间的亲和关系和独占关系。
综合上述各实施例,第一类网络线程以及第二类网络线程之间的关系还可以进行以下理解:第一类网络线程和第二类网络线程是运行不同类型功能实例后产生的网络线程。
第一亲和关系以及第二亲和关系之间的关系还可以进行以下理解:第一亲和关系为人为预设的网络线程与至少一个内核之间的亲和关系。其二亲和关系为网络线程实际运行时与至少一个内核中某一内核之间的亲和关系。并且上述两种亲和关系中提及的网络线程可以是第一类网络线程和第二类网络线程中的任一类型。
并且综合上述各实施例,在满足任一种确认时机时则可以从至少一种维度确定亲和关系和独占关系,此过程还可以结合图4理解。
可选地,当物理主机的多核CPU的计算资源足够充足,并且物理主机中安装有对数据处理实时性要求较高的第三方应用程序。此时,与网络线程相同的,应用线程也可以独占内核。则分配组件也可以按照上述各实施例提供的方式,确定用户线程与内核之间的亲和关系和独占关系。由于用户线程的数量多于网络线程,分配组件确定用户线程的亲和关系和独占关系所需的时间也更长,因此,对用户线程进行关系检测的周期可以设置的更长,即大于从线程维度对网络线程进行关系检测周期,也大于从CPU维度对网络线程进行关系检测的周期。
上述各实施例已经从流程的角度对分配组件的工作过程进行描述。在此基础上,还可以对分配组件的结构进行描述。则图5为本发明实施例提供的一种分配组件的结构示意图。该组件可以部署于容器编排系统的工作节点中,该组件具体可以包括关系确定子组件和处理子组件。通信网络和容器编排系都可以部署于物理主机上。
分配组件中各子组件的工作过程及其子组件之间的交互过程可以描述为:
关系确定子组件可以获取通信网络运行时产生的网络线程的亲和信息,通信网络部署于物理主机上,亲和信息反映网络线程与物理主机上CPU包含的内核之间的亲和关系。之后,再根据亲和信息确定具有亲和关系的网络线程与内核是否具有独占关系。若网络线程与内核不具有独占关系,则处理子组件可以调整网络线程与内核之间的亲和关系,以使网络线程与亲和关系调整后所亲和的内核具有独占关系。
其中,关系确定子组件确定亲和关系、独占关系的时机、选择从哪种维度确定亲和关系、独占关系的具体过程,以及处理子组件的具体工作过程均可以参加上述各实施例中的相关描述,在此不再赘述。
本实施例中,分配组件中的关系确定子组件可以获取这些网络线程的亲和信息,再根据此亲和信息再进一步确定具有亲和关系的网络线程和内核之间是否同时具有独占关系。若网络线程和内核具有亲和关系但不具有独占关系,则分配组件中的处理子组件可以调整网络线程和内核之间的亲和关系,通过调整使网络线程和内核在具有亲和关系的同时也具有独占关系。
上述过程中,借助分配组件可以实现对网络线程和内核之间的亲和关系和独占关系的检测。同时再借助分配组件实现亲和关系的调整,以最终能够实现网络线程对内核的独占。这种独占关系能够保证网络线程都被分配到足够的计算资源,从而能够保证线程对数据处理的实时性和时序性,以最终保证通信网络的性能。另外,本实施例中未详细描述的内容以及所能实现的技术效果也可以参见上述各实施例中的相关描述,在此不再赘述。
图6为本发明实施例提供的另一种分配组件的结构示意图。在图5所示实施例的基础上,该分配组件还可以包括通知子组件。
该通知子组件用于将处理子组件对亲和关系进行调整后得到的调整后亲和关系发送至工作节点中的代理组件,以由代理组件借助容器编排系统中主节点的接口服务进一步转发调整后亲和关系至主节点,也即是借助代理组件将调整后亲和关系更新至主节点中。
可选地,分配组件还可以包括监测子组件。根据上述实施例可知,当通信网络的通信功能由至少一个容器组提供时,分配组件可以响应于容器的删改事件或者创建事件获取网络线程的亲和关系。至少一个容器组可以部署在容器编排系统中的至少一个工作节点中。容器编排系统中的主节点可以对容器进行删改或者创建,则分配组件中的监测子组件可以监测容器编排系统中的主节点对至少一个容器组中的任一容器组进行删改而产生的删改事件,或者监测主节点对通信网络创建容器而产生的创建事件。
关系确定子组件可以响应于删改事件或者创建事件的获取,进一步获取网络线程的亲和信息。
可选地,分配组件还可以包括缓存子组件。监测子组件可以将监测到的上述事件写入缓存子组件中。可选地,在缓存子组件中,事件可以先入先出(First Input FirstOutput,简称FIFO)的队列形式存储。则关系确定子组件可以通过从缓存子组件中读取事件的方式获取到删改事件或者创建事件。
可选地,分配组件还可以包括存储子组件,缓存子组件中存储的事件还可以进一步写入该存储子组件,也即是将事件从缓存写入磁盘。
之后,响应于用户的操作,处理子组件还可以从存储子组件中读取在不同时间存储的容器的删改事件以及创建事件,也即是得到容器在历史时间段内的历史修改记录。可选地,该记录可以直接展示给用户。可选地,处理子组件还可以对历史修改记录进行统计,并将统计结果展示给用户。其中,统计结果可以包括历史时间段内创建容器的数量、删除容器的数量、对同一容器的修改次数等等。此处的用户可以认为是通信网络的运维人员。
可选地,关系确定子组件可以基于亲和关系先后得到多个分析结果,每个分析结果可以表明一个网络线程与内核之间不具有独占关系,分析结果可以作为一个任务队列(work queue),则每个分析结果可以任务处理子组件所要执行的一个亲和关系调整任务。则关系处理子组件可以依次执行任务队列中的亲和关系调整任务,以保证网络线程与内核之间的独占关系。
本实施例中,分配组件可以借助自身包含的不同子组件实现亲和关系和独占关系的检测、亲和关系的调整、调整结果的通知以及容器的历史修改记录的显示。另外,本实施例中未详细描述的内容以及所能实现的技术效果也可以参见上述各实施例中的相关描述,在此不再赘述。
图5、图6所示实施例中已经提及分配组件可以部署于容器编排系统的工作节点中,则图7为本发明实施例提供的一种工作节点的结构示意图。该工作节点可以包括:容器组和分配组件。
工作节点中各部分的工作过程可以描述为:
容器组,用于处理部署于容器编排系统中的通信网络产生的数据。
分配组件,用于获取通信网络运行时产生的网络线程的亲和信息,通信网络部署于物理主机上,亲和信息反映网络线程与物理主机上中央处理器CPU包含的内核之间的亲和关系。然后,根据亲和信息确定具有亲和关系的网络线程与内核是否具有独占关系。若网络线程与内核不具有独占关系,则调整网络线程与内核之间的亲和关系,以使网络线程与亲和关系调整后所亲和的内核具有独占关系。
分配组件的具体结构以及具体工作方式可以参见上述图1~图6所示实施例中的相关描述,在此不再赘述。
可选地,工作节点还可以包括代理组件。该组件可以获取容器编排系统中的主节点对容器组进行删改而产生的删改事件,或者获取主节点对通信网络创建容器而产生的创建事件。之后,代理组件还可以将删改事件或者创建事件进一步转发至分配组件,从而使分配组件中的监测子组件监测到删改事件或者创建事件。
之后,分配组件便可以响应于删改事件或者创建事件的获取,获取网络线程的亲和信息。其中,具体是分配组件中的关系确定组件获取网络线程的亲和信息。分配组件可以对网络线程的亲和关系进行调整,代理组件还可以借助主节点的接口服务(api server)将调整后亲和关系转发至主节点,也即是借助代理组件将调整后亲和关系更新至主节点。
另外,本实施例中未详细描述的内容以及所能实现的技术效果也可以参见上述各实施例中的相关描述,在此不再赘述。
图8为本发明实施例提供的一种容器编排系统的结构示意图。该系统可以包括工作节点和主节点。工作节点的结构与图7所示提供的工作节点相同,主节点可以包括接口服务。
可选地,主节点还可以包括节点管理组件。节点管理组件可以对工作节点中的容器组,或者对容器组中任一容器进行增删改等类型的管理,以产生相应的事件。则主节点的接口服务可以将主节点对容器产生的事件发送至工作节点中的分配组件,以使分配组件按照上述各实施例中的描述进行网络线程和内核之间亲和关系的调整。另一方面,主节点中的接口服务还可以转发分配组件上报的调整后亲和关系,以将调整后亲和关系更新到主节点中。
可选地,主节点可以同时管理多个结构相同的工作节点。
另外,本实施例中未详细描述的内容以及所能实现的技术效果也可以参见上述各实施例中的相关描述,在此不再赘述。
下面以5G专用网络为例,说明上述各实施例提供的内核分配方法、分配组件、工作节点和容器编排系统的具体工作过程。
5G专用网络可以部署于容器编排系统中工作节点包含的至少一个容器组中。虽然在图9中只示意图性地给出了一个工作节点,但容易理解的,5G专用网络可以部署于容器编排系统中至少一个工作节点包含的至少一个容器组。该5G专网可以为用户提供图1所示实施例中的至少一种服务。
在5G专用网络运行过程中,一种情况,分配组件中的确定关系子组件在到达关系检测周期后,可以获取网络线程的亲和信息。然后根据亲和信息从CPU内核维度和/或网络线程维度分析网络线程和内核之间的亲和关系和独占关系,并根据分析结果确定是否对网络线程和内核之间的亲和关系进行调整。若对亲和关系进行调整,则调整后亲和关系可以借助通知子组件、代理组件以及接口服务反馈给容器编排系统中的主节点。
另一种情况,当5G通信网络中的容器组N出现故障时,容器编排系统中的主节点可以在监测到此故障后重新创建容器组N。此时,容器组N的创建事件可以借助主节点的接口服务、工作节点的代理组件最终被分配组件的监测子组件监测到。由于容器组的增删改都有可能对内核和网络线程之间的独占关系造成影响,因此,分配组件中的关系确定子组件可以从缓存子组件中读取到创建事件,并响应于此创建事件,进一步确定运行于不同容器组以及通信组件的网络线程与内核之间的亲和关系和独占关系,以确定是否对网络线程和内核之间的亲和关系进行调整。
上述两种种情况的过程也可以结合图9理解。其中,网络线程可以包括运行于容器中的第一类网络线程和/或通信组件运行后产生的第二类网络线程。并且亲和信息的获取过程、亲和关系和独占关系的确定过程可以参见上述图1~图6所示实施例中的相关描述,在此不再赘述。
以下将详细描述本发明的一个或多个实施例的内核分配装置。本领域技术人员可以理解,这些数据处理装置均可使用市售的硬件组件通过本方案所教导的步骤进行配置来构成。
图10为本发明实施例提供的一种内核分配装置的结构示意图,如图10所示,该装置包括:
信息获取模块11,用于获取通信网络运行时产生的网络线程的亲和信息,所述通信网络部署于物理主机上,所述亲和信息反映所述网络线程与所述物理主机上中央处理器CPU包含的内核之间的亲和关系。
关系确定模块12,用于根据所述亲和信息确定具有亲和关系的网络线程与内核是否具有独占关系。
调整模块13,用于若所述网络线程与所述内核不具有独占关系,则调整所述网络线程与所述内核之间的亲和关系,以使所述网络线程与亲和关系调整后所亲和的内核具有独占关系。
其中,所述通信网络为表现为云网络的专用网络。
可选地,所述通信网络包括提供目标通信功能的至少一个容器组,所述网络线程包括在所述至少一个容器组中任一容器组内运行的第一类网络线程;所述至少一个容器组由容器编排系统管理。
所述信息获取模块11,用于响应于对所述任一容器组内的容器的删改或者所述通信网络中容器组的创建,获取所述第一类网络线程的亲和信息。
可选地,所述通信网络还包括提供其他通信功能的通信组件,所述通信组件运行时产生第二类网络线程,所述通信组件不由所述容器编排系统管理。
所述调整模块13,用于若具有亲和关系的所述第一类网络线程与内核不具有独占关系,则调整所述第一类网络线程与所述内核的亲和关系;若具有亲和关系的所述第二类网络线程与内核不具有独占关系,则调整所述第二类网络线程与内核的亲和关系。
可选地,所述信息获取模块11,用于根据所述物理主机的操作系统中的状态文件,获取所述网络线程的亲和信息,所述亲和信息反映所述网络线程与所述CPU包含的多个内核中的至少一个内核之间的第一亲和关系,所述第一亲和关系在将所述通信网络部署到所述物理主机上时设置。
可选地,所述信息获取模块11,用于根据所述物理主机的操作系统中的状态文件,获取所述多个内核中运行的内核线程和所述网络线程各自的亲和信息;筛选所述网络线程的亲和信息。
可选地,所述信息获取模块11,用于响应于所述物理主机对正在运行的所述通信网络产生的线程状态查询命令,获取所述网络线程的亲和信息。
其中,所述网络线程与所述CPU包含的至少一个内核之间具有第一亲和关系,运行有所述网络线程的内核是所述第一亲和关系对应的至少一个内核中的任一内核,所述第一亲和关系在将所述通信网络部署到所述物理主机上时设置,所述亲和信息反映所述网络线程与运行有所述网络线程的内核之间的第二亲和关系。
图7所示装置可以执行图1至图4所示实施例的方法,本实施例未详细描述的部分,可参考对图1至图4所示实施例的相关说明。该技术方案的执行过程和技术效果参见图1至图4所示实施例中的描述,在此不再赘述。
在一个可能的设计中,上述各实施例提供的内核分配方法可以应用在一电子设备中,如图11所示,该电子设备可以包括:处理器21和存储器22。其中,存储器22用于存储支持该电子设备执行上述图1~图4所示实施例中提供的内核分配方法的程序,处理器21被配置为用于执行存储器22中存储的程序。
程序包括一条或多条计算机指令,其中,一条或多条计算机指令被处理器21执行时能够实现如下步骤:
获取通信网络运行时产生的网络线程的亲和信息,所述通信网络部署于物理主机上,所述亲和信息反映所述网络线程与所述物理主机上中央处理器CPU包含的内核之间的亲和关系;
根据所述亲和信息确定具有亲和关系的网络线程与内核是否具有独占关系;
若所述网络线程与所述内核不具有独占关系,则调整所述网络线程与所述内核之间的亲和关系,以使所述网络线程与亲和关系调整后所亲和的内核具有独占关系。
可选地,处理器21还用于执行前述图1~图4所示实施例中的全部或部分步骤。
其中,电子设备的结构中还可以包括通信接口23,用于该电子设备与其他设备或通信系统通信。
另外,本发明实施例提供了一种计算机存储介质,用于储存上述电子设备所用的计算机软件指令,其包含用于执行上述图1~图4所示方法实施例内核分配方法所涉及的程序。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (14)
1.一种内核分配方法,其特征在于,包括:
在到达不同的关系检测周期时,获取通信网络运行时产生的网络线程的亲和信息,所述通信网络部署于物理主机上,所述亲和信息包含在第一亲和关系或者第二亲和关系;
其中,第一亲和关系反映任一所述网络线程与所述物理主机上中央处理器CPU包含的至少一个内核之间的亲和关系,所述第二亲和关系反映任一内核与至少一个所述网络线程之间的亲和关系;
根据所述亲和信息确定具有所述第一亲和关系或者所述第二亲和关系的网络线程与内核是否具有独占关系;
若所述网络线程与所述内核不具有独占关系,则调整所述网络线程与所述内核之间的亲和关系,以使所述网络线程与亲和关系调整后所亲和的内核具有独占关系。
2.根据权利要求1所述的方法,其特征在于,所述通信网络包括提供目标通信功能的至少一个容器组,所述网络线程包括在所述至少一个容器组中任一容器组内运行的第一类网络线程;所述至少一个容器组由容器编排系统管理;
所述获取通信网络运行时产生的网络线程的亲和信息,包括:
响应于对所述任一容器组内的容器的删改或者所述通信网络中容器组的创建,获取所述第一类网络线程的亲和信息。
3.根据权利要求2所述的方法,其特征在于,所述通信网络还包括提供其他通信功能的通信组件,所述通信组件运行时产生第二类网络线程,所述通信组件不由所述容器编排系统管理;
所述若所述网络线程与所述内核不具有独占关系,则调整所述网络线程与所述内核之间的亲和关系,包括:
若具有亲和关系的所述第一类网络线程与内核不具有独占关系,则调整所述第一类网络线程与所述内核的亲和关系;若具有亲和关系的所述第二类网络线程与内核不具有独占关系,则调整所述第二类网络线程与内核的亲和关系。
4.根据权利要求1所述的方法,其特征在于,所述通信网络为表现为云网络的专用网络。
5.根据权利要求1所述的方法,其特征在于,所述获取通信网络运行时产生的网络线程的亲和信息,包括:
根据所述物理主机的操作系统中的状态文件,获取所述网络线程的亲和信息中的所述第一亲和关系,所述第一亲和关系在将所述通信网络部署到所述物理主机上时设置。
6.根据权利要求5所述的方法,其特征在于,所述根据所述物理主机的操作系统中的状态文件,获取所述网络线程的亲和信息,包括:
根据所述物理主机的操作系统中的状态文件,获取多个内核中运行的内核线程和所述网络线程各自的亲和信息;
筛选所述网络线程的亲和信息。
7.根据权利要求1所述的方法,其特征在于,所述获取通信网络运行时产生的网络线程的亲和信息,包括:
响应于所述物理主机对正在运行的所述通信网络产生的线程状态查询命令,获取所述网络线程的亲和信息中的所述第二亲和关系;
其中,所述网络线程与所述CPU包含的至少一个内核之间具有第一亲和关系,运行有所述网络线程的内核是所述第一亲和关系对应的至少一个内核中的任一内核,所述第一亲和关系在将所述通信网络部署到所述物理主机上时设置,所述第二亲和关系反映所述网络线程与运行有所述网络线程的内核之间的亲和关系。
8.一种分配组件,其特征在于,部署于容器编排系统的工作节点中,包括:关系确定子组件和处理子组件;
所述关系确定子组件,用于在到达不同的关系检测周期时,获取通信网络运行时产生的网络线程的亲和信息,所述通信网络部署于物理主机上,所述亲和信息包含第一亲和关系或者第二亲和关系;
其中,第一亲和关系反映任一所述网络线程与所述物理主机上中央处理器CPU包含的至少一个内核之间的亲和关系,所述第二亲和关系反映任一内核与至少一个所述网络线程之间的亲和关系;
根据所述亲和信息确定具有所述第一亲和关系或者所述第二亲和关系的网络线程与内核是否具有独占关系;
所述处理子组件,用于若所述网络线程与所述内核不具有独占关系,则调整所述网络线程与所述内核之间的亲和关系,以使所述网络线程与亲和关系调整后所亲和的内核具有独占关系。
9.根据权利要求8所述的组件,其特征在于,所述通信网络包括提供通信功能的至少一个容器组,所述至少一个容器组部署在所述容器编排系统中的至少一个工作节点中,所述网络线程运行于所述至少一个容器组;
所述组件还包括:监测子组件,用于监测所述容器编排系统中的主节点对所述至少一个容器组中的任一容器组进行删改而产生的删改事件,或者监测所述主节点对所述通信网络创建容器而产生的创建事件;
所述关系确定子组件,用于响应于所述删改事件或者创建事件的获取,获取所述网络线程的亲和信息。
10.根据权利要求9所述的组件,其特征在于,所述组件还包括缓存子组件、存储子组件和通知子组件;
所述缓存子组件,用于以队列形式缓存所述删改事件或者所述创建事件;将所述删改事件或者所述创建事件写入所述存储子组件;
所述处理子组件,用于从所述存储子组件中读取在不同时间存储的所述删改事件或者创建事件,以得到所述网络线程的历史修改记录。
11.根据权利要求9所述的组件,其特征在于,所述组件还包括通知子组件,用于将所述调整后亲和关系发送至所述工作节点中的代理组件,以由所述代理组件借助所述主节点的接口服务转发所述调整后亲和关系至所述主节点。
12.一种工作节点,其特征在于,包含于容器编排系统,所述工作节点包括:容器组和分配组件;
所述容器组,用于处理通信网络产生的数据,所述通信网络部署于所述容器编排系统中;
所述分配组件,用于在到达不同的关系检测周期时,获取通信网络运行时产生的网络线程的亲和信息,所述通信网络部署于物理主机上,所述亲和信息包含第一亲和关系或者第二亲和关系;
其中,第一亲和关系反映任一所述网络线程与所述物理主机上中央处理器CPU包含的至少一个内核之间的亲和关系,所述第二亲和关系反映任一内核与至少一个所述网络线程之间的亲和关系;
根据所述亲和信息确定具有所述第一亲和关系或者所述第二亲和关系的网络线程与内核是否具有独占关系;
若所述网络线程与所述内核不具有独占关系,则调整所述网络线程与所述内核之间的亲和关系,以使所述网络线程与亲和关系调整后所亲和的内核具有独占关系。
13.根据权利要求12所述的节点,其特征在于,所述节点还包括:代理组件,用于获取所述容器编排系统中的主节点对所述容器组进行删改而产生的删改事件,或者获取所述主节点对所述通信网络创建容器而产生的创建事件;
转发所述删改事件或者所述创建事件至所述分配组件;
借助所述主节点的接口服务转发所述分配组件输出的所述调整后亲和关系至所述主节点;
所述分配组件,用于响应于所述删改事件或者创建事件的获取,获取所述网络线程的亲和信息。
14.一种非暂时性机器可读存储介质,其特征在于,所述非暂时性机器可读存储介质上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器执行如权利要求1~7中任一项所述的内核分配方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310700000.1A CN116431357B (zh) | 2023-06-13 | 2023-06-13 | 内核分配方法、分配组件、工作节点和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310700000.1A CN116431357B (zh) | 2023-06-13 | 2023-06-13 | 内核分配方法、分配组件、工作节点和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116431357A CN116431357A (zh) | 2023-07-14 |
CN116431357B true CN116431357B (zh) | 2023-12-01 |
Family
ID=87080124
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310700000.1A Active CN116431357B (zh) | 2023-06-13 | 2023-06-13 | 内核分配方法、分配组件、工作节点和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116431357B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111240824A (zh) * | 2018-11-29 | 2020-06-05 | 中兴通讯股份有限公司 | 一种cpu资源调度方法及电子设备 |
CN111694658A (zh) * | 2020-04-30 | 2020-09-22 | 北京城市网邻信息技术有限公司 | Cpu资源分配方法、装置、电子设备和存储介质 |
CN115134281A (zh) * | 2022-06-29 | 2022-09-30 | 苏州浪潮智能科技有限公司 | 一种网络耗源型组件性能测试优化方法、系统及装置 |
CN115344350A (zh) * | 2022-07-19 | 2022-11-15 | 阿里巴巴(中国)有限公司 | 云服务系统的节点设备及资源处理方法 |
CN115617497A (zh) * | 2022-12-14 | 2023-01-17 | 阿里巴巴达摩院(杭州)科技有限公司 | 线程处理方法、调度组件、监测组件、服务器和存储介质 |
CN115643263A (zh) * | 2022-12-08 | 2023-01-24 | 阿里巴巴(中国)有限公司 | 云原生平台资源分配方法、存储介质和电子设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11934890B2 (en) * | 2021-07-16 | 2024-03-19 | VMware LLC | Opportunistic exclusive affinity for threads in a virtualized computing system |
-
2023
- 2023-06-13 CN CN202310700000.1A patent/CN116431357B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111240824A (zh) * | 2018-11-29 | 2020-06-05 | 中兴通讯股份有限公司 | 一种cpu资源调度方法及电子设备 |
CN111694658A (zh) * | 2020-04-30 | 2020-09-22 | 北京城市网邻信息技术有限公司 | Cpu资源分配方法、装置、电子设备和存储介质 |
CN115134281A (zh) * | 2022-06-29 | 2022-09-30 | 苏州浪潮智能科技有限公司 | 一种网络耗源型组件性能测试优化方法、系统及装置 |
CN115344350A (zh) * | 2022-07-19 | 2022-11-15 | 阿里巴巴(中国)有限公司 | 云服务系统的节点设备及资源处理方法 |
CN115643263A (zh) * | 2022-12-08 | 2023-01-24 | 阿里巴巴(中国)有限公司 | 云原生平台资源分配方法、存储介质和电子设备 |
CN115617497A (zh) * | 2022-12-14 | 2023-01-17 | 阿里巴巴达摩院(杭州)科技有限公司 | 线程处理方法、调度组件、监测组件、服务器和存储介质 |
Non-Patent Citations (1)
Title |
---|
面向多核网络分组处理系统的线程亲和缓冲区管理机制;杨惠;陈一骄;李韬;李世星;戴幻尧;;国防科技大学学报(05);29-34 * |
Also Published As
Publication number | Publication date |
---|---|
CN116431357A (zh) | 2023-07-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10884722B2 (en) | Cross-environment application of tracing information for improved code execution | |
US10528390B2 (en) | Idempotent task execution in on-demand network code execution systems | |
US10365985B2 (en) | Predictive management of on-demand code execution | |
US10445140B1 (en) | Serializing duration-limited task executions in an on demand code execution system | |
US10754701B1 (en) | Executing user-defined code in response to determining that resources expected to be utilized comply with resource restrictions | |
US9830449B1 (en) | Execution locations for request-driven code | |
US10725826B1 (en) | Serializing duration-limited task executions in an on demand code execution system | |
CN110062924B (zh) | 用于虚拟化图形处理的容量预留 | |
US10248467B2 (en) | Code execution request routing | |
US9811363B1 (en) | Predictive management of on-demand code execution | |
US9830175B1 (en) | Predictive management of on-demand code execution | |
US10193977B2 (en) | System, device and process for dynamic tenant structure adjustment in a distributed resource management system | |
US10282229B2 (en) | Asynchronous task management in an on-demand network code execution environment | |
US20200004571A1 (en) | Operating system customization in an on-demand network code execution system | |
CN110399213B (zh) | 确定应用程序的资源需求的方法、装置、电子设备及介质 | |
US8756599B2 (en) | Task prioritization management in a virtualized environment | |
CN110753131A (zh) | 微服务分布式限流方法及装置、存储介质和电子设备 | |
EP3479229A1 (en) | On-demand code execution using cross-account aliases | |
CN112052068A (zh) | 一种Kubernetes容器平台CPU绑核的方法与装置 | |
CN107635010B (zh) | 流量调度方法、装置、计算机可读存储介质及电子设备 | |
EP3475817A1 (en) | Asynchronous task management in an on-demand network code execution environment | |
US10963984B2 (en) | Interaction monitoring for virtualized graphics processing | |
US20110173319A1 (en) | Apparatus and method for operating server using virtualization technique | |
US9514072B1 (en) | Management of allocation for alias devices | |
CN112039963B (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 |