CN111247515A - 用于提供基于性能的分组调度器的装置和方法 - Google Patents
用于提供基于性能的分组调度器的装置和方法 Download PDFInfo
- Publication number
- CN111247515A CN111247515A CN201880068118.4A CN201880068118A CN111247515A CN 111247515 A CN111247515 A CN 111247515A CN 201880068118 A CN201880068118 A CN 201880068118A CN 111247515 A CN111247515 A CN 111247515A
- Authority
- CN
- China
- Prior art keywords
- user plane
- cores
- work item
- observations
- adjusting
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 51
- 230000027455 binding Effects 0.000 claims abstract description 26
- 238000009739 binding Methods 0.000 claims abstract description 26
- 238000009826 distribution Methods 0.000 claims abstract description 12
- 230000006870 function Effects 0.000 claims abstract description 12
- 238000003860 storage Methods 0.000 claims description 11
- 238000012545 processing Methods 0.000 claims description 7
- 230000008569 process Effects 0.000 description 9
- 230000003068 static effect Effects 0.000 description 6
- 238000013341 scale-up Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003595 spectral effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
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/5038—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 the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
-
- 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/505—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 the load
-
- 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/5061—Partitioning or combining of resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/54—Loss aware scheduling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/56—Queue scheduling implementing delay-aware scheduling
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Debugging And Monitoring (AREA)
Abstract
公开了一种方法,该方法包括:根据配置文件中的至少一个关键性能指示符来周期性地观察用户平面中的分组以产生观察结果,其中,该观察结果表示对用户平面内的资源的闭环需求。该方法包括经由用户平面中的调度器并且基于观察结果来调整核心到工作项目的绑定。核心与工作项目之间的绑定是动态的并且是可改变的以提高性能。至少一个关键性能指示符可以包括以下各项中的一项或多项:CPU利用率、等待时间和分组丢弃。工作负荷分配可以包括工作项目,该工作项目是对用户平面内的分组队列进行操作的单独可调度的功能。
Description
技术领域
本公开涉及分组流,并且具体地涉及基于关键性能指示符的调度器,该调度器使得能够在给定用户平面(例如,容器或虚拟机)中将工作项目动态匹配到核心。
背景技术
在5G下一代移动核心中,用户平面(UP)需要具有低延迟和非常高的吞吐量。用户平面还需要基于工作负荷有效地使用CPU(中央处理单元)资源,可以是DPI(深度分组检查)、TCP(传输控制协议)优化等等。网络功能虚拟化架构中的当前分组转发器(如OVS-DPDK(open vSwitch数据平面开发套件)或VPP(矢量数据处理))具有核心到工作项目的静态绑定。容器或虚拟机内的用户空间分组调度被包含在进程边界内,并且因此不能动态地将更多CPU资源分配给容器或虚拟机内的进程。
NFVI(网络功能虚拟化基础设施)中的转发器(如VPP和OVS-DPDK)不具有可伸缩的分组调度器,并且吞吐量受到核心到某些端口的静态分配的限制。甚至L2-L3或L4-L7处理工作项目也被静态地绑定到某些核心。这种静态绑定的结果是跨CPU资源的不均匀负载分布。因此,静态地分配CPU资源可能导致CPU资源的浪费。
附图说明
为了描述可以获得本公开的上述以及其他优点和特征的方式,将通过参考在附图中示出的本公开的特定实施例来呈现对以上简要描述的原理的更具体描述。
应当理解,这些附图仅描绘本公开的示例性实施例,并且因此不应被认为是对本公开的范围的限制,通过使用附图,利用附加特征和细节来描述和解释本文的原理,在附图中:
图1示出了示例系统配置;
图2示出了作为用户平面的一部分提供的调度器的示例概念,以使得能够将核心动态绑定到工作项目;
图3示出了方法实施例;以及
图4示出了另一方法实施例。
具体实施方式
下面详细讨论本公开的各种实施例。尽管讨论了特定的实现方式,但是应当理解,这样做仅仅是为了说明的目的。相关领域的技术人员将认识到,在不脱离本公开的精神和范围的情况下,可以使用其他组件和配置。
概述
本公开的附加特征和优点将在以下描述中阐述,并且部分地将从描述中显而易见,或者可以通过实践本文公开的原理来学习。本公开的特征和优点可以通过在所附权利要求中特别指出的仪器的装置和组合来实现和获得。本公开的这些和其他特征将从以下描述和所附权利要求中变得更加完全显而易见,或者可以通过实践本文阐述的原理来学习。
公开了一种方法,该方法包括:根据配置文件中的至少一个关键性能指示符来周期性地观察用户平面中的分组以产生观察结果,其中,该观察结果表示对用户平面内的资源的闭环需求。该方法包括经由用户平面中的调度器并且基于观察结果来调整核心到工作项目的绑定。核心与工作项目之间的绑定是动态的并且是可改变的以提高性能。至少一个关键性能指示符可以包括以下各项中的一项或多项:CPU利用率、等待时间和分组丢弃。工作负荷分配可以包括工作项目,该工作项目是对用户平面内的分组队列进行操作的单独可调度的功能。
在另一示例中,公开了一种在用户平面内提供核心到工作项目的动态绑定的方法。该方法包括:在用户平面内为第一工作项目分配第一数量的核心,在用户平面内向第二工作项目分配第二数量的核心,以及根据配置文件中的至少一个关键性能指示符来周期性地观察用户平面中的分组以产生观察结果,其中该观察结果表示对用户平面内的资源的闭环需求。该方法还包括:经由用户平面中的调度器并且基于该观察结果,通过以下操作来调整核心到工作项目的绑定:在用户平面内向第一工作项目分配第三数量的核心,并且在用户平面内向第二工作项目分配第四数量的核心。
详细的描述
本公开解决了以上提出的问题。本公开提供了一种系统、方法和计算机可读存储设备实施例。首先,将在图1中公开一般示例系统,该系统可以提供构成服务器、节点或其他计算机系统的一些基本硬件组件。
首先,将在图1中公开一般示例系统,该系统可以提供构成服务器、节点或其他计算机系统的一些基本硬件组件。图1示出了计算系统架构100,其中系统的组件使用连接器105彼此电通信。示例性系统100包括处理单元(CPU或处理器)110和系统连接器105,该系统连接器105将包括例如系统存储器115、只读存储器(ROM)120和随机存取存储器(RAM)125的各种系统组件耦合到处理器110。系统100可以包括高速存储器的缓存,该缓存直接与处理器110连接、与处理器110紧密接近或集成为处理器110的一部分。系统100可以将数据从存储器115和/或存储设备130复制到缓存112,以供处理器110快速访问。以这种方式,缓存可以提供性能提升,这避免了处理器110在等待数据时的延迟。这些和其他模块/服务可以控制或被配置为控制处理器110执行各种动作。其他系统存储器115也可以是可用的以供使用。存储器115可以包括具有不同性能特性的多种不同类型的存储器。处理器110可以包括任何通用处理器以及硬件模块或软件模块/服务,例如存储在存储设备130中的服务1 132、服务2 134和服务3 136,其被配置为控制处理器110以及专用处理器,其中软件指令被合并到实际处理器设计中。处理器110可以实质上是完全独立的计算系统,包含多个核心或处理器、总线(连接器)、存储器控制器、缓存等。多核心处理器可以是对称的或非对称的。
为了使得用户能够与计算设备100交互,输入设备145可以表示任意数量的输入机制,例如用于语音的麦克风、用于手势或图形输入的触敏屏幕、键盘、鼠标、运动输入、语音等。输出设备135也可以是本领域技术人员已知的许多输出机制中的一个或多个。在一些实例中,多模式系统可以使得用户能够提供多种类型的输入以与计算设备100进行通信。通信接口140通常可以控制和管理用户输入和系统输出。对任何特定硬件布置的操作没有限制,并且因此这里的基本特征可以容易地替换开发的改进的硬件或固件布置。
存储设备130是非易失性存储器,并且可以是硬盘或其他类型的计算机可读介质,其可以存储可由计算机(例如,磁带盒、闪存卡、固态存储器设备、数字通用磁盘、盒式磁带、随机存取存储器(RAM)125、只读存储器(ROM)120以及前述的混合)访问的数据。
存储设备130可以包括用于控制处理器110的软件服务132、134、136。可以设想其他硬件或软件模块/服务。存储设备130可以被连接到系统连接器105。一方面,执行特定功能的硬件模块可以包括存储在计算机可读介质中的软件组件,该软件组件与诸如处理器110、连接器105、显示器135之类的必要硬件组件连接以执行该功能。
图2示出了示例配置200,其为在例如5G下一代移动核心的用户平面中的虚拟机或容器内运行的转发器提供了分组调度器。5G的目标是提供更高密度的移动宽带用户,支持设备到设备通信并且是超可靠的。其他目标包括用于数万用户的每秒数十兆比特的数据速率、用于城市区域的每秒100Mb的数据速率、同时到相同办公楼层的工人的每秒1Gb、用于无线传感器的数十万个同时连接、当与4G网络相比时增强的频谱效率、覆盖改进、信令效率增强以及与LTE标准相比减少等待时间。一方面,本公开涉及用于转发器的分组调度器,该转发器在任何用户平面中的任何虚拟机或容器内运行,并且不限于5G下一代移动核心。
图2中示出了一组8个核心作为特征202。核心0被示出为运行调度器,并且核心1-5处理工作项目1,核心6和7处理工作项目2。特征202可以表示在第一时间处用户平面中的虚拟机或容器的状态,其中工作项目1被分配或绑定到一组核心,并且工作项目2被分配或绑定到一组核心。本文公开的概念标识了一种实现核心与工作项目之间的动态绑定的方法。工作项目可以被定义为对分组队列进行操作的单独可调度的功能。工作项目可以在给定用户平面(即,容器或虚拟机)中的单个进程内运行或者跨多个进程运行。调度器204将访问包括与多个关键性能指示符相关联的数据的配置文件212。例如,关键性能指示符可以包括以下各项中的一项或多项:CPU利用率208、分组丢弃206、等待时间信息210以及可能可用的其他性能信息。每个关键性能指示符可以包括配置文件212内的阈值。这些阈值可以由管理员手动地单独设置,或者可以基于来自系统或网络的反馈来设置。例如,可以独立于其他虚拟实体提供关于虚拟机或容器本身内的性能的反馈,或者提供关于虚拟机或容器以及其他虚拟机或容器内的性能的组合的反馈。调度器204可以以任何组合利用配置文件212中的任何一个或多个数据片段。
调度器204以固定或动态间隔(例如,每1秒)周期性地监视关键性能指示符,并且在某一时间根据配置文件212中的数据决定是按比例放大工作项目214还是按比例缩小工作项目216。观察的间隔是可配置的,以及当基于一组观察作出按比例放大工作项目还是按比例缩小工作项目的决定时是可配置的。间隔也可以是动态的或静态的。例如,系统可以每秒设置观察的间隔,并且每5次观察或每5秒作出决定。给定与工作负荷相关联的数据,例如在一段时间期间的高CPU利用率或CPU利用率的调度增加,观察可以以更短的间隔发生。基于用户平面内和/或用户平面外的数据的反馈也可以被用于动态地设置观察的间隔以及关于是按比例放大工作项目还是按比例缩小工作项目的决定间隔。一方面,调整物理或虚拟化转发节点内的工作负荷分配和/或资源可以基于资源的闭环需求。换句话说,对资源的闭环需求涉及对特定用户平面环境(无论是物理的还是虚拟化的)内的资源的需求。
图2示出了在第一时间处以及在基于观察和配置文件212中的数据作出调度器决定204之后在第二时间(其可以晚于第一时间)处、核心与工作项目202之间的初始绑定的示例。注意,绑定218在第二时间处已经改变。工作项目1现在被分配或绑定到核心1-3,并且因此被按比例缩小。工作项目2已经从第一时间202处的仅两个核心按比例放大到第二时间218处的核心4-7。图2当然示出了可以如何调整工作负荷到核心的绑定的非限制性示例。
在本公开的另一方面,结果可能是核心与工作项目之间的绑定没有改变、工作项目的按比例放大或工作项目的按比例缩小的决定过程可以进一步将应用类型考虑在内,以确定工作项目可按比例缩放到的资源。例如,假设在图2中存在几种不同类型的核心,并且核心2和核心3是类型1,而核心4和核心5是类型2。在一些情况下,生成流向相应核心的分组的应用将具有对特定资源类型(例如,特定核心类型)的亲和性。在这种场景下,调度器204可以包括关于应用类型的信息,使得调度决定204不仅涉及按比例放大214或按比例缩小216决定,而且还基于应用对特定资源类型的亲和性的可能性将与该应用相关联的工作项目分配给特定核心,以提高效率或将应用类型与资源类型进行匹配。通过将应用类型与资源进行匹配,系统可以提高性能并且避免工作项目与资源(例如,核心)之间的不匹配。当核心都是类似类型时,应用类型也可以影响核心到工作项目的绑定之间的动态调整。在一些情况下,应用类型可能简单地需要或可以被预测为需要更多资源,并且因此附加核心(或任何其他计算资源)可以基于该应用类型被绑定到工作项目。
一方面,调度器204可以被认为在用户平面、容器或虚拟机内为独立的。这可以意味着调度器204不需要与外部系统(例如,北向编排系统)进行通信以用于工作项目与核心的重新分配。另一方面,调度器204可以在其重新分配决定中并入来自北向编排系统的数据。此外,另一方面,用户平面、容器或虚拟机可用的核心的数量可以基于对关键性能指示符和配置阈值的分析而扩展以包括附加资源。
图3示出了方法实施例。一种方法包括根据配置文件中的至少一个关键性能指示符来周期性地观察用户平面中的分组以产生观察结果,其中观察结果表示对用户平面内的资源的闭环需求(302)。用户平面可以是5G用户平面设备、虚拟机或容器。该方法包括经由用户平面中的调度器并且基于该观察结果来调整核心到工作项目的绑定(304)。存在至少一个关键性能指示符,该关键性能指示符可以包括以下各项中的一项或多项:CPU利用率、等待时间和分组丢弃。关键性能指示符可以是表示资源的性能或者潜在的或预测的资源使用特性的任何其他数据,例如与存储器利用率、工作负荷特性、与等待时间、CPU利用率、存储器利用率等中的一个或多个相关联的预测或预期性能有关的数据。工作负荷分配可以包括作为对用户平面内的分组队列进行操作的单独可调度的功能的工作项目。
对指示符进行周期性地监视还可以是静态的、可变的或基于某一事件触发的。例如,如果要调度大量工作负荷以使用计算环境,则可以增加对指示符进行监视的频率,并且因此增加准确性,以作出按比例放大或按比例缩小的决定。观察到数据点中的一个的尖峰也可以触发工作项目的缩放。此外,系统可以在任何给定资源或资源组的预期节流之前调度监视频率或观察级别。
一方面,调整工作负荷分配包括以下各项中的一项或多项:按比例放大工作项目,使得附加核心被绑定到工作项目;或者按比例缩小工作项目,使得核心不绑定到工作项目。在这种场景下,一组工作项目可以被按比例放大,而另一组工作项目可以被按比例缩小。调整工作负荷分配可以包括调整在用户平面内将多少个核心分配给相应工作项目。调整也可以发生在调度数量的观察结果处,其在定时方面可以是静态的或动态的。在引用核心的同时,该调整还可以涉及任何其他类型的计算资源,例如存储器、带宽等。
观察结果还可以包括应用类型,其中,至少部分地基于应用类型来执行对核心到工作项目的绑定的调整。在这方面,对核心的绑定的调整可以涉及在用户平面内将与特定应用类型相关联的工作项目分配给特定核心或资源。配置文件可以包括以下各项中的一项或多项:与CPU利用率相关联的第一阈值、与等待时间相关联的第二阈值、与分组丢弃和应用类型相关联的第三阈值。配置文件中的任何单独数据类型的阈值可以是静态设置的,或者可以是基于来自用户平面和/或来自用户平面外部的反馈信息而动态设置的。管理员还可以为任何数据类型设置阈值。
图4示出了另一方法实施例。公开了一种用于在用户平面内提供核心到工作项目的动态绑定的方法,并且该方法包括在用户平面内为第一工作项目分配第一数量的核心(402),在用户平面内向第二工作项目分配第二数量的核心(404),并且根据配置文件中的至少一个关键性能指示符来周期性地观察用户平面中的分组以产生观察结果,其中,该观察结果表示对用户平面内的资源的闭环需求(406)。另一方面,该观察结果不仅可以包括如上所述的对性能指示符的分析,而且还可以包括对应用类型或工作负荷特性的分析或评估。在这种场景下,请注意,某些工作负荷或应用类型可能具有亲和性,或者针对将用于运行应用的特定类型的操作系统、硬件、虚拟机或其他计算资源而被编程。该方法还包括:经由用户平面中的调度器并且基于该观察结果,通过在用户平面内将第三数量的核心分配给第一工作项目并且在用户平面内将第四数量的核心分配给第二工作项目来调整核心到工作项目的绑定(408)。
在扩展的场景中,调整所基于的观察结果不仅包括有关关键指示符的数据,还包括有关应用类型或工作负荷特性的数据。因此,由调度器执行的调整可以考虑指示符和/或应用类型/工作负荷特性,并且相应地向工作项目分配核心。在某些情况下,核心特性可能与某些应用类型或工作负荷特性相匹配,而不与其他应用类型或工作负荷特性相匹配。同样,一方面,应用或工作负荷可以提前向调度器广播其亲和性,并且可以发生对调度器算法的调整,以进一步完善和改善向工作项目分配核心。此外,应用或工作负荷可以将与工作负荷或应用相关联的各个工作项目的特性(例如,与网络密集型、数据库密集型或CPU密集型工作项目相关联的数据)传输到调度器。然后,该数据可以被用于调整分配算法,以再次进一步优化分配过程。
第一工作项目和第二工作项目均可以包括对分组队列进行操作的可单独调度的功能。观察结果还可以包括应用类型,其中至少部分地基于应用类型来选择第三数量的核心中的核心和第四数量的核心中的核心。用户平面中的调度器可以独立运行,或者至少部分与北向编排系统协同运行。
在一些实施例中,计算机可读存储设备、介质和/或存储器可以包括包含比特流等的电缆或无线信号。然而,当提及时,非暂态计算机可读存储介质明确地排除诸如能量、载波信号、电磁波和信号本身之类的介质。
可以使用存储在计算机可读介质中或以其他方式从计算机可读介质中可用的计算机可执行指令来实现根据上述示例的方法。这样的指令可以包括例如导致或以其他方式配置通用计算机、专用计算机或专用处理设备以执行特定功能或功能组的指令和数据。所使用的计算机资源的一部分可以通过网络访问。计算机可执行指令可以是例如二进制、中间格式指令,例如汇编语言、固件或源代码。可以用来存储指令、所使用的信息和/或在根据所描述的示例的方法期间创建的信息的计算机可读介质的示例包括磁盘或光盘、闪存、提供有非易失性存储器的USB设备、网络存储设备等等。
实现根据这些公开的方法的设备可以包括硬件、固件和/或软件,并且可以采用多种形状因子中的任意一种。这样的形状因子的典型示例包括膝上型计算机、智能电话、小型形状因子的个人计算机、个人数字助理、机架安装设备、独立设备等等。本文描述的功能也可以被体现在外围装置或附加卡中。通过进一步示例的方式,这样的功能也可以在不同芯片中的电路板上或在单个设备中执行的不同进程上实现。
指令、用于传达这样的指令的介质、用于执行它们的计算资源以及用于支持这样的计算资源的其他结构是用于提供这些公开中描述的功能的装置。
尽管使用各种示例和其他信息来解释所附权利要求的范围内的各个方面,但是基于这样的示例中的特定特征或布置,不应当暗示对权利要求的限制,因为本领域的普通技术人员将能够使用这些示例来推导各种各样的实现方式。此外,尽管可能已经以特定于结构特征和/或方法步骤的示例的语言描述了一些主题,但是应当理解,所附权利要求中限定的主题不必限于这些所描述的特征或动作。例如,这样的功能可以不同地分布或在除了本文所标识的那些组件之外的组件中执行。而是,所描述的特征和步骤被公开为在所附权利要求的范围内的系统和方法的组件的示例。此外,引用一组中的“至少一个”的权利要求语言表示该组中的一个成员或该组中的多个成员满足权利要求。
应当理解,本文中参考一个实施例或示例的特征或配置可以在本文中的其他实施例或示例中实现或者与其他实施例或示例组合。即,例如“实施例”、“变型”、“方面”、“示例”、“配置”、“实现方式”、“情况”之类的术语,以及可以暗示实施例的任何其他术语(如本文中用来描述特定特征或配置的术语)并不旨在将任何相关联的特征或配置限制于一个或多个特定的实施例或分离的实施例,并且不应当解释为暗示这样的特征或配置不能与参考其他实施例、变型、方面、示例、配置、实现方式、情况等描述的特征或配置进行组合。换句话说,本文中参考特定示例(例如,实施例、变型、方面、配置、实现方式、情况等)描述的特征可以与参考另一示例描述的特征进行组合。准确地说,本领域普通技术人员将容易认识到,本文描述的各种实施例或示例以及它们的相关特征可以彼此组合。
诸如“方面”之类的短语并不意味着该方面对于本主题技术是必不可少的,也不意味着该方面适用于本主题技术的所有配置。与一个方面有关的公开可以应用于所有配置、或者一个或多个配置。诸如方面之类的短语可以指代一个或多个方面,反之亦然。诸如“配置”之类的短语并不意味着该配置对于本主题技术是必不可少的,也不意味着该配置适用于本主题技术的所有配置。与配置有关的公开可以适用于所有配置或者一个或多个配置。诸如配置之类的短语可以指代一个或多个配置,反之亦然。词语“示例性”在本文中用来表示“用作示例或说明”。本文中被描述为“示例性”的任何方面或设计不必被解释为比其他方面或设计优选或者有利。
此外,引用一组中的“至少一个”的权利要求语言表示该组中的一个成员或该组中的多个成员满足权利要求。例如,引用“A、B和C中的至少一个”或“A、B或C中的至少一个”的权利要求语言是指单独的A;单独的B;单独的C;A和B一起;A和C一起;B和C一起;或者A、B和C一起。
Claims (23)
1.一种方法,包括:
根据配置文件中的至少一个关键性能指示符来周期性地观察用户平面中的分组以产生观察结果,其中,所述观察结果表示对所述用户平面内的资源的闭环需求;以及
经由所述用户平面中的调度器并且基于所述观察结果来调整核心到工作项目的绑定。
2.根据权利要求1所述的方法,其中,所述用户平面包括虚拟机和容器中的一个。
3.根据前述权利要求中任一项所述的方法,其中,所述至少一个关键性能指示符包括以下各项中的一项:中央处理单元(CPU)利用率、等待时间和分组丢弃。
4.根据前述权利要求中任一项所述的方法,其中,工作负荷分配包括工作项目,所述工作项目是对所述用户平面内的分组队列进行操作的单独可调度的功能。
5.根据前述权利要求中任一项所述的方法,其中,调整工作负荷分配包括以下各项中的一项:
按比例放大工作项目,使得附加核心被绑定到所述工作项目;或者
按比例缩小所述工作项目,使得核心不绑定到所述工作项目。
6.根据前述权利要求中任一项所述的方法,其中,调整工作负荷分配包括:调整在所述用户平面内将多少个核心分配给相应工作项目。
7.根据前述权利要求中任一项所述的方法,其中,所述调整发生在调度数量的观察结果处。
8.根据前述权利要求中任一项所述的方法,其中,所述观察结果还包括应用类型,其中,至少部分地基于所述应用类型来执行对所述核心到工作项目的绑定的调整。
9.根据前述权利要求中任一项所述的方法,其中,所述配置文件包括以下各项中的一项或多项:与中央处理单元(CPU)利用率相关联的第一阈值、与等待时间相关联的第二阈值、与分组丢弃和应用类型相关联的第三阈值。
10.一种在用户平面内提供核心到工作项目的动态绑定的方法,所述方法包括:
在所述用户平面内向第一工作项目分配第一数量的核心;
在所述用户平面内向第二工作项目分配第二数量的核心;
根据配置文件中的至少一个关键性能指示符来周期性地观察所述用户平面中的分组以产生观察结果,其中,所述观察结果表示对所述用户平面内的资源的闭环需求;以及
经由所述用户平面中的调度器并且基于所述观察结果,通过以下操作来调整核心到工作项目的绑定:在所述用户平面内向所述第一工作项目分配第三数量的核心,并且在所述用户平面内向所述第二工作项目分配第四数量的核心。
11.根据权利要求9所述的方法,其中,所述第一工作项目和所述第二工作项目均包括对分组队列进行操作的单独可调度的功能。
12.根据权利要求9至10中任一项所述的方法,其中,所述观察结果还包括应用类型,其中,至少部分地基于所述应用类型来选择所述第三数量的核心中的核心和所述第四数量的核心中的核心。
13.根据权利要求9至11中任一项所述的方法,其中,所述用户平面中的所述调度器独立于北向编排系统进行操作。
14.一种装置,包括:
处理器;以及
计算机可读存储设备,所述计算机可读存储设备存储指令,所述指令在由所述处理器执行时,使得所述处理器执行以下操作:
根据配置文件中的至少一个关键性能指示符来周期性地观察用户平面中的分组以产生观察结果,其中,所述观察结果表示对所述用户平面内的资源的闭环需求;以及
经由所述用户平面中的调度器并且基于所述观察结果来调整核心到工作项目的绑定。
15.根据权利要求13所述的装置,其中,所述用户平面包括虚拟机和容器中的一个。
16.根据权利要求13至14中任一项所述的装置,其中,所述至少一个关键性能指示符包括以下各项中的一项:中央处理单元(CPU)利用率、等待时间和分组丢弃。
17.根据权利要求13至15中任一项所述的装置,其中,工作负荷分配包括工作项目,所述工作项目是对所述用户平面内的分组队列进行操作的单独可调度的功能。
18.根据权利要求13至16中任一项所述的装置,其中,调整工作负荷分配包括以下各项中的一项:
按比例放大工作项目,使得附加核心被绑定到所述工作项目;或者
按比例缩小所述工作项目,使得核心不绑定到所述工作项目。
19.根据权利要求13至17中任一项所述的装置,其中,调整工作负荷分配包括:调整在所述用户平面内将多少个核心分配给相应工作项目。
20.根据权利要求13至18中任一项所述的装置,其中,所述调整发生在调度数量的观察结果处。
21.根据权利要求13至19中任一项所述的装置,其中,所述观察结果还包括应用类型,其中,至少部分地基于所述应用类型来执行对所述核心到工作项目的绑定的调整。
22.一种装置,包括:
处理器;以及
计算机可读存储设备,所述计算机可读存储设备存储指令,所述指令在由所述处理器执行时,使得所述处理器执行根据权利要求9至12中任一项所述的方法。
23.一种计算机可读介质,所述计算机可读介质包括指令,所述指令在由处理器执行时,使得所述处理器执行根据权利要求1至12中任一项所述的方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/786,657 US20190114206A1 (en) | 2017-10-18 | 2017-10-18 | System and method for providing a performance based packet scheduler |
US15/786,657 | 2017-10-18 | ||
PCT/US2018/056435 WO2019079545A1 (en) | 2017-10-18 | 2018-10-18 | APPARATUS AND METHOD FOR PACKET ORDER PROVIDING BASED ON PERFORMANCE |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111247515A true CN111247515A (zh) | 2020-06-05 |
Family
ID=64184222
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880068118.4A Pending CN111247515A (zh) | 2017-10-18 | 2018-10-18 | 用于提供基于性能的分组调度器的装置和方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20190114206A1 (zh) |
EP (1) | EP3698247A1 (zh) |
KR (1) | KR20200076700A (zh) |
CN (1) | CN111247515A (zh) |
CA (1) | CA3079572A1 (zh) |
WO (1) | WO2019079545A1 (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11095617B2 (en) | 2017-12-04 | 2021-08-17 | Nicira, Inc. | Scaling gateway to gateway traffic using flow hash |
US11075888B2 (en) | 2017-12-04 | 2021-07-27 | Nicira, Inc. | Scaling gateway to gateway traffic using flow hash |
US11347561B1 (en) * | 2018-04-30 | 2022-05-31 | Vmware, Inc. | Core to resource mapping and resource to core mapping |
US11431565B2 (en) * | 2018-10-15 | 2022-08-30 | Intel Corporation | Dynamic traffic-aware interface queue switching among processor cores |
US11277343B2 (en) | 2019-07-17 | 2022-03-15 | Vmware, Inc. | Using VTI teaming to achieve load balance and redundancy |
US11513842B2 (en) * | 2019-10-03 | 2022-11-29 | International Business Machines Corporation | Performance biased resource scheduling based on runtime performance |
US11509638B2 (en) | 2019-12-16 | 2022-11-22 | Vmware, Inc. | Receive-side processing for encapsulated encrypted packets |
TWI756974B (zh) | 2020-12-09 | 2022-03-01 | 財團法人工業技術研究院 | 機器學習系統及其資源配置方法 |
US20240134706A1 (en) * | 2021-02-18 | 2024-04-25 | Telefonaktiebolaget Lm Ericsson (Publ) | A non-intrusive method for resource and energy efficient user plane implementations |
US11863514B2 (en) | 2022-01-14 | 2024-01-02 | Vmware, Inc. | Performance improvement of IPsec traffic using SA-groups and mixed-mode SAs |
US11956213B2 (en) | 2022-05-18 | 2024-04-09 | VMware LLC | Using firewall policies to map data messages to secure tunnels |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080271030A1 (en) * | 2007-04-30 | 2008-10-30 | Dan Herington | Kernel-Based Workload Management |
US20120093047A1 (en) * | 2010-10-14 | 2012-04-19 | Alcatel-Lucent USA Inc. via the Electronic Patent Assignment System (EPAS) | Core abstraction layer for telecommunication network applications |
CN104536822A (zh) * | 2014-12-31 | 2015-04-22 | 中科创达软件股份有限公司 | 一种进程调度优化方法、进程执行方法及相关装置 |
US20160080484A1 (en) * | 2014-09-11 | 2016-03-17 | Amazon Technologies, Inc. | Dynamic virtual resource request rate control for utilizing physical resources |
WO2016155835A1 (en) * | 2015-04-02 | 2016-10-06 | Telefonaktiebolaget Lm Ericsson (Publ) | Technique for scaling an application having a set of virtual machines |
CN106155794A (zh) * | 2016-07-21 | 2016-11-23 | 浙江大华技术股份有限公司 | 一种应用于多线程系统中的事件分配方法及装置 |
CN107122233A (zh) * | 2017-03-27 | 2017-09-01 | 西安电子科技大学 | 一种面向tsn业务的多vcpu自适应实时调度方法 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010138658A1 (en) * | 2009-05-29 | 2010-12-02 | Perceptive Software, Inc. | Workflow management system and method |
US8774023B2 (en) * | 2010-09-22 | 2014-07-08 | At&T Intellectual Property I, Lp | Method and system for detecting changes in network performance |
US8789065B2 (en) * | 2012-06-08 | 2014-07-22 | Throughputer, Inc. | System and method for input data load adaptive parallel processing |
SE537197C2 (sv) * | 2012-10-05 | 2015-03-03 | Elastisys Ab | Metod, nod och datorprogram för möjliggörande av automatiskanpassning av resursenheter |
US9367357B2 (en) * | 2013-01-18 | 2016-06-14 | Nec Corporation | Simultaneous scheduling of processes and offloading computation on many-core coprocessors |
US10534542B2 (en) * | 2014-09-30 | 2020-01-14 | Hewlett Packard Enterprise Development Lp | Dynamic core allocation for consistent performance in a non-preemptive scheduling environment |
US9999057B2 (en) * | 2016-09-01 | 2018-06-12 | Hon Hai Precision Industry Co., Ltd. | Resource allocation method of a wireless communication system and mechanism thereof |
WO2018042002A1 (en) * | 2016-09-02 | 2018-03-08 | Telefonaktiebolaget Lm Ericsson (Publ) | Systems and methods of managing computational resources |
-
2017
- 2017-10-18 US US15/786,657 patent/US20190114206A1/en not_active Abandoned
-
2018
- 2018-10-18 CN CN201880068118.4A patent/CN111247515A/zh active Pending
- 2018-10-18 EP EP18799951.1A patent/EP3698247A1/en active Pending
- 2018-10-18 CA CA3079572A patent/CA3079572A1/en active Pending
- 2018-10-18 KR KR1020207013886A patent/KR20200076700A/ko not_active Application Discontinuation
- 2018-10-18 WO PCT/US2018/056435 patent/WO2019079545A1/en unknown
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080271030A1 (en) * | 2007-04-30 | 2008-10-30 | Dan Herington | Kernel-Based Workload Management |
US20120093047A1 (en) * | 2010-10-14 | 2012-04-19 | Alcatel-Lucent USA Inc. via the Electronic Patent Assignment System (EPAS) | Core abstraction layer for telecommunication network applications |
US20160080484A1 (en) * | 2014-09-11 | 2016-03-17 | Amazon Technologies, Inc. | Dynamic virtual resource request rate control for utilizing physical resources |
CN104536822A (zh) * | 2014-12-31 | 2015-04-22 | 中科创达软件股份有限公司 | 一种进程调度优化方法、进程执行方法及相关装置 |
WO2016155835A1 (en) * | 2015-04-02 | 2016-10-06 | Telefonaktiebolaget Lm Ericsson (Publ) | Technique for scaling an application having a set of virtual machines |
CN106155794A (zh) * | 2016-07-21 | 2016-11-23 | 浙江大华技术股份有限公司 | 一种应用于多线程系统中的事件分配方法及装置 |
CN107122233A (zh) * | 2017-03-27 | 2017-09-01 | 西安电子科技大学 | 一种面向tsn业务的多vcpu自适应实时调度方法 |
Non-Patent Citations (2)
Title |
---|
VAGGELIS ANTYPAS: "Dynamic reduce task adjustment for hadoop workloads" * |
何文婷;崔慧敏;冯晓兵;: "HDAS:异构集群上Hadoop+框架中的动态亲和性调度" * |
Also Published As
Publication number | Publication date |
---|---|
US20190114206A1 (en) | 2019-04-18 |
WO2019079545A1 (en) | 2019-04-25 |
CA3079572A1 (en) | 2019-04-25 |
KR20200076700A (ko) | 2020-06-29 |
EP3698247A1 (en) | 2020-08-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111247515A (zh) | 用于提供基于性能的分组调度器的装置和方法 | |
US10412021B2 (en) | Optimizing placement of virtual machines | |
US9841998B2 (en) | Processor power optimization with response time assurance | |
CN111406250B (zh) | 无服务器计算环境中的使用经预取的数据的配设 | |
US9342376B2 (en) | Method, system, and device for dynamic energy efficient job scheduling in a cloud computing environment | |
US10382267B2 (en) | Managing servers with quality of service assurances | |
CN109565476B (zh) | 使用共享全局存储器储备进行队列保护 | |
US11436050B2 (en) | Method, apparatus and computer program product for resource scheduling | |
CN109726005B (zh) | 用于管理资源的方法、服务器系统和计算机可读介质 | |
WO2017010922A1 (en) | Allocation of cloud computing resources | |
CN102473106A (zh) | 虚拟环境中的资源分配 | |
US9471387B2 (en) | Scheduling in job execution | |
US10218566B2 (en) | Proactive input method engine management for edge services based on crowdsourcing data | |
KR102052964B1 (ko) | 컴퓨팅 스케줄링 방법 및 시스템 | |
Seth et al. | Dynamic threshold-based dynamic resource allocation using multiple VM migration for cloud computing systems | |
CN112527509A (zh) | 一种资源分配方法、装置、电子设备及存储介质 | |
JP2015228075A (ja) | 計算機資源割当装置及び計算機資源割当プログラム | |
Gu et al. | Elastic model aggregation with parameter service | |
KR20150108167A (ko) | 부하 분산 장치 및 그 방법 | |
WO2024041401A1 (zh) | 用于处理任务的方法、装置、设备和存储介质 | |
US20240160492A1 (en) | System and method for radio access network baseband workload pool resizing | |
US20230333911A1 (en) | Resource scheduling of multiple application types in a heterogeneous endpoint device | |
CN117311910B (zh) | 一种高性能虚拟密码机运行方法 | |
Sharmaa et al. | A Scheduling Strategy for Cloud Computing with Improved Processing Time | |
Alshahrani et al. | Resources Management and Performance Analysis in Datacenter Networks |
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 | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20200605 |
|
WD01 | Invention patent application deemed withdrawn after publication |