CN107003905B - 针对可配置计算资源的本地服务链而动态分配资源的技术 - Google Patents
针对可配置计算资源的本地服务链而动态分配资源的技术 Download PDFInfo
- Publication number
- CN107003905B CN107003905B CN201580063535.6A CN201580063535A CN107003905B CN 107003905 B CN107003905 B CN 107003905B CN 201580063535 A CN201580063535 A CN 201580063535A CN 107003905 B CN107003905 B CN 107003905B
- Authority
- CN
- China
- Prior art keywords
- virtual
- performance
- configurable
- performance information
- resources
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- 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
-
- 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- 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/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/5055—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 software capabilities, i.e. software resources associated or available to the machine
-
- 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45591—Monitoring or debugging support
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5011—Pool
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Power Sources (AREA)
Abstract
示例可以包括用于提供对服务链的性能优化的技术,以减小瓶颈和/或增加效率。可以接收针对使用可配置计算资源共享池实现的服务链的虚拟元件的性能的信息。可以基于所接收的信息而调整对支持服务链的虚拟元件的可配置计算资源的部分的资源分配。
Description
技术领域
概括的说,本申请中描述的示例涉及可配置的计算资源。
背景技术
软件定义的架构(SDI)是一种技术进步,其使得能够实现用于操作被部署以在数据中心中或作为云架构的一部分使用的可配置的计算资源的共享池的新方法。SDI可以允许可配置计算资源的***的个体元件利用软件来组成。这些元件可以包括诸如CPU、存储器、网络输入/输出设备或存储设备之类的分解的物理元件。这些元件也可以包括构成的元件,这些构成的元件可以包括组成用于形成逻辑服务器的各种数量或组合的物理元件,这些逻辑服务器然后可以支持布置成实现服务/工作负荷元件的虚拟元件。
可以将SDI的虚拟元件按序排列(ordered)以形成服务链。一般而言,服务链中的每一个虚拟元件将会具有不同的性能限制。因此,虚拟元件可能成为服务链的整体性能的瓶颈。
附图说明
图1描绘了第一***的示例。
图2-4描绘了部分的示例性第二***。
图5描绘了示例性的第三***。
图6描绘了针对装置的示例性框图。
图7描绘了逻辑流的示例。
图8描绘了存储介质的示例。
图9描绘了示例性计算平台。
具体实施方式
如在本公开中所预期的,SDI可以允许可配置计算资源的共享池的个体元件利用软件来组成。可以从这些按序排列的一组虚拟元件来形成服务链。此外,可以将服务链分类为本地服务链。如在本申请中所使用的,本地服务链是包含在一个物理平台上执行的两个或更多个虚拟元件(例如,虚拟机(VM)、容器等)的服务链。在一些示例中,云架构的协调器可以试图将服务链的虚拟元件放置在同一地方,例如以减小延迟、最小化物理链路上的业务等。相应地,可以形成本地服务链。
由于服务链的各种虚拟元件具有不同的性能限制,所以在服务链中可能形成瓶颈。更具体地,服务链的每一虚拟元件可以在底层硬件的预先分配的部分上操作。由于每一虚拟元件的硬件需求不同,且可以在操作间变化,所以服务链的虚拟元件可能变成瓶颈。例如,虚拟元件可能变成针对吞吐量、延迟、功率效率等的瓶颈。
根据一些示例,提供了用于向服务链(或本地服务链)中的虚拟元件动态分配资源以优化服务链的性能并减小瓶颈的技术。可以监控服务链中虚拟元件的性能。基于所监控的性能,可以分配资源或可以修改资源分配以增加服务链的性能。例如,性能监控器可以确定在服务链中瓶颈在哪里并向导致瓶颈的虚拟元件分配更多的资源,以增加整体的服务链性能。
重要的是要注意到,在服务链的操作期间可以动态地进行资源分配。这样的话,可以修改针对服务链的资源分配以应对(account for)网络业务或计算需求中的变化。此外,重要的是要注意到,可以管理各种资源,诸如,例如处理组件(CPU、GPU等)、存储器、高速缓存、加速器等之类的。此外,可以优化多种不同的性能度量,诸如例如用电量、吞吐量、延迟等之类的。
图1描绘了示例性的第一***100。在一些示例中,***100包括分解的物理元件110、构成的元件120、虚拟化的元件130、服务链140、以及服务链优化器(SCO)150。在一些示例中,SCO 150可以布置成管理或控制分解的物理元件110、构成的元件120、虚拟化的元件130或服务链140中的至少一些方面。如下文更多描述的,在一些示例中,SCO 150可以接收针对使用可配置计算资源的共享池所提供的服务链的信息,上述服务链可以包括图1中描绘的所选择的元件。SCO 150可以管理资源的分配以优化服务链140的性能。
根据一些示例,如在图1中所示出的,分解的物理元件110可以包括112-1至112-n,其中“n”是任何大于1的正整数。CPU 112-1至112-n可以个体地表示单个微处理器或可以表示多核微处理器的单个内核。分解的物理元件110还可以包括存储器114-1至114-n。存储器114-1至114-n可以表示各种类型的存储设备,例如但不限于,可以包含在双列直插存储模块(DIMM)或其他配置中的动态随机存取存储器(DRAM)设备。分解的物理元件110还可以包括存储设备116-1至116-n。存储设备116-1至116-n可以表示诸如硬盘驱动或固态驱动之类的各种类型的存储设备。分解的物理元件110还可以包括网络(NW)输入/输出(I/O)118-1至118-n。NW I/O 118-1至118-n可以包括具有一个或多个NW端口的网络接口卡(NIC),上述NW端口具有在***100之内或在***100之外的网络连接的关联的媒体访问控制(MAC)功能。分解的物理元件110还可以包括NW交换机119-1至119-n。NW交换机119-1至119-n可以能够经由针对***100的元件的内部或外部网络链路来路由数据。
在一些示例中,如在图1中所示出的,构成的元件120可以包括逻辑服务器122-1至122-n。对于这些示例,来自分解的物理元件110的成组的CPU、存储器、存储设备、NW I/O或NW交换机元件可以被构成以形成逻辑服务器122-1至122-n。每一逻辑服务器可以包括任何数目的CPU、存储器、存储设备、NW I/O或NW交换机元件或CPU、存储器、存储设备、NW I/O或NW交换机元件的任何组合。
根据一些示例,如在图1中所示出的,虚拟化的元件130可以包括多个虚拟机(VM)132-1至132-n,虚拟交换机(vSwitches)134-1至134-n、虚拟网络功能(VNF)136-1至136-n、或容器138-1至138-n。应当理解的是,虚拟元件130可以被配置成实现各种不同的功能和/或执行各种不同的应用。例如,VM 132-a可以是配置成或表现为特定机器的多种虚拟机中的任何一个且可以作为VM的一部分执行个体的操作***。VNF 136-n可以是各种网络功能中的任何一个,例如分组检测、入侵检测、加速器等。容器138-a可以被配置成执行或实行各种应用或操作,诸如例如电子邮件处理、网络服务、应用处理、数据处理等。
在一些示例中,虚拟化的元件130可以被布置以形成服务链140。如在图1中所示出的,在一些示例中,服务链140可以包括VM 132-a、VNF 136-a、和/或容器138-a。此外,服务链的个体虚拟元件可以通过vSwitches 134-a来连接。此外,在一些示例中,针对给定服务链140的虚拟化的元件130中的每一个可以由构成的元件120中的逻辑服务器122-1至122-n中的给定逻辑服务器来支持。
例如,可以从诸如CPU 112-1至CPU 112-6之类的分解的物理元件来形成逻辑服务器122-1(参考图2-5)。本地服务链142-1可以从VNF 136-1至136-3形成且可以由逻辑服务器122-1支持。因此,逻辑服务器链142-a的VNF可以被配置成使用逻辑服务器122-1的计算资源(例如,CPU 112-1至112-6)的一部分操作。换言之,可以针对逻辑服务链142-1的虚拟元件中的每一个而分配逻辑服务器122-1的计算资源的一部分。
SCO 150可以被配置成接收针对服务链(例如,服务链142-a)的性能信息并基于所接收的信息针对组成服务链的任何数目的虚拟元件(例如,虚拟化的元件130)分配(或调整分配)可配置资源(例如,分解的物理元件110)的共享池的一部分。
图2-4描绘了示例性的第二***200。重要的是要注意到,参考图1中示出的示例性***100的部分描述示例性的第二***200。这是为了准确和清晰的目的。但是,可以利用上文针对***100讨论的不同元件来实现示例性的***200。由此,对图1的参考不是用来进行限制的。一般而言,这些附图示出了***200包括本地服务链142-1。具体而言,图2示出了本地服务链142-1和针对该服务链的虚拟元件中的每一个的第一资源分配210-a;而图3更详细地示出了本地服务链142包含各种性能监控器,这些性能监控器被配置成监控服务链的虚拟元件的性能和服务链的数据吞吐量;而图4示出了本地服务链142-1和可以由SCO 150基于从图3中示出的性能监控器接收的信息提供的、针对该服务链的虚拟元件的第二资源分配210-a。
更具体地转到图2,描绘了本地服务链142-1包含VNF 136-1至136-3。此外,描绘了示出通过本地服务链142-1的数据路径的服务链输入201和服务链输出203。可以在逻辑服务器122-1上实现本地服务链142-1。重要的是要注意到,虽然在此提供的示例示出了在逻辑服务器上实现的本地服务链,但是这不是用来进行限制的。更具体地,本公开可以应用于扩展超过一个服务器的服务链和或在根据分解的物理元件(参考图5)形成的云架构中实现。但是,在本示例中,为了清晰和解释的方便,使用了一服务器链。
服务链142-1中的每一虚拟元件被描绘为具有资源分配210-a。资源分配210-a与用于实现逻辑服务器122-1的分解的物理元件110的部分对应。更具体地,资源分配210-a与用于实现本地服务链142-1的每一虚拟元件(例如,VNF 136-a等)的分解的物理元件110的一部分对应。
例如,资源分配210-1被示出包含CPU 112-1、CPU 112-2、高速缓存113-1、存储器114-1、以及N/W IO 118-1。资源分配210-1被进一步示出支持VNF 136-1。资源分配210-2被示出包含CPU 112-3、CPU 112-4、高速缓存113-2、存储器114-2、以及N/W IO 118-2。资源分配210-2被进一步示出支持VNF 136-2。资源分配210-3被示出包含CPU 112-5、CPU 112-6、高速缓存113-3、存储器114-3、以及N/W IO 118-3。资源分配210-3被进一步示出支持VNF136-3。
更具体地转向图3,***200被示出包含在***200中实现的监控器。此外,示出了协调器160和资源分配器170。一般而言,协调器160被配置成实现策略并管理整个***100且更具体地可以管理在其内实现本地服务链142-1的云架构。资源分配器170被配置成分配分解的物理元件110的各部分以支持本地服务链,且更具体地以分配特定资源以支持特定虚拟元件。
***200可以进一步包括性能监控器。具体而言,***200可以包括虚拟性能监控器(vMonitor)222-a和物理性能监控器(pMonitor)224-a。一般而言,vMonitor 222-a可以被实现为监控虚拟元件内部的性能而pMonitor 224-a可以被实现为监控在虚拟元件外部的性能。利用一些示例,给定的vMonitor 222-a可以被配置成监控缓冲器的队列深度、监控等待被执行的线程的数目等。例如,VNF 136-1被描绘包含vMonitor 222-1。vMonitor 222-1可以被实现为VNF 136-1的一部分或可以在VNF 136-1之外(例如,作为单独的虚拟元件等)实现但是被配置成监控在VNF 136-1之内的性能。更具体地,如果虚拟元件是专属元件(例如,用于入侵检测的专属虚拟功能),则如本申请中所描述的,VNF的供应商可以包括用于促成对性能的报告的vMonitor。在一些示例中,如果虚拟元件被实现为容器,则云架构可以包括被配置成监控容器的内部操作的vMonitor 222-a。例如,VNF 136-3可以被实现为容器(例如,容器138-a中的一个)且vMonitor 222-2被实现为监控在容器之内的各种缓冲器、寄存器、队列、堆栈等。
利用一些示例,pMonitor 224-a被配置成监控通过服务链(例如,从输入201至输出203)的数据流的性能,且具体地监控在位于服务链的虚拟元件之间的每一点处的性能。此外,pMonitor 224-a可以被配置成监控支持虚拟元件的分解的物理元件110的性能。例如,pMonitor 224-1、224-2和224-3被配置成监控相应的资源分配210-a和通过服务本地服务链路142-1的数据路径的部分。在一些示例中,pMonitor 224-a可以被配置成监控***200的各个数据处理部分(例如,vSwitches 134-a、N/W IO 118-a、共享内容等)以监控通过本地服务链142-1的数据流(例如,吞吐量等),以识别可以与***中的瓶颈对应的虚拟元件。利用一些示例,pMonitor 224-a可以被配置成监控逻辑服务器122-1的其他部分或实现逻辑服务器122-1的分解的物理元件110。例如,给定的pMonitor 224-a可以被配置成监控针对资源分配210-a的高速缓存丢失、CPU利用率、存储器利用率等。
SCO 150可以被配置成接收针对服务链142-1的性能信息。具体而言,SCO 150可以被配置成从vMonitor 222-a和pMonitor 224-a接收性能信息,性能信息包括对形成本地服务链142-1的各种虚拟元件的性能的指示。例如,SCO 150可以从vMonitor 222-1和pMonitor 224-1接收针对VNF 136-1的性能信息。此外,SCO 150可以从pMonitor 224-2接收针对VNF 136-2的性能信息。此外,SCO 150可以从vMonitor 222-2和pMonitor 224-3接收针对VNF 136-3的性能信息。
此外,SCO 150可以基于所接收的信息而确定资源分配(例如,资源分配210-a)或对资源分配的调整(参考图4)。一般而言,SCO 150可以基于具体的策略或“目标”而确定分配或对分配的调整,上述策略或“目标”可以从协调器160接收。例如,SCO 150可以确定分配或对分配的调整,以最小化***200和/或本地服务链142-1的功耗。SCO 150可以确定分配或对分配的调整150,以最小化***200和/或本地服务链142-1的存储器使用率。SCO 150可以确定分配或对分配的调整150,以最大化***200和/或本地服务链142-1的吞吐量。SCO150可以确定分配或对分配的调整150,以最大化***200和/或本地服务链142-1的计算功率。
更具体地转向图4,***200被示出具有经调整的资源分配。具体而言,示出了资源分配210-4、210-5和210-3。具体而言,在图2-3中被示出为支持VNF 136-1的资源分配210-1被示出为利用资源分配210-4替换或调整;在图2-3中被示出为支持VNF 136-2的资源分配210-2被示出为利用资源分配210-5替换或调整;在图2-3中被示出为支持VNF 136-3的资源分配210-3在图4中被示出为相同的(或未经调整的)。
在一些示例中,SCO 150可以被配置成确定要对资源分配进行的调整。利用一些示例,SCO 150可以确定需要增加或减小处理功率。例如,在给定的VNF 136-a中,如果策略指定了要保留功率,且性能信息指示CPU 112-a未被充分使用(例如,基于pMonitor 224-a监控CPU的112-a的C状态等),则SCO 150可以确定针对给定VNF 136-a的资源分配被调整为包括更少的计算功率(例如,较少的CPU 112-a)。例如,资源分配210-5包括比资源分配210-2更少的CPU 112-a,但是在***200中支持相同的VNF 136-a。
在一些示例中,如果策略指定了网络吞吐量要被最大化且性能信息指示给定VNF136-a正在最大化(例如,基于监控vSwitches 134-a、N/W IO元件118-a等)其被分配的网络带宽,则SCO 150可以确定针对给定VNF 136-a的资源分配被调整为增加网络带宽,从而增加了通过服务链的整体吞吐量。例如,资源分配210-4包括比资源分配210-1更少更多的N/WIO 118-a,但是在***200中支持相同的VNF 136-a。
重要的是要注意到,本公开可以被实现为优化不是服务链一部分的虚拟元件的性能。此外,本公开可以被实现为优化由跨逻辑服务器实现的云架构支持的服务链或虚拟元件的性能。图5描绘了第三示例性***300。***300包括具有通过VNF 136-1的、从输入301到输出303的数据路径的VNF 136-1。此外,***300包括VM 132-1和容器138-1。VNF 136-1、VM 132-1和容器138-1由分解的物理元件110且具体地由分解的物理元件110的资源分配310-a支持。例如,VNF 136-1被描绘为由资源分配310-1支持,VM 132-1被描绘为由资源分配310-2支持且容器138-1被描绘为由资源分配310-3支持。SCO 150可以被配置成从在***300内实现的监控器(例如,vMonitor、pMonitor等)接收性能信息,以分配或调整分配或分解的物理元件110,以优化VNF 136-1的性能。例如,pMonitor 324-a可以在***300中实现,以监控分解的物理元件110的性能。此外,VNF 136-1和/或***300的其他虚拟元件可以具有实现为监控***300的虚拟元件的内部性能的vMonitor(参考图2-4)。
图6描绘了装置600的示例性框图。虽然在图6中示出的装置600在特定的拓扑中具有有限数目的元件,但是可以明白的是,如针对给定实现所期望的,在可供替换的拓扑中,装置600可以包括更多或更少的元件。
根据一些示例,装置600可以由在针对***的管理元件处保持的或利用针对***的管理元件保持的电路620支持,上述***包括诸如在针对***100、200、和/或300的图1-5中示出的的SCO 150之类的可配置计算资源的共享池。电路620可以布置成执行一个或多个软件或固件实现的模块或组件622-a。值得注意的是,“a”和“b”和“c”以及本申请中使用的类似的指示符意在作为表示任何正整数的变量。从而,例如,如果一实现设置值a=3,则针对组件622-a的完整的软件或固件集可以包括622-1、622-2或622-3。在该上下文中不限制所呈现的示例且贯穿使用的不同变量可以表示相同的或不同的整数值。此外,这些“组件”可以是在计算机可读介质中存储的软件/固件,且虽然在图6中示出了上述组件为不同的框,但是这并不将这些组件限制为存储在不同的计算机可读介质组件中(例如,相分离的存储器等)。
根据一些示例,电路620可以包括处理器、处理器电路或处理器电路***。电路620可以是支持针对诸如SCO 150的云架构的管理元件的主机处理器电路的一部分。一般而言,电路620可以布置成执行一个或多个软件组件622-a。电路620可以是各种市场上可以买到的处理器中的任何一个,包括但不限于及处理器;应用,嵌入式和安全处理器;和及处理器;IBM和单元处理器;Core(2)Corei3、Core i5、Core i7、Xeon及处理器;以及类似的处理器。根据一些示例,电路620也可以包括专用集成电路(ASIC)且至少一些组件622-a可以被实现为ASIC的硬件元件。
在一些示例中,装置600可以包括接收组件622-1。接收组件622-1可以由电路620执行以接收针对正使用可配置计算资源的共享池提供的网络服务的信息,网络服务包括服务链和/或本地服务链。一般而言,接收组件622-1可以包括无线收发机、射频收发机、接收机接口、和/或由电路620执行的软件来接收本申请中描述的信息。对于这些示例,信息610-a可以包括所接收的信息。具体而言,信息610-a可以包括数据路径性能信息610-1和/或应用性能信息610-2。数据路径性能信息610-1可以与从pMonitor接收的信息对应,而应用性能信息610-2可以与从vMonitor接收的信息对应。
根据一些示例,装置600还可以包括策略组件622-2。策略组件622-2可以由电路620执行以及接收策略信息612。策略信息612可以包括对策略或目标的指示,优化装置600被配置成针对这些策略和目标而管理其的***的性能。具体而言,策略信息可以包括针对给定服务链、本地服务链、和/或使用可配置计算资源的共享集实现的虚拟组件(例如,***100、200、和/或300)的优化目标的指示。
装置600还可以包括资源调整组件622-3。资源调整组件622-3可以由电路620执行,以确定资源分配调整613。具体而言,资源调整组件622-3可以确定对支持元件的资源分配或对资源分配的调整。对于这些示例,资源调整组件622-3可以使用数据路径性能信息610-1和/或应用性能信息610-2以及策略信息612来确定资源分配或对资源分配的调整以根据在策略信息612中指示的策略优化服务链的虚拟元件的性能。
装置600和实现装置600的设备、节点或逻辑服务器的各种组件可以通过各种类型的通信介质通信地彼此耦合以协调操作。该协调可以涉及信息的单向或双向交换。例如,组件可以通过通信介质以所传送到信号的形式来传送信息。上述信息可以被实现为向各种信号线分配的信号。在这样的分配中,每一信息是信号。但是,进一步的实施例,可以可供替换地利用数据消息。可以跨各种连接来发送这样的数据消息。示例性的连接包括并行接口、串行接口和总线接口。
在本申请中包含的是一组代表用于执行所公开的架构的新颖性方面的示例性方法的逻辑流。但是,为了解释简单的目的,在本申请中示出的一个或多个方法被示出并描述为一系列的动作,本领域的熟练技术人员将理解和明白所述方法并不受动作顺序的限制。根据其,一些动作可以以与在本申请中示出和描述的不同的顺序发生和/或与在本申请中示出和描述的其他动作同时发生。例如,本领域的熟练技术人员将理解和明白的是,一种方法可以可供替换地被表示为一系列的相互关联的状态或事件,例如在状态图中。此外,针对新颖的实现,并非在一种方法中描绘的所有动作都需要。
逻辑流可以在软件、固件和/或硬件中实现。在软件和固件实施例中,逻辑流可以由在诸如光学的、磁性的或半导体存储器之类的至少一非暂时性计算机可读介质或机器可读介质上存储的计算机可执行指令实现。所述实施例并不受限在该上下文中。
图7描绘了示例性的逻辑流700。逻辑流700可以代表由本申请中所描述的、诸如装置600之类的、一个或多个逻辑、特征或设备执行的一些或全部操作。更具体地,逻辑流700可以由接收组件622-1或资源调整组件622-3中的至少一个实现。
根据一些示例,框710处的逻辑流700可以接收针对使用可配置计算资源的共享池提供的服务链的性能信息,服务链包括多个虚拟元件,性能信息包括对虚拟元件的性能的指示。例如,接收组件622-1可以接收性能信息,例如数据路径性能信息610-1和/或虚拟性能信息610-2。
在一些示例中,在框720处的逻辑流700可以基于所接收的信息针对虚拟元件中的一个而分配可配置资源的共享池的一部分。例如,资源调整组件622-3可以确定资源分配、确定对资源分配所做的调整,或分配,在一些例子中,资源调整组件622-3可以基于所接收的信息确定资源分配调整614以优化服务链的性能(例如,功率、吞吐量等)。
此外,重要的是要注意到,本公开可以被实现为动态地调整针对服务链的资源分配(例如,在实现服务链的***的操作期间)。因此,可以重复(迭代地、周期性地等)逻辑流700,以基于重复地接收性能信息(例如,在框710处)和重复地调整资源分配(例如,在框720处)而调整资源分配。由此,逻辑流700可以被实现成在应对改变的条件(例如,网络数据、计算需求等)的操作期间,优化服务链的性能。
图8描绘了示例性的存储介质800。如在图8中所示出的,第一存储介质包括存储介质800。存储介质800可以包括制品。在一些示例中,存储介质800可以包括任何非暂时性计算机可读介质或机器可读介质,例如光学的、磁性的或半导体存储器。存储介质800可以存储各种类型的计算机可执行指令,例如用于实现逻辑流700的指令。计算机可读或机器可读存储介质的示例可以包括能够存储电子数据的任何有形的介质,包括易失性存储器或非易失性存储器、可移除或不可移除存储器、可擦除或不可擦除存储器、可写或可重写存储器等。计算机可执行指令的示例可以包括任何适当类型的代码,例如源代码、经过编译的代码、经过解释的代码、可执行代码、静态码、动态码、面向对象的码、视码等。在该上下文中,示例不受限制。
图9描绘了示例性的计算平台900。在一些示例中,如在图9中所示出的,计算平台900可以包括处理组件940、其他平台组件950或通信接口960。根据一些示例,计算平台900可以托管为诸如图1中的***100、图2-4中的***200、或图5中的***300之类的具有可配置计算资源的共享池的***提供管理功能的管理元件(例如,云架构协调器、网络数据中心服务链协调器等)。计算平台900可以是包含分解的组件或根据可配置计算资源的共享池构成的元件的组合的单个物理服务器或构成的逻辑服务器。
根据一些示例,处理组件940可以执行针对装置600和/或存储介质800的处理操作或逻辑。处理组件940可以包括各种硬件元件、软件元件、或两者的组合。硬件组件的示例可以包括设备、逻辑设备、组件、处理器、微处理器、电路、处理器电路、电路元件(例如,晶体管、电阻、电容、电感等)、集成电路、专用集成电路(ASIC)、可编程逻辑设备(PLD)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、存储单元、逻辑门、寄存器、半导体设备、芯片、微芯片、芯片集等。软件元件的示例可以包括软件组件、程序、应用、计算机程序、应用程序、设备驱动器、***程序、软件开发程序、机器程序、操作***软件、中间件、固件、软件模块、例程、子例程、函数、方法、过程、软件接口、应用程序接口(API)、指令集、计算代码、计算机代码、代码段、计算机代码段、字、值、符号、或其任何组合。针对给定示例所想要的,根据任何数目的诸如期望的计算速率、功率级别、热耐受性、处理循环预算、输入数据速率、输出数据速率、存储器资源、数据总线速度以及其他的设计或性能约束条件之类的因素确定使用硬件元件和/或软件元件实现的示例是否可以改变。
在一些示例中,其他的平台组件950可以包括公共计算元件,诸如一个或多个处理器、多核处理器、协同处理器、存储器单元、芯片集、控制器、***设备、接口、振荡器、时序设备、视频卡、音频卡、多媒体输入/输出(I/O)组件(例如,数字显示器)、电源供应器等之类的。存储器单元的示例可以包括但不限于具有一个或多个较高速度存储器单元形式的各种类型的计算机可读和机器可读存储,例如只读存储器(ROM)、随机存取存储器(RAM)、动态RAM(DRAM)、双数据速率DRAM(DDRAM)、同步DRAM(SDRAM)、静态RAM(SRAM)、可编程ROM(PROM)、可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、闪存、诸如铁电聚合物存储器之类的聚合物存储器、双向存储器、相变或铁电存储器、二氧化硅-氮化硅-二氧化硅-硅(SONOS)存储器、磁卡或光卡、诸如独立磁盘冗余阵列(RAID)驱动器之类的设备阵列、固态存储设备(例如,USB存储器)、固态驱动器(SSD)以及适合存储信息的任何其他类型的存储介质。
在一些示例中,通信接口960可以包括用于支持通信接口的逻辑和/或特征。对于这些示例,通信接口960可以包括根据各种通信协议或标准操作以通过直接或网络通信链路通信的一个或多个通信接口。直接通信可以通过使用在诸如与PCIe规范关联的标准之类的一个或多个工业标准(包括后代和变异)中描述的通信协议或标准来产生。网络通信可以通过使用诸如在由IEEE颁布的一个或多个以太网标准中描述的协议或标准之类的通信协议或标准来产生。例如,一个这样的以太网标准可以包括IEEE 802.3。网络通信也可以根据诸如开放流硬件抽象API规范之类的一个或多个开放流规范来产生。网络通信还可以根据无限带宽体系规范或TCP/IP协议来产生。
如所提及的,上文的计算平台900可以在单个服务器或由针对可配置计算资源的共享池的所组成的分解组件或元件组成的逻辑服务器中实现。因此,如针对物理的或逻辑的服务器所适当期望的,可以在计算平台900的各种实施例中包含或省略在本申请中描述的计算平台900的功能和/或具体配置。
可以使用分立电路、专用集成电路(ASIC)、逻辑门和/或单个芯片架构的任何组合来实现计算平台900的组件和特征。此外,计算平台900的特征可以使用微控制器、可编程逻辑阵列和/或微处理器或在适当的情况下前述内容的任何组合来实现。要注意的是,在本申请中,可以将硬件、固件和/或软件元件集合地或个别地称为“逻辑”或“电路”。
应该明白的是,在图9的框图中示出的示例性计算平台900可以表示许多潜在实现的一个功能性描述示例。因此,对附图中描绘的框功能的分割、省略或包含并不表明用于实现这些功能的硬件组件、电路、软件和/或元件在实施例中必须被分割、省略或包含。
在表示处理器中的各个逻辑的至少一个机器可读介质上存储的代表性指令可以实现示例的一个或多个方面,当由机器读取上述指令时,计算设备或***使得机器、计算设备或***制造逻辑以执行本申请中描述的技术。这样的表示称为“IP内核”,其可以存储在有形的、机器可读介质中,并向各种客户或制造厂商提供以加载到实际制作该逻辑或处理器的制造机器中。
可以使用硬件元件、软件元件、或其组合来实现各种示例。在一些示例中,硬件元件可以包括设备、组件、处理器、微处理器、电路、电路元件(例如,晶体管、电阻、电容、电感等)、集成电路、专用集成电路(ASIC)、可编程逻辑设备(PLD)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、存储器单元、逻辑门、寄存器、半导体设备、芯片、微芯片、芯片集等。在一些示例中,软件元件可以包括软件组件、程序、应用、计算机程序、应用程序、***程序、机器程序、操作***软件、中间件、固件、软件模块、例程、子例程、函数、方法、过程、软件接口、应用程序接口(API)、指令集、计算代码、计算机代码、代码段、计算机代码段、字、值、符号或其任何组合。如针对给定的实现所想要的,根据任何数目的因素,例如期望的计算速率、功率级别、热耐受性、处理循环预算、输入数据速率、输出数据速率、存储器资源、数据总线速度以及其他的设计或性能约束条件,确定一示例是否使用硬件元件和/或软件元件来实现可以变化。
一些示例可以包括制品或至少一个计算机可读介质。计算机可读介质可以包括用于存储逻辑的非暂时性存储介质。在一些示例中,非暂时性存储介质可以包括能够存储电子数据的一种或多种类型的计算机可读存储介质,包括易失性存储器或非易失性存储器、可移除或不可移除存储器、可擦除或不可擦除存储器、可写或可重写存储器等。在一些示例中,逻辑可以包括各种软件组件,例如软件组件、程序、应用、计算机程序、应用程序、***程序、机器程序、操作***软件、中间件、固件、软件模块、例程、子例程、函数、方法、过程、软件接口、API、指令集、计算代码、计算机代码、代码段、计算机代码段、字、值、符号、或其任何组合。
根据一些示例,计算机可读介质可以包括用于存储和保持指令的非易失性存储介质,当由机器、计算设备或***执行上述指令时使得机器、计算设备或***执行根据所描述的示例的方法和/或操作。上述指令可以包括任何适当类型的代码,例如源代码、经编译的代码、经解释的代码、可执行代码、静态码、动态码等。上述指令可以根据预定义的语言、方式或语法来实现以指示机器、计算设备或***执行特定的功能。上述指令可以使用任何适当的高级别、低级别、面向对象的、可视的、经编译的和/或经解释的编程程序来实现。
可以使用“在一示例中”或“一示例”与其派生物一起来描述一些示例。这些术语指的是与示例连接描述的具体特征、结构或特性包含在至少一个示例中。在说明书的各个位置中,短语“在一示例中”的出现并不一定全部指的是同一示例。
可以使用表达方式“耦合的”和“连接的”与其派生词一起来描述一些示例。这些术语并不一定意在作为彼此的同义词。例如,使用术语“连接的”和/或“耦合的”的描述可以指两个或更多个元件彼此直接物理或电接触。但是,术语“耦合的”还可以指两个或更多个元件彼此不直接接触,而是彼此仍然协作或互动。
以下的示例涉及本申请中公开的技术的另外的示例。
要强调的是,提供了本公开的摘要以遵守37C.F.R.部分1.72(b),其要求允许读者迅速确定技术公开本质的摘要。所主张的是,它不会被用来解释或限制权利要求的范围或含义。另外,在前述具体实施方式中,可以看出,为了简化本公开的目的,在单个实施例中将各种特征组合在一起。本方面的该方法不应被解释为反映所要求保护的实施例需要比各权利要求中明确陈述的特征更多的特征。相反,如以下权利要求所反映的,发明主题在于少于单个所公开的实施例的所有特征。因此,由此,将下面的权利要求并入到具体实施方式中,每个权利要求本身代表作为一个单独的优选实施例。在所附权利要求中,术语“包括”以及“其中”分别被用作各自的术语“包括”和“其中”的简明英语同义词。此外,术语“第一”、“第二”和“第三”等是只用作标记,并且不旨在对其对象强加数字要求。
尽管本主题已经以特定于结构特征和/或方法动作的语言进行了描述,但是应当理解,在所附权利要求书中定义的主题不一定局限于上述具体特征或动作。相反,上述具体特征和动作被公开为实现权利要求的示例形式。
示例1。一种用于优化由云架构支持的虚拟元件的性能的装置,该装置包括:电路;接收组件,以由电路执行以接收针对使用可配置计算资源的共享池提供的服务链的性能信息,服务链包括多个虚拟元件,性能信息包括对多个虚拟元件的性能的指示;以及资源调整组件,用于由电路执行,以基于所接收的信息向多个虚拟元件中的一个分配可配置资源的共享池的一部分。
示例2。示例1的装置,可配置资源的共享池的所述一部分是第一部分以及所述多个虚拟元件中的所述一个是第一虚拟元件,资源调整组件用于基于所接收到信息针对多个虚拟元件中的第二个分配可配置资源的共享池的第二部分。
示例3。示例1的装置,资源调整组件用于基于所接收到信息而调整针对多个虚拟元件中的一个的对可配置资源的共享池的部分的分配。
示例4。示例1的装置,包括用于接收策略信息的策略组件,策略信息包括对性能目标的指示。
示例5。示例4的装置,资源调整组件用于基于所接收到性能信息和所接收到策略信息,分配可配置资源的共享池的部分。
示例6。根据示例4的装置,性能目标包括最小化功耗、最小化存储器使用、最大化吞吐量、或最大化计算功率。
示例7。示例4的装置,策略包括针对云架构客户的服务级别协议。
示例8。示例1的装置,所接收到性能信息包括虚拟性能信息,虚拟性能信息包括对虚拟元件的性能的指示。
示例9。示例8的装置,虚拟元件的性能包括内部缓冲器的队列深度或等待执行的线程。
示例10。示例1的装置,所接收到性能信息包括物理性能信息,物理性能信息包括对可配置资源的共享池部分的性能的指示。
示例11。示例10的装置,可配置资源的共享池的部分的性能包括处理器使用、存储器使用、高速缓存丢失或数据吞吐量。
示例12。示例4至7中任何一个的装置,可配置资源的共享池的所述一部分是第一部分以及所述多个虚拟元件中的所述一个是第一虚拟元件,资源调整组件用于增加可配置资源的池的第一部分并减小可配置资源的共享池的第二部分,计算资源的共享池的第二部分针对多个虚拟元件中的第二个虚拟元件。
示例13。示例1至11中任何一个的装置,多个虚拟元件包括虚拟网络功能、虚拟机或容器。
示例14。示例1至11中任何一个的装置,可配置计算资源的共享池包括分解的物理元件,分解的物理元件包括中央处理单元、存储器设备、存储设备、网络输入/输出设备或网络交换机。
示例15。示例1至11中任何一个的装置,包括耦合到电路用于呈现用户界面视图的数字显示器。
示例16。一种方法包括:接收针对使用可配置计算资源共享池提供的服务链的性能信息,服务链包括多个虚拟元件,性能信息包括对多个虚拟元件的性能的指示;以及基于所接收的信息针对多个虚拟元件中的一个分配可配置资源的共享池的一部分。
示例17。示例16的方法,可配置资源的共享池的所述一部分是第一部分以及所述多个虚拟元件中的所述一个是第一虚拟元件,该方法包括基于所接收的信息针对多个虚拟元件中的第二虚拟元件分配可配置资源的共享池的第二部分。
示例18。示例16的方法,包括基于所接收的信息,调整针对多个虚拟元件中的一个的对可配置资源的共享池的部分的分配。
示例19。示例16的方法,包括接收策略信息,策略信息包括对性能目标的指示。
示例20。示例19的方法,包括基于性能信息和所接收的策略信息,分配可配置资源的共享池的部分。
示例21。示例19的方法,性能目标包括最小化功耗、最小化存储器使用、最大化吞吐量、或最大化计算功率。
示例22。示例16的方法,所接收的性能信息包括虚拟性能信息,虚拟性能信息包括对虚拟元件的性能的指示。
示例23。示例22的方法,虚拟元件的性能包括内部缓冲器的队列深度或等待执行的线程。
示例24。示例16的方法,所接收的性能信息包括物理性能信息,物理性能信息包括对可配置资源的共享池的部分的性能的指示。
示例25。示例24的方法,可配置资源的共享池的部分的性能包括处理器使用、存储器使用、高速缓存丢失或数据吞吐量。
示例26。示例19至21中的任何一个的方法,可配置资源的共享池的所述一部分是第一部分以及所述多个虚拟元件中的所述一个是第一虚拟元件,该方法包括增加可配置计算资源的池的第一部分以及减小可配置资源的共享池的第二部分,计算资源的共享池的第二部分针对多个虚拟元件中的第二个虚拟元件。
示例27。示例16至25的方法,多个虚拟元件包括虚拟网络功能、虚拟机、或容器。
示例28。示例16至25中任何一个的方法,可配置计算资源的共享池包括分解的物理元件,分解的物理元件包括处理单元、存储器设备、存储设备、网络输入/输出设备或网络交换机。
示例29。至少一个机器可读介质包括多个指令,响应于被在服务器上的***执行,使得***执行根据示例16至28中任何一个的方法。
示例30。一种装置包括用于执行示例16至28中任何一个的方法的模块。
示例31。至少一个机器可读介质,包括多个指令,响应于被***执行使得***:在处理器电路处接收针对使用可配置计算资源的共享池提供的服务链的性能信息,服务链包括多个虚拟元件,性能信息包括对多个虚拟元件的性能的指示;以及基于所接收的信息,针对多个虚拟元件中的一个分配可配置资源的共享池的一部分。
示例32。示例31的至少一个机器可读介质,可配置资源的共享池的所述一部分是第一部分以及所述多个虚拟元件中的所述一个是第一虚拟元件,多个指令使得***基于所接收的信息针对多个虚拟元件中的第二虚拟元件分配可配置资源的共享池的第二部分。
示例33。示例31的至少一个机器可读介质,多个指令使得***基于所接收的信息,调整针对所述多个虚拟元件中的所述一个的对所述可配置资源的共享池的所述一部分的分配。
示例34。示例32的至少一个机器可读介质,多个指令使得***接收策略信息,策略信息包括对性能目标的指示。
示例35。示例34的至少一个机器可读介质,多个指令使得***基于所接收的性能信息和所接收的策略信息,分配可配置资源的共享池的部分。
示例36。示例34的至少一个机器可读介质,性能目标包括最小化功耗、最小化存储器使用、最大化吞吐量、或最大化计算功率。
示例37。示例31的至少一个机器可读介质,所接收的性能信息包括虚拟性能信息,虚拟性能信息包括对虚拟元件的性能的指示。
示例38。示例37的至少一个机器可读介质,虚拟元件的性能包括内部缓冲器的队列深度或等待执行的线程。
示例39。示例31的至少一个机器可读介质,所接收的性能信息包括物理性能信息,物理性能信息包括对可配置资源的共享池部分的性能的指示。
示例40。示例39的至少一个机器可读介质,可配置资源的共享池的部分的性能包括处理器使用、存储器使用、高速缓存丢失或数据吞吐量。
示例41。示例37至39中任何一个的至少一个机器可读介质,可配置资源的共享池的所述一部分是第一部分以及所述多个虚拟元件中的所述一个是第一虚拟元件,多个指令使得***增加可配置计算资源的池的第一部分以及减小可配置资源的共享池的第二部分,计算资源的共享池的第二部分针对多个虚拟元件中的第二部分。
示例42。示例31至40中任何一个的至少一个机器可读介质,多个虚拟元件包括虚拟网络功能、虚拟机、或容器。
示例43。示例31至40中任何一个的至少一个机器可读介质,可配置计算资源的共享池包括分解的物理元件,分解的物理元件包括中央处理单元、存储器设备、存储设备、网络输入/输出设备或网络交换机。
Claims (20)
1.一种用于优化虚拟元件的性能的装置,所述装置包括:
电路;
接收组件,所述接收组件由所述电路执行以接收包括按序排列的一组多个虚拟元件的服务链的性能信息,所述服务链要被使用可配置资源共享池来提供,所述性能信息包括对所述服务链的虚拟性能信息和所述服务链的物理性能信息的指示;以及
资源调整组件,所述资源调整组件由所述电路执行以基于所接收的性能信息来为所述多个虚拟元件中的至少一个分配所述可配置资源共享池的一部分,
其中,所述虚拟性能信息包括对内部缓冲器的队列深度或等待执行的线程的指示,所述物理性能信息包括对所述可配置资源共享池的所述一部分的性能的指示,所述可配置资源共享池的所述一部分的所述性能包括处理器使用、存储器使用、高速缓存丢失或数据吞吐量。
2.根据权利要求1所述的装置,所述资源调整组件用于基于所接收的性能信息,为所述多个虚拟元件中的第一虚拟元件分配所述可配置资源共享池的第一部分,并且为所述多个虚拟元件中的第二虚拟元件分配所述可配置资源共享池的第二部分。
3.根据权利要求1所述的装置,所述资源调整组件用于基于所接收的性能信息,调整对用于所述多个虚拟元件中的所述至少一个的所述可配置资源共享池的所述一部分的分配。
4.根据权利要求1所述的装置,包括策略组件,所述策略组件用于接收策略信息,所述策略信息包括对性能目标的指示。
5.根据权利要求4所述的装置,所述资源调整组件用于基于所接收的性能信息和所接收的策略信息,分配所述可配置资源共享池的所述一部分。
6.根据权利要求4所述的装置,所述性能目标包括最小化功耗、最小化存储器使用、最大化吞吐量、或最大化计算功率。
7.根据权利要求4所述的装置,所述策略包括针对云架构的客户的服务级别协议。
8.根据权利要求2所述的装置,所述资源调整组件用于增加所述可配置资源共享池的所述第一部分以及减小所述可配置资源共享池的所述第二部分。
9.根据权利要求1至7中任何一项所述的装置,所述多个虚拟元件包括虚拟网络功能、虚拟机、或容器。
10.根据权利要求1至7中任何一项所述的装置,所述可配置资源共享池包括分解的物理元件,所述分解的物理元件包括中央处理单元、存储器设备、存储设备、网络输入/输出设备或网络交换机。
11.根据权利要求1至7中任何一项所述的装置,包括耦合到所述电路以呈现用户界面视图的数字显示器。
12.一种用于优化虚拟元件的性能的方法,包括:
接收包括按序排列的一组多个虚拟元件的服务链的性能信息,所述服务链要被使用可配置资源共享池来提供,所述性能信息包括对所述服务链的虚拟性能信息和所述服务链的物理性能信息的指示;以及
基于所接收的性能信息,为所述多个虚拟元件中的至少一个分配所述可配置资源共享池的一部分,
其中,所述虚拟性能信息包括对内部缓冲器的队列深度或等待执行的线程的指示,所述物理性能信息包括对所述可配置资源共享池的所述一部分的性能的指示,所述可配置资源共享池的所述一部分的所述性能包括处理器使用、存储器使用、高速缓存丢失或数据吞吐量。
13.根据权利要求12所述的方法,包括基于所接收的性能信息,为所述多个虚拟元件中的第一虚拟元件分配所述可配置资源共享池的第一部分,并且为所述多个虚拟元件中的第二虚拟元件分配所述可配置资源共享池的第二部分。
14.根据权利要求12所述的方法,包括基于所接收的性能信息,调整对用于所述多个虚拟元件中的所述至少一个的所述可配置资源共享池的所述一部分的分配。
15.根据权利要求12所述的方法,包括接收策略信息,所述策略信息包括对性能目标的指示。
16.根据权利要求15所述的方法,包括基于所接收的性能信息和所接收的策略信息,分配所述可配置资源共享池的所述一部分。
17.根据权利要求15所述的方法,所述性能目标包括最小化功耗、最小化存储器使用、最大化吞吐量、或最大化计算功率。
18.至少一个机器可读介质,其包括多个指令,所述多个指令响应于被***执行而使得所述***执行根据权利要求12至17中任何一项所述的方法。
19.一种用于优化虚拟元件的性能的装置,包括用于执行根据权利要求12至17中任何一项所述的方法的单元。
20.一种用于优化虚拟元件的性能的设备,包括:
存储指令的存储器;以及
耦合到所述存储器的处理器,所述指令在被所述处理器执行时执行根据权利要求12至17中任何一项所述的方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/582,084 US20160179582A1 (en) | 2014-12-23 | 2014-12-23 | Techniques to dynamically allocate resources for local service chains of configurable computing resources |
US14/582,084 | 2014-12-23 | ||
PCT/US2015/062127 WO2016105774A1 (en) | 2014-12-23 | 2015-11-23 | Techniques to dynamically allocate resources for local service chains of configurable computing resources |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107003905A CN107003905A (zh) | 2017-08-01 |
CN107003905B true CN107003905B (zh) | 2021-08-31 |
Family
ID=56129505
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201580063535.6A Active CN107003905B (zh) | 2014-12-23 | 2015-11-23 | 针对可配置计算资源的本地服务链而动态分配资源的技术 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20160179582A1 (zh) |
CN (1) | CN107003905B (zh) |
WO (1) | WO2016105774A1 (zh) |
Families Citing this family (42)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9794193B2 (en) * | 2015-01-30 | 2017-10-17 | Gigamon Inc. | Software defined visibility fabric |
US20170052866A1 (en) * | 2015-08-21 | 2017-02-23 | International Business Machines Corporation | Managing a shared pool of configurable computing resources which uses a set of dynamically-assigned resources |
US9729441B2 (en) * | 2015-10-09 | 2017-08-08 | Futurewei Technologies, Inc. | Service function bundling for service function chains |
US9619271B1 (en) * | 2015-10-23 | 2017-04-11 | International Business Machines Corporation | Event response for a shared pool of configurable computing resources which uses a set of dynamically-assigned resources |
US10419530B2 (en) * | 2015-11-02 | 2019-09-17 | Telefonaktiebolaget Lm Ericsson (Publ) | System and methods for intelligent service function placement and autoscale based on machine learning |
US10374926B2 (en) | 2016-01-28 | 2019-08-06 | Oracle International Corporation | System and method for monitoring logical network traffic flows using a ternary content addressable memory in a high performance computing environment |
US10659340B2 (en) | 2016-01-28 | 2020-05-19 | Oracle International Corporation | System and method for supporting VM migration between subnets in a high performance computing environment |
US10536334B2 (en) | 2016-01-28 | 2020-01-14 | Oracle International Corporation | System and method for supporting subnet number aliasing in a high performance computing environment |
US10666611B2 (en) | 2016-01-28 | 2020-05-26 | Oracle International Corporation | System and method for supporting multiple concurrent SL to VL mappings in a high performance computing environment |
US10355972B2 (en) | 2016-01-28 | 2019-07-16 | Oracle International Corporation | System and method for supporting flexible P_Key mapping in a high performance computing environment |
US10348847B2 (en) | 2016-01-28 | 2019-07-09 | Oracle International Corporation | System and method for supporting proxy based multicast forwarding in a high performance computing environment |
US10348649B2 (en) | 2016-01-28 | 2019-07-09 | Oracle International Corporation | System and method for supporting partitioned switch forwarding tables in a high performance computing environment |
US10630816B2 (en) | 2016-01-28 | 2020-04-21 | Oracle International Corporation | System and method for supporting shared multicast local identifiers (MILD) ranges in a high performance computing environment |
US10616118B2 (en) | 2016-01-28 | 2020-04-07 | Oracle International Corporation | System and method for supporting aggressive credit waiting in a high performance computing environment |
US10333894B2 (en) | 2016-01-28 | 2019-06-25 | Oracle International Corporation | System and method for supporting flexible forwarding domain boundaries in a high performance computing environment |
US10334334B2 (en) | 2016-07-22 | 2019-06-25 | Intel Corporation | Storage sled and techniques for a data center |
US10361969B2 (en) * | 2016-08-30 | 2019-07-23 | Cisco Technology, Inc. | System and method for managing chained services in a network environment |
US20180069749A1 (en) | 2016-09-07 | 2018-03-08 | Netscout Systems, Inc | Systems and methods for performing computer network service chain analytics |
US10361915B2 (en) * | 2016-09-30 | 2019-07-23 | International Business Machines Corporation | System, method and computer program product for network function optimization based on locality and function type |
EP3523721A1 (en) * | 2016-10-05 | 2019-08-14 | Kaleao Limited | Hyperscale architecture |
WO2018149514A1 (en) * | 2017-02-16 | 2018-08-23 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and apparatus for virtual function self-organisation |
US10372362B2 (en) * | 2017-03-30 | 2019-08-06 | Intel Corporation | Dynamically composable computing system, a data center, and method for dynamically composing a computing system |
US10795583B2 (en) | 2017-07-19 | 2020-10-06 | Samsung Electronics Co., Ltd. | Automatic data placement manager in multi-tier all-flash datacenter |
US11003516B2 (en) * | 2017-07-24 | 2021-05-11 | At&T Intellectual Property I, L.P. | Geographical redundancy and dynamic scaling for virtual network functions |
US10637750B1 (en) * | 2017-10-18 | 2020-04-28 | Juniper Networks, Inc. | Dynamically modifying a service chain based on network traffic information |
US10496541B2 (en) | 2017-11-29 | 2019-12-03 | Samsung Electronics Co., Ltd. | Dynamic cache partition manager in heterogeneous virtualization cloud cache environment |
US11283676B2 (en) * | 2018-06-11 | 2022-03-22 | Nicira, Inc. | Providing shared memory for access by multiple network service containers executing on single service machine |
US10831698B2 (en) | 2018-09-25 | 2020-11-10 | International Business Machines Corporation | Maximizing high link bandwidth utilization through efficient component communication in disaggregated datacenters |
US10671557B2 (en) | 2018-09-25 | 2020-06-02 | International Business Machines Corporation | Dynamic component communication using general purpose links between respectively pooled together of like typed devices in disaggregated datacenters |
US11182322B2 (en) | 2018-09-25 | 2021-11-23 | International Business Machines Corporation | Efficient component communication through resource rewiring in disaggregated datacenters |
US10637733B2 (en) | 2018-09-25 | 2020-04-28 | International Business Machines Corporation | Dynamic grouping and repurposing of general purpose links in disaggregated datacenters |
US10802988B2 (en) * | 2018-09-25 | 2020-10-13 | International Business Machines Corporation | Dynamic memory-based communication in disaggregated datacenters |
US11012423B2 (en) | 2018-09-25 | 2021-05-18 | International Business Machines Corporation | Maximizing resource utilization through efficient component communication in disaggregated datacenters |
US10915493B2 (en) | 2018-09-25 | 2021-02-09 | International Business Machines Corporation | Component building blocks and optimized compositions thereof in disaggregated datacenters |
US11650849B2 (en) | 2018-09-25 | 2023-05-16 | International Business Machines Corporation | Efficient component communication through accelerator switching in disaggregated datacenters |
US11163713B2 (en) | 2018-09-25 | 2021-11-02 | International Business Machines Corporation | Efficient component communication through protocol switching in disaggregated datacenters |
JP7081514B2 (ja) * | 2019-01-30 | 2022-06-07 | 日本電信電話株式会社 | オートスケール型性能保証システム及びオートスケール型性能保証方法 |
FR3095562B1 (fr) * | 2019-04-25 | 2021-06-11 | St Microelectronics Rousset | Echange de données au sein d’un transpondeur dynamique et transpondeur correspondant |
US11050640B1 (en) * | 2019-12-13 | 2021-06-29 | Cisco Technology, Inc. | Network throughput assurance, anomaly detection and mitigation in service chain |
CN112433721B (zh) * | 2020-11-27 | 2022-03-04 | 北京五八信息技术有限公司 | 一种应用组件化处理方法、装置、电子设备及存储介质 |
TWI827974B (zh) * | 2021-09-08 | 2024-01-01 | 財團法人工業技術研究院 | 虛擬功能效能分析系統及其分析方法 |
US11831540B2 (en) * | 2021-10-01 | 2023-11-28 | International Business Machines Corporation | Service chain instance pool sizing |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101957780A (zh) * | 2010-08-17 | 2011-01-26 | 中国电子科技集团公司第二十八研究所 | 一种基于资源状态信息的网格任务调度处理器及方法 |
CN102158386A (zh) * | 2010-02-11 | 2011-08-17 | 威睿公司 | ***管理程序级的分布式负载平衡 |
CN102667723A (zh) * | 2009-10-30 | 2012-09-12 | 思科技术公司 | 根据物理资源的可用性来均衡服务器负荷 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050132362A1 (en) * | 2003-12-10 | 2005-06-16 | Knauerhase Robert C. | Virtual machine management using activity information |
US20080301473A1 (en) * | 2007-05-29 | 2008-12-04 | International Business Machines Corporation | Method and system for hypervisor based power management |
US8767535B2 (en) * | 2007-07-11 | 2014-07-01 | Hewlett-Packard Development Company, L.P. | Dynamic feedback control of resources in computing environments |
US8819675B2 (en) * | 2007-11-28 | 2014-08-26 | Hitachi, Ltd. | Virtual machine monitor and multiprocessor system |
JP5210730B2 (ja) * | 2007-11-28 | 2013-06-12 | 株式会社日立製作所 | 仮想マシンモニタ及びマルチプロセッサシステム |
US8903983B2 (en) * | 2008-02-29 | 2014-12-02 | Dell Software Inc. | Method, system and apparatus for managing, modeling, predicting, allocating and utilizing resources and bottlenecks in a computer network |
US8433802B2 (en) * | 2010-01-26 | 2013-04-30 | International Business Machines Corporation | System and method for fair and economical resource partitioning using virtual hypervisor |
US8429276B1 (en) * | 2010-10-25 | 2013-04-23 | Juniper Networks, Inc. | Dynamic resource allocation in virtual environments |
US8898402B1 (en) * | 2011-03-31 | 2014-11-25 | Emc Corporation | Assigning storage resources in a virtualization environment |
US9003037B2 (en) * | 2012-07-25 | 2015-04-07 | Vmware, Inc. | Dynamic allocation of physical computing resources amongst virtual machines |
KR102114453B1 (ko) * | 2013-07-19 | 2020-06-05 | 삼성전자주식회사 | 모바일 장치 및 그것의 제어 방법 |
CN104683406A (zh) * | 2013-11-29 | 2015-06-03 | 英业达科技有限公司 | 云端*** |
-
2014
- 2014-12-23 US US14/582,084 patent/US20160179582A1/en not_active Abandoned
-
2015
- 2015-11-23 CN CN201580063535.6A patent/CN107003905B/zh active Active
- 2015-11-23 WO PCT/US2015/062127 patent/WO2016105774A1/en active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102667723A (zh) * | 2009-10-30 | 2012-09-12 | 思科技术公司 | 根据物理资源的可用性来均衡服务器负荷 |
CN102158386A (zh) * | 2010-02-11 | 2011-08-17 | 威睿公司 | ***管理程序级的分布式负载平衡 |
CN101957780A (zh) * | 2010-08-17 | 2011-01-26 | 中国电子科技集团公司第二十八研究所 | 一种基于资源状态信息的网格任务调度处理器及方法 |
Non-Patent Citations (1)
Title |
---|
云服务资源管理体系架构及可视化技术研究;孙远辉;《中国优秀硕士学位论文全文数据库 信息科技辑》;20120415(第04期);第I139-376页 * |
Also Published As
Publication number | Publication date |
---|---|
WO2016105774A1 (en) | 2016-06-30 |
CN107003905A (zh) | 2017-08-01 |
US20160179582A1 (en) | 2016-06-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107003905B (zh) | 针对可配置计算资源的本地服务链而动态分配资源的技术 | |
US10331492B2 (en) | Techniques to dynamically allocate resources of configurable computing resources | |
EP3382544B1 (en) | Dynamically composable computing system, a data center, and method for dynamically composing a computing system | |
US20220075661A1 (en) | Technologies for scheduling acceleration of functions in a pool of accelerator devices | |
US10303618B2 (en) | Power savings via dynamic page type selection | |
US10444722B2 (en) | Techniques to direct access requests to storage devices | |
JP2016072963A (ja) | バーチャルマシンの間でサービスチェーンフローパケットを経路指定するための技術 | |
US10444813B2 (en) | Multi-criteria power management scheme for pooled accelerator architectures | |
US9092275B2 (en) | Store operation with conditional push of a tag value to a queue | |
US20190253357A1 (en) | Load balancing based on packet processing loads | |
EP3629189A2 (en) | Technologies for using a hardware queue manager as a virtual guest to host networking interface | |
US11409466B2 (en) | Access control in CMB/PMR virtualization environment | |
WO2020000344A1 (en) | Techniques to support a holistic view of cache class of service for a processor cache | |
CN107870866B (zh) | Io命令调度方法与nvm接口控制器 | |
EP3709164A1 (en) | Software assisted hashing to improve distribution of a load balancer | |
US11431565B2 (en) | Dynamic traffic-aware interface queue switching among processor cores | |
US20220179805A1 (en) | Adaptive pipeline selection for accelerating memory copy operations | |
US10581997B2 (en) | Techniques for storing or accessing a key-value item | |
US20180006951A1 (en) | Hybrid Computing Resources Fabric Load Balancer | |
US20210141435A1 (en) | Software switch and method therein | |
US20230396561A1 (en) | CONTEXT-AWARE NVMe PROCESSING IN VIRTUALIZED ENVIRONMENTS | |
US10447823B2 (en) | Packet parsing engine |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |