CN115244509A - 针对虚拟网络功能的计算资源分配 - Google Patents

针对虚拟网络功能的计算资源分配 Download PDF

Info

Publication number
CN115244509A
CN115244509A CN202180018651.1A CN202180018651A CN115244509A CN 115244509 A CN115244509 A CN 115244509A CN 202180018651 A CN202180018651 A CN 202180018651A CN 115244509 A CN115244509 A CN 115244509A
Authority
CN
China
Prior art keywords
virtual machine
processor
vnf
capacity
implement
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
Application number
CN202180018651.1A
Other languages
English (en)
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.)
Cisco Technology Inc
Original Assignee
Cisco Technology Inc
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 Cisco Technology Inc filed Critical Cisco Technology Inc
Publication of CN115244509A publication Critical patent/CN115244509A/zh
Pending legal-status Critical Current

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
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45562Creating, deleting, cloning virtual machine instances
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances

Abstract

虚拟机管理服务获得实例化虚拟机映像(VMI)以实现虚拟网络功能(VNF)的请求。该请求指定对应于VMI的实例化的一组处理器要求。响应于该请求,该服务从包括一组处理器核心的服务器识别可用处理器容量。该服务基于可用处理器容量和该一组处理器要求,确定是否将VMI实例化到服务器的处理器核心的子集上。基于该确定,该服务将VMI实例化到处理器核心的子集上,以实现VNF。

Description

针对虚拟网络功能的计算资源分配
相关申请的交叉引用
本申请要求于2020年3月5日提交的第16/809,959号美国非临时专利申请的权益和优先权,其全部公开内容通过引用明确并入本文。
技术领域
本公开总体上涉及计算机联网领域,具体地,涉及针对虚拟网络功能的资源供应和分配。
背景技术
随着网络功能虚拟化(Network Function Virtualization,NFV)技术的普及,许多以前由硬件设备执行的网络功能(例如,交换和防火墙功能)现在通常由虚拟应用设备(例如,虚拟网络功能(Virtual Network Function,VNF))实现。这些VNF常常以不同的中央处理单元(CPU)负载要求实现。例如,在超线程环境中,不在同一个物理CPU核心上执行VNF的控制平面和数据平面的锁定。但是,如果来自两个不同VNF的数据平面(例如,数据平面虚拟CPU(Virtual CPU,vCPU))被锁定到同一个物理CPU核心,则这些VNF的性能可能无法预测,这可能会导致性能下降和其他问题。因此,可能难以以在降低维护可用物理CPU核心的成本的同时确保VNF的性能水平的有效方式实现物理CPU核心的分配以支持这些VNF。
附图说明
为了提供对本公开及其特征和优点的更完整的理解,结合附图参考以下描述,在附图中:
图1示出了根据各种实施方式的环境的说明性示例,在该环境中,虚拟机管理服务基于虚拟机映像(VMI)简档和服务器的CPU容量将VMI实例化到服务器的一个或多个处理器核心上;
图2示出了根据各种实施方式的环境的说明性示例,在该环境中,基于VNF的要求,VNF被分配来自插槽的处理器核心不同CPU;
图3示出了根据各种实施方式的环境的说明性示例,在该环境中,虚拟机管理服务基于服务器的可用CPU容量和一组处理器要求来分配服务器的CPU容量以用于VMI的实例化;
图4示出了根据一些实施方式的环境的说明性示例,在该环境中,VMI实例化系统为VMI(该VMI需要低延迟性能)和一组vCPU分配一组处理器核心;
图5示出了根据一些实施方式的环境的说明性示例,在该环境中,VMI实例化系统为VMI(该VMI需要低延迟性能)和单个vCPU分配处理器核心;
图6示出了根据一些实施方式的环境的说明性示例,在该环境中,VMI实例化系统为VMI(该VMI需要非低延迟性能)和一组vCPU分配可共享的CPU;
图7示出了根据一些实施方式的过程的说明性示例,该过程用于使用受制于一组CPU锁定要求的一组处理器核心的可用处理器容量来实例化虚拟机映像;
图8示出了根据一些实施方式的适用于执行交换、路由和其他联网操作的示例网络设备;以及
图9示出了根据一些实施方式的包括使用连接件彼此进行电通信的各种组件的计算系统架构。
具体实施方式
下面详细讨论本公开的各种实施例。尽管讨论了具体实施方式,但是应该理解,仅是出于说明的目的而这样做。相关领域的技术人员将认识到,在不脱离本公开的精神和范围的情况下,可以使用其他组件和配置。因此,以下描述和附图是说明性的,并且不应被解释为限制性的。描述了许多具体细节以提供对本公开的透彻理解。然而,在某些情况下,为了避免使描述模糊,没有描述众所周知的或常规的细节。本公开中对一个实施例或一实施例的引用可以是对同一实施例或任何实施例的引用;并且,这样的引用表示实施例中的至少一个。
对“一个实施例”或“一实施例”的引用意味着结合该实施例描述的特定特征、结构或特性被包括在本公开的至少一个实施例中。短语“在一个实施例中”在说明书中各个地方的出现不一定全部指的是同一实施例,也不是与其他实施例互斥的单独或替代的实施例。此外,描述了可以由一些实施例而不是其他实施例展现的各种特征。
在本公开的上下文中以及在使用每个术语的特定上下文中,在本说明书中使用的术语通常具有其在本领域中的普通含义。替代语言和同义词可以用于本文所讨论的术语中的任何一个或多个,并且不应对于术语是否在本文中得到阐述或讨论给予特殊意义。在某些情况下,提供某些术语的同义词。一个或多个同义词的陈述不排除使用其他同义词。包括本文所讨论的任何术语的示例在内的本说明书中任何地方的示例的使用仅是说明性的,并不旨在进一步限制本公开或任何示例术语的范围和含义。同样,本公开不限于在本说明书中给出的各种实施例。
在不限制本公开范围的情况下,下面给出根据本公开实施例的仪器、装置、方法及其相关结果的示例。注意,为了方便读者,示例中可以使用标题或副标题,这绝不应限制本公开的范围。除非另有定义,本文使用的技术和科学术语具有本公开内容所属领域的普通技术人员通常理解的含义。在发生冲突的情况下,以当前文件(包括定义)为准。
本公开的附加特征和优点将在下面的描述中得到阐述,并且部分地将从说明书中明显看出,或者可以通过实践本文所公开的原理来获悉。本公开的特征和优点可以通过在所附权利要求中特别指出的工具和组合来实现和获得。根据以下描述和所附权利要求,本公开的这些和其他特征将变得更完全显而易见,或者可以通过实践本文阐述的原理来获悉。
概览
在独立权利要求中陈述了本发明的各方面,并且在从属权利要求中陈述了优选特征。一方面的特征可以单独应用于任何方面或与其他方面结合应用于任何方面。
本文公开了用于基于VNF和其他虚拟机的要求分配与这些VNF和其他虚拟机一起使用的处理器核心和对应的CPU的系统、方法和计算机可读存储介质。
在示例中,由虚拟机管理服务执行的计算机实现的方法包括获得实例化虚拟机映像以实现一组VNF的请求。该请求指定对应于虚拟机映像的实例化的一组要求。该计算机实现的方法还包括从包括一组处理器核心的服务器识别可用处理器容量,该服务器被配置为实现受制于虚拟机的其他处理器要求的虚拟机;基于可用处理器容量和一个或多个处理器要求,确定是否将虚拟机映像实例化到服务器的处理器核心的子集上以产生确定;以及基于该确定,将虚拟机映像实例化到处理器核心的子集上,以实现一组VNF。
在一个示例中,一组处理器要求指定处理器核心的分配,该处理器核心经由虚拟机映像的实例化提供VNF的低延迟吞吐量。因此,该计算机实现的方法还包括从可用处理器容量中识别满足该一组处理器要求的至少一个处理器核心,使得处理器核心被保留给VNF。在另一个示例中,一组要求为数据平面vCPU指定第一处理器核心的分配,并且为控制平面vCPU指定第二处理器核心的分配。使用该一组要求,该计算机实现的方法还包括从可用处理器容量中识别满足这些要求的至少两个处理器核心,其中,第一处理器核心被选择用于控制平面vCPU,并且第二处理器核心被选择用于数据平面vCPU。
在一个示例中,一组处理器要求为一组虚拟处理器指定任何可用处理器的分配。使用该一组处理器要求,计算机实现的方法还包括从可用处理器容量中选择来自处理器核心的子集的一组可用处理器来实现VNF。在一些示例中,选择一组可用处理器包括将数据平面vCPU分配给一组可用处理器的不同处理器。
在另一个示例中,计算机实现的方法还包括获得终止在处理器核心的子集上运行的虚拟机的第二请求。响应于第二请求终止虚拟机。该计算机实现的方法还包括为虚拟机保留处理器核心的子集的容量。
在一个示例中,系统包括:一个或多个处理器以及存储器,该存储器包括指令,这些指令作为被一个或多个处理器执行的结果,使系统接收实例化虚拟机映像以实现一组VNF的请求。该请求指定对应于虚拟机映像的实例化的一组处理器要求。这些指令还使系统执行以下操作:识别服务器的可用处理器容量,该服务器被配置为实现受制于虚拟机的其他处理器要求的虚拟机;以及基于可用处理器容量和一组处理器要求,确定是否将虚拟机映像实例化到服务器的一组处理器核心上以产生确定。这些指令还使系统基于该确定,将虚拟机映像实例化到一组处理器核心上,以实现一组VNF。
在一个示例中,非暂时性计算机可读存储介质在其上存储可执行指令,这些可执行指令作为被计算机系统的一个或多个处理器执行的结果,使计算机系统执行以下操作:接收实例化虚拟机映像以实现一组VNF的请求。该请求指定对应于虚拟机映像的实例化的一组处理器要求。这些可执行指令还使计算机系统执行以下操作:识别服务器的可用处理器容量,该服务器被配置为实现受制于虚拟机的其他处理器要求的虚拟机;以及基于可用处理器容量和一组处理器要求确定是否将虚拟机映像实例化到服务器的一组处理器核心上以产生确定。这些可执行指令还使计算机系统基于该确定,将虚拟机映像实例化到一组处理器核心上,以实现一组VNF。
示例性实施例
本文公开了用于跨飞地服务器(enclave server)、实体和虚拟网络设备和在飞地域(enclave domain)内运行的应用为网络飞地(network enclave)提供实时远程认证的系统、方法和计算机可读存储介质。将在以下公开中更详细地描述本技术。讨论开始于对用于针对各种网络获得和提供认证信息的示例系统、过程和环境的详细描述,并且接下来描述了在特定网络飞地内的计算组件(如图1至图7所示)。讨论以对示例网络和计算设备的描述结束(如图8和图9所示)。
图1示出了根据各种实施方式的环境100的说明性示例,在环境100中,虚拟机管理服务102基于虚拟机映像(VMI)简档和服务器108的CPU容量将VMI 106实例化到服务器108的一个或多个处理器核心上。在环境100中,用户经由客户端设备104向虚拟机管理服务102发送请求以将VMI 106实例化到服务器108上,以便实现一组VNF或其他虚拟机。例如,用户可能希望在服务器108上实现VNF(例如,在虚拟机上而不是在物理专用硬件上实现网络功能)以便代表用户处理特定网络功能。VNF的下层资源可以是可扩展的,使得可以基于VNF的资源需求分配额外的资源来为VNF提供必要的功能。应当注意,尽管出于说明的目的在整个本公开中广泛使用VNF,但除了VNF之外的或作为VNF的替代物的其他虚拟机可以在服务器108上实现。例如,服务器108可以用于实现VNF和应用虚拟机的组合。
在一个示例中,服务器108由虚拟机管理服务102提供,以提供网络功能虚拟化基础设施(Network Functions Virtualization Infrastructure,NFVI)的基础。NFVI可以包括硬件和软件组件,这些硬件和软件组件共同地提供用于实现VNF和其他虚拟机的功能。例如,服务器108可以包括一个或多个CPU插槽110,该一个或多个CPU插槽110经由一组引脚提供CPU芯片和服务器108的主板之间的物理连接。虽然图1中所示的服务器108被表示为具有单个CPU插槽110,但是服务器108可以配置有多个CPU插槽,其中每个CPU插槽可以被配置为实现一个CPU芯片。
在一些示例中,CPU芯片包括一组处理器核心112-1至112-N。CPU芯片可以是经由CPU插槽110安装在服务器108上的集成电路。通过实现该一组处理器核心112-1至112-N,CPU芯片可以提供超线程以便提供并行计算能力。例如,被配置为提供超线程的处理器核心对于服务器108的操作系统可以表现为两个或更多个逻辑CPU。然而,实际的CPU芯片为每个处理器核心112-1至112-N维护单组执行资源。因此,两个或更多个逻辑CPU可以共享它们各自的处理器核心112-1至112-N的物理执行资源。
虽然实现超线程的处理器核心对于服务器108的操作系统可以表现为两个或更多个逻辑CPU,但是在同一处理器核心或同一CPU线程上实现不同VNF的数据平面vCPU可能导致每个数据平面vCPU的性能出现问题。例如,如果在同一处理器核心112-1至112-N上实现来自不同VNF的两个或更多个数据平面vCPU,则这些不同的VNF可能会经历不可预测的性能,因为这两个或更多个数据平面vCPU可能各自为处理器核心的可用资源而竞争。这可能会导致延迟增加,并且在某些情况下会导致VNF故障。
为了减轻将不同VNF和其他虚拟机的数据平面vCPU实施到同一处理器核心或CPU线程上的风险,虚拟机管理服务102可以实施一组规则,在默认情况下,这些规则将导致为VNF分配不同处理器核心。例如,响应于将VMI 106实例化到服务器108上以实现VNF或其他虚拟机的请求,虚拟机管理服务102可以识别插槽110内的当前CPU分配,以实现其他VNF和其他虚拟机。虚拟机管理服务102可以评估服务器108的服务器数据库,以识别哪些处理器核心112-1至112-N正被用于其他VNF或虚拟机。在一些情况下,虚拟机管理服务102可以识别哪些处理器核心112-1至112-N正被用于为这些其他VNF或虚拟机实现数据平面vCPU。
基于用于其他VNF和虚拟机的处理器核心112-1至112-N的分配,虚拟机管理服务102可以识别插槽110的可用处理器容量。如上所述,处理器核心可以用超线程来实现,使得处理器核心对于服务器108的操作系统可以表现为两个或更多个逻辑CPU。虽然数据平面vCPU可以使用处理器核心的单个逻辑CPU来实现,但处理器核心的其他逻辑CPU可能无法用于实现其他VNF和虚拟机的其他数据平面vCPU,以避免这些VNF和虚拟机之间不可预测的行为。因此,在对可用处理器容量的识别中,虚拟机管理服务102可以确定这些其他逻辑CPU不可用于使用,而不管这些其他逻辑CPU是否具有足够的容量来为VNF或其他虚拟机实现额外的vCPU。
在一个示例中,基于插槽110内的可用处理器容量和用于其他VNF和虚拟机的处理器容量的当前分配,虚拟机管理服务102识别一个或多个处理器核心,该一个或多个处理器核心可以被分配用于实例化VMI 106,并且因此响应于用户请求实现新的VNF或虚拟机。例如,如图1所示,虚拟机管理服务102已将处理器核心112-1和处理器核心112-3识别为具有可用的处理器容量来实例化VMI 106并实现VNF或其他虚拟机。虚拟机管理服务102可以以专用方式分配处理器核心112-1和处理器核心112-3,使得这些处理器核心被保留以供VNF或其他要经由VMI 106的实例化实现的虚拟机专用。
在一个示例中,对于VNF或其他虚拟机,虚拟机管理服务102将VNF或其他虚拟机的数据平面vCPU和控制平面vCPU实现到不同的处理器核心上,以确保在VNF或其他虚拟机运行期间有足够的资源可用于这些vCPU。这可以为VNF或其他虚拟机提供改进的低延迟吞吐量。在示例中,虚拟机管理服务102指定这些处理器核心专用于VNF或其他虚拟机,使得不能与其他VNF或虚拟机共享这些处理器核心的资源(例如,处理器容量),无论这些资源是处于空闲状态还是正在使用中。
在一个示例中,虚拟机管理服务102允许用户为VMI 106定义VMI简档。VMI简档可以用于定义用于VMI 106的实例化和对应的VNF或其他虚拟机的实现的一个或多个处理器要求。VMI简档可以被包括在VMI106中,使得可以将VMI简档和每个实例化VMI 106的请求一同提供给虚拟机管理服务102。替代地,可以将VMI简档作为请求的一部分提供(与VMI 106分开)。这可以允许用户为相同的VMI 106定义不同的VMI简档。在某些情况下,虚拟机管理服务102可以经由客户端设备104向用户提供界面(例如,图形用户界面(GUI)、应用程序编程接口(API)命令等),以允许用户经由界面定义用于实例化VMI 106的VMI简档。
通过VMI简档,用户可以定义一组一个或多个处理器要求,以使用VMI 106实现VNF或其他虚拟机。例如,通过VMI简档,用户可以指定将在不同的专用处理器核心上实现用于VNF或其他虚拟机的控制平面vCPU和数据平面vCPU。替代地,用户可以指定控制平面vCPU和数据平面vCPU将被实现(例如,被固定)到相同的处理器核心。在某些情况下,用户可以指定可以在可共享的处理器核心上实现VNF或其他虚拟机的vCPU,由此可共享处理器核心的资源可以在任何数量的VNF和虚拟机之间共享,该任何数量的VNF和虚拟机受制于由虚拟机管理服务102建立的一组默认规则。例如,如上所述,默认规则可以包括禁止在处理器核心的同一逻辑CPU上或完全在同一处理器核心上实现两个或更多个数据平面vCPU。
在一个示例中,用户可以在VMI简档中指定所得到的VNF或虚拟机将具有低延迟吞吐量。例如,在VMI简档中,用户可以提供一个条目(例如,“低延迟=TRUE”等),作为由虚拟机管理服务102处理的结果,该条目会导致虚拟机管理服务102确定要通过VMI 106的实例化实现的VNF或其他虚拟机所需要的低延迟吞吐量。替代地,在VMI简档中,用户可以指示不需要低延迟吞吐量(例如,“低延迟=FALSE”等)。
除了定义VNF或其他虚拟机是否需要低延迟吞吐量之外,用户还可以通过VMI简档定义VNF或其他虚拟机所需的vCPU数量,以及对应于控制平面vCPU和数据平面vCPU的标识符。这可以允许虚拟机管理服务102确定VNF或其他虚拟机的实现需要多少vCPU,以及确定分配要求以避免将数据平面vCPU分配到相同的处理器核心或处理器核心的逻辑CPU上。基于VMI简档中指定的要求,虚拟机管理服务102可以确定实现VNF或其他虚拟机需要怎样的处理器容量。
如上所述,虚拟机管理服务102可以实施用于为新的VNF和虚拟机分配处理器容量的一组默认规则。在一个示例中,如果用户不提供VMI简档或在其他情况下并未定义为VNF或其他虚拟机分配处理器容量的一组要求,则虚拟机管理服务102可以为了分配处理器容量而依赖于该一组默认规则,以实现VNF或其他虚拟机。例如,在默认情况下,虚拟机管理服务102可以假设VNF或其他虚拟机需要低延迟吞吐量。这可以使虚拟机管理服务102为VNF或其他虚拟机分配专用处理器核心。在一些示例中,虚拟机管理服务102评估VMI 106以估计将经由VMI 106的实例化实现的VNF或其他虚拟机的系统要求。这可以包括识别构成VMI106的操作系统、数据文件和应用程序。由此,虚拟机管理服务102可以确定可能需要什么处理器性能来实现VNF或经由VMI 106的实例化生成的其他虚拟机。
基于由虚拟机管理服务102维护的VMI简档和/或默认规则组,虚拟机管理服务102可以确定CPU插槽110的处理器核心112-1至112-N是否包括足够的用于实现VNF或其他虚拟机的可用处理器容量。例如,如上所述,虚拟机管理服务102可以评估服务器108的服务器数据库以识别哪些处理器核心112-1至112-N正被用于其他VNF或虚拟机。在一些情况下,虚拟机管理服务102可以识别哪些处理器核心112-1至112-N正被用于为这些其他VNF或虚拟机实现数据平面vCPU。通过这个过程,虚拟机管理服务102可以识别CPU插槽110的可用处理器容量。
响应于确定CPU插槽110的可用处理器容量,以及当前分配给其他VNF和虚拟机的处理器容量,虚拟机管理服务102可以确定是否可以分配任何可用处理器容量以用于通过实例化VMI 106来实现新的VNF或其他虚拟机。例如,虽然可用处理器容量可能足以实现VNF或其他虚拟机,但该可用处理器容量可能不满足VMI简档中定义的一组要求和/或虚拟机管理服务102维护的默认规则组。例如,如果要使用每个vCPU的专用处理器核心来实现新的VNF或虚拟机,并且虚拟机管理服务102确定没有足够的处理器核心可以专用于此目的,则虚拟机管理服务102可以指示CPU插槽110没有足够的处理器容量来实现VNF或虚拟机,而不管在处理器核心中是否(整体上)有可用的处理器容量来实现VNF或虚拟机。
在一个示例中,虚拟机管理服务102响应于实例化VMI 106的请求,确定是否调度任何现有的VNF或虚拟机以进行删除。例如,虚拟机管理服务102可以评估服务器108的服务器数据库,以识别计划删除的VNF或虚拟机以及估计关于将要删除VNF或虚拟机的时间。基于该评估,虚拟机管理服务102可以确定CPU插槽110的额外处理器容量何时变得可用于经由VMI 106的实例化来实现新的VNF和虚拟机。虚拟机管理服务102可以使用该确定作为确定是否存在用于新VNF或虚拟机的可用处理器容量的因素。例如,如果虚拟机管理服务102确定一组处理器核心将在特定时间段内变得可用于分配,则虚拟机管理服务102可以确定可以分配这组处理器核心以用于受制于由用户或由虚拟机管理服务102定义的处理器要求组的VNF或其他虚拟机。
在一些示例中,请求的履行可能会受制于超时时段,由此虚拟机管理服务102继续评估CPU插槽110以确定是否有足够的可用处理器容量可以被分配给新的VNF或虚拟机。例如,如果虚拟机管理服务102最初确定由于可用于新的VNF或虚拟机的处理器容量不足而无法满足实例化VMI 106的请求,则虚拟机管理服务102可以继续监视CPU插槽110和服务器数据库108以确定在请求的超时时段到期之前是否有任何额外的处理器容量变得可用。因此,只要超时时段尚未过去,则虚拟机管理服务102可以尝试满足请求,这受制于在VMI简档中或在由虚拟机管理服务102维护的默认规则组中定义的处理器要求。如果超时时段已经过去,则虚拟机管理服务102可以指示由于缺乏用于VNF或虚拟机的可用处理器容量而不能满足请求。
在一个示例中,虚拟机管理服务102从客户端设备104获得终止在服务器108内运行的现有VNF或虚拟机的请求。响应于该请求,虚拟机管理服务102可以识别用于实现VNF或虚拟机的处理器核心和对应的逻辑CPU。在一些示例中,虚拟机管理服务102终止指定的VNF或虚拟机,并为VNF或虚拟机将先前使用的处理器核心和对应的逻辑CPU的处理器容量保留一段时间。例如,在请求中,用户可以指定要保留用于实现VNF或虚拟机的资源,以便允许用户在以后重新实现VNF或虚拟机。虚拟机管理服务102可以保留这个处理器容量,直到之前确定的时间段已经过去。如果该时间段已经过去,则虚拟机管理服务102可以释放该处理器容量以用于实现其他VNF和虚拟机。
图2示出了根据各种实施方式的环境200的说明性示例,在该环境200中,基于VNF的要求,VNF被分配来自插槽202的处理器核心的不同CPU。在环境200中,CPU插槽202包括一组处理器核心204-1至204-N,其中每个处理器核心实现超线程以允许操作系统检测每个处理器核心的一对逻辑CPU。例如,如图2所示,处理器核心204-1被配置有超线程,使得处理器核心204-1包括第一逻辑CPU 206-11和第二逻辑CPU 206-12。类似地,处理器核心204-2(例如,逻辑CPU 206-21和逻辑CPU 206-22)、处理器核心204-3(例如,逻辑CPU 206-31和逻辑CPU 206-32)、处理器核心204-4(例如,逻辑CPU 206-41和逻辑CPU 206-42)和处理器核心204-N(例如,逻辑CPU 206-N1和逻辑CPU 206-N2)也可以被配置有超线程。
如图2所示,处理器核心204-1至204-N的各种逻辑CPU可以被分配用于不同的VNF和虚拟机(受制于这些VNF和虚拟机的处理器要求)。例如,被实现为具有低延迟吞吐量和两个vCPU(例如,如图2所示的LL1)的VNF可以被分配两个专用处理器核心(例如,处理器核心204-1和处理器核心204-2)。第一专用处理器核心可用于实现VNF的数据平面vCPU,而第二专用处理器核心可用于实现VNF的控制平面vCPU。虽然可以使用来自专用处理器核心的单个逻辑CPU来实现这些vCPU中的每一者,但可以将另一个逻辑CPU保留给VNF。因此,可能不会与其他VNF或其他虚拟机共享其他逻辑CPU。
在一些示例中,可以使用VNF或虚拟机的其他逻辑CPU(这些其他逻辑CPU已经被保留用于VNF或虚拟机,并且不被用于实现控制平面vCPU或数据平面vCPU)来执行VNF或虚拟机的其他虚拟功能(例如,仿真或虚拟主机)。在一些情况下,可以使用实现控制平面vCPU的处理器核心的其他逻辑CPU来实现VNF或虚拟机的此其他虚拟功能。这可以允许数据平面vCPU使用专用处理器核心的任何资源,而不会遇到由VNF的其他虚拟功能导致的可能干扰。此其他虚拟功能的性能可以受制于:VMI简档中阐述的处理器要求、或由虚拟机管理服务通过实现用于处理器管理和分配的默认规则组而定义的处理器要求。
对于需要低延迟吞吐量但仅需要单个vCPU(例如,如图2所示的LL2)的VNF或虚拟机,虚拟机管理服务可以分配单个专用处理器核心(例如,处理器核心204-3)。处理器核心204-3的第一逻辑CPU 206-31可以被分配用于VNF或虚拟机的vCPU。可以为VNF或虚拟机保留第二逻辑CPU 206-32,使得第二逻辑CPU 206-32的资源不能与其他VNF或其他虚拟机共享。该保留的逻辑CPU 206-32还可用于提供VNF的附加虚拟功能,包括但不限于仿真和虚拟托管能力。
在一个示例中,用户可以经由VMI简档指示可以使用可共享资源来实现新的VNF或虚拟机。例如,经由VMI简档,用户可以指定新的VNF或虚拟机不需要低延迟吞吐量。如果可用处理器核心的数量大于零,则虚拟机管理服务可以将可用处理器核心的数量分配给所需的VNF或虚拟机,以实现VNF或虚拟机的vCPU数量。作为说明性示例,处理器核心204-4被分配给非低延迟VNF(例如,NLL1),由此第一逻辑CPU 206-41被分配用于控制平面vCPU,并且第二逻辑CPU 206-42被分配用于数据平面vCPU。虚拟机管理服务可以将该处理器核心204-4和对应的逻辑CPU 206-41和206-42指定为可共享的。因此,如果没有其他可用的处理器核心来实现这些其他VNF,则这些逻辑CPU 206-41和206-42的任何可用容量都可以被分配给其他VNF。
在一个示例中,如果可以使用可共享资源来实现新的VNF或虚拟机,但不存在用于实现VNF的可用处理器核心,则虚拟机管理服务确定是否存在可用于实现VNF的在任何可共享处理器核心中的任何可用处理器容量。例如,如图2所示,可以为VNF或其他虚拟机(例如,NLL3)分配来自处理器核心204-N的可用处理器容量。在一个示例中,虚拟机管理服务将处理器容量从第一逻辑CPU 206-N1(该第一逻辑CPU 206-N1被分配用于先前实现的VNF的数据平面vCPU)分配给新VNF的控制平面vCPU。这可能会阻止将相同的逻辑CPU分配给两个或更多个数据平面vCPU,这可能导致相应VNF或虚拟机的性能不可预测。因此,如图2所示,两个VNF(例如,NLL2和NLL3)可以共享处理器核心204-N1的资源,使得处理器核心204-N1的第一逻辑CPU 206-N1被分配用于第一VNF的控制平面vCPU(例如,用于NLL2的vCPU 0)和第二VNF的数据平面vCPU(例如,用于NLL3的vCPU 1)、并且处理器核心204-N1的第二逻辑CPU206-N2被分配用于第一VNF的数据平面vCPU(例如,用于NLL2的vCPU 1)和第二VNF的控制平面vCPU(例如,用于NLL3的vCPU 0)。
图3示出了根据各种实施方式的环境300的说明性示例,在该环境300中,虚拟机管理服务302基于服务器316的可用CPU容量和一组处理器要求来分配服务器316的CPU容量以用于VMI的实例化。在环境300中,虚拟机管理服务302的实例化请求处理系统304获得关于将VMI 306实例化到服务器316的一个或多个处理器核心上的请求,以便实现新的VNF或虚拟机。实例化请求处理系统304可以将VMI 306存储在VMI储存库312中,以便允许在导致VNF或虚拟机受损的问题的情况下重新实例化VMI 306。例如,如果VNF或虚拟机由于服务器故障而无法运行,则实例化请求处理系统304可以从VMI储存库312中获得对应的VMI 306,并且将VMI 306提供给VMI实例化系统310以将VMI 306重新实例化到另一台服务器的资源上。
在一个示例中,请求包括VMI简档308,该VMI简档308为新的VNF或虚拟机指定一组处理器要求。例如,可以在VMI 306中提供VMI简档308,使得VMI 306的实例化可以受制于在VMI简档308中定义的要求。替代地,除了请求中的VMI 306之外,还可以提供VMI简档308。因此,用户可以通过不同的VMI简档来定义用于实例化VMI 306的不同处理器要求。
在一个示例中,由虚拟机管理服务302的VMI实例化系统310使用在VMI简档308中指定的处理器需求,以确定需要服务器316的哪些资源来实例化VMI 306以及实现VNF或虚拟机。例如,如果VMI简档308指定VNF或虚拟机将具有低延迟吞吐量并且它将包括两个vCPU(例如,数据平面vCPU和控制平面vCPU),则VMI实例化系统310可以确定需要来自服务器316的至少两个处理器核心来实现VNF或虚拟机。替代地,如果VMI简档308指定VNF或虚拟机不需要低延迟吞吐量并且它将包括两个vCPU,则VMI实例化系统310可以确定可以为VNF或虚拟机分配可共享资源。VMI实例化系统310可以尝试识别未分配给其他VNF或其他虚拟机的可共享处理器核心。如果不成功,则VMI实例化系统310可以识别具有可用容量的可共享处理器核心,以允许实施受制于其他处理器要求(例如,不同VNF的数据平面vCPU不能共享逻辑CPU等)的新的VNF或虚拟机。
为了确定是否可以由虚拟机管理服务302满足实例化VMI 306的请求(受制于在VMI简档308中指定的一组处理器要求)、或默认实现实例化VMI 306的请求,VMI实例化系统310可以从服务器监视系统314获得服务器316的每个处理器核心的CPU状态信息。该CPU状态信息可以指定服务器316内的当前逻辑CPU和处理器核心分配,以及指定服务器316内可用处理器容量的信息。基于该CPU状态信息,VMI实例化系统310可以确定服务器316是否有足够的可用处理器容量用于新的VNF或虚拟机。例如,如果处理器要求组表明实现VNF或虚拟机需要两个处理器核心,并且不能与其他VNF或虚拟机共享这两个处理器核心,则VMI实例化系统310可以基于CPU状态信息和其中定义的可用处理器容量确定服务器316是否具有至少两个可用的、可以被专用于新的VNF或虚拟机的处理器核心。
如果VMI实例化系统310确定没有足够的可用处理器容量来实现VNF或虚拟机,则VMI实例化系统310可以向实例化请求处理系统304发送通知,以指示请求不能被满足。这可以导致实例化请求处理系统304向请求者发送响应,该响应指定实例化VMI 306的请求由于缺乏用于实现新VNF或虚拟机的可用处理器容量而不能被满足。然而,如果VMI实例化系统310确定有足够的可用处理器容量来实现VNF或虚拟机(受制于VMI简档308中阐述的处理器要求),则VMI实例化系统310可以从可用的处理器容量、一个或多个处理器核心和相应逻辑CPU中进行选择,以用于实例化VMI 306。这可能会导致为用户实现新的VNF或虚拟机。
图4示出了根据一些实施方式的环境400的说明性示例,在该环境400中,VMI实例化系统410为VMI 412(该VMI 412需要低延迟性能)和一组vCPU分配一组处理器核心。在环境400中,VMI实例化系统410获得将VMI 412实例化到经由服务器CPU插槽402提供的一组处理器核心上的请求。服务器CPU插槽402可以包括一个或多个处理器核心404-1至404-N,其中每个处理器核心404-1至404-N被配置有超线程。这可以导致每个处理器核心404-1至404-N包括至少两个逻辑CPU。例如,如图4所示,处理器核心404-1可以实现处理器406-11和406-12;处理器核心404-2可以实现处理器406-21和406-22;处理器核心404-3可以实现处理器406-31和406-32;处理器核心404-4可以实现处理器406-41和406-42;并且处理器核心404-N可以实现处理器406-N1和406-N2。
如上所述,将VMI 412实例化到服务器的一组处理器核心上的请求可以包括VMI简档,该VMI简档定义一组处理器要求,以用于经由VMI 412的实例化来实现VNF或虚拟机。在图4的说明性示例中,VMI简档指定所得的VNF或虚拟机需要低延迟吞吐量,并且将包括两个vCPU(例如,数据平面vCPU和控制平面vCPU)。基于这些处理器要求,VMI实例化系统410可以确定要为VNF或虚拟机的两个vCPU中的每一者分配专用处理器核心。
在一些示例中,如果实例化VMI 412的请求不包括VMI简档或在其他情况下并未指定用于实现VNF或虚拟机的一组处理器要求,则VMI实例化系统412可以实现VNF或虚拟机的一组默认处理器要求。例如,在默认情况下,VMI实例化系统410可以假设VNF或其他虚拟机需要低延迟吞吐量。这可以使VMI实例化系统410确定是否可以分配用于VNF或其他虚拟机的专用处理器核心。
基于VMI简档中指定的或由VMI实例化系统410默认实现的要求,VMI实例化系统410可以确定服务器CPU插槽402是否具有至少两个可用的处理器核心,这些处理器核心具有可以分配给VNF或虚拟机的vCPU的可用CPU容量。例如,如图4所示,基于VNF或虚拟机需要低延迟吞吐量以及VNF或虚拟机需要两个vCPU的要求,VMI实例化系统410可以将处理器核心404-1和404-2识别为具有用于实现受制于特定要求的VNF或虚拟机的可用处理器容量。
如图4所示,VMI实例化系统410可以为VNF或虚拟机的控制平面vCPU分配处理器核心404-1的逻辑CPU 406-11,并且为VNF或虚拟机的数据平面vCPU分配处理器核心404-2的逻辑CPU 406-21。此外,VMI实例化系统410可以分别将处理器核心404-1和404-2的其他逻辑CPU 406-12和406-22指定为保留用于VNF或虚拟机。这可能会阻止将这些逻辑CPU分配给其他VNF或虚拟机。此外,这可以允许将这些逻辑CPU 406-12和406-22用于其他虚拟功能(例如,仿真和虚拟主机)。在一些情况下,可以在专用于控制平面vCPU的处理器核心404-1的逻辑CPU 406-12上实现这些其他虚拟功能。这可以允许数据平面vCPU不受限制地使用处理器核心404-2的计算资源,这可以使得数据平面vCPU的性能提高并且实现VNF或虚拟机的低延迟吞吐量。
图5示出了根据一些实施方式的环境500的说明性示例,在该环境500中,VMI实例化系统510为VMI 512(该VMI 512需要低延迟性能)和单个vCPU分配处理器核心。在环境500中,VMI实例化系统510获得将VMI 512实例化到经由服务器CPU插槽502提供的处理器上的请求。类似于上面结合图4描述的服务器CPU插槽402,服务器CPU插槽502可以包括一个或多个处理器核心504-1至504-N,每个处理器核心可以实现一组处理器。例如,如图5所示,处理器核心504-1可以实现处理器506-11和506-12;处理器核心504-2可以实现处理器506-21和506-22;处理器核心504-3可以实现处理器506-31和506-32;处理器核心504-4可以实现处理器506-41和506-42;并且处理器核心504-N可以实现处理器506-N1和506-N2。应当注意,虽然每个处理器核心504-1至504-N被说明为在处理器核心内实现两个处理器,但是每个处理器核心504-1至504N可以包括附加的、替代的或更少的处理器。
实例化VMI 512的请求可以包括VMI简档,该VMI简档指定了一组要求,以用于将可用处理器容量分配给要使用VMI 512实现的VNF或其他虚拟机。在该说明性示例中,VMI简档可以指定要通过VMI 512的实例化来实现的VNF将具有低延迟吞吐量。此外,VMI简档可以指定VNF将包括单个vCPU(例如,vCPU 0)。在一些示例中,VMI简档还可以指示将在专用处理器核心或专用物理CPU上实现单个vCPU。然而,如果在需要低延迟吞吐量的VNF的VMI简档中不存在该指示,则VMI实例化系统510可以利用一个或多个默认要求来确定是否为VNF分配专用处理器核心或专用物理CPU。
基于在VMI简档中指定的要求,VMI实例化系统510可以识别具有可用CPU容量的一个或多个处理器核心,这些CPU容量可以被分配用于VNF或其他虚拟机的vCPU。例如,如图5所示,基于VNF或其他虚拟机所需的低延迟吞吐量以及VNF或其他虚拟机所需的单个vCPU的要求,VMI实例化系统510可以将处理器核心504-3识别为具有用于实现低延迟处理器的可用处理器容量,这些低延迟处理器用于受制于指定要求的VNF或其他虚拟机。
在一个示例中,VMI实例化系统510将可用处理器核心504-3分配给VNF或其他虚拟机以启用用于VNF或其他虚拟机的单个vCPU的功能。VMI实例化系统510可以将处理器核心504-3的处理器506-31和506-32指定为不可共享的(例如,保留的)并且供VNF或其他虚拟机专用。例如,如图5所示,虽然可以使用处理器506-31来实现VNF或其他虚拟机的vCPU,但VMI实例化系统510可以指定为VNF(例如,“LL2”,如图5所示)保留处理器核心504-3的处理器506-32。因此,虽然处理器506-32可以保持空置,但是该处理器的处理器容量可以保持被分配用于VNF。
在一些示例中,分配用于VNF或其他虚拟机的未用于VNF或其他虚拟机的vCPU的可用处理器容量可以以其他方式用于实现用于VNF或其他虚拟机的模拟器或任何其他虚拟功能(例如,虚拟主机等)。模拟器或其他虚拟功能可以提供虚拟化服务器功能、网络连接服务等。
图6示出了根据一些实施方式的环境600的说明性示例,在该环境600中,VMI实例化系统610为VMI 612(该VMI 612需要非低延迟性能)和一组vCPU分配可共享的CPU。在环境600中,VMI实例化系统610获得将VMI 612实例化到经由服务器CPU插槽602提供的一组处理器上的请求。服务器CPU插槽602可以包括一个或多个处理器核心604-1至604-N,每个处理器核心可以实现一组处理器。例如,如图6所示,处理器核心604-1可以实现处理器606-11和606-12;处理器核心604-2可以实现处理器606-21和606-22;处理器核心604-3可以实现处理器606-31和606-32;处理器核心604-4可以实现处理器606-41和606-42;并且处理器核心604-N可以实现处理器606-N1和606-N2。应当注意,虽然每个处理器核心604-1至604-N被示出为在处理器核心内实现两个处理器,但是每个处理器核心604-1至604N可以包括附加的、替代的或更少的处理器。
实例化VMI 612的请求可以包括VMI简档,该VMI简档指定一组要求,以用于分配可用处理器容量以通过VMI 612的实例化来实现VNF或其他虚拟机。在这个说明性示例中,VMI简档可以指定VNF或其他虚拟机需要非低延迟。此外,VMI简档可以指定要为VNF或其他虚拟机实现两个vCPU。在某些情况下,VMI简档还可以指定两个vCPU中的一者将被指定为控制平面vCPU(例如,vCPU 0),而另一者将被指定为数据平面vCPU(例如,vCPU 1)。
在一个示例中,VMI实例化系统610维持这样的要求:将在单独的物理CPU上实现用于不同VNF或其他虚拟机的数据平面vCPU,以便防止这些VNF或其他虚拟机的不可预测的行为。在一些情况下,可以由VMI实例化系统610将该要求维持为默认状态。因此,如果VMI简档没有指定以下要求,则VMI实例化系统610可以将此要求作为默认值来应用:将在CPU(除了实现不同数据平面vCPU的CPU之外)上实现用于VNF或其他虚拟机的数据平面vCPU。在一些情况下,如果VMI简档指定了可能与该默认要求相冲突的要求,则VMI实例化系统610可以向请求者发送通知,以指示冲突并向请求者通知由共享物理CPU的容量的两个或更多个数据平面vCPU导致的潜在影响。请求者可以经由接口更新VMI简档或以其他方式指示其承担对其VNF或其他虚拟机的潜在影响的风险或默许此默认要求。
基于VMI简档中指定的要求,VMI实例化系统610可以识别具有可用CPU容量的一个或多个处理器核心,这些CPU容量可以被分配给VNF或其他虚拟机的vCPU。例如,如图6所示,基于VNF或其他虚拟机需要非低延迟以及VNF或其他虚拟机需要两个vCPU的要求,VMI实例化系统610可以将处理器核心604-4和604-N识别为具有用于实现两个vCPU的可用处理器容量,这两个vCPU用于受制于指定要求的VNF或其他虚拟机。
在一个示例中,如果多于一个处理器核心具有用于为VNF或其他虚拟机实现两个vCPU的可用处理器容量,则VMI实例化系统610可以选择为vCPU提供最多处理器容量的处理器核心。例如,如图6所示,虽然处理器核心604-N具有可分配给两个vCPU的可用处理器容量,但是在处理器核心604-N上实现两个vCPU可能导致与在处理器核心604-N上实现的VNF或虚拟机共享该处理器核心604-N的资源。例如,处理器核心604-N可以为在处理器606-N1上的另一个VNF或虚拟机实现控制平面vCPU(例如,vCPU 0),并为在处理器606-N2上的另一个VNF或虚拟机实现数据平面vCPU(例如,vCPU 1)。因此,VMI实例化系统610可以选择处理器核心604-4来实现用于新VNF或其他虚拟机的vCPU,由此处理器核心606-4可以包括未分配的处理器606-41和606-42。
应当注意,其他标准可用于:选择处理器核心、或者从来自一组可用选项的处理器核心中选择特定CPU,以用于实现VNF或其他虚拟机的vCPU。例如,如果处理器核心604-N内的可用处理器容量大于处理器核心604-4的可用处理器容量,则VMI实例化系统610可以选择将处理器核心604-N的可用处理器容量分配给新的vCPU,无论处理器核心604-4的CPU606-41和606-42是否未分配或被用于其他VNF或虚拟机。另外(或替代地),VMI实例化系统610可以识别处理器(这些处理器提供可用处理器容量)的规格,以确定哪个处理器将为VNF或其他虚拟机提供更好的性能。例如,VMI实例化系统610可以评估VMI 612以识别实现VNF或其他虚拟机的系统要求。基于这些系统要求和处理器(这些处理器提供可用处理器容量)的规格,VMI实例化系统610可以选择适当的处理器核心来实现VNF或其他虚拟机。
图7示出了根据一些实施方式的过程700的说明性示例,该过程700用于使用受制于一组CPU锁定要求的一组处理器核心的可用处理器容量来实例化虚拟机映像。可以由虚拟机管理服务执行过程700,虚拟机管理服务可以识别一个或多个服务器的可用处理器容量,并且基于该可用容量确定虚拟机映像的实例化是否可能以满足请求中指定的处理器要求的方式进行,可以使用虚拟机映像,也可以由请求者指定。
在一个示例中,虚拟机管理服务获得702实例化虚拟机映像的请求。虚拟机映像可用作模板,该模板用于创建可用于实现一个或多个VNF、虚拟计算机系统等的虚拟机。在一些示例中,虚拟机映像可以包括虚拟机映像简档,其可以指定用于实例化虚拟机映像以实现VNF或其他虚拟机的处理器要求。或者,除了虚拟机映像之外,请求者还可以提供虚拟机映像简档。
响应于请求,虚拟机管理服务可以评估704在请求中提供的虚拟机映像简档(在虚拟机映像包内或作为在请求中提供的独立简档),以确定对于要使用虚拟机映像实现的VNF或其他虚拟机的一个或多个vCPU的CPU锁定要求。例如,虚拟机映像简档可以指定以低延迟吞吐量实现VNF的要求。这可以作为将在专用的、不可共享的处理器核心上实现VNF的vCPU的指示。此外,虚拟机映像简档可以指定将VNF的数据平面vCPU维护在单独的处理器核心中的要求。如上所述,将不同VNF的数据平面vCPU锁定到同一处理器核心或同一CPU线程上可能会导致这些不同VNF的性能不可预测。因此,虚拟机映像简档可以指定此要求。在一些示例中,可以由虚拟机管理服务默认定义该要求,使得如果虚拟机映像简档没有指定该要求,则虚拟机管理服务可以自动应用该要求。
在一些示例中,虚拟机映像简档可以指定VNF不需要用于每个vCPU的专用处理器核心。这可以作为对虚拟机管理服务的指示,即可以与其他VNF和虚拟机共享分配给VNF的CPU。然而,在一些示例中,虚拟机管理服务可以维持以下要求:不同VNF的数据平面vCPU不被实现在同一处理器核心或处理器核心的同一CPU上。因此,虽然可以在可以与其他VNF共享的CPU上实现VNF的数据平面vCPU,但虚拟机管理服务可以为该CPU分配其他VNF的控制平面vCPU。
在示例中,虚拟机管理服务识别706服务器CPU插槽上的当前处理器分配。例如,对于特定的服务器CPU插槽,虚拟机管理服务可以评估每个处理器核心和相应的CPU,以识别使用服务器CPU插槽的CPU的VNF和其他虚拟机。在一些情况下,虚拟机管理服务可以评估数据库,该数据库为每个VNF和虚拟机指定标识符,这些标识符与分配给VNF或虚拟机的CPU和处理器核心相对应。此外,虚拟机管理服务可以确定在服务器插槽的处理器核心和CPU上实现的每个VNF和虚拟机的处理器要求。
基于对服务器CPU插槽上的当前分配的识别,虚拟机管理服务可以确定708是否存在可以被分配用于虚拟机映像的实例化以及实现VNF的可用CPU容量。例如,虚拟机管理服务可以从插槽的各种处理器核心中识别出任何未分配的CPU,这些CPU可用于响应于请求而实施的VNF或其他虚拟机。虚拟机管理服务可以评估上述数据库以识别尚未分配用于使用的任何CPU。在一些情况下,虽然CPU可能是空闲的(例如,未在使用中),但是可能为另一个VNF或虚拟机保留CPU,该另一个VNF或虚拟机需要为虚拟机的每个vCPU保留处理器核心。因此,虽然CPU可能具有支持VNF或虚拟机的容量,但仍可能无法将CPU分配给VNF或虚拟机。
在一些示例中,虚拟机管理服务确定当前使用插槽的处理器容量的任何VNF或虚拟机是否被安排删除。如果虚拟机管理服务确定计划在特定时间删除VNF或其他虚拟机,则虚拟机管理服务可以确定VNF或其他虚拟机使用的处理器容量将在特定时间删除该VNF或其他虚拟机时变得可用。因此,在确定用于实例化虚拟机映像的可用处理器容量时,虚拟机管理服务可以识别任何被安排在特定时间范围内删除的VNF或其他虚拟机,以用于实例化所获得的虚拟机映像。
如果虚拟机管理服务确定没有可用的处理器容量用于虚拟机映像的实例化和VNF或其他虚拟机的实现,则虚拟机管理服务可以指示710缺少用于满足请求所需的容量。例如,虚拟机管理服务可以拒绝该请求,并向请求者发送通知,以指示不存在用于虚拟机映像的实例化的可用处理器容量。在一些情况下,虚拟机管理服务可以受制于超时时段重复过程700,以识别任何可用的处理器容量。因此,如果没有可用的处理器容量,并且超时时段尚未过去,则虚拟机管理服务可以继续评估服务器CPU插槽上的当前分配,以确定先前分配的处理器容量是否已变得可用于分配给要使用虚拟机映像实例化的VNF或其他虚拟机。
在示例中,如果虚拟机管理服务确定存在理论上可以用于实例化虚拟机映像并实现VNF或其他虚拟机的可用处理器容量,则虚拟机管理服务可以确定712该可用处理器容量(如果被分配)是否将满足请求中提供的要求。如上所述,通过虚拟机映像简档,请求者可以指定要使用虚拟机映像实现的VNF或其他虚拟机将具有低延迟或非低延迟吞吐量。此外,通过虚拟机映像简档,请求者可以指定额外的分配要求,例如定义VNF的数据平面vCPU不被放置到相同的处理器核心或处理器核心的CPU上。因此,基于这些要求,虚拟机管理服务可以评估构成可用处理器容量的处理器核心和CPU,以确定该可用处理器容量的分配是否将满足虚拟机映像简档中提出的要求。
如果虚拟机管理服务确定可用处理器容量的分配将不满足在虚拟机映像简档中提出的要求,则虚拟机管理服务可以指示710缺少用于满足请求的处理器容量。虚拟机管理服务可以向请求者指示:虽然在服务器插槽中有可用的处理器容量,但分配此容量将导致一个或多个要求未得到满足,如果使用该可用处理器容量来实现,这可能会阻碍VNF或其他虚拟机的性能。在一些示例中,虚拟机管理服务可以受制于超时时段重复过程700,以识别任何可用的处理器容量,如果被分配,将满足虚拟机映像简档中提出的一组要求。因此,如果超时时段尚未过去,则虚拟机管理服务可以继续评估可用处理器容量以及用于其他VNF和虚拟机的当前处理器分配,以确定是否可以受制于虚拟机映像简档中所提出的要求为新VNF或其他虚拟机分配可用处理器容量。
在示例中,如果虚拟机管理服务确定可用处理器容量(如果使用的话)将满足虚拟机映像简档中提出的一组要求,则虚拟机管理服务使用以下项实例化714虚拟机映像:受制于虚拟机映像简档中指定的CPU锁定要求的可用处理器容量。例如,如果CPU锁定要求表明VNF的每个vCPU(例如,数据平面vCPU、控制平面vCPU等)需要专用处理器核心,则虚拟机管理服务可以分配至少两个可以被用于实现VNF的处理器核心。可以为VNF保留这至少两个处理器核心的任何未使用容量,使得响应于实例化另一个虚拟机映像的后续请求,虚拟机管理服务可以确定:这至少两个处理器核心和其中的CPU无法用于实例化另一个虚拟机映像。
在示例中,如果CPU锁定要求指定不需要低延迟吞吐量(例如,非低延迟),则虚拟机管理服务将可用处理器容量从任何处理器核心分配给要使用虚拟机映像实现的VNF或其他虚拟机。例如,如果虚拟机管理服务分配一个或多个先前未分配给其他VNF或其他虚拟机的处理器,则虚拟机管理服务可以指示该一个或多个处理器是可共享的。因此,响应于为非低延迟VNF或其他虚拟机分配可用处理器容量的未来请求,虚拟机管理服务可以分配来自这些可共享处理器的可用容量,以供受制于先前实现的VNF或虚拟机的CPU锁定要求以及新的非低延迟VNF或其他虚拟机的CPU锁定要求的新的非低延迟VNF或其他虚拟机使用。
图8根据一些实施方式示出了适用于执行交换、路由和其他联网操作的示例网络设备800。网络设备800包括CPU 804、接口802和总线810(例如,外部控制器接口(PCI)总线)。当在适当的软件或固件的控制下工作时,CPU 804负责执行分组管理、错误检测和/或路由功能。CPU 804在包括操作系统和任何适当的应用软件的软件控制下完成所有这些功能。CPU 804可以包括一个或多个处理器808,例如来自
Figure BDA0003830541530000241
X98系列微处理器的处理器。在一些情况下,处理器808可以是专门设计的用于控制网络设备800的操作的硬件。在一些情况下,存储器806(例如,非易失性RAM、ROM等)也构成CPU 804的一部分。然而,有许多不同的方式可以将存储器耦接到系统。
接口802通常作为模块化接口卡(有时称为“线路卡”)提供。通常,它们控制网络上数据分组的发送和接收,并且有时支持与网络设备800一起使用的其他外围设备。可以提供的接口是以太网接口、帧中继接口、电缆接口、数字用户线(Digital Subscriber Line,DSL)接口、令牌环接口等。此外,可以提供各种超高速接口,例如快速令牌环接口、无线接口、以太网接口、千兆以太网接口、ATM接口、HSSI接口、POS接口、FDDI接口、WIFI接口、3G/4G/5G蜂窝接口、CAN总线、LoRa等。通常,这些接口可以包括适于与适当介质通信的端口。在一些情况下,它们也可以包括独立的处理器,在一些实例中,还包括易失性RAM。独立处理器可以控制诸如分组交换、媒体控制、信号处理、密码处理和管理之类的通信密集型任务。通过为通信密集型任务提供单独的处理器,这些接口允许主微处理器804有效地执行路由计算、网络诊断、安全功能等。
虽然图8所示系统是本公开的一个特定网络设备,但绝不是可以实施本公开的唯一网络设备架构。例如,通常使用具有处理通信以及路由计算等的单个处理器的架构。此外,网络设备800也可以使用其他类型的接口和介质。
无论网络设备的配置如何,其均可以采用一个或多个存储器或存储器模块(包括存储器806),该存储器或存储器模块被配置成存储用于通用网络操作的程序指令和用于本文所述的漫游、路由优化和路由功能的机制。例如,程序指令可以控制操作系统和/或一个或多个应用的操作。一个或多个存储器也可以被配置成存储诸如移动性绑定、注册和关联表等的表。存储器806也可以保存各种软件容器和虚拟化的执行环境和数据。
网络设备800也可以包括专用集成电路(ASIC)812,该专用集成电路812可以被配置成执行路由和/或交换操作。ASIC 812可以经由总线810与网络设备800中的其他组件通信,以交换数据和信号,并协调网络设备800的各种类型的操作,例如路由、交换和/或数据存储操作。
图9示出了根据一些实施方式的计算系统架构900,该计算系统架构900包括各种组件,这些组件使用诸如总线的连接906彼此电通信。示例系统架构900包括处理单元(CPU或处理器)904和系统连接906,系统连接906将包括系统存储器920(例如ROM 918和RAM916)的各种系统组件耦接到处理器904。系统架构900可以包括与处理器904直接连接、紧邻处理器904或者集成为处理器904的一部分的高速存储器的缓存。系统架构900可以将数据从存储器920和/或存储设备908复制到缓存902,以供处理器904快速访问。这样,缓存可以提供性能提升,避免处理器904在等待数据时出现延时。这些和其他模块可以控制或被配置成控制处理器904执行各种动作。
也可以使用其他存储器920。存储器920可以包括具有不同性能特性的多种不同类型的存储器。处理器904可以包括任何通用处理器和硬件或软件服务,例如存储在存储设备908中的服务1 910、服务2 912和服务3914,它们被配置成控制处理器904以及专用处理器(其中软件指令被结合到实际的处理器设计中)。处理器904可以是完全独立的计算系统,包含多个核心或处理器、总线、存储器控制器、缓存等。多核心处理器可以是对称的或非对称的。
为了能够与计算系统架构900进行用户交互,输入设备922可以表示任何数量的输入机构,例如用于语音的麦克风、用于手势或图形输入的触敏屏幕、键盘、鼠标、运动输入、语音等。输出设备924也可以是本领域技术人员已知的多种输出机制中的一个或多个。在一些实例中,多模态系统可以使用户能够提供多种类型的输入来与计算系统架构900通信。通信接口926通常可以控制和管理用户输入和系统输出。对于在任何特定硬件配置上的操作没有限制,因此这里的基本特征可以很容易地替换为正在开发的改善的硬件或固件布置。
存储设备908是非易失性存储器,并且可以是硬盘或可以存储可由计算机访问的数据的其他类型的计算机可读介质,例如磁带盒、闪存卡、固态存储设备、数字多功能盘、盒式磁带、RAM 916、ROM 918及其混合。
存储设备908可以包括用于控制处理器904的服务910、912、914。也可以考虑其他硬件或软件模块。存储设备908可以连接到系统连接906。在一个方面,执行特定功能的硬件模块可以包括存储在计算机可读介质中的与必要的硬件组件(例如,处理器904、连接906、输出设备924等)连接的软件组件,以执行该功能。
概括地说,在实施例中,虚拟机管理服务获得实例化虚拟机映像(VMI)以实现虚拟网络功能(VNF)的请求。该请求指定对应于VMI实例化的一组处理器要求。响应于该请求,该服务从包括一组处理器核心的服务器识别可用处理器容量。该服务基于可用处理器容量和一组处理器要求,确定是否将VMI实例化到服务器的处理器核心的子集上。基于确定,该服务将VMI实例化到处理器核心的子集上,以实现VNF。
为解释清楚起见,在一些实例中,本技术可以被呈现为包括单独的功能块,该功能块包括设备、设备组件、以软件体现的方法中的步骤或例程、或硬件和软件的组合。
在一些实施例中,计算机可读存储设备、介质和存储器可以包括含有比特流等的电缆或无线信号。然而,当提及时,非暂时性计算机可读存储介质明确排除诸如能量、载波信号、电磁波和信号本身的介质。
可以使用存储在计算机可读介质中或可从计算机可读介质中获得的计算机可执行指令实施根据上述示例的方法。这样的指令可以包括例如指令和数据,这些指令和数据使得或以其他方式配置通用计算机、专用计算机或专用处理设备来执行某个功能或某组功能。使用的部分计算机资源可以通过网络访问。计算机可执行指令可以是例如二进制、中间格式指令,例如汇编语言、固件或源代码。可以用于存储在根据所述示例的方法期间使用的指令、信息和/或创建的信息的计算机可读介质的示例包括磁盘或光盘、闪存、配备有非易失性存储器的USB设备、网络存储设备等。
实施根据这些公开内容的方法的设备可以包括硬件、固件和/或软件,并可采用多种形式因素中的任何一种。这样的形状因素的典型示例包括膝上型电脑、智能电话、小形状因素个人计算机、个人数字助理、机架式设备、独立设备等。本文描述的功能也可以体现在外围设备或附加卡中。作为进一步的示例,这样的功能也可以在不同芯片中的电路板上或在单个设备中执行的不同过程中实施。
指令、用于传达这样的指令的介质、用于执行这样的指令的计算资源和用于支持这样的计算资源的其他结构是用于提供这些公开内容中所述功能的手段。
尽管使用了各种示例和其他信息来解释所附权利要求范围内的方面,但不应基于这样的示例中的特定特征或布置来暗示对权利要求的限制,因为普通技术人员能够使用这些示例得出各种实施方式。此外,尽管可能已以特定于结构特征和/或方法步骤的示例的语言描述了一些主题,但应理解,在所附权利要求中定义的主题不必限于这些描述的特征或动作。例如,这样的功能可以以不同方式分布或在不同于本文所识别的那些组件中执行。相反,所描述的特征和步骤是作为所附权利要求范围内的系统和方法的组件的示例来公开的。
叙述一组“中的至少一个”的权利要求语言表示该组中的一个成员或该组中的多个成员满足权利要求。例如,叙述“A和B中的至少一个”的权利要求语言意味着A、B、或A和B。

