CN115878257A - 用于优化网络设备队列管理的方法和计算装置 - Google Patents
用于优化网络设备队列管理的方法和计算装置 Download PDFInfo
- Publication number
- CN115878257A CN115878257A CN202111374199.0A CN202111374199A CN115878257A CN 115878257 A CN115878257 A CN 115878257A CN 202111374199 A CN202111374199 A CN 202111374199A CN 115878257 A CN115878257 A CN 115878257A
- Authority
- CN
- China
- Prior art keywords
- workload
- shared processor
- shared
- processor resource
- resource
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
-
- 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
-
- 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
- G06F9/5072—Grid computing
-
- 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
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
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)
- Mathematical Physics (AREA)
- Multi Processors (AREA)
Abstract
本公开公开了用于优化网络设备队列管理的方法和计算装置。所述方法包括:网络设备队列管理器接收在云计算环境的节点上运行工作负载的请求,其中云计算环境包括多个节点;确定工作负载将由不处理设备中断的专用处理器资源运行;识别与该节点相关联的一个或多个共享处理器资源的集合,其中共享处理器资源的集合中的每个共享处理器资源处理设备中断;从一个或多个共享处理器资源的集合中选择处理器资源来在第一节点上运行第一工作负载;禁止所选处理器资源在运行工作负载时处理设备中断;以及用所选处理器资源运行工作负载。
Description
技术领域
本公开一般涉及计算机系统,更具体地,涉及优化云计算系统中工作负载的网络设备队列管理。
背景技术
平台即服务(Platform-as-a-Service,PaaS)系统产品可以包括软件和/或硬件设施,用于促进云计算环境(“云”)中的应用(网络应用、移动应用等)的运行。云计算是一种计算模式,其中用户与“云提供商”合作,在云提供商拥有和/或控制的计算机硬件上运行程序。云提供商可以为此目的向客户提供托管在其计算机硬件上的虚拟机(VM)。云提供商可以提供用户可以用来申请虚拟机和相关资源(如安全策略、处理器、存储装置和网络服务等)的接口,以及在虚拟机上安装和运行用户的应用和文件的界面。
PaaS产品可以促进应用工作负载的部署,而无需购买和管理底层硬件和软件以及供应托管能力的成本和复杂性,提供了支持构建和交付完全可从互联网获得的应用工作负载和服务的整个生命周期的设施。
附图说明
本公开通过示例而非限制的方式示出,并且当结合附图考虑时,可以参考以下具体实施方式更全面地理解本公开,其中:
图1描绘了根据本公开的一个或多个方面的示例计算机系统架构的高层组件图。
图2描绘了示出根据本公开的一个或多个方面的网络设备队列管理器的示例的框图,该网络设备队列管理器用于促进云计算环境中混合云网络工作负载的优化网络设备队列管理。
图3A示出了根据本公开的一个或多个方面,选择共享CPU来转换成用于在云计算环境的节点上运行工作负载的专用CPU的示例。
图3B示出了根据本公开的一个或多个方面,将共享CPU转换为用于在云计算环境的节点上运行工作负载的专用CPU的示例。
图3C示出了根据本公开的一个或多个方面,在云计算环境的节点上将专用CPU转换回共享CPU的示例。
图4描绘了根据本公开的一个或多个方面的用于促进云计算环境中混合云网络工作负载的优化网络设备队列管理的方法的流程图。
图5描绘了根据本公开的一个或多个方面的说明性计算机系统操作的框图。
具体实施方式
本文描述了用于优化云计算环境中工作负载的网络设备队列管理的方法和系统。与本地拥有的计算系统相比,云计算环境提供了许多优势。例如,云计算环境可以通过在多个用户和多个客户端之间共享资源来优化资源,从而降低采购和维护本地硬件的成本。此外,云计算环境为客户端提供了更好的可扩展性。用户无需购买额外的本地计算资源、支持更多的数据存储装置和购买更多的软件许可证来支持业务增长,而是可以租用更多的存储空间、获得更多的带宽并增加对由云计算提供商控制的软件程序的访问。此外,云计算环境可以包括多个节点,这些节点可以被供应为接收和运行可运行工作负载。
云计算环境中的每个节点都可以被供应,使得其处理器资源(例如,CPU资源)可以被配置为处理或禁止由与该节点相关联的设备发出的设备中断,这取决于对可运行工作负载的处理要求。特定节点的CPU可以被配置为“共享”处理器资源(也称为“保留”处理器资源或CPU),其可以处理可运行工作负载、操作系统(operating system,OS)操作、来自硬件设备的设备中断等。因此,如果向共享CPU发出更高优先级的OS任务或设备中断,则共享CPU运行的可运行工作负载可能会被中断。此外,节点的某些CPU可以配置为“专用”处理器资源(也称为“隔离”或“保证”处理器资源),其在运行工作负载时不处理设备中断或OS任务。请求100%CPU利用的工作负载可以利用这种类型的CPU供应,而不会被其他任务(例如,OS或设备中断)中断。例如,一些工作负载可以实现“用户级网络”功能,该功能将任何所需的网络操作合并到工作负载的用户空间中,从而消除了对会导致网络设备中断的系统网络资源的需求。由专用CPU运行的工作负载可以称为“用户级”、“保证”、“专用”等工作负载。
然而,以这种方式配置的云计算环境会给处理器资源可运行工作负载的管理带来挑战。传统系统通常将每个节点的CPU划分为静态池(例如,不可修改的组)——一个池用于共享CPU,另一个池用于专用CPU。以这种方式配置的节点可以提供处理保证工作负载的能力,同时提供处理OS和设备中断相关任务所需的共享资源。然而,这可能会导致在具有大量连接设备的环境中效率降低。如果节点配置的共享处理器资源太少,共享池可能不足以处理节点的设备在繁忙活动期间产生的中断通信量。
一些传统的云计算环境试图通过增加为处理OS任务和设备中断而保留的共享CPU的数量来缓解级联中断的风险。虽然这可以缓解中断处理器过载的问题,但这可能会导致较低中断活动期间的显著低效。如果一个节点配置了太多无法用于保证工作负载的共享处理器资源,则较低活动期间可能会导致共享资源保持空闲,从而浪费宝贵的处理能力,而这些能力原本可以用于运行保证工作负载。
本公开的各方面通过实现网络设备队列管理器(例如,作为计算机程序或计算机程序组件)来促进云计算环境中工作负载的优化网络设备队列管理,从而解决了上述和其他缺陷。节点的处理器资源最初可以配置为单个共享CPU池。网络设备队列管理器随后可以基于接收到的运行保证工作负载的请求,动态地将CPU从共享CPU重新配置为专用CPU。当接收到运行将由专用CPU运行的工作负载的请求时,网络设备队列管理器可以识别可用的共享CPU,并禁止该CPU在运行所请求的工作负载时处理设备中断。网络设备队列管理器可以通过更新共享CPU池以排除被选择来运行所请求的工作负载的CPU,并重新配置与节点相关联的每个设备仅向更新的共享资源池发送中断来促进这一点。随后,该节点的设备不应向新指定的专用CPU发送中断。
对于上述问题,本公开的方面呈现出优于传统解决方案的优点。首先,本公开的网络设备队列管理器能够动态管理节点的所有工作负载的处理器资源需求,而没有传统静态分割的限制。通过将CPU(或一组CPU)从共享资源转换为专用资源来运行特定的工作负载,并随后将其返回到共享资源池,网络设备队列管理器可以显著提高整个节点的处理器资源利用效率。此外,消除对静态处理器分割的需求可以为云服务提供商提供在同一集群节点中支持混合网络工作负载(例如,支持用户级网络以及内核/OS网络两者)的能力。这反过来可以显著提高特定节点上以及整个云计算系统两者中所供应的硬件资源的效率和成本效益。
图1是网络架构100的框图,本公开的实现可以在其中操作。在一些实现中,网络架构100可以用在容器化的计算服务平台中。容器化的计算服务平台可以包括平台即服务(PaaS)系统,如或/>PaaS系统为多个用户拥有或管理的应用的开发和运行提供资源和服务(例如,微服务)。PaaS系统提供了允许用户在集群计算环境(“云”)中构建应用和服务的平台和环境。尽管根据特定类型的系统描述了本公开的实现,但这不应被视为限制本公开的特征的范围或有用性。例如,本文描述的特征和技术可以与其他类型的多租户系统和/或容器化的计算服务平台一起使用。
如图1所示,网络架构100包括云计算环境130(本文也称为云),其包括节点111、112、121以运行应用和/或与应用相关联的过程。提供计算功能的“节点”可以为PaaS系统的应用提供运行环境。在一些实现中,“节点”可以指托管在物理机器(例如,被实现为云130的一部分的主机1 110到主机N 120)上的虚拟机(VM)。例如,节点111和112托管在云提供商104提供的云130中的主机1 110的物理机器上。在一些实现中,除了VM之外的环境可以用于运行PaaS应用的功能。当节点111、112、121被实现为VM时,它们可以由每个主机110、120上的操作系统(OS)115、125运行。
在一些实现中,主机110、120通常位于数据中心。用户可以使用客户端计算机系统,例如客户端160、170和180,经由相应的客户端软件161、171和181,与基于云的节点111、112、121上运行的应用进行交互。客户端软件161、171、181可以包括诸如网络浏览器的应用。在其他实现中,应用可以直接托管在主机1 110到N 120上,而不使用VM(例如,“裸机”实现),并且在这样的实现中,主机本身被称为“节点”。
客户端160、170和180经由网络102连接到云130和云提供商系统104中的主机110、120,网络102可以是私有网络(例如,局域网(LAN)、广域网(WAN)、内联网或其他类似的私有网络)或公共网络(例如,互联网)。每个客户端160、170、180可以是移动设备、PDA、膝上型电脑、台式计算机、平板计算设备、服务器设备或任何其他计算设备。每个主机110、120可以是服务器计算机系统、台式计算机或任何其他计算设备。云提供商系统104可以包括一个或多个机器,例如服务器计算机、台式计算机等。
在各种实现中,应用的开发者、拥有者和/或系统管理员可以通过为云130中的相关联的节点提供软件开发服务、系统管理服务或其他相关类型的配置服务来维护在云130中运行的应用。这可以通过使用适用的云服务提供商系统104内的应用编程接口访问云130来实现。在一些实现中,开发者、拥有者或系统管理员可以从客户端设备(例如,客户端160、170和180)访问云服务提供商系统104,该客户端设备包括用于与各种云组件交互的专用软件。附加地或替代地,可以使用基于网络或基于云的应用来访问云服务提供商系统104,该应用在经由网络102与客户端设备通信的独立计算设备上运行。
在一个实现中,云提供商系统104经由网络102耦合到云控制器108。云控制器108可以驻留在一个或多个机器(例如,服务器计算机、台式计算机等)上,并且可以管理云130中应用的运行。在一些实现中,云控制器108从容器化的系统控制器140接收命令。鉴于这些命令,云控制器108向云提供商系统104提供与不同应用相关联的数据(例如,诸如预先生成的图像)。在一些实现中,数据可以被提供给云提供商104,并且存储在图像储存库106中、位于每个主机110、120上的图像储存库(未示出)中、或者位于每个节点111、112、121上的图像储存库(未示出)中。该数据可以用于由容器化的系统控制器140管理的容器化的计算服务平台的应用的运行。
在各种实现中,数据可以用于一个或多个可运行工作负载151、152、153的运行。在各种实现中,工作负载151、152、153可以是舱(pod)、容器、要在舱、容器或虚拟机(VM)中运行的独立应用、本身托管一个或多个应用的VM、本身托管一个或多个应用或VM的容器进程、或者可以由云控制器108或容器化的系统控制器140中的云计算系统调度器调度的任何其他实体或可运行组件。
在一些实现中,舱可以是一起部署在同一节点111、112、121上的一个或多个容器的组,并且是可以在容器化的计算服务环境中定义、部署和管理的最小计算单元。每个舱都分配有自己的内部IP地址,舱内的容器可以共享本地存储装置和网络。舱可以具有定义的生命周期,并且可以在节点111、112、121上运行,直到舱的容器退出或者它们由于某种其他原因被移除。
容器可以包括由预先存在的应用组件和管理应用的用户的源代码构建的应用映像。映像可以指表示应用的可运行文件和文件的数据,用于为应用的运行时实例部署功能。在一些实现中,可以使用各种类型的容器化技术(例如DockerTM)来构建应用映像。映像构建系统(未示出)可以利用特定于用户提供的应用的源代码,通过组合对应于应用的核心功能组件(例如,网络框架、数据库等)的预先存在的准备运行的应用映像来为应用生成应用映像。所得到的应用映像可以被推送到图像储存库106,用于随后启动应用映像的实例,以便在PaaS系统中运行。
在各种实现中,容器可以是节点111、112、121上的安全进程空间,以运行应用的功能。在一些实现中,在节点111、112、121和122处建立容器,该容器可以访问底层节点的某些资源,包括存储器和存储装置。在一个实现中,可以使用Linux容器(LXC)方法来建立容器。在进一步的实现中,容器也可以使用cgroups、SELinuxTM和内核名称空间来建立,仅举几个例子。
在一些实现中,每个节点111、112、121可以包括网络设备队列管理器142,以优化与适用节点相关联的网络设备队列管理。网络设备队列管理器142可以配置其相关联节点111、112、121的属性,使得该节点的每个处理器资源(例如,处理器、CPU等)最初被配置为共享处理器资源。共享处理器资源是与节点相关联的、可以处理可运行工作负载以及设备中断、操作系统功能等的处理器、CPU等。因此,共享处理器资源是可被更高优先级任务中断的非专用资源。
当接收到运行将由专用处理器资源运行的工作负载151、152、153的请求时,网络设备队列管理器可以将一个或多个节点的共享处理器资源转换成用于运行该工作负载的专用处理器资源。专用处理器资源是与节点相关联的、专用于不中断地运行可运行工作负载的处理器、CPU等。因此,专用处理器资源不应被操作系统任务、设备中断等中断。专用处理器资源在本文也可以称为“隔离”处理器资源/处理器/CPU等或“保证”处理器资源/处理器/CPU等。
网络设备队列管理器142可以接收在云130中运行工作负载的请求。在一些实现中,可以从客户端160、170、180之一接收请求。或者,可以从云控制器108或容器化的系统控制器140的调度组件接收请求。请求可以与要在云130内运行的新工作负载相关联。或者,请求可以响应于识别当前正在运行的工作负载,该工作负载可以被选择用于迁移到另一个节点。
如下面将进一步详细讨论的,网络设备队列管理器142可以确定所请求的工作负载是否将由不处理设备中断的专用处理资源(例如,专用CPU)来运行。如下文进一步详细描述的,将由专用CPU运行的工作负载可以被称为“专用”工作负载(例如,需要“专用”CPU的工作负载)、“用户级”工作负载(例如,提供其自己的网络能力并因此不利用操作系统网络资源的工作负载)、“保证”工作负载(例如,需要保证不中断的CPU利用的工作负载)等。如果网络设备队列管理器142确定所请求的工作负载将由专用CPU运行,则网络设备队列管理器142可以识别与节点相关联的、被配置为处理设备中断的共享处理器资源(例如,共享CPU)池,并且选择一个或多个共享处理器资源(这取决于所请求的工作负载的需要)来运行所请求的工作负载。
一旦从节点的处理器资源池中选择了共享处理器资源,网络设备队列管理器142就可以禁止所选处理器资源在运行所请求的工作负载时处理设备中断。如下面进一步详细描述的,“禁止”过程可以在所选工作流的运行期间将(一个或多个)所选共享处理器资源转换成(一个或多个)专用处理器资源。在各种实现中,网络设备队列管理器142可以通过重新配置该节点的所有设备仅向共享处理器资源池中的那些处理器资源发送中断来完成该过程。因此,该节点上的设备不应该向已经被分配用于运行“用户级”、“保证”等的工作负载的专用CPU发送任何中断。网络设备队列管理器142随后可以在(一个或多个)转换后的专用处理器上运行所请求的工作负载。
当工作负载完成运行时,网络设备队列管理器142可以通过将该工作负载使用的任何专用CPU转换回共享CPU来反转该过程。网络设备队列管理器142可以将这些CPU返回到共享CPU池,并重新配置与该节点相关联的设备,以恢复向这些CPU发送设备中断。在一些实现中,当另一个工作负载已经被转移用于请求专用CPU的运行时,可以绕过这个再转换过程以节省处理资源。因此,可以为请求专用CPU的新工作负载供应专用CPU,而无需先将其返回共享CPU池。
虽然本公开的各方面将网络设备队列管理器142描述为在PaaS环境中实现,但是应当注意,在其他实现中,安全简档管理器也可以在基础设施即服务(Iaas)环境中实现,例如Red Hat此外,尽管为了说明的简单,图1描绘了单个云130,但是本公开的方面可以被实现为管理跨多个云130的工作负载。在这种情况下,网络设备队列管理器142可以管理混合云环境、多集群云环境等中的设备队列。网络设备队列管理器142将在下面参考图2-4进一步详细描述。
图2描绘了示出网络设备队列管理器210的示例的框图,该网络设备队列管理器210用于促进云计算环境中混合云网络工作负载的优化网络设备队列管理。在一些实现中,网络设备队列管理器210可以对应于图1的网络设备队列管理器142。如图2所示,网络设备队列管理器210可以是计算装置200的组件,计算装置200包括可操作地耦合到存储器201的处理设备205,以运行工作负载资源管理器210。在一些实现中,处理设备205和存储器201可以分别对应于如下面参考图5所述的处理设备502和主存储器504。
网络设备队列管理器210可以包括请求接收器211、处理器资源确定器212、共享处理器资源识别器213、共享处理器资源选择器214、中断禁止模块215、中断使能模块216、工作负载运行模块217和调度器通知模块218。可选地,请求接收器211、处理器资源确定器212、共享处理器资源识别器213、共享处理器资源选择器214、中断禁止模块215、中断使能模块216、工作负载运行模块217和调度器通知模块218中的一个或多个的功能可以组合成单个模块或者分成多个子模块。
请求接收器211负责接收在云计算环境的节点上运行工作负载的请求。如上所述,在一些实现中,云计算环境可以包括多个节点,其中节点可以包括舱和/或容器,其可以用于运行环境中的一个或多个进程。在各种实现中,工作负载进程可以是舱、容器、要在容器、舱或虚拟机(VM)中运行的独立应用、自身托管一个或多个应用的虚拟机、自身托管一个或多个应用或VM的容器进程、或者可以由云计算系统调度器调度的任何其他实体或组件。以这种方式配置的云计算环境可以是基于的环境、基于/>的环境等。在一些实现中,云计算环境可以是由相同或不同云提供商的多个云组成的混合云或多集群云环境(例如,一个云可以是/>云,第二个云可以是/>云,第三个云可以是Amazon Web/>(AWS)云等)。
在各种实现中,请求接收器模块211可以从客户端设备(例如,图1的客户端设备160、170、180)接收运行工作负载的请求。请求可以从云计算环境的开发者或系统管理员接收,以运行应用过程。或者,请求可以从访问由环境提供的云计算服务的终端用户接收。在其他实现中,请求可以从云计算环境的调度器组件(例如,图1的云控制器108或容器化的系统控制器140的组件)接收,以在特定节点上运行工作负载。
在一些实现中,请求接收器模块211可以接收与工作负载进程相关联的附加偏好信息,该信息将用于选择节点上的处理器资源来运行工作负载。在一些实现中,请求可以指定相关联的工作负载是将由将不处理设备中断的CPU(例如,“隔离”、“专用”或“保证”CPU)运行的“用户级”、“保证”工作负载。在其他实现中,请求可以包括与所请求的工作负载相关联的配置信息,该配置信息指示该工作负载将由专用处理器资源运行。例如,该请求可以包括配置信息,该配置信息指示所请求的工作负载将执行其自己的网络,并且不应该被设备中断所中断。在配置信息与请求一起被接收的情况下,该信息可以被存储以供网络设备队列管理器210的其他组件稍后使用(例如,作为工作负载配置数据202)。
处理器资源确定器212负责确定与接收到的请求相关联的工作负载是否将由不处理设备中断的专用处理器资源(例如,“隔离”、“专用”或“保证”CPU)来运行。在一些实现中,处理器资源确定器212可以根据与请求一起接收的信息来做出该确定。例如,如上所述,请求可以指定工作负载是否由专用处理器资源运行。可选地,处理器资源确定器212可以使用与所请求的工作负载相关联的配置信息(例如,工作负载配置数据202)来做出该确定。在一些实现中,响应于确定工作负载将由专用处理器资源运行,处理器资源确定器212可以向与该工作负载相关联的工作负载配置添加注释(例如,标志、属性等),以指示这一确定。例如,处理器资源确定器212可以向与所请求的工作负载相关联的工作负载配置数据202添加配置数据,以指示该工作负载是将由不处理设备中断的CPU运行的“用户级”或“保证”工作负载。
共享处理器资源识别器213负责识别与该节点相关联的一组共享处理器资源。在各种实现中,该组共享处理器资源中的每个共享处理器资源可以处理设备中断。换句话说,没有一个共享处理器资源(例如,没有一个“非隔离”CPU)已经被分配给“用户级”或“保证”工作负载。在一些实现中,共享处理器资源识别器213可以识别节点的所有共享处理器资源,无论它们是否与调度的任务相关联。在其他实例中,共享处理器资源识别器213可以识别没有被调度来执行任何其他任务的那些共享处理器资源(例如,那些空闲的和/或不与调度的任务相关联的共享处理器资源)。
在一些实现中,共享处理器资源识别器213可以根据节点提供操作有效性所需的处理器资源的最小数量来做出其确定。换句话说,在确定节点上是否有任何可用的处理资源要分配给需要专用处理器资源的工作负载时,共享处理器资源识别器213可以将应该保持共享资源(例如,并且不分配给需要专用处理器资源的工作负载)的处理器数量用作因素。在这种情况下,共享处理器资源识别器213可以确定所识别的共享处理器资源组中的共享处理器资源的数量。随后,共享处理器资源识别器213可以确定共享处理器资源的数量是否满足低阈值数量。例如,如果节点应该至少有三个共享处理器来处理该节点的设备中断和操作系统操作,则阈值可以设置为三。如果该节点的可用共享处理器资源数量下降到三个,则这将满足低阈值。
响应于确定共享处理器资源的数量满足低阈值数量,共享处理器资源识别器213可以向云计算环境的调度器组件发送指示,以使该组件在云计算环境中具有要分配给工作负载的附加处理资源的不同节点上重新调度工作负载。继续上述示例,如果阈值被设置为三个处理器资源,并且所识别的组中的当前数量下降到三个,则共享处理器资源识别器213可以调用调度器通知模块218来通知云计算环境的调度器在不同的节点上重新调度工作负载。
共享处理器资源选择器214负责从该节点上的共享处理器资源集合中选择处理器资源来运行第一工作负载。在一些实现中,共享处理器资源选择器214可以随机(或伪随机)进行选择。或者,共享处理器资源选择器214可以基于与该节点相关联的处理器的数量以循环方式进行选择。在其他实现中,共享处理器资源选择器214可以选择最近没有被选择来运行需要专用处理资源的工作负载(例如,另一个“用户级”或“保证”工作负载)的处理器资源。在其他实现中,共享处理器资源选择器214可以选择最近被选择来运行“用户级”或“保证”工作负载的处理器资源。在后一种情况下,网络设备队列管理器210的一些组件可以被绕过,如下所述(例如,中断禁止模块215)。
在一些实现中,一旦已经选择了处理器资源(或多个处理器资源)来运行所请求的工作负载,共享处理器资源选择器214就可以向与节点的处理器相关联的配置数据(例如,处理器配置数据203)添加注释,该注释指示每个处理器是否被分配给“用户级”或“保证”工作负载。例如,已经分配给这种工作负载的处理器可以被指定为“隔离”、“专用”、“保证”等。类似地,保持共享处理器资源的处理器可以被指定为“非隔离”、“非专用”、“非保证”、“共享”等。当共享处理器资源选择器214做出(一个或多个)选择时,它可以附加地更新跟踪每个类别中的处理器数量的配置数据。共享处理器资源识别器214的后续运行可以使用该数量来确定可用共享处理器资源的数量是否满足如上所述的任何低阈值数量。
中断禁止模块215负责在运行工作负载时禁止所选处理器资源处理设备中断。如上所述,“禁止”是指系统地防止共享处理资源处理由与节点相关联的任何设备发出的设备中断的过程。在各种实现中,中断禁止模块215可以通过在运行接收到的工作负载时将所选处理器资源转换成专用处理器资源来禁止所选处理器处理设备中断。
在一些实现中,中断禁止模块215可以通过从共享处理器集合中移除由共享处理器资源选择器214选择的处理器来执行该操作。在一些情况下,中断禁止模块215可以修改适当的计数器,该计数器跟踪共享处理资源池中的共享处理器的数量以及已经被分配了“用户级”或“保证”工作负载的专用处理器的数量。随后,中断禁止模块215然后可以识别与节点相关联的设备,并且重新配置它们中的每一个,以仅向所述共享处理器资源的更新的集合发送中断,而不向任何专用处理器资源(例如,不在共享处理器资源集合中的处理器)发送中断。
在各种实现中,当在云计算环境中启动节点时,启动过程为每个设备配置中断队列,以将该设备定向到它可以向其发送中断的特定处理器。在这种情况下,每当处理器资源从共享处理器转换到专用处理器时,中断禁止模块215可以重新运行该过程以执行设备重新配置。类似地,如下所述,每当处理器资源从专用处理器转换回共享处理器时,可以重新运行该过程来重新配置设备。在一些实现中,作为重新配置过程的一部分,中断禁止模块215可以将与节点相关联的每个设备的中断队列计数设置为节点中处理器资源的总数减去专用处理器资源的数量。因此,每个设备的中断队列计数应该代表可以处理设备中断的共享处理器资源的总数。
如上所述,在一些实现中,随后接收的使用专用处理器资源运行另一工作负载的请求可以被分配给最近已经完成运行先前接收的“用户级”工作负载的专用处理器。在这种情况下,网络设备队列管理器可以向新接收的工作负载重新供应专用处理器资源,而不是识别将要转换成专用资源的共享资源。在这种情况下,中断禁止模块215可以被绕过,因为处理器已经被转换为专用处理器,因此消除了重新配置设备以将其排除在接收设备中断之外的需要。
工作负载运行模块217负责使用分配的(一个或多个)专用处理器资源运行工作负载。一旦工作负载已经完成运行,工作负载运行模块217就可以调用中断使能模块216来将专用处理器资源转换回共享处理器资源。在一些实现中,如上所述,分配给该工作负载的专用处理器资源可以被分配给将由专用处理器资源运行的新接收的工作负载。在这些情况下,中断使能模块216和中断禁止模块215两者都可以被绕过,因为处理器已经被转换成专用处理器,所以可以消除两个设备重新配置周期以降低额外的处理成本。
中断使能模块216负责将所述专用处理器资源转换回能够处理设备中断的共享处理器资源。在各种实现中,中断使能模块216可以响应于确定工作负载已经完成运行而被调用。可选地,如果适用的专用处理器没有被重新分配给另一个工作负载,则可以调用中断使能模块216,从而消除了当前为该处理器重新使能中断的需要。
在专用处理器将被重新转换回共享处理器的情况下,中断使能模块216可以更新处理器配置数据203,以从专用处理器集合中移除适用的(一个或多个)处理器,并将适用的(一个或多个)处理器添加到共享处理器资源集合中。类似地,中断使能模块216可以确定要重新转换的处理器资源的数量,将该数量加到共享处理器资源的总数上,并从专用处理器资源的总数中减去该数量。随后,中断使能模块216可以执行上述设备重新配置过程,以配置每个节点的设备仅向新所述共享处理器资源的更新的集合发送中断。
调度器通知模块218负责通知云计算环境的调度器重新调度不同节点上的工作负载。如上所述,如果当前选择的节点不具有可用的处理器资源来允许将共享处理器资源转换为专用处理器资源以满足请求,则共享处理器资源识别器213可以调用调度器通知模块218来使得所请求的工作负载被调度在不同的节点上。
图3A-3C示出了针对云计算环境的节点300上的混合云网络工作负载的优化网络设备队列管理的示例。如图3A所示,网络设备队列管理器142接收在节点300上运行工作负载310的请求。如上参考图2所述,网络设备队列管理器142可以确定工作负载310是“保证”或“用户级”工作负载,其将由不处理设备中断的“专用”或“隔离”CPU运行。同样如上所述,网络设备队列管理器142可以识别与节点300相关联的共享处理器资源集合(例如,共享CPU320),其中这些处理器资源中的每一个处理设备中断。如图所示,设备341、342、343是与节点300相关联的硬件设备(例如,网络设备等),每个设备被配置为向共享CPU组320中的所有CPU(CPU 321-324)发送中断(由中断350描述)。
随后,网络设备队列管理器142可以选择共享CPU 320中一个(或多个)来运行工作负载310。如图3A的操作361所示,网络设备队列管理器142可以选择共享CPU 324来运行工作负载310,因为没有已经为该节点供应的禁止设备中断的可用专用CPU。
如图3B所示,网络设备队列管理器142可以通过将CPU 324从共享CPU动态转换为专用CPU来禁止CPU 324处理由设备341、342、343发出的设备中断。网络设备队列管理器142可以从共享CPU集合320中移除CPU 324,并将其添加到专用CPU 325的集合中(由操作362示出)。另外,网络设备队列管理器142可以重新配置设备341、342、343中的每一个,以修改中断队列,使得设备将设备中断发送到修改的共享CPU组320(例如,CPU 321、323、323),而不是发送到CPU 324(由更新的中断351示出)。随后,网络设备队列管理器142可以使用所选CPU 324启动工作负载310的运行。
如图3C所示,当工作负载310完成运行时,网络设备队列管理器142将所选CPU从专用CPU池返回到共享CPU池320。如图所示,网络设备队列管理器142可以通过将CPU 324添加回共享CPU池320(操作364)来将专用CPU 324转换回共享CPU 324。网络设备队列管理器142可以附加地识别节点300的设备,并且再次重新配置设备341、342、343中的每一个,以修改中断队列,使得设备将设备中断发送到被修改的共享CPU组320(例如,CPU 321、322、322和再次324),这由更新的中断352示出。对于由网络设备队列管理器142接收的将由专用CPU资源运行的任何附加工作负载,可以重复上述过程。
应当注意,虽然图3A-3C示出了基于特定的CPU集合和设备的网络设备队列管理的特定示例,但是在其他实现中,本公开的方面可以应用于具有更多或更少CPU和/或设备的节点。
图4描绘了用于促进云计算环境中混合云网络工作负载的优化网络设备队列管理的示例方法400的流程图。该方法可以由包括硬件(电路、专用逻辑等)的处理逻辑、计算机可读指令(在通用计算机系统或专用机器上运行)或两者的组合来执行。在说明性示例中,方法400可以由图1中的网络设备队列管理器142来执行。或者,方法400的一些或全部可以由另一个模块或机器来执行。应当注意,图4中描绘的框可以同时执行,或者以与描绘的顺序不同的顺序执行。
在框405,处理逻辑接收在云计算环境的节点上运行工作负载的请求,其中云计算环境包括多个节点。在框410,处理逻辑确定该工作负载将由不处理设备中断的专用处理器资源来运行。在框415,处理逻辑识别与该节点相关联的一个或多个共享处理器资源的集合,其中该共享处理器资源的集合中的每个共享处理器资源处理设备中断。在框420,处理逻辑从该一个或多个共享处理器资源的集合中选择处理器资源,来在第一节点上运行第一工作负载。在框425,处理逻辑禁止所选处理器资源在运行工作负载时处理设备中断。在框430,处理逻辑用所选处理器资源运行工作负载。
图5描绘了可以执行本文描述的任何一种或多种方法的示例计算机系统500。在一个示例中,计算机系统500可以对应于图1的计算机系统100。计算机系统可以连接(例如,联网)到LAN、内联网、外联网或互联网中的其他计算机系统。计算机系统可以在客户机-服务器网络环境中以服务器的能力运行。计算机系统可以是个人计算机(PC)、机顶盒(STB)、服务器、网络路由器、交换机或网桥,或者能够(顺序地或以其他方式)运行一组指令的任何设备,这些指令指定了该设备要采取的动作。此外,虽然示出了单个计算机系统,但是术语“计算机”也应被理解为包括单独或共同运行一组(或多组)指令以执行本文讨论的任何一种或多种方法的任何计算机集合。
示例性计算机系统500包括处理设备502、主存储器504(例如只读存储器(ROM)、闪存、诸如同步动态随机存取存储器(SDRAM)的动态随机存取存储器(DRAM))、静态存储器506(例如闪存、静态随机存取存储器(SRAM)和数据存储设备516,它们经由总线508相互通信。
处理设备502代表一个或多个通用处理设备,例如微处理器、中央处理单元等。更具体地,处理设备502可以是复杂指令集计算(CISC)微处理器、精简指令集计算(RISC)微处理器、超长指令字(VLIW)微处理器、或者实现其他指令集的处理器或者实现指令集组合的处理器。处理设备502也可以是一个或多个专用处理设备,例如专用集成电路(ASIC)、现场可编程门阵列(FPGA)、数字信号处理器(DSP)、网络处理器等。处理设备502被配置为运行包括网络设备队列管理器142的处理逻辑(例如,指令526),用于执行本文讨论的(例如,对应于图4的方法等的)操作和步骤。
计算机系统500还可以包括网络接口设备522。计算机系统500还可以包括视频显示单元510(例如,液晶显示器(LCD)或阴极射线管(CRT))、字母数字输入设备512(例如,键盘)、光标控制设备514(例如,鼠标)和信号生成设备520(例如,扬声器)。在一个说明性示例中,视频显示单元510、字母数字输入设备512和光标控制设备514可以组合成单个组件或设备(例如,LCD触摸屏)。
数据存储设备516可以包括非暂时性计算机可读介质524,其上可以存储包括网络设备队列管理器142(例如,对应于图4的方法等)的指令526,体现本文描述的任何一个或多个方法或功能。网络设备队列管理器142也可以在计算机系统500运行其期间完全或至少部分地驻留在主存储器504和/或处理设备502中,主存储器504和处理设备502也构成计算机可读介质。网络设备队列管理器142还可以经由网络接口设备522在网络上发送或接收。
虽然计算机可读存储介质524在说明性示例中被示为单个介质,但是术语“计算机可读存储介质”应当被理解为包括存储一组或多组指令的单个介质或多个介质(例如,集中式或分布式数据库,和/或相关联的高速缓存和服务器)。术语“计算机可读存储介质”还应被理解为包括能够存储、编码或携带一组由机器运行的指令并使机器执行本公开的任何一种或多种方法的任何介质。因此,术语“计算机可读存储介质”应被理解为包括但不限于固态存储器、光学介质和磁介质。
虽然本文的方法的操作以特定的顺序示出和描述,但是每个方法的操作顺序可以改变,使得某些操作可以以相反的顺序执行,或者使得某些操作可以至少部分地与其他操作同时执行。在某些实现中,不同操作的指令或子操作可以以间歇和/或交替的方式进行。
应当理解,以上描述旨在说明性的,而不是限制性的。在阅读和理解以上描述后,许多其他实现对于本领域技术人员来说将是显而易见的。因此,本公开的范围应当参考所附权利要求以及这些权利要求所赋予的等同物的全部范围来确定。
在以上描述中,阐述了许多细节。然而,对于本领域的技术人员来说,显而易见的是,可以在没有这些具体细节的情况下实践本公开的各个方面。在一些情况下,公知的结构和设备以框图形式示出,而不是详细示出,以避免模糊本公开。
除非特别声明,否则从下面的讨论中显而易见的是,在整个描述中,使用诸如“接收”、“确定”、“运行”、“识别”、“选择”、“禁止”等术语的讨论是指计算机系统或类似的电子计算设备的动作和过程,该计算机系统或类似的电子计算设备将计算机系统的寄存器和存储器中表示为物理(电子)量的数据操纵和转换成计算机系统的存储器或寄存器或其他这样的信息存储、传输或显示设备中类似地表示为物理量的其他数据。
本公开还涉及一种用于执行本文的操作的装置。该装置可以为特定目的而专门构造,或者它可以包括由存储在计算机中的计算机程序选择性激活或重新配置的通用计算机。这种计算机程序可以存储在计算机可读存储介质中,例如但不限于任何类型的盘,包括软盘、光盘、CD-ROM和磁光盘、只读存储器(ROM)、随机存取存储器(RAM)、EPROM、EEPROM、磁卡或光卡,或者任何类型的适于存储电子指令的介质,每个都耦合到计算机系统总线。
本文呈现的公开的方面并不固有地与任何特定的计算机或其他装置相关。根据本文的教导,各种通用系统可以与程序一起使用,或者可以证明构建更专用的装置来执行指定的方法步骤是方便的。各种这些系统的结构将在下面的描述中出现。此外,本公开的方面没有参考任何特定的编程语言来描述。应当理解,可以使用各种编程语言来实现本文描述的本公开的教导。
本公开的方面可以作为计算机程序产品来提供,该计算机程序产品可以包括其上存储有指令的机器可读介质,该指令可以用于对计算机系统(或其他电子设备)进行编程以执行根据本公开的过程。机器可读介质包括用于以机器(例如,计算机)可读的形式存储或传输信息的任何机制。例如,机器可读(例如,计算机可读)介质包括机器(例如,计算机)可读存储介质(例如,只读存储器(“ROM”)、随机存取存储器(“RAM”)、磁盘存储介质、光存储介质、闪存设备等)。
词语“示例”或“示例性的”在本文用于表示用作示例、实例或说明。本文中描述为“示例”或“示例性”的任何方面或设计不应被解释为优于或优于其他方面或设计。相反,词语“示例”或“示例性”的使用旨在以具体的方式呈现概念。如在本申请中所使用的,术语“或”意在表示包含性的“或”,而不是排他性的“或”。也就是说,除非另有说明,或者上下文清楚,“X包括A或B”意在表示任何自然的包含置换。即如果X包含A;X包括B;或者X既包括A又包括B,则在前述任一情况下满足“X包括A或B”。此外,本申请和所附权利要求中使用的冠词“一”和“一个”通常应被解释为表示“一个或多个”,除非另有说明或从上下文中清楚地指向单数形式。此外,术语“实施例”或“一个实施例”或“实现”或“一个实现”的使用并不意味着相同的实施例或实现,除非如此描述。此外,如本文所使用的术语“第一”、“第二”、“第三”、“第四”等是指用于区分不同元素的标签,并且根据它们的数字名称可能没有序数意义。
Claims (20)
1.一种用于优化网络设备队列管理的方法,包括:
由处理设备接收在云计算环境的节点上运行工作负载的请求,其中所述云计算环境包括多个节点;
确定所述工作负载将由不处理设备中断的专用处理器资源运行;
识别与所述节点相关联的一个或多个共享处理器资源的集合,其中所述共享处理器资源的集合中的每个共享处理器资源处理设备中断;
从所述一个或多个共享处理器资源的集合中选择处理器资源来在第一节点上运行第一工作负载;
在运行所述工作负载时禁止所选处理器资源处理设备中断;以及
用所选处理器资源运行工作负载。
2.根据权利要求1所述的方法,其中,禁止所选处理器资源处理设备中断还包括:
将所选处理器资源转换成专用处理器资源来运行所述工作负载。
3.根据权利要求2所述的方法,其中,将所选处理器资源转换成专用处理器资源还包括:
从共享处理器资源的集合中移除所选处理器资源,以生成共享处理器资源的更新的集合;
识别与第一节点相关联的一个或多个设备;以及
将所述一个或多个设备中的每一个配置为向所述共享处理器资源的更新的集合发送中断。
4.根据权利要求2所述的方法,还包括:
检测所述工作负载已经完成运行;以及
将所述专用处理器资源转换回能够处理设备中断的共享处理器资源。
5.根据权利要求4所述的方法,其中,将所述专用处理器资源转换回共享处理器资源还包括:
将所述专用处理器资源添加到所述共享处理器资源的集合,以生成共享处理器资源的更新的集合;
识别与第一节点相关联的一个或多个设备;以及
将所述一个或多个设备中的每一个配置为向所述共享处理器资源的更新的集合发送中断。
6.根据权利要求1所述的方法,还包括:
确定所述共享处理器资源的集合中的共享处理器资源的数量;
确定所述共享处理器资源的数量是否满足低阈值数量;以及
响应于确定所述共享处理器资源的数量满足低阈值数量,向所述云计算环境的调度器组件发送指示,以使所述调度器组件在所述云计算环境的另一节点上重新调度所述工作负载。
7.根据权利要求1所述的方法,其中,确定所述工作负载将由专用处理资源运行还包括:
确定所述请求包括工作负载将由专用处理器资源运行的指示。
8.根据权利要求1所述的方法,其中,确定所述工作负载将由专用处理资源运行还包括:
根据与所述工作负载相关联的配置属性,确定所述工作负载执行一个或多个用户级网络操作。
9.一种用于优化网络设备队列管理的计算装置,包括:
存储器;和
处理设备,其可操作地耦合到所述存储器,用于:
接收在云计算环境的节点上运行工作负载的请求,其中所述云计算环境包括多个节点;
确定所述工作负载将由不处理设备中断的专用处理器资源运行;
识别与所述节点相关联的一个或多个共享处理器资源的集合,其中所述共享处理器资源的集合中的每个共享处理器资源处理设备中断;
当运行工作负载时,禁止所述一个或多个共享处理器资源的集合中的至少一个处理器资源处理设备中断;以及
用所述至少一个处理器资源运行所述工作负载。
10.根据权利要求9所述的计算装置,其中,为了禁止所述至少一个处理器资源处理设备中断,所述处理设备还用于:
将所述至少一个处理器资源转换成专用处理器资源来运行所述工作负载。
11.根据权利要求10所述的计算装置,其中,为了将所述至少一个处理器资源转换成专用处理器资源,所述处理设备还用于:
从所述共享处理器资源的集合中移除所述至少一个处理器资源,以生成共享处理器资源的更新的集合;
识别与第一节点相关联的一个或多个设备;以及
将所述一个或多个设备中的每一个配置为向所述共享处理器资源的更新的集合发送中断。
12.根据权利要求10所述的计算装置,其中,所述处理设备还用于:
检测所述工作负载已经完成运行;以及
将所述专用处理器资源转换回能够处理设备中断的共享处理器资源。
13.根据权利要求12所述的计算装置,其中,所述处理设备还用于:
将所述专用处理器资源添加到所述共享处理器资源的集合,以生成共享处理器资源的更新的集合;
识别与第一节点相关联的一个或多个设备;以及
将所述一个或多个设备中的每一个配置为向所述共享处理器资源的更新的集合发送中断。
14.根据权利要求9所述的计算装置,其中,所述处理设备还用于:
确定所述共享处理器资源的集合中的共享处理器资源的数量;
确定所述共享处理器资源的数量是否满足低阈值数量;以及
响应于确定所述共享处理器资源的数量满足低阈值数量,向所述云计算环境的调度器组件发送指示,以使所述调度器组件在所述云计算环境的另一节点上重新调度所述工作负载。
15.一种具有存储在其中的指令的非暂时性计算机可读存储介质,当所述指令由计算机系统的处理设备运行时,使得所述处理设备:
接收在云计算环境的节点上运行工作负载的请求,其中所述云计算环境包括多个节点;
确定所述工作负载将由不处理设备中断的专用处理器资源运行;
识别与所述节点相关联的一个或多个共享处理器资源的集合,其中所述共享处理器资源的集合中的每个共享处理器资源处理设备中断;
当运行所述工作负载时,禁止所述一个或多个共享处理器资源的集合中的至少一个处理器资源处理设备中断;以及
用所述至少一个处理器资源运行所述工作负载。
16.根据权利要求15所述的非暂时性计算机可读存储介质,其中,为了禁止所述至少一个处理器资源处理设备中断,所述处理设备还:
将所述至少一个处理器资源转换成专用处理器资源来运行所述工作负载。
17.根据权利要求16所述的非暂时性计算机可读存储介质,其中,为了将所述至少一个处理器资源转换成专用处理器资源,所述处理设备还:
从所述共享处理器资源的集合中移除所述至少一个处理器资源,以生成共享处理器资源的更新的集合;
识别与第一节点相关联的一个或多个设备;以及
将所述一个或多个设备中的每一个配置为向所述共享处理器资源的更新的集合发送中断。
18.根据权利要求16所述的非暂时性计算机可读存储介质,其中,所述处理设备还:
检测所述工作负载已经完成运行;以及
将所述专用处理器资源转换回能够处理设备中断的共享处理器资源。
19.根据权利要求18所述的非暂时性计算机可读存储介质,其中,所述处理设备还:
将所述专用处理器资源添加到所述共享处理器资源的集合,以生成共享处理器资源的更新的集合;
识别与第一节点相关联的一个或多个设备;以及
将所述一个或多个设备中的每一个配置为向所述共享处理器资源的更新的集合发送中断。
20.根据权利要求15所述的非暂时性计算机可读存储介质,其中,所述处理设备还:
确定所述共享处理器资源的集合中的共享处理器资源的数量;
确定所述共享处理器资源的数量是否满足低阈值数量;以及
响应于确定所述共享处理器资源的数量满足低阈值数量,向所述云计算环境的调度器组件发送指示,以使所述调度器组件在所述云计算环境的另一节点上重新调度所述工作负载。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/488,129 US11716378B2 (en) | 2021-09-28 | 2021-09-28 | Optimized network device queue management for hybrid cloud networking workloads |
US17/488,129 | 2021-09-28 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115878257A true CN115878257A (zh) | 2023-03-31 |
Family
ID=78709253
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111374199.0A Pending CN115878257A (zh) | 2021-09-28 | 2021-11-19 | 用于优化网络设备队列管理的方法和计算装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11716378B2 (zh) |
EP (1) | EP4155931A1 (zh) |
CN (1) | CN115878257A (zh) |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8346935B2 (en) | 2010-01-15 | 2013-01-01 | Joyent, Inc. | Managing hardware resources by sending messages amongst servers in a data center |
EP2583211B1 (en) * | 2010-06-15 | 2020-04-15 | Oracle International Corporation | Virtual computing infrastructure |
US8806015B2 (en) * | 2011-05-04 | 2014-08-12 | International Business Machines Corporation | Workload-aware placement in private heterogeneous clouds |
US9495649B2 (en) * | 2011-05-24 | 2016-11-15 | International Business Machines Corporation | Workload-to-cloud migration analysis based on cloud aspects |
US8977735B2 (en) * | 2011-12-12 | 2015-03-10 | Rackspace Us, Inc. | Providing a database as a service in a multi-tenant environment |
US8930542B2 (en) * | 2012-01-23 | 2015-01-06 | International Business Machines Corporation | Dynamically building a set of compute nodes to host the user's workload |
US9282118B2 (en) * | 2012-11-13 | 2016-03-08 | Intel Corporation | Policy enforcement in computing environment |
US9294557B2 (en) * | 2013-04-19 | 2016-03-22 | International Business Machines Corporation | Hardware level generated interrupts indicating load balancing status for a node in a virtualized computing environment |
US9277001B2 (en) * | 2013-06-17 | 2016-03-01 | International Business Machines Corporation | Determining location of hardware components in a cloud computing environment based on hardware components self-locating other hardware components |
US9703589B2 (en) | 2013-08-26 | 2017-07-11 | Vmware, Inc. | Networking stack of virtualization software configured to support latency sensitive virtual machines |
US10394587B2 (en) * | 2016-01-06 | 2019-08-27 | International Business Machines Corporation | Self-terminating or self-shelving virtual machines and workloads |
US10802998B2 (en) | 2016-03-29 | 2020-10-13 | Intel Corporation | Technologies for processor core soft-offlining |
US10078576B2 (en) | 2016-03-29 | 2018-09-18 | International Business Machines Corporation | Remotely debugging an operating system |
US10452572B2 (en) * | 2016-10-06 | 2019-10-22 | Vmware, Inc. | Automatic system service resource management for virtualizing low-latency workloads that are input/output intensive |
CN109697120B (zh) | 2017-10-20 | 2023-06-27 | 伊姆西Ip控股有限责任公司 | 用于应用迁移的方法、电子设备 |
US11016798B2 (en) | 2018-06-01 | 2021-05-25 | The Research Foundation for the State University | Multi-hypervisor virtual machines that run on multiple co-located hypervisors |
US11113115B2 (en) | 2019-08-28 | 2021-09-07 | Adva Optical Networking Se | Dynamic resource optimization |
-
2021
- 2021-09-28 US US17/488,129 patent/US11716378B2/en active Active
- 2021-11-19 EP EP21209169.8A patent/EP4155931A1/en active Pending
- 2021-11-19 CN CN202111374199.0A patent/CN115878257A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
EP4155931A1 (en) | 2023-03-29 |
US11716378B2 (en) | 2023-08-01 |
US20230093884A1 (en) | 2023-03-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11204793B2 (en) | Determining an optimal computing environment for running an image | |
US10514960B2 (en) | Iterative rebalancing of virtual resources among VMs to allocate a second resource capacity by migrating to servers based on resource allocations and priorities of VMs | |
US8825863B2 (en) | Virtual machine placement within a server farm | |
RU2569805C2 (ru) | Виртуальная архитектура неоднородной памяти для виртуальных машин | |
US9038065B2 (en) | Integrated virtual infrastructure system | |
US8910153B2 (en) | Managing virtualized accelerators using admission control, load balancing and scheduling | |
US9195294B2 (en) | Cooperatively managing enforcement of energy related policies between virtual machine and application runtime | |
US20160350157A1 (en) | Dynamic thread pool management | |
US20130019015A1 (en) | Application Resource Manager over a Cloud | |
Hashem et al. | MapReduce scheduling algorithms: a review | |
Xu et al. | Adaptive task scheduling strategy based on dynamic workload adjustment for heterogeneous Hadoop clusters | |
US20140075435A1 (en) | System, method and program product for cost-aware selection of stored virtual machine images for subsequent use | |
Himthani et al. | Comparative analysis of VM scheduling algorithms in cloud environment | |
Rathore | A REVIEW TOWARDS: LOAD BALANCING TECHNIQUES. | |
US20230055276A1 (en) | Efficient node identification for executing cloud computing workloads | |
US11868805B2 (en) | Scheduling workloads on partitioned resources of a host system in a container-orchestration system | |
WO2022078060A1 (en) | Tag-driven scheduling of computing resources for function execution | |
Islam et al. | Resource management and scheduling for big data applications in cloud computing environments | |
US11716378B2 (en) | Optimized network device queue management for hybrid cloud networking workloads | |
US11567796B2 (en) | Configuring hardware multithreading in containers | |
WO2023274014A1 (zh) | 容器集群的存储资源管理方法、装置及系统 | |
Dong et al. | Heterogeneous resource management and orchestration in cloud environments | |
US20240152404A1 (en) | Container cross-cluster capacity scaling | |
Deepan Babu et al. | An Appraisal on Assortment of Optimization Factors in Cloud Computing Environment | |
Morrison | Heterogeneous Resource Management and Orchestration in Cloud Environments |
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 |