CN111865675B - 容器的收发限速方法、装置及系统 - Google Patents
容器的收发限速方法、装置及系统 Download PDFInfo
- Publication number
- CN111865675B CN111865675B CN202010656679.5A CN202010656679A CN111865675B CN 111865675 B CN111865675 B CN 111865675B CN 202010656679 A CN202010656679 A CN 202010656679A CN 111865675 B CN111865675 B CN 111865675B
- Authority
- CN
- China
- Prior art keywords
- target
- container
- message
- speed
- cpu
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0896—Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities
-
- 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/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/215—Flow control; Congestion control using token-bucket
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)
Abstract
本发明实施例公开了一种容器的收发限速方法、装置及系统。该方法应用于内核模块,包括:在接收到目标容器的限速带宽时,根据限速带宽确定定时时长,并根据定时时长定时生产令牌到共享区;目标容器是指容器集群中的发生节点变化的容器;当确定目标报文进入目标容器的网络名字空间时,获取目标报文的数据总量,并根据数据总量和单令牌处理数据量,确定目标报文所需令牌数量;根据所述目标报文所需令牌数量以及所述共享区中与所述目标容器匹配的令牌数量,确定是否对所述目标报文进行报文收发处理。本发明实施例的技术方案,可以对容器集群中发生节点变化的容器在接收和发送方向上同时进行动态限速,提高限速性能。
Description
技术领域
本发明实施例涉及计算机技术领域,尤其涉及一种容器的收发限速方法、装置及系统。
背景技术
随着计算机技术的发展,容器被广泛使用,随着节点设备上的容器密度的增长,以及容器集群中的容器数量的增长,必然会对网络出口设备的带宽带来压力。
现有技术中,linux自带的流量控制(Traffic Control,TC)限速功能可以通过队列对容器进行限速,但由于linux对接收队列的控制不够好,因此,一般只用发送队列对容器进行发送方向限速,而不能对容器进行接收方向限速,限速性能较差。并且,linux自带的限速功能也无法对容器集群进行限速调度。
发明内容
本发明实施例提供一种容器的收发限速方法、装置及系统,可以对容器集群中的待限速容器在接收和发送方向上同时进行动态限速,提高限速性能。
第一方面,本发明实施例提供了一种容器的收发限速方法,应用于内核模块,包括:
在接收到目标容器的限速带宽时,根据限速带宽确定定时时长,并根据定时时长定时生产令牌到共享区;
其中,目标容器是指容器集群中的发生节点变化的容器;
当确定目标报文进入目标容器的网络名字空间时,获取目标报文的数据总量,并根据数据总量和单令牌处理数据量,确定目标报文所需令牌数量,目标报文包括:待发送报文或者待接收报文;
根据目标报文所需令牌数量以及共享区中与目标容器匹配的令牌数量,确定是否对目标报文进行报文收发处理。
可选的,根据目标报文所需令牌数量以及共享区中与目标容器匹配的令牌数量,确定是否对目标报文进行报文收发处理,包括:
获取与目标报文对应的目标中央处理器(Central Processing Unit,CPU)的令牌信息;令牌信息包括目标CPU当前拥有令牌数量,和/或目标CPU在共享区中的令牌申请上限值;
根据目标CPU的令牌信息以及目标报文所需令牌数量,确定是否将目标报文流转至目标CPU处进行报文收发处理。
可选的,根据目标CPU的令牌信息以及目标报文所需令牌数量,确定是否将目标报文流转至目标CPU处进行报文收发处理,包括:
如果目标CPU当前拥有令牌数量大于等于目标报文所需令牌数量,则确定将目标报文流转至目标CPU处进行报文收发处理。
可选的,根据目标CPU的令牌信息以及目标报文所需令牌数量,确定是否将目标报文流转至目标CPU处进行报文收发处理,包括:
如果目标CPU当前拥有令牌数量小于目标报文所需令牌数量,则计算目标CPU在共享区中的令牌申请上限值;
从共享区获取与差额令牌数量匹配的令牌提供给目标CPU,并判断目标CPU的当前拥有令牌数量是否大于等于目标报文所需令牌数量;
如果是,则将目标报文流转至目标CPU处进行报文收发处理,否则,丢弃目标报文。
可选的,计算目标CPU在共享区中的令牌申请上限值,包括:
根据与目标容器匹配的CPU数量、限速带宽以及本次为目标CPU申请令牌的时间与前一次为目标CPU申请令牌的时间的差值,计算目标CPU在共享区中的令牌申请上限值。
可选的,从共享区获取与令牌申请上限值匹配的令牌提供给目标CPU,包括:采用无锁的令牌桶算法,从共享区获取与令牌申请上限值匹配的令牌提供给目标CPU。
可选的,容器限速的优先级高于容器分组限速的优先级;
方法还包括:当与目标容器匹配的限速带宽和与目标容器所属的目标容器分组匹配的限速带宽不同时,根据与目标容器匹配的限速带宽,确定是否将进入目标容器的网络名字空间的目标报文流转至目标CPU处进行报文收发处理。
第二方面,本发明实施例还提供了一种容器的收发限速装置,应用于内核模块,包括:
定时单元,用于在接收到目标容器的限速带宽时,根据限速带宽确定定时时长,并根据定时时长定时生产令牌到共享区;
其中,目标容器是指容器集群中的发生节点变化的容器;
令牌数量确定单元,用于当确定目标报文进入目标容器的网络名字空间时,获取目标报文的数据总量,并根据数据总量和单令牌处理数据量,确定目标报文所需令牌数量,目标报文包括:待发送报文或者待接收报文;
限速确定单元,用于根据目标报文所需令牌数量以及共享区中与目标容器匹配的令牌数量,确定是否对目标报文进行报文收发处理。
第三方面,本发明实施例还提供了一种容器的收发限速系统,包括:控制器,至少一个节点代理,以及至少一个与节点代理匹配的内核模块;
控制器,用于如果监听到容器集群中的目标容器的所在节点更新为目标节点,则向目标节点中的目标节点代理发送限速消息;
节点代理,用于如果接收到控制器发送的限速消息,则根据限速消息确定与目标容器匹配的限速带宽,并将限速带宽发送至与本节点代理匹配的内核模块;
内核模块,用于执行如本发明任意实施例提供的容器的收发限速方法。
可选的,还包括:容器集群接口;
控制器包括:应用程序编程接口(Application Programming Interface,API)以及监听模块;
API接口,用于获取用户为目标容器或者目标容器分组配置的限速带宽,并对限速带宽进行存储;
监听模块,与容器集群接口相连,用于如果通过容器集群接口监听到容器集群中的目标容器的所在节点更新为目标节点,则向目标节点中的目标节点代理发送限速消息。
可选的,监听模块,具体用于:
如果监听到容器集群中的目标容器的所在节点更新为目标节点,则获取与目标容器匹配的限速带宽;
根据限速带宽以及目标容器的互联网协议地址(Internet Protocol Address,IP地址),生成限速消息;目标容器的IP地址用于对目标容器进行定位;
将限速消息发送至目标节点中的目标节点代理。
可选的,监听模块,具体用于:
如果监听到容器集群中的目标容器分组中增加新的目标容器,则根据与目标容器分组对应的容器标签,确定目标容器分组中的新增的目标容器所在的目标节点;
获取与目标容器分组匹配的限速带宽,并根据限速带宽以及新增的目标容器的IP地址生成限速消息;新增的目标容器的IP地址用于对新增的目标容器进行定位;
将限速消息发送至目标节点中的目标节点代理。
可选的,节点代理,具体用于:
通过与本节点代理匹配的内核模块所提供的套接字接口,向与本节点代理匹配的内核模块下发与目标容器匹配的限速带宽;
或者,通过与本节点代理匹配的内核模块所提供的套接字接口,删除与本节点代理匹配的内核模块中的与目标容器匹配的限速带宽。
第四方面,本发明实施例还提供了一种内核模块,内核模块包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现本发明任意实施例提供的容器的收发限速方法。
第五方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明任意实施例提供的容器的收发限速方法。
本发明实施例的技术方案,内核模块在接收到目标容器的限速带宽时,根据限速带宽确定定时时长,并根据定时时长定时生产令牌到共享区;其中目标容器是指容器集群中的发生节点变化的容器;当确定目标报文进入目标容器的网络名字空间时,获取目标报文的数据总量,并根据数据总量和单令牌处理数据量,确定目标报文所需令牌数量,目标报文包括:待发送报文或者待接收报文;根据目标报文所需令牌数量以及共享区中与目标容器匹配的令牌数量,确定是否对目标报文进行报文收发处理,解决了现有技术中只能对容器进行发送方向限速,且无法对容器集群进行限速调度的问题,可以对容器集群中发生节点变化的容器在接收和发送方向上同时进行动态限速,提高限速性能。
附图说明
图1a是本发明实施例一中的一种容器的收发限速方法的流程图;
图1b是本发明实施例一中的一种容器限速的流程图;
图2是本发明实施例二中的一种容器的收发限速装置的结构示意图;
图3是本发明实施例三中的一种容器的收发限速系统的结构示意图;
图4是本发明实施例四中的一种内核模块的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
图1a是本发明实施例一中的一种容器的收发限速方法的流程图,本实施例可适用于对容器集群中发生节点变化的容器进行收发方向动态限速的情况,该方法可以由容器的收发限速装置来执行,该装置可以由软件和/或硬件来实现,并一般可以集成在内核模块中。如图1a所示,该方法包括:
步骤110、在接收到目标容器的限速带宽时,根据限速带宽确定定时时长,并根据定时时长定时生产令牌到共享区。
其中,目标容器是指容器集群中的发生节点变化的容器。
本实施例中,容器集群可以是K8S集群,也可以是其他的容器集群。目标容器是容器集群中的一个需要进行限速配置的容器,例如,发生节点迁移的容器或者新产生的容器等。目标容器的限速带宽是用户为目标容器配置的最大可用带宽。
本实施例中,内核模块采用无锁的令牌桶算法来对目标容器进行收发方向限速,因此,需要确定生产令牌的定时时长,而定时时长与限速带宽有直接关系,所以,当内核模块接收到目标容器的限速带宽时,根据限速带宽大小以及每个令牌允许发送或接收的数据量大小,计算出定时时长,并根据该定时时长来定时生产令牌到共享区。
示例性的,假设限速带宽为1000bit/每秒,每个令牌允许发送或接收的数据量大小为1bit/每秒,每次向共享区中加入的令牌数量为500,则可以将定时时长设置为0.5秒,即每间隔0.5秒就产生500个令牌到共享区中,从而保证每秒钟有1000个令牌加入到共享区中。
本实施例中,根据无锁的令牌桶算法来对容器进行限速设置,避开了队列,使得对容器的接收方向和发送方向进行限速的操作相同,即可以实现对容器的接收和发送方向同时进行限速,解决了现有技术中的采用队列对容器进行限速时只能实现发送方向限速的问题。
步骤120、当确定目标报文进入目标容器的网络名字空间时,获取目标报文的数据总量,并根据数据总量和单令牌处理数据量,确定目标报文所需令牌数量。
其中,目标报文包括:待发送报文或者待接收报文。
本实施例中,在对目标容器进行限速设置之后,如果有目标报文进入目标容器的网络名字空间,则需要对目标容器进行限速操作。先获取目标报文的数据量大小,然后根据目标报文的数据量大小以及每个令牌允许接收或发送的数据量大小,计算处理目标报文需要使用的令牌数量,以便于根据目标报文所需的令牌数量进一步判断是否允许对目标报文进行处理。
其中,网络名字空间是目标容器中包括的一个网络子系统,用于处理网络相关的事情。目标报文进出目标容器时,先进入目标容器的网络子系统,请求通过网络子系统对目标报文进行网络处理。
步骤130、根据目标报文所需令牌数量以及共享区中与目标容器匹配的令牌数量,确定是否对目标报文进行报文收发处理。
本实施例中,在确定处理目标报文所需要的令牌数量后,根据目标容器可以在共享区中获取的令牌数量与目标报文所需令牌数量的大小关系,判断是否可以对目标报文进行收发处理。
可选的,根据目标报文所需令牌数量以及共享区中与目标容器匹配的令牌数量,确定是否对目标报文进行报文收发处理,可以包括:获取与目标报文对应的目标中央处理器CPU的令牌信息;令牌信息包括目标CPU当前拥有令牌数量,和/或目标CPU在共享区中的令牌申请上限值;根据目标CPU的令牌信息以及目标报文所需令牌数量,确定是否将目标报文流转至目标CPU处进行报文收发处理。
本实施例中,与目标容器匹配的CPU有至少一个,因此,先获取用于处理目标报文的目标CPU的令牌信息,即目标CPU可以用来处理目标报文的令牌数量,包括目标CPU当前拥有令牌数量,和/或目标CPU在共享区中的令牌申请上限值,当目标CPU可以使用的令牌总数量大于等于目标报文所需的令牌数量时,则确定可以通过目标容器将目标报文流转到目标CPU进行相应的处理,否则,确定不能通过目标容器将目标报文流转到目标CPU进行处理,需要丢弃报文。
可选的,根据目标CPU的令牌信息以及目标报文所需令牌数量,确定是否将目标报文流转至目标CPU处进行报文收发处理,可以包括:如果目标CPU当前拥有令牌数量大于等于目标报文所需令牌数量,则确定将目标报文流转至目标CPU处进行报文收发处理。
本实施例中,如图1b所示,当目标报文进入目标容器的网络名字空间时,可以确定用于处理目标报文的目标CPU,由于目标CPU中有默认数量的令牌,因此先判断该目标CPU当前拥有的令牌数量是否大于等于目标报文所需的令牌数量,如果是,则无需获取共享区中的令牌,即可直接将目标报文流转至目标CPU处进行报文收发处理。其中,每个目标CPU中默认的令牌数量是根据与该目标CPU匹配的目标容器的限速带宽平均分配的。
可选的,根据目标CPU的令牌信息以及目标报文所需令牌数量,确定是否将目标报文流转至目标CPU处进行报文收发处理,可以包括:如果目标CPU当前拥有令牌数量小于目标报文所需令牌数量,则计算目标CPU在共享区中的令牌申请上限值;从共享区获取与令牌申请上限值匹配的令牌提供给目标CPU,并判断目标CPU的当前拥有令牌数量是否大于等于目标报文所需令牌数量;如果是,则将目标报文流转至目标CPU处进行报文收发处理,否则,丢弃目标报文。
本实施例中,由于与目标容器匹配的至少一个CPU共享同一个共享区,因此,为了保证各个CPU都可能得到目标容器对应的共享区中的令牌,每个CPU在共享区中对应任何时刻都有一个令牌申请上限值,用于限制当前可以为CPU申请的令牌数量。如图1b所示,如果目标CPU当前拥有的令牌数量小于目标报文所需的令牌数量,则需要计算目标CPU在共享区中的令牌申请上限值大小,如果令牌申请上限值为0,则直接丢弃目标报文,如果令牌申请上限值大于0,则从共享区中取出与令牌申请上限值相同数量的令牌给目标CPU。此时,如果目标CPU当前拥有的令牌数量大于或等于处理目标报文所需的令牌数量,则将目标报文流转至目标CPU,以使目标CPU消耗对应数量的令牌来对目标报文进行相应的收发处理,如果目标CPU当前拥有的令牌数量依然小于处理目标报文所需的令牌数量,则丢弃目标报文。
可选的,计算目标CPU在共享区中的令牌申请上限值,可以包括:根据与目标容器匹配的CPU数量、限速带宽以及本次为目标CPU申请令牌的时间与前一次为目标CPU申请令牌的时间的差值,计算目标CPU在共享区中的令牌申请上限值。
本实施例中,与目标容器匹配的各个CPU可以均分共享区中的令牌数量,因此,在计算CPU的令牌申请上限值时,可以先根据限速带宽以及本次为目标CPU申请令牌的时间与前一次为目标CPU申请令牌的时间的差值,计算出这段时间内共享区内新增的令牌数,然后,对新增的令牌进行平均分配,得到各个CPU当前在共享区中的令牌申请上限值。
示例性的,假设与目标容器匹配的CPU有5个,与目标容器匹配的限速带宽为1000bit/每秒,本次为目标CPU申请令牌的时间与前一次为目标CPU申请令牌的时间的差值为100ms,则当前共享区中共有1000*0.1=100个令牌,当前目标CPU在共享区中的令牌申请上限值为100/5=20个令牌。
需要说明的是,为了避免频繁分配,各个CPU在共享区中的令牌申请上限值可以多于均分的令牌数量,例如,可以是均分的令牌数量的2倍,或者3倍等,从而目标CPU在对目标报文进行处理之后,还会有令牌剩余,可以用于对下一个报文的处理。
本实施例中,通过设置限速带宽,限制令牌的产生速度,进而限制可以通过目标容器的数据量,通过避开队列,使得对容器的接收方向和发送方向进行限速的操作相同,达到对容器进行收发方向限速的效果。
可选的,从共享区获取与令牌申请上限值匹配的令牌提供给目标CPU,可以包括:采用无锁的令牌桶算法,从共享区获取与令牌申请上限值匹配的令牌提供给目标CPU。
本实施例中,由于到共享区获取令牌资源的操作使用的是原子操作,即在从共享区中获取令牌的过程中不会有其他进程也从共享区中获取令牌,因此,可以使用无锁的令牌桶算法,无需获取锁、释放锁即可访问共享区,简化了从共享区中申请令牌的流程,提高了令牌的申请速度。
可选的,容器限速的优先级高于容器分组限速的优先级;方法还可以包括:当与目标容器匹配的限速带宽和与目标容器所属的目标容器分组匹配的限速带宽不同时,根据与目标容器匹配的限速带宽,确定是否将进入目标容器的网络名字空间的目标报文流转至目标CPU处进行报文收发处理。
本实施例中,在用户对容器以及容器分组进行限速设置后,内核模块既可以对容器进行限速,又可以对容器分组进行限速,但这样可能会出现限速冲突,即,与目标容器匹配的限速带宽和与目标容器所属的目标容器分组匹配的限速带宽不同,导致内核模块无法确定目标容器的限速带宽。
为了解决上述问题,设置容器限速的优先级高于容器分组限速的优先级,从而在发生限速冲突时,可以直接使用与目标容器匹配的限速带宽对目标容器进行限速配置,以在目标报文进入目标容器的网络名字空间时,根据与目标容器匹配的限速带宽,确定是否将进入目标容器的网络名字空间的目标报文流转至目标CPU处进行报文收发处理。其中,容器分组是指具有相同的容器标签的容器组成的容器集合。
本实施例中,还可以为各个容器分别设置不同的限速等级,其中,与限速等级高的容器匹配的限速带宽大于与限速等级低的容器匹配的限速带宽。
本发明实施例的技术方案,内核模块在接收到的与待限速配置的目标容器匹配的限速带宽时,根据限速带宽确定定时时长,并根据定时时长注册定时器,以定时生产令牌到共享区;其中目标容器是指容器集群中的发生节点变化的容器;当确定目标报文进入目标容器的网络名字空间时,获取目标报文的数据总量,并根据数据总量和单令牌处理数据量,确定目标报文所需令牌数量,目标报文包括:待发送报文或者待接收报文;根据目标CPU当前拥有令牌数量,和/或目标CPU在共享区中的令牌申请上限值,确定是否将目标报文流转至目标CPU处进行报文收发处理,解决了现有技术中只能对容器进行发送方向限速,且无法对容器集群进行限速调度的问题,可以对容器集群中发生节点变化的目标容器在接收和发送方向上同时进行动态限速,提高限速性能。
实施例二
图2是本发明实施例二中的一种容器的收发限速装置的结构示意图。本实施例可适用于对容器集群中发生节点变化的容器进行收发方向动态限速的情况,该装置可以由软件和/或硬件来实现,并一般可以集成在内核模块中。如图2所示,该装置应用于内核模块,包括:
定时单元210,用于在接收到目标容器的限速带宽时,根据限速带宽确定定时时长,并根据定时时长定时生产令牌到共享区;
其中,目标容器是指容器集群中的发生节点变化的容器;
令牌数量确定单元220,用于当确定目标报文进入目标容器的网络名字空间时,获取目标报文的数据总量,并根据数据总量和单令牌处理数据量,确定目标报文所需令牌数量,目标报文包括:待发送报文或者待接收报文;
限速确定单元230,用于根据目标报文所需令牌数量以及共享区中与目标容器匹配的令牌数量,确定是否对目标报文进行报文收发处理。
本发明实施例的技术方案,在接收到目标容器的限速带宽时,根据限速带宽确定定时时长,并根据定时时长定时生产令牌到共享区;其中目标容器是指容器集群中的发生节点变化的容器;当确定目标报文进入目标容器的网络名字空间时,获取目标报文的数据总量,并根据数据总量和单令牌处理数据量,确定目标报文所需令牌数量,目标报文包括:待发送报文或者待接收报文;根据目标报文所需令牌数量以及共享区中与目标容器匹配的令牌数量,确定是否对目标报文进行报文收发处理,解决了现有技术中只能对容器进行发送方向限速,且无法对容器集群进行限速调度的问题,可以对容器集群中发生节点变化的目标容器在接收和发送方向上同时进行动态限速,提高限速性能。
可选的,限速确定单元230,包括:获取子单元,用于获取与目标报文对应的目标中央处理器CPU的令牌信息;令牌信息包括目标CPU当前拥有令牌数量,和/或目标CPU在共享区中的令牌申请上限值;确定子单元,用于根据目标CPU的令牌信息以及目标报文所需令牌数量,确定是否将目标报文流转至目标CPU处进行报文收发处理。
可选的,确定子单元,具体用于:如果目标CPU当前拥有令牌数量大于等于目标报文所需令牌数量,则确定将目标报文流转至目标CPU处进行报文收发处理。
可选的,确定子单元,具体用于:如果目标CPU当前拥有令牌数量小于目标报文所需令牌数量,则计算目标CPU在共享区中的令牌申请上限值;从共享区获取与令牌申请上限值匹配的令牌提供给目标CPU,并判断目标CPU的当前拥有令牌数量是否大于等于目标报文所需令牌数量;如果是,则将目标报文流转至目标CPU处进行报文收发处理,否则,丢弃目标报文。
可选的,确定子单元,具体用于:根据与目标容器匹配的CPU数量、限速带宽以及本次为目标CPU申请令牌的时间与前一次为目标CPU申请令牌的时间的差值,计算目标CPU在共享区中的令牌申请上限值。
可选的,确定子单元,具体用于:采用无锁的令牌桶算法,从共享区获取与令牌申请上限值匹配的令牌提供给目标CPU。
可选的,容器限速的优先级高于容器分组限速的优先级;
限速确定单元230,还包括:限速处理单元,用于当与目标容器匹配的限速带宽和与目标容器所属的目标容器分组匹配的限速带宽不同时,根据与目标容器匹配的限速带宽,确定是否将进入目标容器的网络名字空间的目标报文流转至目标CPU处进行报文收发处理。
本发明实施例所提供的容器的收发限速装置可执行本发明任意实施例所提供的应用于内核模块的容器的收发限速方法,具备执行方法相应的功能模块和有益效果。
实施例三
图3是本发明实施例三中的一种容器的收发限速系统的结构示意图,本实施例可适用于对容器集群中发生节点变化的容器进行收发方向动态限速的情况。如图3所示,该系统包括:控制器310,至少一个节点代理320,以及至少一个与节点代理320匹配的内核模块330;
控制器310,用于如果监听到容器集群中的目标容器的所在节点更新为目标节点,则向目标节点中的目标节点代理发送限速消息;
节点代理320,用于如果接收到控制器发送的限速消息,则根据限速消息确定与目标容器匹配的限速带宽,并将限速带宽发送至与本节点代理匹配的内核模块;
内核模块330,用于在接收到目标容器的限速带宽时,根据限速带宽确定定时时长,并根据定时时长定时生产令牌到共享区;其中,目标容器是指容器集群中的发生节点变化的容器;
当确定目标报文进入目标容器的网络名字空间时,获取目标报文的数据总量,并根据数据总量和单令牌处理数据量,确定目标报文所需令牌数量,目标报文包括:待发送报文或者待接收报文;
根据目标报文所需令牌数量以及共享区中与目标容器匹配的令牌数量,确定是否对目标报文进行报文收发处理。
本发明实施例中,控制器310是独立于容器集群之外的,用于对容器集群中的容器进行实时监听,并实时指示对节点发生变化的容器进行限速。容器集群中的每个工作节点中都有一个节点代理320,并且每个工作节点都有对应的内核模块。其中,节点代理320用于根据控制器310的容器限速指示,调用相应的内核模块对目标容器进行限速。
可选的,还可以包括:容器集群接口340;控制器310包括:API接口311以及监听模块312;
API接口311,用于获取用户为目标容器或者目标容器分组配置的限速带宽,并对限速带宽进行存储;
监听模块312,与容器集群接口340相连,用于如果通过容器集群接口340监听到容器集群中的目标容器的所在节点更新为目标节点,则向目标节点中的目标节点代理发送限速消息。
本实施例中,容器集群向控制器310提供了容器集群接口340,使得控制器310可以根据容器集群接口340,实时监听容器集群中各个容器所在的节点是否发生变化。控制器310具体包括API接口311以及监听模块312。其中,API接口311可以获取用户为容器或者是容器分组配置的限速带宽,并将限速带宽进行存储,以在需要对容器进行限速时,可以获取到与该容器匹配的限速带宽。监听模块312与容器集群接口340相连,以实时监听容器集群中的各个容器,并在监听到容器集群中的目标容器的所在节点更新为目标节点时,向目标节点中的目标节点代理发送限速消息,以指示目标节点代理调用内核模块来对目标容器进行限速。
可选的,监听模块312,具体用于:如果监听到容器集群中的目标容器的所在节点更新为目标节点,则获取与目标容器匹配的限速带宽;根据限速带宽以及目标容器的IP地址,生成限速消息;目标容器的IP地址用于对目标容器进行定位;将限速消息发送至目标节点中的目标节点代理。
本实施例中,当监听模块312监听到目标容器的IP地址与容器集群中的节点的对应关系有更新时,例如,目标容器由一个节点迁移到另一个节点,或者,目标节点中新增加一个目标容器,则先获取与目标容器匹配的限速带宽,然后根据与目标容器匹配的限速带宽以及目标容器的IP地址,生成与目标容器匹配的限速消息,并将限速消息发送到目标容器当前所在的目标节点中的目标节点代理。其中,节点中的每个容器都有一个区别身份的IP地址,为了使得目标节点代理确定目标节点中的待限速容器,可以将目标容器的IP地址携带在限速消息中。
可选的,监听模块312,具体用于:如果监听到容器集群中的目标容器分组中增加新的目标容器,则根据与目标容器分组对应的容器标签,确定目标容器分组中的新增的目标容器所在的目标节点;获取与目标容器分组匹配的限速带宽,并根据限速带宽以及新增的目标容器的IP地址生成限速消息;新增的目标容器的IP地址用于对新增的目标容器进行定位;将限速消息发送至目标节点中的目标节点代理。
本实施例中,当监听模块312监听到目标容器分组中增加了新的目标容器时,先根据容器标签确定目标容器分组中包括的所有容器,然后从目标容器分组的所有容器中确定新增的目标容器,根据新增的目标容器的IP地址确定其所在的目标节点,然后获取与目标容器分组匹配的限速带宽,并根据限速带宽以及新增的目标容器的IP地址,生成与新增的目标容器匹配的限速消息,并将限速消息发送到新增的目标容器当前所在的目标节点中的目标代理。
可选的,节点代理320,具体用于:通过与本节点代理匹配的内核模块330所提供的套接字接口,向与本节点代理匹配的内核模块330下发与目标容器匹配的限速带宽;或者,通过与本节点代理匹配的内核模块330所提供的套接字接口,删除与本节点代理匹配的内核模块330中的与目标容器匹配的限速带宽。
本实施例中,节点代理320在接收到控制器下发的限速消息后,从限速消息中提取目标容器的IP地址,以及与目标容器匹配的限速带宽,并通过内核模块330提供的套接字接口,将目标容器的IP地址和限速带宽下发至与本节点代理匹配的内核模块330中,以通过内核模块330对目标容器进行限速配置以及限速处理。
本实施例中,当控制器310监听到目标容器消亡时,会向目标容器所在节点中的节点代理320下发对目标容器的限速带宽进行删除的指令,节点代理320在接收到删除指令后,通过与本节点代理匹配的内核模块330所提供的套接字接口,删除内核模块330中的与目标容器匹配的限速带宽。
可选的,内核模块330,具体用于:获取与目标报文对应的目标中央处理器CPU的令牌信息;令牌信息包括目标CPU当前拥有令牌数量,和/或目标CPU在共享区中的令牌申请上限值;根据目标CPU的令牌信息以及目标报文所需令牌数量,确定是否将目标报文流转至目标CPU处进行报文收发处理。
可选的,内核模块330,具体用于:如果目标CPU当前拥有令牌数量大于等于目标报文所需令牌数量,则确定将目标报文流转至目标CPU处进行报文收发处理。
可选的,内核模块330,具体用于:如果目标CPU当前拥有令牌数量小于目标报文所需令牌数量,则计算目标CPU在共享区中的令牌申请上限值;从共享区获取与令牌申请上限值匹配的令牌提供给目标CPU,并判断目标CPU的当前拥有令牌数量是否大于等于目标报文所需令牌数量;如果是,则将目标报文流转至目标CPU处进行报文收发处理,否则,丢弃目标报文。
可选的,内核模块330,具体用于:根据与目标容器匹配的CPU数量、限速带宽以及本次为目标CPU申请令牌的时间与前一次为目标CPU申请令牌的时间的差值,计算目标CPU在共享区中的令牌申请上限值。
可选的,内核模块330,具体用于:采用无锁的令牌桶算法,从共享区获取与令牌申请上限值匹配的令牌提供给目标CPU。
可选的,容器限速的优先级高于容器分组限速的优先级;
内核模块330,还用于:当与目标容器匹配的限速带宽和与目标容器所属的目标容器分组匹配的限速带宽不同时,根据与目标容器匹配的限速带宽,确定是否将进入目标容器的网络名字空间的目标报文流转至目标CPU处进行报文收发处理。
本发明实施例的技术方案,由控制器实时监听容器集群中的各容器的所在节点是否发生更新,并向发生更新的目标容器当前所在的目标节点中的目标节点代理发送限速消息,由节点代理将限速消息中携带的与目标容器匹配的限速带宽发送至与本节点代理匹配的内核模块,由内核模块根据限速带宽,对目标容器进行限速配置和限速处理,解决了现有技术中只能对容器进行发送方向限速,且无法对容器集群进行限速调度的问题,通过实时与容器集群联动,以及避开使用队列,实现对容器集群中发生节点变化的待限速容器在接收和发送方向上同时进行动态限速,提高限速性能。
实施例四
图4是本发明实施例四中的一种内核模块的结构示意图。图4示出了适于用来实现本发明实施方式的示例性内核模块12的框图。图4显示的内核模块12仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图4所示,内核模块12以通用计算设备的形式表现。内核模块12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
内核模块12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被内核模块12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)30和/或高速缓存存储器32。内核模块12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图4未显示,通常称为“硬盘驱动器”)。尽管图4中未示出可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/或方法。
内核模块12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该内核模块12交互的设备通信,和/或与使得该内核模块12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22进行。并且,内核模块12还可以通过网络适配器20与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与内核模块12的其它模块通信。应当明白,尽管图中未示出,可以结合内核模块12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
处理单元16通过运行存储在系统存储器28中的程序,从而执行各种功能应用以及数据处理,例如实现本发明实施例所提供的应用于内核模块的容器的收发限速方法。
也即:实现一种容器的收发限速方法,包括:
在接收到目标容器的限速带宽时,根据限速带宽确定定时时长,并根据定时时长定时生产令牌到共享区;
其中,目标容器是指容器集群中的发生节点变化的容器;
当确定目标报文进入目标容器的网络名字空间时,获取目标报文的数据总量,并根据数据总量和单令牌处理数据量,确定目标报文所需令牌数量,目标报文包括:待发送报文或者待接收报文;
根据目标报文所需令牌数量以及共享区中与目标容器匹配的令牌数量,确定是否对目标报文进行报文收发处理。
实施例五
本发明实施例五还公开了一种计算机存储介质,其上存储有计算机程序,该程序被处理器执行时实现一种应用于内核模块的容器的收发限速方法,包括:
在接收到目标容器的限速带宽时,根据限速带宽确定定时时长,并根据定时时长定时生产令牌到共享区;
其中,目标容器是指容器集群中的发生节点变化的容器;
当确定目标报文进入目标容器的网络名字空间时,获取目标报文的数据总量,并根据数据总量和单令牌处理数据量,确定目标报文所需令牌数量,目标报文包括:待发送报文或者待接收报文;
根据目标报文所需令牌数量以及共享区中与目标容器匹配的令牌数量,确定是否对目标报文进行报文收发处理。
本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如”C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (10)
1.一种容器的收发限速方法,其特征在于,应用于内核模块,包括:
在接收到目标容器的限速带宽时,根据限速带宽确定定时时长,并根据定时时长定时生产令牌到共享区;
其中,所述目标容器是指容器集群中的发生节点变化的容器;
当确定目标报文进入目标容器的网络名字空间时,获取目标报文的数据总量,并根据数据总量和单令牌处理数据量,确定目标报文所需令牌数量,目标报文包括:待发送报文或者待接收报文;
根据所述目标报文所需令牌数量以及所述共享区中与所述目标容器匹配的令牌数量,确定是否对所述目标报文进行报文收发处理;
根据所述目标报文所需令牌数量以及所述共享区中与所述目标容器匹配的令牌数量,确定是否对所述目标报文进行报文收发处理,包括:
获取与所述目标报文对应的目标中央处理器CPU的令牌信息;所述令牌信息包括所述目标CPU当前拥有令牌数量,和/或所述目标CPU在共享区中的令牌申请上限值;
根据所述目标CPU的令牌信息以及所述目标报文所需令牌数量,确定是否将所述目标报文流转至目标CPU处进行报文收发处理;
根据所述目标CPU的令牌信息以及所述目标报文所需令牌数量,确定是否将所述目标报文流转至目标CPU处进行报文收发处理,包括:
如果所述目标CPU当前拥有令牌数量大于等于所述目标报文所需令牌数量,则确定将所述目标报文流转至目标CPU处进行报文收发处理;
根据所述目标CPU的令牌信息以及所述目标报文所需令牌数量,确定是否将所述目标报文流转至目标CPU处进行报文收发处理,包括:
如果所述目标CPU当前拥有令牌数量小于所述目标报文所需令牌数量,则计算所述目标CPU在共享区中的令牌申请上限值;
从所述共享区获取与所述令牌申请上限值匹配的令牌提供给所述目标CPU,并判断目标CPU的当前拥有令牌数量是否大于等于所述目标报文所需令牌数量;
如果是,则将目标报文流转至目标CPU处进行报文收发处理,否则,丢弃目标报文。
2.根据权利要求1所述的方法,其特征在于,计算所述目标CPU在共享区中的令牌申请上限值,包括:
根据与所述目标容器匹配的CPU数量、所述限速带宽以及本次为所述目标CPU申请令牌的时间与前一次为所述目标CPU申请令牌的时间的差值,计算所述目标CPU在共享区中的令牌申请上限值。
3.根据权利要求1所述的方法,其特征在于,从所述共享区获取与所述令牌申请上限值匹配的令牌提供给所述目标CPU,包括:
采用无锁的令牌桶算法,从所述共享区获取与所述令牌申请上限值匹配的令牌提供给所述目标CPU。
4.根据权利要求1所述的方法,其特征在于,容器限速的优先级高于容器分组限速的优先级;
所述方法还包括:当与目标容器匹配的限速带宽和与目标容器所属的目标容器分组匹配的限速带宽不同时,根据与目标容器匹配的限速带宽,确定是否将进入目标容器的网络名字空间的目标报文流转至目标CPU处进行报文收发处理。
5.一种容器的收发限速装置,其特征在于,应用于内核模块,包括:
定时单元,用于在接收到目标容器的限速带宽时,根据限速带宽确定定时时长,并根据定时时长定时生产令牌到共享区;
其中,所述目标容器是指容器集群中的发生节点变化的容器;
令牌数量确定单元,用于当确定目标报文进入目标容器的网络名字空间时,获取目标报文的数据总量,并根据数据总量和单令牌处理数据量,确定目标报文所需令牌数量,目标报文包括:待发送报文或者待接收报文;
限速确定单元,用于根据所述目标报文所需令牌数量以及所述共享区中与所述目标容器匹配的令牌数量,确定是否对所述目标报文进行报文收发处理;
所述限速确定单元还包括:
获取子单元,用于获取与目标报文对应的目标中央处理器CPU的令牌信息;令牌信息包括目标CPU当前拥有令牌数量,和/或目标CPU在共享区中的令牌申请上限值;
确定子单元,用于根据目标CPU的令牌信息以及目标报文所需令牌数量,确定是否将目标报文流转至目标CPU处进行报文收发处理;
确定子单元,具体用于:如果目标CPU当前拥有令牌数量大于等于目标报文所需令牌数量,则确定将目标报文流转至目标CPU处进行报文收发处理;
确定子单元,具体用于:如果目标CPU当前拥有令牌数量小于目标报文所需令牌数量,则计算目标CPU在共享区中的令牌申请上限值;从共享区获取与令牌申请上限值匹配的令牌提供给目标CPU,并判断目标CPU的当前拥有令牌数量是否大于等于目标报文所需令牌数量;如果是,则将目标报文流转至目标CPU处进行报文收发处理,否则,丢弃目标报文。
6.一种容器的收发限速系统,其特征在于,包括:控制器,至少一个节点代理,以及至少一个与节点代理匹配的内核模块;
所述控制器,用于如果监听到容器集群中的目标容器的所在节点更新为目标节点,则向所述目标节点中的目标节点代理发送限速消息;
所述节点代理,用于如果接收到控制器发送的限速消息,则根据所述限速消息确定与目标容器匹配的限速带宽,并将所述限速带宽发送至与本节点代理匹配的内核模块;
所述内核模块,用于执行如权利要求1-4任一项所述的容器的收发限速方法。
7.根据权利要求6所述的系统,其特征在于,还包括:容器集群接口;
所述控制器包括:应用程序编程接口API以及监听模块;
所述API接口,用于获取用户为目标容器或者目标容器分组配置的限速带宽,并对所述限速带宽进行存储;
所述监听模块,与所述容器集群接口相连,用于如果通过所述容器集群接口监听到容器集群中的目标容器的所在节点更新为目标节点,则向所述目标节点中的目标节点代理发送限速消息。
8.根据权利要求7所述的系统,其特征在于,所述监听模块,具体用于:
如果监听到容器集群中的目标容器的所在节点更新为目标节点,则获取与所述目标容器匹配的限速带宽;
根据所述限速带宽以及所述目标容器的IP地址,生成限速消息;所述目标容器的IP地址用于对所述目标容器进行定位;
将所述限速消息发送至所述目标节点中的目标节点代理。
9.根据权利要求7所述的系统,其特征在于,所述监听模块,具体用于:
如果监听到容器集群中的目标容器分组中增加新的目标容器,则根据与所述目标容器分组对应的容器标签,确定所述目标容器分组中的新增的目标容器所在的目标节点;
获取与所述目标容器分组匹配的限速带宽,并根据所述限速带宽以及所述新增的目标容器的IP地址生成限速消息;所述新增的目标容器的IP地址用于对所述新增的目标容器进行定位;
将所述限速消息发送至所述目标节点中的目标节点代理。
10.根据权利要求6所述的系统,其特征在于,所述节点代理,具体用于:
通过与本节点代理匹配的内核模块所提供的套接字接口,向与本节点代理匹配的内核模块下发与目标容器匹配的限速带宽;
或者,通过与本节点代理匹配的内核模块所提供的套接字接口,删除与本节点代理匹配的内核模块中的与目标容器匹配的限速带宽。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010656679.5A CN111865675B (zh) | 2020-07-09 | 2020-07-09 | 容器的收发限速方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010656679.5A CN111865675B (zh) | 2020-07-09 | 2020-07-09 | 容器的收发限速方法、装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111865675A CN111865675A (zh) | 2020-10-30 |
CN111865675B true CN111865675B (zh) | 2023-05-30 |
Family
ID=73153315
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010656679.5A Active CN111865675B (zh) | 2020-07-09 | 2020-07-09 | 容器的收发限速方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111865675B (zh) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101917646B (zh) * | 2010-08-17 | 2015-07-22 | 中兴通讯股份有限公司 | 报文发送方法及装置 |
CN103379146B (zh) * | 2012-04-19 | 2016-12-28 | 深圳市云帆世纪科技有限公司 | 一种数据传输的限速方法及装置 |
CN107465629A (zh) * | 2016-06-06 | 2017-12-12 | 中兴通讯股份有限公司 | 限速方法及装置 |
US10338824B2 (en) * | 2017-11-09 | 2019-07-02 | International Business Machines Corporation | Bandwidth management of memory through containers |
CN108667663A (zh) * | 2018-05-17 | 2018-10-16 | 北京五八信息技术有限公司 | 流量调整方法、相应装置、平台、系统、设备及存储介质 |
-
2020
- 2020-07-09 CN CN202010656679.5A patent/CN111865675B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN111865675A (zh) | 2020-10-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10331595B2 (en) | Collaborative hardware interaction by multiple entities using a shared queue | |
CN109213611B (zh) | 跨进程通讯方法、装置、终端及存储介质 | |
US8595722B2 (en) | Preprovisioning virtual machines based on request frequency and current network configuration | |
US20230161622A1 (en) | System and Method for Low Latency Node Local Scheduling in Distributed Resource Management | |
WO2017041398A1 (zh) | 数据传输方法和装置 | |
US11201836B2 (en) | Method and device for managing stateful application on server | |
CN113326155B (zh) | 一种信息处理方法、装置、系统和存储介质 | |
CN113037529B (zh) | 一种预留带宽分配方法、装置、设备及存储介质 | |
WO2024016596A1 (zh) | 容器集群调度的方法、装置、设备及存储介质 | |
CN112968919B (zh) | 一种数据处理方法、装置、设备和存储介质 | |
US9860307B2 (en) | System and method for virtual desktop infrastructure user level virtual channel | |
US20140089624A1 (en) | Cooperation of hoarding memory allocators in a multi-process system | |
JP5479710B2 (ja) | データを処理するためのプロセッサ‐サーバ・ハイブリッド・システムおよび方法 | |
CN115237589A (zh) | 一种基于sr-iov的虚拟化方法、装置和设备 | |
Cardellini et al. | Overlapping communication with computation in MPI applications | |
US10523741B2 (en) | System and method for avoiding proxy connection latency | |
CN110515749B (zh) | 信息发送的队列调度的方法、装置、服务器和存储介质 | |
CN117370046A (zh) | 进程间通信方法、系统、设备和存储介质 | |
CN111865675B (zh) | 容器的收发限速方法、装置及系统 | |
CN114296916B (zh) | 一种提高释放rdma性能的方法、装置及介质 | |
CN115250276A (zh) | 分布式系统及数据处理的方法和装置 | |
CN115767448B (zh) | 一种消息发送方法、装置、设备和存储介质 | |
CN114567520B (zh) | 实现集合通信的方法、计算机设备和通信系统 | |
CN109947572B (zh) | 通信控制方法、装置、电子设备及存储介质 | |
US10749913B2 (en) | Techniques for multiply-connected messaging endpoints |
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 |