Claims (23)

1.一种计算机实现的方法,包括:
获得实例化虚拟机映像以实现一组虚拟网络功能(VNF)的请求,所述请求指定一个或多个处理器要求,所述一个或多个处理器要求对应于所述虚拟机映像的实例化;
从包括一组处理器核心的服务器识别可用处理器容量,所述服务器被配置为实现受制于所述虚拟机的其他处理器要求的虚拟机;
基于所述可用处理器容量和所述一个或多个处理器要求,确定是否将所述虚拟机映像实例化到所述服务器的处理器核心的子集上以产生确定;以及
基于所述确定,将所述虚拟机映像实例化到所述处理器核心的子集上,以实现所述一组VNF。
2.根据权利要求1所述的计算机实现的方法,其中:
所述一个或多个处理器要求为数据平面vCPU指定第一处理器核心的分配,并且为控制平面vCPU指定第二处理器核心的分配;并且
所述方法还包括从所述可用处理器容量中识别满足所述一个或多个处理器要求的至少两个处理器核心,其中,所述第一处理器核心被选择用于所述控制平面vCPU,并且所述第二处理器核心被选择用于所述数据平面vCPU。
3.根据权利要求1或2所述的计算机实现的方法,其中:
所述一个或多个处理器要求指定处理器核心的分配,所述处理器核心经由所述虚拟机映像的实例化提供所述VNF的低延迟吞吐量;并且
所述方法还包括从所述可用处理器容量识别满足所述一个或多个处理器要求的至少一个处理器核心,其中,所述处理器核心被保留用于所述VNF。
4.根据权利要求1至3中任一项所述的计算机实现的方法,其中:
所述一个或多个处理器要求为一组虚拟处理器指定任何可用处理器的分配;并且
所述方法还包括从所述可用处理器容量选择来自所述处理器核心的子集的一组可用处理器以实现所述VNF。
5.根据权利要求4所述的计算机实现的方法,其中,选择所述一组可用处理器包括将数据平面vCPU分配给所述一组可用处理器的不同处理器。
6.根据权利要求1至5中任一项所述的计算机实现的方法,还包括:
获得终止在所述处理器核心的子集上运行的虚拟机的第二请求;
响应于所述第二请求终止所述虚拟机;以及
为所述虚拟机保留所述处理器核心的子集的容量。
7.一种系统,包括:
一个或多个处理器;以及
存储器,所述存储器包括指令,所述指令在由所述一个或多个处理器执行时,使所述系统执行以下操作:
接收实例化虚拟机映像以实现一组VNF的请求,所述请求指定对应于所述虚拟机映像的实例化的一组处理器要求;
识别服务器的可用处理器容量,所述服务器被配置为实现受制于所述虚拟机的其他处理器要求的虚拟机;
基于所述可用处理器容量和所述一组处理器要求,确定是否将所述虚拟机映像实例化到所述服务器的一组处理器核心上以产生确定;并且
基于所述确定,将所述虚拟机映像实例化到所述一组处理器核心上,以实现所述一组VNF。
8.根据权利要求7所述的系统,其中,使所述系统识别所述可用处理器容量的指令进一步使所述系统:
确定在所述一组处理器核心上实现的所述其他虚拟机将在特定时间被删除;以及
确定所述其他虚拟机所使用的所述一组处理器核心的容量在所述特定时间可用。
9.根据权利要求7或8所述的系统,其中:
所述一组处理器要求指定第一vCPU所需的第一专用处理器核心以及第二vCPU所需的第二专用处理器核心;并且
使所述系统确定是否将所述虚拟机映像实例化到所述一组处理器核心上的指令进一步使所述系统确定能够使用所述一组处理器核心分配所述第一专用处理器核心和所述第二专用处理器核心。
10.根据权利要求7至9中任一项所述的系统,其中:
所述一组处理器要求指定被分配以实现所述VNF组的处理器能够与其他虚拟机共享;并且
使所述系统确定是否将所述虚拟机映像实例化到所述一组处理器核心上的指令进一步使所述系统确定所述一组处理器核心包括可用容量以实现所述一组VNF。
11.根据权利要求7至10中任一项所述的系统,其中,所述指令还使所述系统:
获得终止所述一组VNF的第二请求;
响应于所述第二请求终止所述一组VNF;以及
将用于实现所述一组VNF的所述一组处理器核心的处理器容量保留一段时间,以允许使用所述处理器容量重新实现所述一组VNF。
12.根据权利要求7至11中任一项所述的系统,其中,使所述系统确定是否将所述虚拟机映像实例化到所述处理器核心组上的所述指令进一步使所述系统确定所述VNF的实现是否是可执行的,使得可以在单独的处理器上实现所述VNF和所述其他虚拟机的数据平面vCPU。
13.一种非暂时性计算机可读存储介质,其上存储有可执行指令,所述可执行指令在由计算机系统的一个或多个处理器执行时,使所述计算机系统执行以下操作:
接收实例化虚拟机映像以实现一组VNF的请求,所述请求指定对应于所述虚拟机映像的实例化的一组处理器要求;
识别服务器的可用处理器容量,所述服务器被配置为实现受制于所述虚拟机的其他处理器要求的虚拟机;
基于所述可用处理器容量和所述一组处理器要求,确定是否将所述虚拟机映像实例化到所述服务器的一组处理器核心上以产生确定;并且
基于所述确定,将所述虚拟机映像实例化到所述一组处理器核心上,以实现所述一组VNF。
14.根据权利要求13所述的非暂时性计算机可读存储介质,其中,所述可执行指令进一步使所述计算机系统:
获得终止所述一组VNF的第二请求;
响应于所述第二请求终止所述一组VNF;以及
将所述一组处理器核心保留一段时间,以允许使用所述一组处理器核心重新实现所述一组VNF。
15.根据权利要求13或14所述的非暂时性计算机可读存储介质,其中,使所述计算机系统识别所述可用处理器容量的可执行指令进一步使所述计算机系统:
确定在所述一组处理器核心上实现的虚拟机将在特定时间被计划删除;以及
确定所述虚拟机所使用的所述一组处理器核心的容量在所述特定时间可用。
16.根据权利要求13至15中任一项所述的非暂时性计算机可读存储介质,其中:
所述一组处理器要求指定被分配以实现所述一组VNF的处理器的容量是可共享的;并且
使所述计算机系统确定是否将所述虚拟机映像实例化到所述一组处理器核心上的可执行指令进一步使所述计算机系统确定所述一组处理器核心包括可用容量以实现所述一组VNF。
17.根据权利要求13至16中任一项所述的非暂时性计算机可读存储介质,其中,使所述系统确定是否将所述虚拟机映像实例化到所述一组处理器核心上的可执行指令进一步使所述计算机系统确定所述VNF的实现是否是可执行的,使得所述VNF和所述其他虚拟机的数据平面vCPU能够在单独的处理器上实现。
18.根据权利要求13至17中任一项所述的非暂时性计算机可读存储介质,其中:
所述一组处理器要求指定第一vCPU所需的第一专用处理器核心以及第二vCPU所需的第二专用处理器核心;并且
使所述系统确定是否将所述虚拟机映像实例化到所述一组处理器核心上的可执行指令进一步使所述计算机系统确定能够使用所述一组处理器核心分配所述第一专用处理器核心和所述第二专用处理器核心。
19.根据权利要求13至18中任一项所述的非暂时性计算机可读存储介质,其中,被配置为实现所述虚拟机的所述服务器还被配置为实现用于实施所述VNF和应用虚拟机的虚拟机。
20.根据权利要求13至19中任一项所述的非暂时性计算机可读存储介质,其中,所述一组处理器要求被封装到所述虚拟机映像中。
21.一种装置,包括:
用于获得实例化虚拟机映像以实现一组虚拟网络功能(VNF)的请求的模块,所述请求指定一个或多个处理器要求,所述一个或多个处理器要求对应于所述虚拟机映像的实例化;
用于从包括一组处理器核心的服务器识别可用处理器容量的模块,所述服务器被配置为实现受制于所述虚拟机的其他处理器要求的虚拟机;
用于基于所述可用处理器容量和所述一个或多个处理器要求确定是否将所述虚拟机映像实例化到所述服务器的处理器核心的子集上以产生确定的模块;以及
用于基于所述确定将所述虚拟机映像实例化到所述处理器核心的子集上以实现实施一组VNF的模块。
22.根据权利要求21所述的装置,还包括:用于实现根据权利要求2至6中的任一项所述的方法的模块。
23.一种计算机程序、计算机程序产品或计算机可读介质,包括指令,所述指令在由计算机执行时,使得所述计算机执行根据权利要求1至6中任一项所述的方法的步骤。
CN202180018651.1A 2020-03-05 2021-02-18 针对虚拟网络功能的计算资源分配 Pending CN115244509A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/809,959 2020-03-05
US16/809,959 US11567804B2 (en) 2020-03-05 2020-03-05 Computing resource allocation for virtual network functions
PCT/US2021/018604 WO2021178143A1 (en) 2020-03-05 2021-02-18 Computing resource allocation for virtual network functions

