CN109218068A - 用于提供自适应平台服务质量的技术 - Google Patents

用于提供自适应平台服务质量的技术 Download PDF

Info

Publication number
CN109218068A
CN109218068A CN201810698787.1A CN201810698787A CN109218068A CN 109218068 A CN109218068 A CN 109218068A CN 201810698787 A CN201810698787 A CN 201810698787A CN 109218068 A CN109218068 A CN 109218068A
Authority
CN
China
Prior art keywords
application
service
grade
computing device
current
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
CN201810698787.1A
Other languages
English (en)
Inventor
F.G.伯纳特
S.M.巴莱
A.J.赫德里希
K.库马尔
R.卡纳
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.)
Intel Corp
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Publication of CN109218068A publication Critical patent/CN109218068A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/647Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
    • H04N21/64723Monitoring of network processes or resources, e.g. monitoring of network load
    • H04N21/64738Monitoring network characteristics, e.g. bandwidth, congestion level
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0823Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/61Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources taking into account QoS or priority requirements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5003Managing SLA; Interaction between SLA and QoS
    • H04L41/5019Ensuring fulfilment of SLA
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/091Measuring contribution of individual network components to actual service level
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/302Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Multimedia (AREA)
  • Environmental & Geological Engineering (AREA)
  • Debugging And Monitoring (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

用于提供自适应平台服务质量的技术包括计算装置。计算装置要获得用于要被执行的应用的服务等级数据;执行应用;根据在应用被执行时的应用的一个或多个资源利用,确定应用的当前阶段;根据确定的阶段,设置用于应用的当前服务等级,其中当前服务等级在与确定的阶段关联的范围内;确定应用的当前性能度量是否满足目标性能度量,以及响应于当前性能度量不满足目标性能度量的确定,将当前服务等级递增到在范围中的更高服务等级。其它实施例也被描述和要求保护。

Description

用于提供自适应平台服务质量的技术
背景技术
计算装置的典型平台服务质量(pQoS)特征使计算装置的管理员或用户能向应用预留对主要负责影响应用的性能的某些资源的访问。例如,如果应用的性能特别受低级高速缓冲存储器(LLC)中的数据的可用性影响,则用户可利用计算装置的pQoS特征来在LLC中预留多个路(way),以降低含有由应用经常使用的数据的高速缓冲存储器行未被从LLC驱逐的可能性。因此,应用的性能受大量使用计算装置的LLC的其它并发执行应用影响更小。然而,无论应用实际是否在任何给定时间利用所有预留的资源,资源的预留(例如,LLC中的路)保持在适当位置,潜在地损害否则将利用资源的并发执行的应用。
附图说明
本文中描述的概念在附图中以示例而非限制的方式被图示。为图示的简单和清晰起见,图中图示的元件不必按比例画出。在认为适当之处,附图标记已在图中被重复以指示对应或类似的元件。
图1是用于提供自适应平台服务质量的系统的至少一个实施例的简化框图;
图2是图2的系统的计算装置的至少一个实施例的简化框图;
图3是可由图1和2的计算装置建立的环境的至少一个实施例的简化框图;以及
图4-7是可由图1和2的计算装置执行的用于自适应地控制平台服务质量的方法的至少一个实施例的简化框图。
具体实施方式
虽然本公开的概念易于各种修改和备选形式,但其特定实施例已在图中通过示例被示出,并且将在本文中被详细描述。然而,应理解的是,不存在将本公开的概念限制到所公开的具体形式的意图,而是与此相反,意图是覆盖与本公开和随附权利要求一致的所有修改、等同物和备选。
说明书中对“一个实施例”、“实施例”、“说明性实施例”等的引用指示描述的实施例可包括具体特征、结构或特性,但每个实施例可或可不一定包括该具体特征、结构或特性。另外,此类短语不一定指相同实施例。此外,在结合实施例描述具体特征、结构或特性时,认为结合无论是否明确描述的其它实施例来实现此类特征、结构或特性在本领域技术人员的知识之内。另外,应领会的是,在以“至少一个A、B和C”的形式的列表中包括的项目能够意味着:(A)、(B)、(C)、(A和B)、(A和C)、(B和C)或(A、B和C)。相似地,以“A、B或C的至少一个”的形式所列的项目能够意味着(A)、(B)、(C)、(A和B)、(A和C)、(B和C)或(A、B和C)。
公开的实施例可在一些情况下在硬件、固件、软件或其任何组合中被实现。公开的实施例也可被实现为可由一个或多个处理器读取和执行的、由暂态或非暂态机器可读(例如,计算机可读)存储介质携带或在其上存储的指令。机器可读存储介质可被体现为用于以由机器可读的形式存储或传送信息的任何存储装置、机制或其它物理结构(例如,易失性或非易失性存储器、媒体盘或其它媒体装置)。
在图中,一些结构或方法特征可以采用特定布置和/或顺序来示出。然而,应领会的是,此类特定布置和/或顺序可不是要求的。相反,在一些实施例中,此类特征可以采用与在说明性图中示出的不同方式和/或顺序来布置。另外,具体图中的结构或方法特征的包括无意暗示此类特征在所有实施例中被要求,并且在一些实施例中,此类特征可不被包括或者可与其它特征组合。
如图1中所示出的,用于提供自适应平台服务质量(pQoS)的说明性系统110包括与协调器服务器(orchestrator server)140通信的一组计算装置130。该组包括计算装置120、122和124。虽然示出了三个计算装置130,但应理解的是,在其它实施例中,该组可包括不同数量的计算装置130。在操作中,每个计算装置130执行指派到它的一个或多个应用。应用可由协调器服务器140指派,诸如响应于来自通过网络160与协调器服务器140通信的客户端装置150或者来自另一源的对服务的请求。在说明性实施例中,每个计算装置130获得服务等级数据,其可被体现为指示对于在服务等级的范围中的每个服务等级要被分配到每个应用的一个或多个资源的量(例如,高速缓冲存储器关联性的路的数量、存储器带宽等)、用于每个应用的每个阶段的目标性能度量和用于每个应用的每个阶段的最大服务等级的任何数据。在说明性实施例中,服务等级指计算装置130的资源被预留以供给定应用使用(例如,给执行应用的计算装置130的核)以便改进等待时间、吞吐量和/或与应用的性能关联的其它特性的程度。
另外,在说明性实施例中,应用的每个阶段可被体现为展示资源的具体利用(例如,相对低的处理器利用和相对高的存储器利用,相对高的处理器利用和相对低的存储器利用等)的一组操作。在操作中,每个计算装置130确定在计算装置130执行应用时具体应用是在哪个阶段中,确定应用的性能是否满足与应用的当前阶段关联的目标性能度量,并且如果不满足,则将服务等级增加到在与当前阶段关联的服务等级的范围内的更高服务等级。相反,如果应用的性能满足目标性能度量,则在说明性实施例中,计算装置130迭代地递减服务等级,直至目标性能度量能够不再被满足(例如,找到满足目标性能度量需要的最小服务等级)。因此,计算装置130自适应地释放资源以便由在计算装置130上并发执行的其它应用(例如,由在计算装置130中的其它核)使用,使那些应用能改进其性能而不会不利地影响当前应用满足用于当前阶段的目标性能度量的能力。
现在参见图2,每个计算装置130可被体现为能够执行本文中描述的功能的任何类型的装置。例如,在一些实施例中,每个计算装置130可被体现为(不限于)机架安装计算机、分布式计算系统、服务器计算机、桌上型计算机、工作站、膝上型计算机、笔记本计算机、平板计算机、智能电话、多处理器系统、消费电子装置、智能家电和/或任何其它装置,其能够获得用于要被执行的应用的服务等级数据;执行应用;根据在应用被执行时的应用的一个或多个资源利用,确定应用的当前阶段;根据确定的阶段,设置用于应用的当前服务等级;确定应用的当前性能度量是否满足目标性能度量;以及在范围内调整服务等级以满足目标性能度量,同时使其它应用能利用满足目标性能度量所不需要的资源。如图2中所示出的,说明性计算装置130包括中央处理单元(CPU)202、主存储器204、输入/输出(I/O)子系统206、通信电路系统208和一个或多个数据存储装置210。当然,在其它实施例中,计算装置130可包括其它或附加的组件,诸如一般在计算机中找到的那些组件(例如,外设装置、显示器等)。另外,在一些实施例中,说明性组件的一个或多个可被结合在另一组件中,或者以其它方式形成另一组件的一部分。例如,在一些实施例中,主存储器204或其部分可被结合在CPU 202中。
CPU 202可被体现为能够执行本文中描述的功能的任何类型的一个或多个处理器。因此,CPU 202可被体现为单核或多核处理器、微控制器或其它处理器或处理/控制电路。在一些实施例中,CPU 202可被体现为,包括,或被耦合到现场可编程门阵列(FPGA)、专用集成电路(ASIC)、可配置的硬件或硬件电路系统或其它专用硬件以促进本文中描述的功能的执行。在说明性实施例中,CPU 202包括平台服务质量(pQoS)逻辑单元220,其可被体现为能够进行以下动作的任何装置或电路系统:确定由计算装置130执行的每个应用的当前阶段,确定与每个阶段关联的服务等级的范围,并且选择性地指派在确定的范围内的服务等级到应用以提供充足的资源到应用以满足目标性能度量而不预留能够由其它应用使用的过多资源。
在说明性实施例中,CPU 202包括多个核230,其可被体现为能够分开执行应用并且在应用的执行中利用计算装置的其它资源(例如,低级高速缓冲存储器(LLC)250、主存储器204、I/O子系统206的带宽、通信电路系统208的带宽等的部分)的任何装置。在图2中图示的示实施例中,示出了两个核232、234。然而,应理解的是,核230的数量可在其它实施例中不同。另外,在说明性实施例中,CPU 202包括一个或多个寄存器240,诸如模型特定寄存器(MSR)。如本文中更详细所描述的,每个寄存器240可被体现为能够存储可由计算装置130访问(读取和/或写入到)的值的任何装置或电路系统。在说明性实施例中,寄存器240的一个或多个可指示用于由特定应用使用的资源的当前服务等级。另外,在说明性实施例中,CPU202包括高速缓冲存储器250,其被体现为能够暂时存储来自主存储器204的频繁使用位置的数据的副本和为核230提供对数据的相对更快访问(即,与主存储器204相比)的任何装置或电路系统。
主存储器204可被体现为能够执行本文中描述的功能的任何类型的易失性(例如,动态随机存取存储器(DRAM)等)或非易失性存储器或数据存储设备。在一些实施例中,主存储器204的所有或部分可被集成到CPU 202。在操作中,主存储器204可存储在操作期间使用的各种软件和数据,诸如由核230执行的应用利用的数据、遥测数据、阶段数据、服务等级数据、操作系统、应用、程序、库和驱动器。主存储器204在一些实施例中可也包括上面描述的高速缓冲存储器250。
I/O子系统206可被体现为电路系统和/或组件以促进与计算装置130的CPU 202、主存储器204和其它组件的输入/输出操作。例如,I/O子系统206可被体现为或者以其它方式包括存储器控制器中枢、输入/输出控制中枢、集成传感器中枢、固件装置、通信链路(例如,点对点链路、总线链路、导线、线缆、光导、印刷电路板迹线等)和/或其它组件和子系统以促进输入/输出操作。在一些实施例中,I/O子系统206可形成片上系统(SoC)的一部分,并且连同计算装置130的CPU 202、主存储器204和其它组件的一个或多个被结合在单个集成电路芯片上。
通信电路系统208可被体现为任何通信电路、装置或其集合,其能够使能在计算装置130与另一装置(例如,协调器服务器140和/或另一计算装置130)之间通过网络160的通信。通信电路系统208可配置成使用任何一个或多个通信技术(例如,有线或无线通信)和关联协议(例如,以太网、Bluetooth®、Wi-Fi®、WiMAX等)以实现此类通信。
说明性通信电路系统208包括网络接口控制器(NIC)212,其也可被称为主机结构接口(HFI)。通信电路系统208可被定位在与CPU 202分开的硅上,或者通信电路系统208可被包括在带有CPU 202的多芯片封装中,乃至在与CPU 202相同的管芯上。NIC 212可被体现为一个或多个插件板、子卡、网络接口卡、控制器芯片、芯片集、诸如现场可编程门阵列(FPGA)或专用集成电路(ASIC)的专用组件,或可由计算装置130用于与另一装置(例如,协调器服务器140和/或另一计算装置130)连接的其它装置。在一些实施例中,NIC 212可被体现为包括一个或多个处理器的片上系统(SoC)的一部分,或者被包括在也含有一个或多个处理器的多芯片封装上。在一些实施例中,NIC 212可包括对于NIC 212均为本地的本地处理器(未示出)和/或本地存储器(未示出)。在此类实施例中,NIC 212的本地处理器可以能够执行本文中描述的CPU 202的功能的一个或多个。另外或备选的是,在此类实施例中,NIC212的本地存储器可在板级、插槽级、芯片级和/或其它级被集成到计算装置130的一个或多个组件中。
一个或多个说明性数据存储装置210可被体现为配置用于数据的短期或长期存储 的任何类型的装置,诸如例如存储器装置和电路、存储器卡、硬盘驱动器、固态驱动器或其 它数据存储装置。每个数据存储装置210可包括存储用于数据存储装置210的数据和固件代 码的系统分区。每个数据存储装置210可还包括存储用于操作系统的数据文件和可执行档 (executables)的操作系统分区。
另外或备选的是,计算装置130可包括一个或多个外设装置214。此类外设装置214可包括一般在计算装置中找到的任何类型的外设装置,诸如显示器、扬声器、鼠标、键盘和/或其它输入/输出装置、接口装置和/或其它外设装置。
协调器服务器140和客户端装置150可具有与在图2中描述的那些组件相似的组件。因此,计算装置130的那些组件的描述同样可适用于协调器服务器140和客户端装置150的组件的描述,并且为描述的清晰起见而在本文中未被重复,其中例外的是在说明性实施例中,协调器服务器140和客户端装置150可不包括pQoS自适应逻辑单元220。应领会的是,任何协调器服务器140和客户端装置150可包括在计算装置中一般找到的其它组件、子组件和装置,其未在上面参照计算装置130被讨论,并且为描述的清晰起见而未在本文中被讨论。
如上所描述的,计算装置130、协调器服务器140和客户端装置150说明性地经由网络160在通信中,所述网络160可被体现为任何类型的有线或无线通信网络,包括全球网络(例如,互联网)、局域网(LAN)或广域网(WAN)、蜂窝网络(例如,全球移动通信系统(GSM)、3G、长期演进(LTE)、全球微波接入互操作性(WiMAX)等)、数字订户线(DSL)网络、线缆网络(例如,同轴网络、光纤网络等)或其任何组合。
现在参见图3,在说明性实施例中,每个计算装置130可在操作期间建立环境300。说明性环境300包括网络通信器320、应用执行器330和平台服务质量管理器340。环境300的每个组件可被体现为硬件、固件、软件或其组合。因此,在一些实施例中,环境300的一个或多个组件可被体现为电路系统或电装置的集合(例如,网络通信器电路系统320、应用执行器电路系统330、平台服务质量管理器电路系统340等)。应领会的是,在此类实施例中,网络通信器电路系统320、应用执行器电路系统330或平台服务质量管理器电路系统340的一个或多个可形成计算装置130的CPU 202、主存储器204、I/O子系统206和/或其它组件的一个或多个的一部分。
在说明性实施例中,环境300包括遥测数据302,其可被体现为指示可由计算装置130持续(例如,以预定义间隔)确定的资源的利用的任何数据(例如,由每个应用利用的可用资源的相对值,诸如百分比,或指示由每个应用使用的每个资源量的实际值)。另外,遥测数据302指示应用的性能,诸如由与每个应用关联的核230执行的每周期的指令和/或与每个应用关联的服务质量的其它衡量。另外,说明性环境300包括阶段数据304,其可被体现为指示用于每个应用的应用阶段和那些阶段的时间的长度(即,阶段滞留期)的任何数据。另外,说明性环境300包括服务等级数据306,其可被体现为指示对于在服务等级的范围中的每个服务等级,要被分配到应用的一个或多个资源的量、用于应用的每个阶段的目标性能度量和用于应用的每个阶段的最大服务等级的任何数据。另外,服务等级数据306可指示测量应用的性能所在的频率和响应于利用在当前服务等级分配的资源,应用不满足目标性能度量的确定,应为应用的给定阶段递增服务等级的速率(例如,线性、指数地等)的指示。
在说明性环境300中,可被体现为如上所讨论的硬件、固件、软件、虚拟化硬件、仿真架构和/或其组合的网络通信器320配置成促进分别向和从计算装置130的入站和出站网络通信(例如,网络业务、网络分组、网络流等)。为了这样做,网络通信器320配置成接收和处理数据分组,并且准备和发送数据分组到系统或计算装置(例如,协调器服务器140)。相应地,在一些实施例中,网络通信器320的功能性的至少一部分可由通信电路系统208执行,并且在说明性实施例中由NIC 212执行。
可被体现为如上所讨论的硬件、固件、软件、虚拟化硬件、仿真架构和/或其组合的应用执行器330配置成执行指派到计算装置130的应用,并且在过程中生成遥测数据以便由平台服务质量管理器340使用。为了这样做,在说明性实施例中,应用执行器330包括遥测生成器332,其在说明性实施例中配置成接收来自计算装置130(包括核230和诸如存储器204、I/O子系统206、通信电路系统208和/或数据存储装置210的其它组件)的组件的数据,并且解析和存储数据为与相应组件的标识符和在数据被生成时组件正在执行操作所代表的应用的标识符关联的遥测数据302。在说明性实施例中,遥测生成器332可针对更新的遥测数据302而在进行的基础上主动轮询在计算装置130内可用的每个组件(例如,核230、存储器204、I/O子系统206、通信电路系统208、数据存储装置210等),或者可被动接收来自组件的遥测数据302,诸如通过监测一个或多个寄存器等。
可被体现为硬件、固件、软件、虚拟化硬件、仿真架构和/或其组合的平台服务质量管理器340可配置成获得服务等级数据306,分析遥测数据302以确定由核230执行的每个应用的当前阶段,确定每个应用的当前性能是否满足在用于每个应用的当前阶段的服务等级数据306中指示的对应目标性能度量,以及选择性地调整(例如,递增地增加或减小)与应用的一个或多个关联的服务等级以满足对应目标性能度量,而不将满足目标性能度量所需要量的资源调配到应用。为了这样做,在说明性实施例中,平台服务质量管理器340包括阶段确定器342、性能确定器346和服务等级调整器348。
阶段确定器342在说明性实施例中配置成比较与每个应用关联的遥测数据302和与每个应用的已知阶段(例如,阶段数据304中的参考阶段)关联的参考资源利用特性。例如,如果应用的一个阶段通过高CPU利用(例如,高于阈值百分比的百分比)和低存储器利用(例如,低于阈值百分比的百分比)的期间来表征,并且与应用关联的遥测数据302指示高CPU利用和低存储器利用,则阶段确定器342可确定应用在上述阶段中,而有别于在其中资源利用不同的另一阶段。阶段确定器342可另外包括子阶段确定器344,其可配置成检测在阶段内的子阶段。子阶段可被体现为相对短的时间期,其中一个或多个资源的利用的变化发生在阶段内。在此类子阶段期间,平台服务质量管理器340可检测应用的性能的更改,并且改变与应用的阶段关联的在范围内的服务等级以维持目标性能度量。
性能确定器346在说明性实施例中配置成在连续的基础上确定每个应用的一个或多个性能度量。例如,性能确定器346可连续确定已由与应用关联的核230执行的每周期的指令的数量、在预定义的时间期中的高速缓冲存储器命中或高速缓冲存储器未命中的数量、在提供用于给定组的操作的输出中的等待时间或由计算装置130执行的每个应用的性能的其它度量。在说明性实施例中,性能确定器346可以在服务等级数据306中指示的间隔确定性能度量。
服务等级调整器348在说明性实施例中配置成响应于与每个应用关联的性能度量是否满足用于每个应用的当前阶段的对应目标性能度量的确定,选择性地增加或减小与计算装置130的一个或多个资源关联的服务等级。如果目标性能度量被满足,则服务等级调整器348可将用于分配到应用的一个或多个资源的当前服务等级降低到在用于应用的当前阶段的服务等级的范围内的更低服务等级(例如,高速缓冲存储器关联性的更少的路、更小存储器带宽等)。因此,服务等级调整器348可释放资源以供其它应用使用。相比之下,响应目标性能度量当前未被应用满足的确定,服务等级调整器348可将服务等级增加到在为应用的当前阶段指定的范围内的更高服务等级,以提供更多资源到应用并且由此增加应用的性能。在选择性地调整服务等级中,服务等级调整器348可根据未满足的目标性能度量的类型(例如,高速缓冲存储器命中),识别对于其要增加服务等级(例如,高速缓冲存储器关联性的更多路)的具体类型的资源,或者可为在服务等级数据306中存在用于其的更高服务等级的所有资源增加服务等级。另外,服务等级调整器348可以以在服务等级数据中指定的速率(例如,线性递增、指数递增等)调整服务等级。
应领会的是,阶段确定器342、子阶段确定器344、性能确定器346和服务等级调整器348的每个可被分开地体现为硬件、固件、软件、虚拟化硬件、仿真架构和/或其组合。例如,阶段确定器342可被体现为硬件组件,而子阶段确定器344、性能确定器346和/或服务等级调整器348的每个被体现为虚拟化硬件组件或体现为硬件、固件、软件、虚拟化硬件、仿真架构和/或其组合的某个其它组合。
现在参见图4,在使用中,每个计算装置130可执行用于自适应地控制平台服务质量的方法400。方法400以框402开始,在其中计算装置130在说明性实施例中确定是否管理计算装置130的平台服务质量。在这样做中,在说明性实施例中,计算装置130可确定CPU202是否包括pQoS自适应逻辑单元220,诸如通过针对指示pQoS自适应逻辑单元220的存在的预定义的值来检查CPU 202的寄存器。在其它实施例中,计算装置130可基于其它因素来确定是否管理平台服务质量。无论如何,响应于管理平台服务质量的确定,方法400前进到框404,在其中计算装置130接收要执行的一个或多个应用的指派。在这样做中,计算装置130可接收来自协调器服务器140的应用的标识符和/或应用代码本身。在其它实施例中,计算装置130可接收来自诸如与计算装置130直接交互(例如,通过用户接口)的用户的另一源,来自另一计算装置或来自另一源的一个或多个应用的指派。无论如何,在接收要执行的一个或多个应用的指派后,方法400前进到框406,在其中计算装置130获得用于要被执行的一个或多个应用的服务等级数据(例如,服务等级数据306)。在其它实施例中,计算装置130可在接收指派前获得服务等级数据306。在仍有的其它实施例中,计算装置130可与接收要执行的应用的指派并发地接收服务等级数据306(例如,作为与应用关联的元数据、作为一个或多个指派请求的参数等)。
在获得服务等级数据306中,如在框408中所指示的,计算装置130获得指示资源类型(例如,高速缓冲存储器关联性的路的数量、存储器带宽等)、与资源类型关联的服务等级的范围和对于在范围中的每个服务等级,要被分配到应用的每个资源的量的数据。例如,用于高速缓冲存储器的服务等级的范围可包括指示高速缓冲存储器关联性的10个路的第一服务等级、高速缓冲存储器关联性的12个路的第二服务等级、高速缓冲存储器关联性的14个路的第三服务等级并以此类推。相似地,用于存储器带宽的服务等级的范围可包括指示存储器带宽的10%的第一服务等级、存储器带宽的20%的第二服务等级、指示存储器带宽的30%的第三服务等级并以此类推。另外,在框410中,在获得服务等级数据306中,计算装置130获得指示用于应用的每个阶段的目标性能度量的数据。在说明性实施例中,数据可指示在应用的阶段A中每周期10个指令的目标性能度量,其可与相对高处理器利用和相对低存储器利用关联。数据可也指示在应用的阶段B中每周期6个指令的目标性能度量,其可与相对低处理器利用和高存储器利用关联。计算装置130可接收用于每个阶段的多个目标性能度量(例如,每周期的指令的目标数量和高速缓冲存储器未命中的目标数量)。如在框412中所指示的,计算装置130在说明性实施例中也获得为每个资源类型(例如,高速缓冲存储器关联性的路的数量、存储器带宽等)指示可被设置的最大服务等级和用于每个应用的每个阶段的服务等级递增类型的数据。使用上面的示例,计算装置130可获得数据,其指示对于应用的阶段A,能够被设置的最大服务等级对于每个资源类型是第三服务等级,并且对于应用的阶段B,用于存储器带宽的服务等级可达到第三服务等级,但用于高速缓冲存储器关联性的路的数量的服务等级可只达到第二服务等级。递增类型指示响应于应用的性能未满足用于应用的当前阶段的对应目标性能度量的确定,要多快地递增用于一个或多个资源类型的服务等级。因此,递增类型可以是递增服务等级所在的线性、指数或另一速率。
在框414中,在说明性实施例中,计算装置130获得指示一个或多个性能度量类型和时间间隔的数据,以便在一个或多个应用被执行时周期性地确定它们的对应性能度量。例如,数据可指示大约每2到3微秒应确定每秒的指令的数量和大约每1到2毫秒应确定高速缓冲存储器未命中的数量。如在框416中所指示的,在说明性实施例中,计算装置130接收来自协调器服务器140的服务等级数据306,如上所讨论的。在其它实施例中,计算装置130可从另一源获得服务等级数据306(例如,由管理员通过用户接口直接输入、基于应用的以前执行,从可在以前已由计算装置130写入的配置文件读取等)。随后,方法400前进到框418,在其中计算装置130执行指派的一个或多个应用。
在执行应用中,计算装置130可通过CPU 202的不同核230来执行不同应用(例如,每核一个应用),如在框420中所指示的。另外,在说明性实施例中,在一个或多个应用被执行时计算装置130生成遥测数据302,如在框422中所指示的。另外,在说明性实施例中,计算装置130可向协调器服务器140提供(例如,发送)遥测数据302以便分析(例如,每个应用的当前阶段的确定),如在框424中所指示的。随后,方法400前进到图5的框426,在其中计算装置130根据遥测数据302,确定每个应用的当前阶段。
现在参见图5,在确定每个应用的当前阶段中,计算装置130可接收来自协调器服务器140的每个应用的当前阶段的标识,如在框428中所指示的。备选的是,并且如在框430中所指示的,计算装置130可通过比较在遥测数据302中指示的一个或多个资源利用(例如,当前处理器利用、当前存储器利用等)和与每个应用的不同阶段关联(例如,在阶段数据304中)的参考资源利用,来在本地确定每个应用的当前阶段。随后,在框432中,计算装置130确定应用的一个或多个是否已更改到新阶段。最初,结果将为是,因为每个应用的当前阶段是自执行开始以来确定的第一阶段。响应于一个或多个应用的当前阶段是新阶段的确定,方法400前进到框434,在其中计算装置从获得的服务等级数据306为每个应用的当前阶段确定用于每个资源的服务等级的范围(例如,在图4的框408和412中获得的范围和最大服务等级数据)。
在框436中,计算装置130根据确定的范围设置用于每个应用的初始服务等级。在这样做中,计算装置130可设置预留到每个应用的高速缓冲存储器关联性的路的数量,如在框438中所指示的。如在框440中所指示的,计算装置130可设置可用于每个应用的存储器带宽量。另外,计算装置130可设置模型特定寄存器(例如,寄存器240的一个或多个)以指示用于每个应用的当前服务等级,如在框442中所指示的。另外,如在框444中所指示的,计算装置130可设置比特掩码或其它数据以指示资源的一个或多个对由计算装置130执行的其它应用的可用性。随后,或者如果在框432中未检测到新阶段,则方法400前进到图6的框446,在其中计算装置130监测每个应用的一个或多个性能度量。
现在参见图6,在监测性能度量中,计算装置130在说明性实施例中可以以在获得的服务等级数据306中指示的间隔(例如,来自图4的框414的间隔)来监测单独性能度量,如在框448中所指示的。在这样做中,计算装置可监测用于每个应用的每周期的指令的数量,如在框450中所指示的。另外或备选的是,计算装置130可监测用于每个应用的高速缓冲存储器未命中的数量,如在框452中所指示的。在其它实施例中,计算装置130可监测其它性能度量。
随后,在框454中,计算装置130确定监测的性能度量是否满足与每个应用的当前阶段关联的对应目标性能度量。之后,在框456中,计算装置130根据目标性能度量是否被满足,确定随后的动作过程。如果目标性能度量的一个或多个未被满足,则方法400前进到框458。在框458中,计算装置130将用于一个或多个资源的当前服务等级递增到在与对于其对应目标性能度量未被满足的每个应用的当前阶段关联的范围内的更高服务等级。在这样做中,并且如在框460中所指示的,计算装置130可为在服务等级数据306中识别的每一个资源递增到更高服务等级。备选的是,计算装置130可只为在服务等级数据306中识别的资源的子集将当前服务等级递增到更高服务等级(例如,只递增存储器带宽而不递增高速缓冲存储器关联性的路),如在框462中所指示的。在递增到更高服务等级中,计算装置130可根据在服务等级数据306中指示的递增类型来递增(例如,线性递增、指数递增等),如在框464中所指示的。备选的是,如果当前服务等级已经是用于当前阶段的最大服务等级,则计算装置130可(例如,通过用户接口向用户、向协调器服务器140等)报告错误,如在框466中所指示的。随后,方法400循环回到图4的框418,在其中计算装置130继续执行指派的应用。
往回参照框456,如果计算装置130转而确定用于所有应用的目标性能度量已被满足,则方法400前进到图7的框468,在其中计算装置130将用于应用的当前服务等级递减到在用于每个应用的当前阶段的范围内的更低服务等级。现在参见图7,在递减到更低服务等级中,计算装置130可为在服务等级数据306中识别的每一个资源递减到更低服务等级,如在框470中所指示的。备选的是,计算装置130可只为资源的子集递减到更低服务等级(例如,只递减用于存储器带宽的服务等级,而原样保持高速缓冲存储器关联性服务等级),如在框472中所指示的。方法400随后循环回到图4的框418,在其中计算装置130继续执行指派的应用。因此,计算装置130释放一定量的资源以供其它应用使用,并且确定目标性能度量是否仍被满足。
本发明还公开了一组技术方案,如下:
1. 一种自适应地控制平台服务质量的计算装置,所述计算装置包括:
一个或多个处理器;
一个或多个存储器装置,其中存储有多个指令,所述多个指令在由所述一个或多个处理器执行时,促使所述计算装置:
获得用于要被执行的应用的服务等级数据,其中所述服务等级数据指示对于在服务等级的范围中的每个服务等级,要被分配到所述应用的一个或多个资源的量、用于所述应用的每个阶段的目标性能度量和用于所述应用的每个阶段的最大服务等级;
执行所述应用;
根据在所述应用被执行时的所述应用的一个或多个资源利用,确定所述应用的当前阶段;
根据所确定的阶段,设置用于所述应用的当前服务等级,其中所述当前服务等级在与所确定的阶段关联的所述范围内;
确定所述应用的当前性能度量是否满足所述目标性能度量;以及
响应于所述当前性能度量不满足所述目标性能度量的确定,将所述当前服务等级递增到在所述范围中的更高服务等级。
2. 根据技术方案1所述的计算装置,其中所述多个指令在被执行时,进一步促使所述计算装置响应于所述当前性能度量满足所述目标性能度量的确定,将所述当前服务等级递减到在所述范围中的更低服务等级。
3. 根据技术方案1所述的计算装置,其中所述多个指令在被执行时,进一步促使所述计算装置:
检测所述应用是否已转变到随后的阶段;
响应于所述应用已转变到随后的阶段的确定,确定与所述随后的阶段关联的服务等级的第二范围;以及
根据所述随后的阶段,设置用于所述应用的随后的服务等级,其中所述随后的服务等级在所述第二范围中。
4. 根据技术方案1所述的计算装置,其中获得所述服务等级数据包括响应于所述当前性能度量不满足所述目标性能度量的确定,接收指示递增所述当前服务等级的量的递增类型数据。
5. 根据技术方案1所述的计算装置,其中递增所述服务等级包括增加可用于所述应用的高速缓冲存储器关联性的路的数量。
6. 根据技术方案1所述的计算装置,其中递增所述服务等级包括增加可用于所述应用的存储器带宽。
7. 根据技术方案1所述的计算装置,其中所述多个指令在被执行时,进一步促使所述计算装置设置模型特定寄存器以指示所述应用的所述当前服务等级。
8. 根据技术方案1所述的计算装置,其中所述多个指令在被执行时,进一步促使所述计算装置设置指示一个或多个资源对其它应用的可用性的比特掩码。
9. 根据技术方案1所述的计算装置,其中确定所述当前性能度量是否满足所述目标性能度量包括确定每周期的指令的当前数量是否满足每周期的指令的目标数量。
10. 根据技术方案1所述的计算装置,其中确定所述当前性能度量是否满足所述目标性能度量包括确定高速缓冲存储器未命中的当前数量是否满足高速缓冲存储器未命中的目标数量。
11. 根据技术方案1所述的计算装置,其中递增所述当前服务等级包括增加分配到所述应用的一个资源的量。
12. 根据技术方案1所述的计算装置,其中递增所述当前服务等级包括增加分配到所述应用的多个资源的量。
13. 一个或多个机器可读存储媒体,包括在其上存储的多个指令,所述多个指令响应于被执行,促使计算装置:
获得用于要被执行的应用的服务等级数据,其中所述服务等级数据指示对于在服务等级的范围中的每个服务等级,要被分配到所述应用的一个或多个资源的量、用于所述应用的每个阶段的目标性能度量和用于所述应用的每个阶段的最大服务等级;
执行所述应用;
根据在所述应用被执行时的所述应用的一个或多个资源利用,确定所述应用的当前阶段;
根据所确定的阶段,设置用于所述应用的当前服务等级,其中所述当前服务等级在与所确定的阶段关联的所述范围内;
确定所述应用的当前性能度量是否满足所述目标性能度量;以及
响应于所述当前性能度量不满足所述目标性能度量的确定,将所述当前服务等级递增到在所述范围中的更高服务等级。
14. 根据技术方案13所述的一个或多个机器可读存储媒体,其中所述多个指令在被执行时,进一步促使所述计算装置响应于所述当前性能度量满足所述目标性能度量的确定,将所述当前服务等级递减到在所述范围中的更低服务等级。
15. 根据技术方案13所述的一个或多个机器可读存储媒体,其中所述多个指令在被执行时,进一步促使所述计算装置:
检测所述应用是否已转变到随后的阶段;
响应于所述应用已转变到随后的阶段,确定与所述随后的阶段关联的服务等级的第二范围;以及
根据所述随后的阶段,设置用于所述应用的随后的服务等级,其中所述随后的服务等级在所述第二范围中。
16. 根据技术方案13所述的一个或多个机器可读存储媒体,其中获得所述服务等级数据包括响应于所述当前性能度量不满足所述目标性能度量的确定,接收指示递增所述当前服务等级的量的递增类型数据。
17. 根据技术方案13所述的一个或多个机器可读存储媒体,其中递增所述服务等级包括增加可用于所述应用的高速缓冲存储器关联性的路的数量。
18. 根据技术方案13所述的一个或多个机器可读存储媒体,其中递增所述服务等级包括增加可用于所述应用的存储器带宽。
19. 根据技术方案13所述的一个或多个机器可读存储媒体,其中所述多个指令在被执行时,进一步促使所述计算装置设置模型特定寄存器以指示所述应用的所述当前服务等级。
20. 根据技术方案13所述的一个或多个机器可读存储媒体,其中所述多个指令在被执行时,进一步促使所述计算装置设置指示一个或多个资源对其它应用的可用性的比特掩码。
21. 根据技术方案13所述的一个或多个机器可读存储媒体,其中确定所述当前性能度量是否满足所述目标性能度量包括确定每周期的指令的当前数量是否满足每周期的指令的目标数量。
22. 根据技术方案13所述的一个或多个机器可读存储媒体,其中确定所述当前性能度量是否满足所述目标性能度量包括确定高速缓冲存储器未命中的当前数量是否满足高速缓冲存储器未命中的目标数量。
23. 根据技术方案13所述的一个或多个机器可读存储媒体,其中递增所述当前服务等级包括增加分配到所述应用的一个资源的量。
24. 根据技术方案13所述的一个或多个机器可读存储媒体,其中递增所述当前服务等级包括增加分配到所述应用的多个资源的量。
25. 一种自适应地控制平台服务质量的计算装置,所述计算装置包括:
用于获得用于要被执行的应用的服务等级数据的电路系统,其中所述服务等级数据指示对于在服务等级的范围中的每个服务等级,要被分配到所述应用的一个或多个资源的量、用于所述应用的每个阶段的目标性能度量和用于所述应用的每个阶段的最大服务等级;
用于执行所述应用的电路系统;
用于根据在所述应用被执行时的所述应用的一个或多个资源利用,确定所述应用的当前阶段的部件;
用于根据所确定的阶段,设置用于所述应用的当前服务等级的部件,其中所述当前服务等级在与所确定的阶段关联的所述范围内;
用于确定所述应用的当前性能度量是否满足所述目标性能度量的部件;以及
用于响应于所述当前性能度量不满足所述目标性能度量的确定,将所述当前服务等级递增到在所述范围中的更高服务等级的部件。
26. 一种用于自适应地控制平台服务质量的方法,所述方法包括:
由计算装置获得用于要被执行的应用的服务等级数据,其中所述服务等级数据指示对于在服务等级的范围中的每个服务等级,要被分配到所述应用的一个或多个资源的量、用于所述应用的每个阶段的目标性能度量和用于所述应用的每个阶段的最大服务等级;
由所述计算装置执行所述应用;
由所述计算装置并且根据在所述应用被执行时的所述应用的一个或多个资源利用,确定所述应用的当前阶段;
由所述计算装置根据所确定的阶段,设置用于所述应用的当前服务等级,其中所述当前服务等级在与所确定的阶段关联的所述范围内;
由所述计算装置确定所述应用的当前性能度量是否满足所述目标性能度量;以及
由所述计算装置并且响应于所述当前性能度量不满足所述目标性能度量的确定,将所述当前服务等级递增到在所述范围中的更高服务等级。
27. 根据技术方案26所述的方法,进一步包括由所述计算装置并且响应于所述当前性能度量满足所述目标性能度量的确定,将所述当前服务等级递减到在所述范围中的更低服务等级。
28. 根据技术方案26所述的方法,进一步包括:
由所述计算装置检测所述应用是否已转变到随后的阶段;
由所述计算装置并且响应于所述应用已转变到随后的阶段是确定,确定与所述随后的阶段关联的服务等级的第二范围;以及
由所述计算装置根据所述随后的阶段,设置用于所述应用的随后的服务等级,其中所述随后的服务等级在所述第二范围中。
示例
下面提供了本文中公开的技术的说明性示例。技术的实施例可包括下述示列的任何一个或多个及其任何组合。
示例1包括自适应地控制平台服务质量的计算装置,计算装置包括一个或多个处理器;一个或多个存储器装置,其中存储有多个指令,所述多个指令在由一个或多个处理器执行时,促使计算装置获得用于要被执行的应用的服务等级数据,其中服务等级数据指示对于在服务等级的范围中的每个服务等级,要被分配到应用的一个或多个资源的量、用于应用的每个阶段的目标性能度量和用于应用的每个阶段的最大服务等级;执行应用;根据在应用被执行时的应用的一个或多个资源利用,确定应用的当前阶段;根据确定的阶段,设置用于应用的当前服务等级,其中当前服务等级在与确定的阶段关联的范围内;确定应用的当前性能度量是否满足目标性能度量;以及响应于当前性能度量不满足目标性能度量的确定,将当前服务等级递增到在范围中的更高服务等级。
示例2包括示例1的主题,并且其中多个指令在被执行时,进一步促使计算装置响应于当前性能度量满足目标性能度量的确定,将当前服务等级递减到在范围中的更低服务等级。
示例3包括示例1和2的任何示例的主题,并且其中多个指令在被执行时进一步促使计算装置检测应用是否已转变到随后的阶段;响应于应用已转变到随后的阶段的确定,确定与随后的阶段关联的服务等级的第二范围;以及根据随后的阶段,设置用于应用的随后的服务等级,其中随后的服务等级在第二范围中。
示例4包括示例1-3的任何示例的主题,并且其中获得服务等级数据包括响应于当前性能度量不满足目标性能度量的确定,接收指示递增当前服务等级的量的递增类型数据。
示例5包括示例1-4的任何示例的主题,并且其中递增服务等级包括增加可用于应用的高速缓冲存储器关联性的路的数量。
示例6包括示例1-5的任何示例的主题,并且其中递增服务等级包括增加可用于应用的存储器带宽。
示例7包括示例1-6的任何示例的主题,并且其中多个指令在被执行时,进一步促使计算装置设置模型特定寄存器以指示应用的当前服务等级。
示例8包括示例1-7的任何示例的主题,并且其中多个指令在被执行时,进一步促使计算装置设置指示一个或多个资源对其它应用的可用性的比特掩码。
示例9包括示例1-8的任何示例的主题,并且其中确定当前性能度量是否满足目标性能度量包括确定每周期的指令的当前数量是否满足每周期的指令的目标数量。
示例10包括示例1-9的任何示例的主题,并且其中确定当前性能度量是否满足目标性能度量包括确定高速缓冲存储器未命中的当前数量是否满足高速缓冲存储器未命中的目标数量。
示例11包括示例1-10的任何示例的主题,并且其中递增当前服务等级包括增加分配到应用的一个资源的量。
示例12包括示例1-11的任何示例的主题,并且其中递增当前服务等级包括增加分配到应用的多个资源的量。
示例13包括示例1-12的任何示例的主题,并且其中多个指令在被执行时,进一步促使计算装置向协调器服务器报告指示通过应用的资源利用的遥测数据;以及确定应用的当前阶段包括接收来自协调器服务器的当前阶段的标识。
示例14包括示例1-13的任何示例的主题,并且其中确定应用的当前阶段包括比较应用的资源利用和与不同阶段关联的参考资源利用。
示例15包括示例1-14的任何示例的主题,并且其中一个或多个处理器包括多个核,并且其中执行应用包括利用计算装置的不同核来执行多个应用。
示例16包括用于自适应地控制平台服务质量的方法,方法包括由计算装置获得用于要被执行的应用的服务等级数据,其中服务等级数据指示对于在服务等级的范围中的每个服务等级,要被分配到应用的一个或多个资源的量、用于应用的每个阶段的目标性能度量和用于应用的每个阶段的最大服务等级;由计算装置执行应用;由计算装置并且根据在应用被执行时的应用的一个或多个资源利用,确定应用的当前阶段;由计算装置根据确定的阶段,设置用于应用的当前服务等级,其中当前服务等级在与确定的阶段关联的范围内;由计算装置确定应用的当前性能度量是否满足目标性能度量;以及由计算装置并且响应于当前性能度量不满足目标性能度量的确定,将当前服务等级递增到在范围中的更高服务等级。
示例17包括示例16的主题,并且进一步包括由计算装置并且响应于当前性能度量满足目标性能度量的确定,将当前服务等级递减到在范围中的更低服务等级。
示例18包括示例16和17的任何示例的主题,并且进一步包括由计算装置检测应用是否已转变到随后的阶段;由计算装置并且响应于应用已转变到随后的阶段,确定与随后的阶段关联的服务等级的第二范围;以及由计算装置根据随后的阶段,设置用于应用的随后的服务等级,其中随后的服务等级在第二范围中。
示例19包括示例16-18的任何示例的主题,并且其中获得服务等级数据包括响应于当前性能度量不满足目标性能度量的确定,接收指示递增当前服务等级的量的递增类型数据。
示例20包括示例16-19的任何示例的主题,并且其中递增服务等级包括增加可用于应用的高速缓冲存储器关联性的路的数量。
示例21包括示例16-20的任何示例的主题,并且其中递增服务等级包括增加可用于应用的存储器带宽。
示例22包括示例16-21的任何示例的主题,并且进一步包括由计算装置设置模型特定寄存器以指示应用的当前服务等级。
示例23包括示例16-22的任何示例的主题,并且进一步包括由计算装置设置指示一个或多个资源对其它应用的可用性的比特掩码。
示例24包括示例16-23的任何示例的主题,并且其中确定当前性能度量是否满足目标性能度量包括确定每周期的指令的当前数量是否满足每周期的指令的目标数量。
示例25包括示例16-24的任何示例的主题,并且其中确定当前性能度量是否满足目标性能度量包括确定高速缓冲存储器未命中的当前数量是否满足高速缓冲存储器未命中的目标数量。
示例26包括示例16-25的任何示例的主题,并且其中递增当前服务等级包括增加分配到应用的一个资源的量。
示例27包括示例16-26的任何示例的主题,并且其中递增当前服务等级包括增加分配到应用的多个资源的量。
示例28包括示例16-27的任何示例的主题,并且进一步包括由计算装置向协调器服务器报告指示通过应用的资源利用的遥测数据;以及其中确定应用的当前阶段包括接收来自协调器服务器的当前阶段的标识。
示例29包括示例16-28的任何示例的主题,并且其中确定应用的当前阶段包括比较应用的资源利用和与不同阶段关联的参考资源利用。
示例30包括示例16-29的任何示例的主题,并且其中执行应用包括利用计算装置的不同核来执行多个应用。
示例31包括一个或多个机器可读存储媒体,包括在其上存储的多个指令,所述多个指令响应于被执行,促使计算装置执行示例16-30的任何示例的方法。
示例32包括自适应地控制平台服务质量的计算装置,计算装置包括一个或多个处理器;一个或多个存储器装置,其中存储有多个指令,所述多个指令在由一个或多个处理器执行时,促使计算装置执行示例16-30的任何示例的方法。
示例33包括计算装置,其包括用于执行示例16-30的任何示例的方法的部件。
示例34包括自适应地控制平台服务质量的计算装置,计算装置包括获得用于要被执行的应用的服务等级数据的平台服务质量管理器电路系统,其中服务等级数据指示对于在服务等级的范围中的每个服务等级,要被分配到应用的一个或多个资源的量、用于应用的每个阶段的目标性能度量和用于应用的每个阶段的最大服务等级;和执行应用的应用执行器电路系统;其中平台服务质量管理器电路系统进一步根据在应用被执行时的应用的一个或多个资源利用,确定应用的当前阶段;根据确定的阶段,设置用于应用的当前服务等级,其中当前服务等级在与确定的阶段关联的范围内;确定应用的当前性能度量是否满足目标性能度量;以及响应于当前性能度量不满足目标性能度量的确定,将当前服务等级递增到在范围中的更高服务等级。
示例35包括示例34的主题,并且其中平台服务质量管理器电路系统进一步要响应于当前性能度量满足目标性能度量的确定,将当前服务等级递减到在范围中的更低服务等级。
示例36包括示例34和35的任何示例的主题,并且其中平台服务质量管理器电路系统进一步要检测应用是否已转变到随后的阶段;响应于应用已转变到随后的阶段的确定,确定与随后的阶段关联的服务等级的第二范围;以及根据随后的阶段,设置用于应用的随后的服务等级,其中随后的服务等级在第二范围中。
示例37包括示例34-36的任何示例的主题,并且其中获得服务等级数据包括响应于当前性能度量不满足目标性能度量的确定,接收指示递增当前服务等级的量的递增类型数据。
示例38包括示例34-37的任何示例的主题,并且其中递增服务等级包括增加可用于应用的高速缓冲存储器关联性的路的数量。
示例39包括示例34-38的任何示例的主题,并且其中递增服务等级包括增加可用于应用的存储器带宽。
示例40包括示例34-39的任何示例的主题,并且其中平台服务质量管理器电路系统进一步要设置模型特定寄存器以指示应用的当前服务等级。
示例41包括示例34-40的任何示例的主题,并且其中平台服务质量管理器电路系统进一步要设置指示一个或多个资源对其它应用的可用性的比特掩码。
示例42包括示例34-41的任何示例的主题,并且其中确定当前性能度量是否满足目标性能度量包括确定每周期的指令的当前数量是否满足每周期的指令的目标数量。
示例43包括示例34-42的任何示例的主题,并且其中确定当前性能度量是否满足目标性能度量包括确定高速缓冲存储器未命中的当前数量是否满足高速缓冲存储器未命中的目标数量。
示例44包括示例34-43的任何示例的主题,并且其中递增当前服务等级包括增加分配到应用的一个资源的量。
示例45包括示例34-44的任何示例的主题,并且其中递增当前服务等级包括增加分配到应用的多个资源的量。
示例46包括示例34-45的任何示例的主题,并且进一步包括网络通信器电路系统以向协调器服务器报告指示通过应用的资源利用的遥测数据;以及其中确定应用的当前阶段包括接收来自协调器服务器的当前阶段的标识。
示例47包括示例34-46的任何示例的主题,并且其中确定应用的当前阶段包括比较应用的资源利用和与不同阶段关联的参考资源利用。
示例48包括示例34-47的任何示例的主题,并且其中执行应用包括利用计算装置的不同核来执行多个应用。
示例49包括自适应地控制平台服务质量的计算装置,计算装置包括用于获得用于要被执行的应用的服务等级数据的电路系统,其中服务等级数据指示对于在服务等级的范围中的每个服务等级,要被分配到应用的一个或多个资源的量、用于应用的每个阶段的目标性能度量和用于应用的每个阶段的最大服务等级;用于执行应用的电路系统;用于根据在应用被执行时的应用的一个或多个资源利用,确定应用的当前阶段的部件;用于根据确定的阶段,设置用于应用的当前服务等级的部件,其中当前服务等级在与确定的阶段关联的范围内;用于确定应用的当前性能度量是否满足目标性能度量的部件;以及用于响应于当前性能度量不满足目标性能度量的确定,将当前服务等级递增到在范围中的更高服务等级的部件。
示例50包括示例49的主题,并且进一步包括用于响应于当前性能度量满足目标性能度量的确定,将当前服务等级递减到在范围中的更低服务等级的部件。
示例51包括示例49和50的任何示例的主题,并且进一步包括用于检测应用是否已转变到随后的阶段的部件;用于响应于应用已转变到随后的阶段的确定,确定与随后的阶段关联的服务等级的第二范围的部件;以及用于根据随后的阶段,设置用于应用的随后的服务等级的部件,其中随后的服务等级在第二范围中。
示例52包括示例49-51的任何示例的主题,并且其中用于获得服务等级数据的电路系统包括用于响应于当前性能度量不满足目标性能度量的确定,接收指示递增当前服务等级的量的递增类型数据的电路系统。
示例53包括示例49-52的任何示例的主题,并且其中用于递增服务等级的部件包括用于增加可用于应用的高速缓冲存储器关联性的路的数量的电路系统。
示例54包括示例49-53的任何示例的主题,并且其中用于递增服务等级的部件包括用于增加可用于应用的存储器带宽的电路系统。
示例55包括示例49-54的任何示例的主题,并且进一步包括用于设置模型特定寄存器以指示应用的当前服务等级的电路系统。
示例56包括示例49-55的任何示例的主题,并且进一步包括用于设置指示一个或多个资源对其它应用的可用性的比特掩码的电路系统。
示例57包括示例49-56的任何示例的主题,并且其中用于确定当前性能度量是否满足目标性能度量的部件包括用于确定每周期的指令的当前数量是否满足每周期的指令的目标数量的电路系统。
示例58包括示例49-57的任何示例的主题,并且其中用于确定当前性能度量是否满足目标性能度量的部件包括用于确定高速缓冲存储器未命中的当前数量是否满足高速缓冲存储器未命中的目标数量的电路系统。
示例59包括示例49-58的任何示例的主题,并且其中用于递增当前服务等级的部件包括用于增加分配到应用的一个资源的量的电路系统。
示例60包括示例49-59的任何示例的主题,并且其中用于递增当前服务等级的部件包括用于增加分配到应用的多个资源的量的电路系统。
示例61包括示例49-60的任何示例的主题,并且进一步包括用于向协调器服务器报告指示通过应用的资源利用的遥测数据的电路系统;以及其中用于确定应用的当前阶段的部件包括用于接收来自协调器服务器的当前阶段的标识的电路系统。
示例62包括示例49-61的任何示例的主题,并且其中用于确定应用的当前阶段的部件包括用于比较应用的资源利用和与不同阶段关联的参考资源利用的电路系统。
示例63包括示例49-62的任何示例的主题,并且其中用于执行应用的电路系统包括用于利用计算装置的不同核来执行多个应用的电路系统。

Claims (25)

1.一种自适应地控制平台服务质量的计算装置,所述计算装置包括:
一个或多个处理器;
一个或多个存储器装置,其中存储有多个指令,所述多个指令在由所述一个或多个处理器执行时,促使所述计算装置:
获得用于要被执行的应用的服务等级数据,其中所述服务等级数据指示对于在服务等级的范围中的每个服务等级,要被分配到所述应用的一个或多个资源的量、用于所述应用的每个阶段的目标性能度量和用于所述应用的每个阶段的最大服务等级;
执行所述应用;
根据在所述应用被执行时的所述应用的一个或多个资源利用,确定所述应用的当前阶段;
根据所确定的阶段,设置用于所述应用的当前服务等级,其中所述当前服务等级在与所确定的阶段关联的所述范围内;
确定所述应用的当前性能度量是否满足所述目标性能度量;以及
响应于所述当前性能度量不满足所述目标性能度量的确定,将所述当前服务等级递增到在所述范围中的更高服务等级。
2.根据权利要求1所述的计算装置,其中所述多个指令在被执行时,进一步促使所述计算装置响应于所述当前性能度量满足所述目标性能度量的确定,将所述当前服务等级递减到在所述范围中的更低服务等级。
3.根据权利要求1所述的计算装置,其中所述多个指令在被执行时,进一步促使所述计算装置:
检测所述应用是否已转变到随后的阶段;
响应于所述应用已转变到随后的阶段的确定,确定与所述随后的阶段关联的服务等级的第二范围;以及
根据所述随后的阶段,设置用于所述应用的随后的服务等级,其中所述随后的服务等级在所述第二范围中。
4.根据权利要求1所述的计算装置,其中获得所述服务等级数据包括响应于所述当前性能度量不满足所述目标性能度量的确定,接收指示递增所述当前服务等级的量的递增类型数据。
5.根据权利要求1所述的计算装置,其中递增所述服务等级包括增加可用于所述应用的高速缓冲存储器关联性的路的数量。
6.根据权利要求1所述的计算装置,其中递增所述服务等级包括增加可用于所述应用的存储器带宽。
7.根据权利要求1所述的计算装置,其中所述多个指令在被执行时,进一步促使所述计算装置设置模型特定寄存器以指示所述应用的所述当前服务等级。
8.根据权利要求1所述的计算装置,其中所述多个指令在被执行时,进一步促使所述计算装置设置指示一个或多个资源对其它应用的可用性的比特掩码。
9.根据权利要求1所述的计算装置,其中确定所述当前性能度量是否满足所述目标性能度量包括确定每周期的指令的当前数量是否满足每周期的指令的目标数量。
10.根据权利要求1所述的计算装置,其中确定所述当前性能度量是否满足所述目标性能度量包括确定高速缓冲存储器未命中的当前数量是否满足高速缓冲存储器未命中的目标数量。
11.根据权利要求1所述的计算装置,其中递增所述当前服务等级包括增加分配到所述应用的一个资源的量。
12.根据权利要求1所述的计算装置,其中递增所述当前服务等级包括增加分配到所述应用的多个资源的量。
13.一种自适应地控制平台服务质量的计算装置,所述计算装置包括:
用于获得用于要被执行的应用的服务等级数据的电路系统,其中所述服务等级数据指示对于在服务等级的范围中的每个服务等级,要被分配到所述应用的一个或多个资源的量、用于所述应用的每个阶段的目标性能度量和用于所述应用的每个阶段的最大服务等级;
用于执行所述应用的电路系统;
用于根据在所述应用被执行时的所述应用的一个或多个资源利用,确定所述应用的当前阶段的部件;
用于根据所确定的阶段,设置用于所述应用的当前服务等级的部件,其中所述当前服务等级在与所确定的阶段关联的所述范围内;
用于确定所述应用的当前性能度量是否满足所述目标性能度量的部件;以及
用于响应于所述当前性能度量不满足所述目标性能度量的确定,将所述当前服务等级递增到在所述范围中的更高服务等级的部件。
14.根据权利要求13所述的计算装置,进一步包括用于响应于所述当前性能度量满足所述目标性能度量的确定,将所述当前服务等级递减到在所述范围中的更低服务等级的部件。
15.根据权利要求13所述的计算装置,进一步包括:
用于检测所述应用是否已转变到随后的阶段的部件;
用于响应于所述应用已转变到随后的阶段的确定,确定与所述随后的阶段关联的服务等级的第二范围的部件;以及
用于根据所述随后的阶段,设置用于所述应用的随后的服务等级的部件,其中所述随后的服务等级在所述第二范围中。
16.根据权利要求13所述的计算装置,其中用于获得所述服务等级数据的所述电路系统包括用于响应于所述当前性能度量不满足所述目标性能度量的确定,接收指示递增所述当前服务等级的量的递增类型数据的电路系统。
17.根据权利要求13所述的计算装置,其中用于递增所述服务等级的所述部件包括用于增加可用于所述应用的高速缓冲存储器关联性的路的数量的电路系统。
18.根据权利要求13所述的计算装置,其中用于递增所述服务等级的部件包括用于增加可用于所述应用的存储器带宽的电路系统。
19.根据权利要求13所述的计算装置,进一步包括用于设置模型特定寄存器以指示所述应用的所述当前服务等级的电路系统。
20.根据权利要求13所述的计算装置,进一步包括用于设置指示一个或多个资源对其它应用的可用性的比特掩码的电路系统。
21.根据权利要求13所述的计算装置,其中用于确定所述当前性能度量是否满足所述目标性能度量的所述部件包括用于确定每周期的指令的当前数量是否满足每周期的指令的目标数量的电路系统。
22.根据权利要求13所述的计算装置,其中用于确定所述当前性能度量是否满足所述目标性能度量的所述部件包括用于确定高速缓冲存储器未命中的当前数量是否满足高速缓冲存储器未命中的目标数量的电路系统。
23.根据权利要求13所述的计算装置,其中用于递增所述当前服务等级的所述部件包括用于增加分配到所述应用的一个资源的量的电路系统。
24.根据权利要求13所述的计算装置,其中用于递增所述当前服务等级的所述部件包括用于增加分配到所述应用的多个资源的量的电路系统。
25.一种用于自适应地控制平台服务质量的方法,所述方法包括:
由计算装置获得用于要被执行的应用的服务等级数据,其中所述服务等级数据指示对于在服务等级的范围中的每个服务等级,要被分配到所述应用的一个或多个资源的量、用于所述应用的每个阶段的目标性能度量和用于所述应用的每个阶段的最大服务等级;
由所述计算装置执行所述应用;
由所述计算装置并且根据在所述应用被执行时的所述应用的一个或多个资源利用,确定所述应用的当前阶段;
由所述计算装置根据所确定的阶段,设置用于所述应用的当前服务等级,其中所述当前服务等级在与所确定的阶段关联的所述范围内;
由所述计算装置确定所述应用的当前性能度量是否满足所述目标性能度量;以及
由所述计算装置并且响应于所述当前性能度量不满足所述目标性能度量的确定,将所述当前服务等级递增到在所述范围中的更高服务等级。
CN201810698787.1A 2017-06-29 2018-06-29 用于提供自适应平台服务质量的技术 Pending CN109218068A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/636,779 US20190007747A1 (en) 2017-06-29 2017-06-29 Technologies for providing adaptive platform quality of service
US15/636779 2017-06-29

Publications (1)

Publication Number Publication Date
CN109218068A true CN109218068A (zh) 2019-01-15

Family

ID=64661761

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810698787.1A Pending CN109218068A (zh) 2017-06-29 2018-06-29 用于提供自适应平台服务质量的技术

Country Status (3)

Country Link
US (1) US20190007747A1 (zh)
CN (1) CN109218068A (zh)
DE (1) DE102018209187A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA3108542A1 (en) * 2018-08-07 2020-02-13 Idac Holdings, Inc. Methods and apparatuses for autonomous resource selection in new radio vehicle to everything (nr v2x)
US11579926B2 (en) * 2020-02-10 2023-02-14 EMC IP Holding Company LLC Processing rest API requests based on resource usage satisfying predetermined limits

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050240668A1 (en) * 2004-04-27 2005-10-27 Jerry Rolia Trending method and apparatus for resource demand in a computing utility
CN101044486A (zh) * 2004-09-28 2007-09-26 国际商业机器公司 协调服务性能和应用放置管理
US20130007234A1 (en) * 2011-06-29 2013-01-03 International Business Machines Corporation Dynamically modifying quality of service levels for resources in a networked computing environment
US20130232261A1 (en) * 2011-12-27 2013-09-05 Solidfire, Inc. Quality of service policy sets
US20140095691A1 (en) * 2012-09-28 2014-04-03 Mrittika Ganguli Managing data center resources to achieve a quality of service
US8756307B1 (en) * 2007-07-30 2014-06-17 Hewlett-Packard Development Company, L.P. Translating service level objectives to system metrics
CN104937584A (zh) * 2012-12-19 2015-09-23 赛门铁克公司 基于共享资源的质量向经优先级排序的虚拟机和应用程序提供优化的服务质量
US20160299849A1 (en) * 2015-04-07 2016-10-13 Intel Corporation Cache allocation with code and data prioritization

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050240668A1 (en) * 2004-04-27 2005-10-27 Jerry Rolia Trending method and apparatus for resource demand in a computing utility
CN101044486A (zh) * 2004-09-28 2007-09-26 国际商业机器公司 协调服务性能和应用放置管理
US8756307B1 (en) * 2007-07-30 2014-06-17 Hewlett-Packard Development Company, L.P. Translating service level objectives to system metrics
US20130007234A1 (en) * 2011-06-29 2013-01-03 International Business Machines Corporation Dynamically modifying quality of service levels for resources in a networked computing environment
US20130232261A1 (en) * 2011-12-27 2013-09-05 Solidfire, Inc. Quality of service policy sets
US20140095691A1 (en) * 2012-09-28 2014-04-03 Mrittika Ganguli Managing data center resources to achieve a quality of service
CN104937584A (zh) * 2012-12-19 2015-09-23 赛门铁克公司 基于共享资源的质量向经优先级排序的虚拟机和应用程序提供优化的服务质量
US20160299849A1 (en) * 2015-04-07 2016-10-13 Intel Corporation Cache allocation with code and data prioritization

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
唐亚哲;曹宁;沈琳;张凯;李亚;: "基于服务等级的网格服务质量描述语言", 计算机科学, no. 09 *

Also Published As

Publication number Publication date
DE102018209187A1 (de) 2019-01-03
US20190007747A1 (en) 2019-01-03

Similar Documents

Publication Publication Date Title
US9927857B2 (en) Profiling a job power and energy consumption for a data processing system
US9176841B2 (en) Estimating application energy usage in a target device
US10608901B2 (en) System and method for applying machine learning algorithms to compute health scores for workload scheduling
US10200261B2 (en) Multiple-computing-node system job node selection
US20190163517A1 (en) Predictive rightsizing for virtual machines in cloud computing systems
JP6224244B2 (ja) 作業密度を増加させ、エネルギー効率を向上させるための電力バランシング
JP6526907B2 (ja) 分散型記憶システムの性能監視
US8234229B2 (en) Method and apparatus for prediction of computer system performance based on types and numbers of active devices
US11520632B1 (en) Specifying behavior among a group of computing tasks
CN110865867A (zh) 应用拓扑关系发现的方法、装置和系统
JP2017514209A (ja) マルチプロセス・アプリケーションのための動的リソース管理
US20180006903A1 (en) Performance assurance using workload phase detection
CN112508768B (zh) 单算子多模型流水线推理方法、系统、电子设备及介质
CN110381151A (zh) 一种异常设备检测方法及装置
CN109218068A (zh) 用于提供自适应平台服务质量的技术
Cao et al. Virtual battery: An energy reserve abstraction for embedded sensor networks
US20180052602A1 (en) Selecting a primary storage device
CN109561020A (zh) 选择非最小路径和节流端口速度以增大网络吞吐量的技术
WO2019029721A1 (zh) 任务的调度方法、装置、设备及存储介质
WO2023273502A1 (zh) 作业处理的方法、装置、计算机设备以及存储介质
JP2022500714A (ja) 大規模データ分析の最適化
WO2019074821A1 (en) MOBILE RESOURCE PLANNER
Abdelhafez et al. Studying the impact of CPU and memory controller frequencies on power consumption of the Jetson TX1
US11844188B2 (en) Distribution of available power to devices in a group
JP2005122616A (ja) ネットワーク型グリッドコンピューティングシステム

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