Publications (1)

Publication Number Publication Date
CN115244509A true CN115244509A (zh) 2022-10-25

Family

ID=74867686

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180018651.1A Pending CN115244509A (zh) 2020-03-05 2021-02-18 针对虚拟网络功能的计算资源分配

Country Status (4)

Country Link
US (2) US11567804B2 (zh)
EP (1) EP4115285A1 (zh)
CN (1) CN115244509A (zh)
WO (1) WO2021178143A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11250382B2 (en) 2018-03-05 2022-02-15 Nuance Communications, Inc. Automated clinical documentation system and method

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8621477B2 (en) * 2010-10-29 2013-12-31 International Business Machines Corporation Real-time monitoring of job resource consumption and prediction of resource deficiency based on future availability
US9727332B2 (en) * 2013-11-22 2017-08-08 International Business Machines Corporation Information technology resource management
US10798018B2 (en) * 2014-08-29 2020-10-06 Nec Corporation Method for operating a virtual network infrastructure
US10069680B1 (en) * 2015-03-16 2018-09-04 Amazon Technologies, Inc. Dedicated virtual computing system servers
US10521315B2 (en) * 2016-02-23 2019-12-31 Vmware, Inc. High availability handling network segmentation in a cluster
US10907930B2 (en) 2016-07-08 2021-02-02 Bryce L. Betteridge Impact absorbing padding system with elastomeric sub-surface structure
US20180173547A1 (en) 2016-12-20 2018-06-21 Intel Corporation Pinning of virtual network function (vnf) deployments using hardware metrics
TWI598744B (zh) * 2017-03-16 2017-09-11 廣達電腦股份有限公司 雲端資源之管理系統及其管理方法
US11652720B2 (en) * 2019-06-06 2023-05-16 Microsoft Technology Licensing, Llc Allocating cloud resources in accordance with predicted deployment growth
US11467915B2 (en) * 2019-10-18 2022-10-11 EMC IP Holding Company LLC System and method for backup scheduling using prediction models

Also Published As

Publication number Publication date
US20230168937A1 (en) 2023-06-01
US11842218B2 (en) 2023-12-12
EP4115285A1 (en) 2023-01-11
US11567804B2 (en) 2023-01-31
WO2021178143A1 (en) 2021-09-10
US20210279107A1 (en) 2021-09-09

Similar Documents

Publication Publication Date Title
US11799952B2 (en) Computing resource discovery and allocation
US11669372B2 (en) Flexible allocation of compute resources
EP3313023A1 (en) Life cycle management method and apparatus
EP3380937A1 (en) Techniques for analytics-driven hybrid concurrency control in clouds
KR102204670B1 (ko) 프록시 기반 멀티스레딩 메시지 전달 통신을 위한 기술
US10671571B2 (en) Fast network performance in containerized environments for network function virtualization
CN109522090B (zh) 资源调度方法及装置
CN102473106A (zh) 虚拟环境中的资源分配
Chun et al. Kubernetes enhancement for 5G NFV infrastructure
US11842218B2 (en) Computing resource allocation for virtual network functions
KR20220025746A (ko) 컴퓨팅 자원의 동적 할당
EP3994574A1 (en) Harvest virtual machine for utilizing cloud-computing resources
US11776087B2 (en) Function-as-a-service (FAAS) model for specialized processing units
CN115878333A (zh) 进程组间的一致性判断方法、装置及设备
CN115934624A (zh) 多主机远程直接内存访问网络管理的方法、设备及介质
CN114138422A (zh) 可扩展性的NVMe存储虚拟化方法和系统
CN117311910B (zh) 一种高性能虚拟密码机运行方法
CN111580935A (zh) 一种网络通信方法、装置、设备及存储介质
US20240036925A1 (en) Lcs sdxi data plane configuration system
CN111726251B (zh) 一种虚拟化系统中sds存储域的组网方法、系统及装置
US11809912B2 (en) System and method for allocating resources to perform workloads
CN117592133A (zh) Vsm的密码部件隔离方法、系统、设备及存储介质
CN110750354B (zh) 一种vCPU资源分配方法、装置和计算机可读存储介质
CN117130571A (zh) 基于多核异构系统的显示方法、设备、芯片、存储介质
CN110704163A (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