CN114595026A - 在多平台即服务的系统中估计平台上运行的工作负载的属性 - Google Patents

在多平台即服务的系统中估计平台上运行的工作负载的属性 Download PDF

Info

Publication number
CN114595026A
CN114595026A CN202111432581.2A CN202111432581A CN114595026A CN 114595026 A CN114595026 A CN 114595026A CN 202111432581 A CN202111432581 A CN 202111432581A CN 114595026 A CN114595026 A CN 114595026A
Authority
CN
China
Prior art keywords
workload
platform
computer
running
workloads
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
CN202111432581.2A
Other languages
English (en)
Inventor
L·艾罗诺维奇
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN114595026A publication Critical patent/CN114595026A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • G06F9/5088Techniques for rebalancing the load in a distributed system involving task migration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • G06F9/4856Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5021Priority
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/503Resource availability
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/506Constraint

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

一种用于在多平台即服务的系统中估计平台上运行的工作负载的属性的计算机实现的方法和计算机程序产品。计算机接收对相应工作负载和有资格运行一组相应工作负载的相应平台的限定。计算机将相应工作负载和相应平台映射到在相应平台上运行相应工作负载的属性。计算机估计属性并将属性存储在矩阵中。计算机响应于用于修改矩阵的触发事件,更新矩阵中的属性。

Description

在多平台即服务的系统中估计平台上运行的工作负载的属性
背景技术
本发明一般涉及平台即服务(PaaS)模型,并且更具体地涉及在多平台即服务的系统中估计平台上运行的工作负载的属性。
在平台即服务(PaaS)模型中,工作负载被置于在平台上运行而不是在虚拟机或物理机器上运行。平台可以包括底层资源的任何组合,并且这通常不被暴露给平台的用户。平台通常暴露接口,该接口使得能够放置、运行、监视和控制平台上的工作负载。
一些方面通常需要在与基础设施即服务(IaaS)平台一起工作时被处理,诸如选择虚拟机(VM)类型、创建和维护VM镜像、将VM连接到集群或从集群断开VM、返回VM、等待VM提供以及跟踪VM在与PaaS平台一起工作时被消除。在PaaS中,两个主要概念是工作负载和运行工作负载的平台。
PaaS平台可以是本地的和远程的。用户在PaaS平台上创建账户,并且然后可以经由所创建的账户在这些PaaS平台上上传和运行工作负载。在本地和远程平台上运行工作负载的能力提供了若干益处。成本节约是显著的益处之一。在不花费金钱来构建和维护资源以适应仅偶尔发生的资源使用的尖峰的情况下,混合云机制使得能够将工作负载从本地平台卸载到远程平台,并且因此仅当需要额外资源时才支付额外资源,从而降低了总拥有成本。另一益处是使用具有不同属性的多个云提供商和平台的灵活性,这取决于诸如工作负载要求和成本之类的考虑。提高安全性是额外的好处。云提供商可以提供增强的安全性、隔离和通过专用网络的通信,解决安全性和一致性方面。混合云机制通过在云平台上动态地放置工作负载来提供可扩展性。另外,通过利用云提供商的资源,可以最小化对停机和停机时间的暴露。
发明内容
在一个方面,提供了一种用于在多平台即服务的系统中估计平台上运行的工作负载的属性的计算机实现的方法。计算机实现的方法包括接收对相应工作负载和有资格运行一组相应工作负载的相应平台的限定。计算机实现的方法还包括将相应工作负载和相应平台映射到在相应平台上运行相应工作负载的属性。该计算机实现的方法还包括估计属性并将属性存储在矩阵中。该计算机实现的方法还包括响应于用于修改矩阵的触发事件来更新矩阵中的属性。
在另一方面,提供了一种用于在多平台即服务的系统中估计平台上运行的工作负载的属性的计算机程序产品。该计算机程序产品包括计算机可读存储介质,该计算机可读存储介质具有随其体现的程序指令,并且该程序指令由一个或多个处理器可执行。程序指令可执行以:接收对相应工作负载和有资格运行相应一组工作负载的相应平台的限定;将相应工作负载和相应平台映射到在相应平台上运行相应工作负载的属性;估计属性并将属性存储在矩阵中;以及响应于用于修改矩阵的触发事件,更新矩阵中的属性。
附图说明
图1示出了根据本发明一个实施例的多平台即服务的系统。
图2呈现了示出根据本发明一个实施例的、在多个平台上放置工作负载的操作步骤的流程图。
图3(A)和图3(B)呈现了示出根据本发明的一个实施例的、优化工作负载在多个平台上的放置的操作步骤的流程图。
图4是示出根据本发明一个实施例的计算设备的组件的图示。
图5描述了根据本发明一个实施例的云计算环境。
图6示出了根据本发明一个实施例的云计算环境中的抽象模型层。
具体实施方式
下面是本公开中考虑的问题的限定。多个工作负载可用于运行或已经在运行。多个平台可用于运行多个工作负载。多个平台中的一些可能正在运行工作负载。每个工作负载可能具有完成其处理所需的时间。每个工作负载可以在其资源消耗和完成时间方面在每个平台上不同地执行。每个平台都会产生不同的成本集合,这些成本集合可能随着时间而改变。每个平台的成本可以根据指定资源的使用、时间间隔和其它方面而变化。每个平台可以具有不同的容量限制。多个平台中的一些可以是本地的,而多个平台中的一些可以是远程的。一个目的是找到多个工作负载和多个平台之间的映射,并且该映射最小化了工作负载的完成时间和使用平台所招致的总成本。
用于云突发的现有商业系统具有若干限制。在平台即服务(PaaS)模型中,系统通常依赖于系统管理员来经由监视工具识别资源短缺或资源过剩的情况,监视和确定应当移动哪些应用,监视和调节预算利用,以及管理云资源的供应和释放。平台即服务云相对较新,并且当前PaaS云系统提供有限的支持或不支持管理服务水平和预算方面。
为了克服上述限制,本发明的实施例集中于作为服务云模型的平台。本发明的实施例支持任何类型的工作负载和工作负载环境;没有关于虚拟化环境的假设。本发明的实施例结合服务级别、预算、成本、资源、工作负载和平台考虑来考虑。本发明的实施例支持具有不同属性的多个本地和远程云。本发明的实施例以自动化的方式优化工作负载服务水平和云使用成本,其服从关于预算、资源和平台的约束。本发明的实施例提供了一种可扩展的解决方案。
图1示出了根据本发明一个实施例的多平台即服务的系统100。多平台即服务的系统100包括工作负载120、平台130和用于映射工作负载120和平台130的系统110。工作负载120包括M个未决工作负载(未决工作负载1 121-1、未决工作负载2 121-2、...和未决工作负载M 121-M)。未决工作负载将被放置在平台上。工作负载120还包括N个运行工作负载(运行工作负载1 122-1、运行工作负载2122-2、...和运行工作负载N 122-N)。运行的工作负载当前正在平台上运行。平台130包括K个本地平台(本地平台1 131-1、本地平台2 131-2、...、本地平台K 131-K)和L个远程平台(远程平台1 132-1、远程平台2 132-2、...、远程平台L 131-L)。平台130可以由一个或多个云提供商提供。
用户请求在平台上运行未决工作负载;用于映射的系统110计算平台上的未决工作负载的最优布置,并且用于映射的系统110根据最优布置将未决工作负载布置在平台上。在任何改变(例如,向系统100添加任何新的工作负载或工作负载的要求的任何改变,在本文的稍后段落中给出的详细描述)时,用于映射的系统110重新计算平台上运行的工作负载的最优布置。根据运行的工作负载的最优布置,响应于当前平台不是计算的最优平台,用于映射的系统110将一个或多个运行的工作负载从当前平台移动或迁移到用于一个或多个运行的工作负载的计算的最优平台。
用于映射的系统110可以驻留在计算设备或服务器上。在稍后的段落中参考图4更详细地描述计算设备或服务器。用于在工作负载120和平台130之间映射的系统110在云计算环境中实现。稍后的段落参考图5和图6详细描述云计算环境。
将工作负载和平台映射到运行属性:
用于映射的系统110接收多个工作负载和有资格运行多个工作负载的多个平台的限定。用于通过使用映射函数来映射在特定平台上运行特定工作负载的模型属性的系统110,映射函数将每对工作负载和平台映射到在该平台上运行该工作负载的属性,如下:
[工作负载(WK),平台(PL)]→[成本,完成所需的估计持续时间(EDC),资源需求(RR)]其中成本(Cost)是在指定平台上运行指定工作负载的估计成本;其中完成所需的估计持续时间(EDC)是从工作负载开始在平台上运行的时间测量的估计完成在指定平台上运行的指定工作负载的持续时间,其不包括工作负载在开始运行之前的任何等待时间;并且其中,根据平台的“资源需求(RR)”是根据由特定平台所收取的主要资源来估计的在特定平台上运行的特定工作负载的资源需求。每个平台限定了资源,基于资源计算使用收费。系统110学习和估计成本和EDC以用于映射。RR可以由系统110估计以便映射,或者由用户输入提供,这取决于平台提供的接口。
包括在平台上运行工作负载的属性的矩阵WkPl:
每对相应工作负载和相应平台到在相应平台上运行相应工作负载的属性的映射可以被存储在矩阵中。例如,每个工作负载由矩阵中的行表示,并且每个平台由矩阵中的列表示,并且在特定平台上运行特定工作负载的属性被存储在矩阵中的单元中。令矩阵表示为WkPl。表1示出WkPl矩阵的一个例子。
表1.矩阵WkPl的示例
Figure BDA0003380772000000051
矩阵WkPl中的单元存储在特定平台PLj上运行特定工作负载WKi的属性,并且该单元被表示为WkPl[WKi,PLj]。来自属性成本、EDC和RR的与在特定平台PLj上运行特定工作负载WKi相关联的属性被表示为属性(WkPl[WKi,PLj]);例如,成本(WkPl[WKi,PLj])。
矩阵WkPl的更新:
用于映射的系统110在以下触发事件中的任何触发事件时更新矩阵WkPl。
(1)新的工作负载被添加到系统100。在这种情况下,将向矩阵WkPl添加新的行。
(2)改变工作负载的一个或多个要求。在这种情况下,与该工作负载相关联的行的单元被改变。
(3)工作负载已经完成了特定平台上的处理。在这种情况下,平台上的工作负载的实际运行属性可以在与工作负载和平台相关联的单元中被更新。平台上工作负载的实际运行属性也被添加到成本、EDC和RR度量的估计机制中。可能在同一平台上运行的其他工作负载的属性也可以被更新。
(4)完成了对平台上的工作负载的处理,因此周期性地或立即从矩阵WkPl中移除工作负载。在这种情况下,与要被移除的工作负载相关联的行将从矩阵WkPl中被移除。如果移除是周期性的,则将根据移除标准,例如基于工作负载的时间属性的标准来应用。
(5)增加了新的平台。在这种情况下,新的列被添加到矩阵WkPl,具有针对工作负载中的相应工作负载的属性的估计值。
(6)平台所收取的成本被改变。在这种情况下,存储在与平台相关联的矩阵列中的信息将被更新。
(7)平台可用的资源的数量和/或类型被改变。在这种情况下,存储在与平台相关联的矩阵列中的信息将被更新。
(8)移除平台。在这种情况下,与被移除的平台相关联的柱被移除。
为了发现上述触发事件中的任何一个,维护矩阵WkPl的用于映射的系统110周期性地扫描和监视工作负载以确定工作负载的当前状态,并且系统周期性地扫描和监视平台以确定平台的当前状态。
用于映射的系统110开始构建矩阵WkPl,其中列限定可用的平台而没有行。当添加工作负载时,用于映射的系统110将行添加到矩阵;在该行的单元中,用于映射的系统110添加可用平台上的工作负载的属性的估计值。
估计成本、EDC和RR:
为了估计每对工作负载和平台的成本、EDC和RR度量,系统110使用基于先前记录的信息的估计,即,在特定平台上运行的相同类型的其他工作负载的运行属性。如果正在为其估计度量的工作负载当前正在运行,则系统110也有可能在处理工作负载时考虑当前状态。
在估计成本、EDC和RR度量时,考虑以下方面。
(1)工作负载类型。每个工作负载可以与工作负载类型相关联。每个工作负载类型对在运行特性和资源需求方面具有相似性的工作负载进行分组。给定工作负载与类型的关联可以经由作为给定工作负载的属性的一部分提供给系统110的用户输入来指定。系统110使用的成本、EDC和RR度量的估计机制是基于每个工作负载的类型属性的可用性,以使得给定工作负载能够与相同类型的先前工作负载相关联。为每个工作负载类型计算估计的度量。对于每个工作负载类型,确定并存储针对该工作负载类型的在平台上运行工作负载的度量或属性的聚合和/或详细信息,以便于估计与该工作负载类型相关联的工作负载。完整工作负载的实际运行属性被用于更新为与该完整工作负载相关联的工作负载类型存储的聚合和/或详细信息。
(2)度量值的加和性。收集的成本、EDC和RR度量应该独立地表示每个工作负载,并且应该是加性的。
(3)PaaS云计费模型。PaaS云平台通常具有一个或多个资源,通过资源计算使用消耗和成本;例如,所使用的存储器的量或所使用的工作负载过程的数量可以用于计算使用消耗和成本。这些资源通常是软件限定的(而不是硬件限定的)。成本成本通常与这些资源的消耗成比例,并且通常相对于用户每时间单位对这些资源的消耗来计算。还可以存在对每个用户的这些资源的最大使用的限制。PaaS云平台可以提供若干服务类型,可以根据如何计算成本成本来单独地或组合地计算这些服务类型的使用成本。服务类型还可以与每个用户对资源的最大使用限度相关联。
(4)计算运行或完整工作负载的资源消耗和成本。如果平台报告用于运行特定工作负载的资源消耗和成本的信息,则所报告的资源消耗和成本的信息可以被系统110用来更新用于与该工作负载相对应的工作负载类型的资源需求和成本信息(或者更新为该工作负载类型存储的汇总的和/或详细的信息)。如果平台基于用户的每时间单位的资源使用报告成本信息,或者没有报告每工作负载的资源消耗和成本,则可以通过几种方式来计算用于运行特定工作负载的资源消耗和成本:1)一种方式是收集由平台报告的资源消耗和成本的信息,同时在特定平台上为特定用户自己运行工作负载。2)另一种方式是通过使用例如操作系统监视信息来提取用于运行特定工作负载相对于其他工作负载的资源消耗比例,然后应用该比例来计算平台针对用户运行的多个工作负载报告的资源消耗和成本中的特定工作负载的资源消耗和成本。3)获得每工作负载的资源需求和成本的另一种方式是通过经由用户输入接收该信息,或者如果自动估计是不可能的则使用用户输入。然后,通过上述方式获得的报告的资源消耗和成本的信息被用来更新为工作负载类型存储的聚集的和/或详细的信息。
(5)工作负载迁移成本。对于正在运行的工作负载,可以添加该成本;它是对成本、估计完成持续时间和估计资源需求的估计的附加组成部分,并且它是不考虑迁移的估计的基础。成本的增加分量可以是正的或负的,这取决于工作负载在其运行中的当前状态和迁移工作负载环境的成本。如果增加了迁移成本,则每个平台的估计可以不同于没有迁移的每个工作负载的估计。迁移成本是将一个运行工作负载从其当前平台迁移到其最优平台的成本,该最优平台由系统110确定以用于映射。
总体属性:
总体属性包括总体预算(OverallBudget)。总体预算是按用户/组织单元分配的货币总预算,并且它用于由用户/组织单元运行的工作量。
工作负载属性:
工作负载(WKi)具有以下属性。(1)原始预算(WKi):它是分配给工作负载WKi的货币预算。(2)RemainingBudget(WKi):它是分配给工作负载WKi的货币当前剩余预算(在支出之后)。(3)RDC(WKi):它是从工作负载的提交时间指定的在平台上完成工作负载WKi的请求持续时间。RDC(WKi)被认为是尽力(软)约束。(4)提交时间(WKi):它是工作负载WKi的提交时间。(5)优先级(WKi):它是分配给工作负载WKi的优先级。优先级与其它工作负载的优先级有关。(6)EligiblePlatforms(WKi):它是按照矩阵WkPl中的平台索引指定的平台列表,其中列表中的平台有资格运行工作负载WKi。对于特定工作负载,有资格的平台列表可以是平台的子集,其例如基于平台的类型和用户对平台的访问来选择。
平台属性:
平台(PLj)的平台属性包括MaxResource(PLj)。MaxResource(PLj)的属性是用户对平台PLj所负责的主要资源的消耗的最大界限。主资源可以是例如存储器大小或工作负载进程的数量。
基于成本和服务水平考虑的工作负载在作为服务的多个平台上的布置:
图2呈现了示出根据本发明一个实施例的用于在多个平台上放置工作负载的操作步骤的流程图。在步骤201,用于映射工作负载和平台的系统(例如,图1所示的系统110)检测用于修改矩阵的触发事件,该矩阵将工作负载和平台配对并且包括在平台上运行的工作负载的属性。例如,该矩阵是前面段落中描述的矩阵WkPl。为了检测用于修改矩阵的触发事件,用于映射的系统周期性地扫描和监视工作负载和平台,以确定工作负载和平台的当前状态。触发事件是以下事件中的至少一个:将新的工作负载添加到多平台即服务的系统中;改变工作负载中的相应一个工作负载的一个或多个要求(预算、请求完成的持续时间、优先级、有资格的平台);工作负载已经完成了在多个平台中的相应一个平台上的处理;在多平台即服务的系统中增加一个新平台;改变多个平台中的相应一个平台的成本;改变多个平台中的相应一个平台可用的资源的可用性、数量或类型;改变多个平台中的相应一个平台的每个用户的最大资源利用率;从多平台即服务的系统中移除多个平台中的相应一个;并且改变总预算。
在步骤202,一旦检测到触发事件,用于映射的系统就重新计算矩阵。例如,重新计算矩阵WkPl;在矩阵中,更新在平台上运行工作负载的属性。
在步骤203,用于映射的系统计算工作负载在平台上的最优放置。用于映射的系统使用求解优化问题的算法。优化问题及其算法求解将在后面的段落中结合图3详细讨论。
在步骤204,用于映射的系统确定工作负载中的相应一个是否还未在平台中的相应一个上运行。例如,如果工作负载中的相应一个还没有运行,则工作负载中的相应一个是未决工作负载(例如,如图1所示,它是未决工作负载1 121-1、未决工作负载2 121-2、...或未决工作负载M 121-M),并且它等待被(由用于映射的系统)映射到一个平台;如果工作负载中的相应一个工作负载正在运行,则工作负载中的相应一个工作负载是正在运行的工作负载(例如,如图1所示,它正在运行工作负载1 122-1、运行工作负载2 122-2、...或运行工作负载N 122-N)。
响应于确定工作负载中的相应的一个还没有运行(判定块204的“是”分支),在步骤205,用于映射的系统将工作负载中的相应的一个放置在用于工作负载中的相应的一个的所计算的最优平台上。在步骤203计算最优平台。
响应于确定工作负载中的相应一个正在运行(判定框204的“否”分支),在步骤206,用于映射的系统确定工作负载中的相应一个当前是否正在所计算的最优平台(其在步骤203处被计算)上运行。换句话说,用于映射的系统确定工作负载中的相应的一个工作负载正在其上运行的当前平台是否是针对工作负载中的相应的一个工作负载所计算的最优平台。
响应于确定工作负载中的相应的一个当前没有在所计算的最优平台上运行(判定框206的“否”分支)或者当前平台不是针对工作负载中的相应的一个的所计算的最优平台,在步骤207,用于映射的系统将工作负载中的相应的一个从当前平台移动或迁移到所计算的最优平台。
响应于确定工作负载中的相应的一个当前正在所计算的最优平台上运行(判定块206的“是”分支)或者当前平台是针对工作负载中的相应的一个所计算的最优平台,用于映射的系统将不把工作负载中的相应的一个从当前平台移动或迁移到另一个平台,并且把工作负载中的相应的一个保持在当前平台(其是针对工作负载中的相应的一个的最优平台)上。
响应于确定工作负载中的相应的一个当前正在所计算的最优平台上运行(判定框206的“是”分支),在步骤205之后或在步骤207之后,用于映射的系统将执行步骤208。在步骤208,用于映射的系统确定是否根据最优放置(其在步骤203计算)放置了所有工作负载。
响应于确定所有工作负载都是根据最优放置来放置的(判定框208的“是”分支),用于映射的系统基于作为服务的多个平台上的成本和服务级别考虑或者根据最优放置来完成工作负载的放置。响应于确定并非所有工作负载都是根据最优放置来放置的(判定框208的否分支),用于映射的系统迭代步骤204和208,直到所有工作负载都是根据最优放置来放置的。
优化问题公式:
优化问题的目标是找到平台索引
Figure BDA0003380772000000111
以最小化所有工作负载的总成本。目标函数如下:
Figure BDA0003380772000000112
平台索引Pi标识工作负载WKi的最优平台,并且平台索引{Pi}标识工作负载中的相应工作负载的最优平台。WKN是工作负载的数量,PLN是平台的数量。目标函数受到以下约束。
第一约束是
Figure BDA0003380772000000113
这是尽力(或软)约束。这个约束要求,对于每个工作负载,其在所选平台上估计的完成持续时间(EDC)不超过其所需的完成持续时间(RDC)。
第二约束是
Figure BDA0003380772000000121
这是强制性的(或硬性的)约束。第二个约束要求,对于每个工作负载,在所选平台上运行的成本(成本)不超过其剩余预算(RemainingBudget)。
第三个约束是
Figure BDA0003380772000000122
这是强制性的(或硬性的)约束。第三个约束要求在它们的所选平台上运行所有工作负载的总成本不超过总体预算(OverallBudget)。
第四约束是
Figure BDA0003380772000000123
这是强制性的(或硬性的)约束。第四约束要求工作负载的所选平台是有资格运行该工作负载的平台之一。
第五约束是
Figure BDA0003380772000000124
这是强制性的(或硬性的)约束。第五约束要求由在平台上运行的工作负载从平台消耗的资源不超过平台的用户的资源消耗最大限度,或者任何平台的资源容量或资源消耗最大限度不能被超过。
优化问题的算法:
优化问题包括目标成本函数和约束函数,具有变量P1,P2,...,PWKN(平台索引)。由于在公式中不能限定目标和约束函数中的每一个依赖于变量P1,P2,...,PWKN的数学方式(然而,这依赖于基于先前讨论的估计方法存储在矩阵WkPl中的值),数学规划解算器不能应用于该优化问题。贪婪算法范例适用于这里限定的优化问题,其中贪婪算法范例使用朝着全局最优进展的局部最优选择。
用于映射工作负载和平台的系统(例如,图1所示的系统110)通过将每个工作负载放置在产生该工作负载的最低成本的平台上而开始。然后,对于其估计完成持续时间(EDC)超过其要求完成持续时间(RDC)的工作负载,系统逐步递增成本。在每个步骤中,用于映射的系统选择具有最低升级成本的工作负载,其中工作负载的升级必须使得工作负载的估计完成持续时间(EDC)能够处于或低于其要求完成持续时间(RDC)。然后,用于映射的系统升级所选择的工作负载。在每个步骤中,检查强制约束和尽力而为约束。
在求解优化问题时,输入为最新矩阵WkPl,求解优化问题的结果如下:对于每个工作负载,计算矩阵WkPl中的相关平台索引Pi,其中相关平台索引Pi识别用于运行工作负载WKi的最优平台。
图3(A)和图3(B)呈现了示出根据本发明的一个实施例的、优化工作负载在多个平台上的放置的操作步骤的流程图。
参考图3(A),在步骤301,用于映射工作负载和平台的系统(例如,图1中所示的系统110)针对相应工作负载设置平台索引,平台索引标识产生用于运行相应工作负载的最低成本的相应平台。对于每个工作负载WKi,用于映射的系统在矩阵WkPl中设置相关联的平台索引Pi值,并且由这样的平台索引Pi值标识的平台产生用于运行工作负载WKi的最低成本。平台索引Pi满足:
Figure BDA0003380772000000131
参考图3(A),在步骤302,用于映射的系统确定是否满足关于预算、平台资格和平台资源能力的强制约束。用于映射的系统检查是否满足强制(或硬)约束;强制(或硬)约束是在本文的先前段落中讨论的第二、第三、第四和第五约束。
响应于确定强制约束未被满足(判定框302的“否”分支),用于映射的系统执行图3(B)中所示的步骤310。参考图3(B),在步骤310,用于映射的系统确定相应工作负载的先前放置是否满足强制性约束。先前的放置是先前迭代中优化问题的解决方案。
继续参考图3(B),响应于确定相应工作负载的先前放置满足强制约束(判定框310的“是”分支),在步骤311,用于映射的系统输出先前放置作为相应工作负载的最优放置。用于映射的系统使用先前的解作为算法的结果。然后,系统完成算法的步骤。
继续参考图3(B),响应于确定相应工作负载的先前放置不满足强制性约束(判定框310的“否”分支),在步骤312,用于映射的系统不输出相应工作负载的最优放置。对于优化问题没有可行的解决方案;其原因如下。算法从最低代价映射开始;如果对于该映射违反了预算约束,则在给定约束下没有可行的解决方案。这种情况可以被分类为对算法的无效用户输入。因此,系统完成算法的步骤。
现在返回参考图3(A),响应于确定强制性约束被满足(判定框302的“是”分支),在步骤303,用于映射的系统检查关于完成相应工作负载所需的持续时间的尽力型约束,并确定尽力型约束未被满足的一组工作负载。尽力而为约束是在本文前面段落中讨论的第一约束。通过使用其在矩阵WkPl中的索引来识别该组工作负载中的每个工作负载。工作负载的集合被表示为WKS。
参考图3(A),用于映射的系统确定工作负载集(WKS)是否为空。工作负载组(WKS)为空指示满足关于完成所需持续时间(RDC)的尽力而为约束。响应于确定工作负载组(WKS)为空(判定框304的“是”分支),用于映射的系统执行图3(B)中所示的步骤313。参照图3(B),在步骤313,映射系统输出当前放置作为相应工作负载的最优放置。当前放置是当前迭代中优化问题的解。系统使用当前解作为算法的结果。然后,系统完成算法的步骤。
现在返回参考图3(A),响应于确定工作负载集合(WKS)不为空(判定框304的“否”分支),在步骤305,用于映射的系统针对工作负载集合(WKS)确定产生最低成本并且使得能够满足尽力而为约束的候选平台集合。对于集合中的每个工作负载(在WKS中的WKi),用于映射的系统确定具有最低成本的平台;利用这个平台,尽力而为约束得到满足。候选平台的集合{PCi}如下:
PCi={j|1≤j≤PLN∧EDC(WkPl[i,j])≤RDC(WKi)}
参考3(A),在步骤306,用于映射的系统针对工作负载组(WKS)确定识别候选平台的升级的平台索引,并计算升级的成本。对于该组中的每个工作负载WKi,如下计算升级的平台索引PUi
Figure BDA0003380772000000151
集合WKS中的WKi的升级成本可表示为:
UpgradeCost(WKi)=Cost(WkPl[i,PUi])
对于集合WKS中的工作负载,如果由于没有平台使得能够满足尽力而为约束而使得候选平台的集合中没有平台可用,则系统将该工作负载标记为不可用于升级,并且将该工作负载的升级成本设置为例如无效或无穷大(UpgradeCost(WKi)=∞)。因此,系统避免了在算法的下一次迭代中添加该工作负载来设置WKS;在求解优化问题的下一次迭代中将不考虑升级工作负载。
参考图3(A),在步骤307,用于映射的系统确定该组工作负载(组WKS)是否包含升级成本有效的至少一个工作负载。响应于确定该组工作负载不包含升级成本有效的工作负载(判定框307的“否”分支),系统执行图3(B)所示的步骤313。参照图3(B),在步骤313,系统将当前放置设置为相应工作负载的最优放置。当前放置是当前迭代中优化问题的解。系统使用当前解作为算法的结果。在这种情况下,没有进一步的方法来升级优化问题的解决方案。然后,系统完成算法的步骤。
现在返回参考图3(A),响应于确定该组工作负载包含至少一个其升级成本有效的工作负载(判定块307的“是”分支),在步骤308,用于映射的系统从一个或多个其升级成本有效的工作负载中选择具有最低升级成本的工作负载。从工作负载组(组WKS)中,选择具有最低升级成本的工作负载。具有最低升级成本的工作负载表示为WKt。WKt满足下式:
Figure BDA0003380772000000152
WKt是提供在求解优化问题的这一迭代中发现的最具成本效益的益处的工作负载。
参考图3(A),在步骤309,用于映射的系统通过为具有最低升级成本的工作负载设置升级平台索引来升级具有最低升级成本的工作负载。系统通过设置Pt=PUt升级WKt,其中PUt是经升级的平台索引,Pt是针对WKt最新选择的平台索引。
在步骤309之后,映射系统迭代步骤302,以进行算法的下一次迭代,从而找到另一个最具成本效益的收益工作负载。用于映射的系统执行求解优化问题的下一迭代,直到找到相应工作负载在相应平台上的最优放置。
因为在用于优化问题的算法中工作负载的升级只能进行一次,并且升级的工作负载在下一次迭代中不被算法重新考虑,所以算法的迭代次数受工作负载的数量限制。在每次迭代内,可以进行工作负载的线性扫描。然后,用于优化问题的算法选择用于升级的工作负载,并且进行到下一迭代。每个工作负载的所有特定计算可以进行一次;每次迭代仅应重新计算考虑所有工作负载的约束。
通过对每个工作负载同时对所有相关工作负载执行所有独立计算,可以使用于优化问题的算法并行。对算法的进一步优化可以是维护工作负载和平台的各种约束的所有基本数据和计数器,然后在进行改变时递增地更新该数据和计数器。这将使得能够更快地计算约束。
图4是示出根据本发明一个实施例的计算设备或服务器400的组件的示图。应当理解,图4仅提供了一种实现的说明,而不暗示对其中可实现不同实施例的环境的任何限制。
参考图4,计算设备或服务器400包括(一个或多个)处理器420、(一个或多个)存储器410和(一个或多个)有形存储设备430。在图4中,计算设备或服务器400的上述组件之间的通信由数字490表示。存储器410包括ROM(只读存储器)411、RAM(随机存取存储器)413和高速缓存415。一个或多个操作系统431和一个或多个计算机程序433驻留在一个或多个计算机可读有形存储设备430上。
计算设备或服务器400还包括I/O接口450。(一个或多个)I/O接口450允许与可以连接到计算设备或服务器400的(一个或多个)外部设备460输入和输出数据。计算设备或服务器400还包括用于计算设备或服务器400与计算机网络之间的通信的网络接口440。
本发明可以是任何可能的技术细节集成水平的系统、方法和/或计算机程序产品。计算机程序产品可以包括其上具有计算机可读程序指令的计算机可读存储介质(或多个介质),计算机可读程序指令用于使处理器执行本发明的各方面。
计算机可读存储介质可以是能够保留和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质可以是例如但不限于电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或前述的任何合适的组合。计算机可读存储介质的更具体示例的非穷举列表包括以下:便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式光盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、诸如上面记录有指令的打孔卡或凹槽中的凸起结构的机械编码装置,以及上述的任何适当组合。如本文所使用的计算机可读存储介质不应被解释为暂时性信号本身,诸如无线电波或其他自由传播的电磁波、通过波导或其他传输介质传播的电磁波(例如,通过光纤线缆的光脉冲)、或通过导线传输的电信号。
本文描述的计算机可读程序指令可以从计算机可读存储介质下载到相应的计算/处理设备,或者经由网络,例如因特网、局域网、广域网和/或无线网络,下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光传输光纤、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或网络接口从网络接收计算机可读程序指令,并转发计算机可读程序指令以存储在相应计算/处理设备内的计算机可读存储介质中。
用于执行本发明的操作的计算机可读程序指令可以是汇编指令、指令集架构(ISA)指令、机器相关指令、微代码、固件指令、状态设置数据、集成电路的配置数据,或者以一种或多种编程语言(包括面向对象的编程语言,例如Smalltalk、C++等)和过程编程语言(例如C编程语言或类似的编程语言)的任意组合编写的源代码或目标代码。计算机可读程序指令可以完全在用户的计算机上执行,部分在用户的计算机上执行,作为独立的软件包执行,部分在用户的计算机上并且部分在远程计算机上执行,或者完全在远程计算机或服务器上执行。在后一种情况下,远程计算机可以通过任何类型的网络连接到用户的计算机,包括局域网(LAN)或广域网(WAN),或者可以连接到外部计算机(例如,使用因特网服务提供商通过因特网)。在一些实施例中,为了执行本发明的各方面,包括例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA)的电子电路可以通过利用计算机可读程序指令的状态信息来执行计算机可读程序指令以使电子电路个性化。
在此参考根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明的各方面。将理解,流程图和/或框图的每个框以及流程图和/或框图中的框的组合可以由计算机可读程序指令来实现。
这些计算机可读程序指令可以被提供给计算机或其他可编程数据处理装置的处理器以产生机器,使得经由计算机或其他可编程数据处理装置的处理器执行的指令创建用于实现流程图和/或框图的一个或多个框中指定的功能/动作的装置。这些计算机可读程序指令还可以存储在计算机可读存储介质中,其可以引导计算机、可编程数据处理装置和/或其他设备以特定方式工作,使得其中存储有指令的计算机可读存储介质包括制品,该制品包括实现流程图和/或框图的一个或多个框中指定的功能/动作的各方面的指令。
计算机可读程序指令还可以被加载到计算机、其他可编程数据处理装置或其他设备上,以使得在计算机、其他可编程装置或其他设备上执行一系列操作步骤,以产生计算机实现的过程,使得在计算机、其他可编程装置或其他设备上执行的指令实现流程图和/或框图的一个或多个框中指定的功能/动作。
附图中的流程图和框图示出了根据本发明的各种实施例的系统、方法和计算机程序产品的可能实现的架构、功能和操作。在这点上,流程图或框图中的每个框可以表示指令的模块、段或部分,其包括用于实现指定的逻辑功能的一个或多个可执行指令。在一些替代实施方案中,框中所注明的功能可不按图中所注明的次序发生。例如,连续示出的两个框实际上可以作为一个步骤来实现,同时、基本同时、以部分或全部时间重叠的方式执行,或者这些框有时可以以相反的顺序执行,这取决于所涉及的功能。还将注意,框图和/或流程图图示的每个框以及框图和/或流程图图示中的框的组合可以由执行指定功能或动作或执行专用硬件和计算机指令的组合的专用的基于硬件的系统来实现。
应当理解,尽管本公开包括关于云计算的详细描述,但是本文所陈述的教导的实现不限于云计算环境。相反,本发明的实施例能够结合现在已知或以后开发的任何其它类型的计算环境来实现。
云计算是一种服务递送模型,用于实现对可配置计算资源(例如,网络、网络带宽、服务器、处理、存储器、存储、应用、虚拟机和服务)的共享池的方便的按需网络访问,可配置计算资源可以以最小的管理努力或与服务的提供者的交互来快速供应和释放。该云模型可以包括至少五个特性、至少三个服务模型和至少四个部署模型。
特征如下:
按需自助:云消费者可以单方面地自动地根据需要提供计算能力,诸如服务器时间和网络存储,而不需要与服务的提供者进行人工交互。
广域网接入:能力在网络上可用,并且通过促进由异构的薄或厚客户端平台(例如,移动电话、膝上型计算机和PDA)使用的标准机制来访问。
资源池化:供应商的计算资源被集中以使用多租户模型来服务多个消费者,其中不同的物理和虚拟资源根据需求被动态地分配和重新分配。存在位置无关的意义,因为消费者通常不控制或不知道所提供的资源的确切位置,但是能够在较高抽象级别(例如国家、州或数据中心)指定位置。
快速弹性:在一些情况下,可以快速且弹性地提供快速向外扩展的能力和快速向内扩展的能力。对于消费者,可用于提供的能力通常看起来不受限制,并且可以在任何时间以任何数量购买。
测量服务:云系统通过利用在适合于服务类型(例如,存储、处理、带宽和活动用户账户)的某一抽象级别的计量能力来自动地控制和优化资源使用。可以监视、控制和报告资源使用,从而为所利用服务的提供者和消费者两者提供透明性。
服务模型如下:
软件即服务(SaaS):提供给消费者的能力是使用在云基础设施上运行的提供者的应用。应用程序可通过诸如web浏览器(例如,基于web的电子邮件)等瘦客户机界面从各种客户机设备访问。消费者不管理或控制包括网络、服务器、操作系统、存储、或甚至个别应用能力的底层云基础结构,可能的例外是有限的用户专用应用配置设置。
平台即服务(PaaS):提供给消费者的能力是将消费者创建或获取的应用部署到云基础设施上,该消费者创建或获取的应用是使用由提供商支持的编程语言和工具创建的。消费者不管理或控制包括网络、服务器、操作系统或存储的底层云基础设施,但具有对部署的应用和可能的应用托管环境配置的控制。
基础设施即服务(IaaS):提供给消费者的能力是提供处理、存储、网络和消费者能够部署和运行任意软件的其它基本计算资源,软件可以包括操作系统和应用。消费者不管理或控制底层云基础设施,但具有对操作系统、存储、部署的应用的控制,以及可能对选择的联网组件(例如,主机防火墙)的有限控制。
部署模型如下:
私有云:云基础设施仅为组织操作。它可以由组织或第三方管理,并且可以存在于建筑物内或建筑物外。
社区云:云基础设施由若干组织共享,并且支持具有共享关注(例如,任务、安全要求、策略和合规性考虑)的特定社区。它可以由组织或第三方管理,并且可以存在于场所内或场所外。
公有云:云基础设施可用于一般公众或大型工业群体,并且由销售云服务的组织拥有。
混合云:云基础设施是两个或更多云(私有、共同体或公共)的组合,云保持唯一实体,但是通过使数据和应用能够移植的标准化或私有技术(例如,用于云之间的负载平衡的云突发)绑定在一起。
云计算环境是面向服务的,其焦点在于无状态、低耦合、模块性和语义互操作性。在云计算的核心是包括互连节点的网络的基础设施。
现在参考图5,描绘了说明性云计算环境50。如图所示,云计算环境50包括云消费者使用的本地计算设备可以与其通信的一个或多个云计算节点10,本地计算设备诸如移动设备54A、台式计算机54B、膝上型计算机54C和/或汽车计算机系统54N。节点10可以彼此通信。它们可以被物理地或虚拟地分组(未示出)在一个或多个网络中,诸如如上文描述的私有云、社区云、公共云或混合云或其组合。这允许云计算环境50提供基础设施、平台和/或软件作为服务,云消费者不需要为其维护本地计算设备上的资源。应当理解,计算设备54A-N的类型仅旨在说明,并且计算节点10和云计算环境50可以通过任何类型的网络和/或网络可寻址连接(例如,使用web浏览器)与任何类型的计算机化设备通信。
现在参考图6,示出了由云计算环境50(图5)提供的一组功能抽象层。应当预先理解,图6中所示的组件、层和功能仅旨在说明,并且本发明的实施例不限于此。如所描绘的,提供了以下层和相应的功能:
硬件和软件层60包括硬件和软件组件。硬件组件的示例包括:主机61;基于RISC(精简指令集计算机)架构的服务器62;服务器63;刀片服务器64;存储装置65;以及网络和网络组件66.在一些实施例中,软件组件包括网络应用服务器软件67和数据库软件68。
虚拟化层70提供抽象层,从该抽象层可以提供虚拟实体的以下示例:虚拟服务器71;虚拟存储器72;虚拟网络73,包括虚拟专用网络;虚拟应用和操作系统74;以及虚拟客户机75。
在一个示例中,管理层80可以提供以下描述的功能。资源供应81提供用于在云计算环境内执行任务的计算资源和其它资源的动态采购。计量和定价82提供了在云计算环境中利用资源时的成本跟踪,以及用于消耗这些资源的开帐单或发票。在一个示例中,这些资源可以包括应用软件许可证。安全性为云消费者和任务提供身份验证,以及为数据和其他资源提供保护。用户门户83为消费者和系统管理员提供对云计算环境的访问。服务级别管理84提供云计算资源分配和管理,使得满足所需的服务级别。服务水平协议(SLA)规划和履行85提供对云计算资源的预安排和采购,其中根据SLA预期未来需求。
工作负载层90提供了可以利用云计算环境的功能的示例。可以从该层提供的工作负载和功能的示例包括:绘图和导航91;软件开发和生命周期管理92;虚拟教室教育传送93;数据分析处理94;交易处理95;以及函数96.函数96是用于将工作负载放置在作为服务的多个平台上的功能。

Claims (12)

1.一种用于在多平台即服务的系统中估计平台上运行的工作负载的属性的计算机实现的方法,所述方法包括:
接收对相应工作负载和有资格运行一组相应工作负载的相应平台的限定;
将所述相应工作负载和所述相应平台映射到在所述相应平台上运行所述相应工作负载的属性;
估计所述属性并将所述属性存储在矩阵中;以及
响应于用于修改所述矩阵的触发事件,更新所述矩阵中的所述属性。
2.根据权利要求1所述的计算机实现的方法,还包括:
估计在所述相应平台上运行所述相应工作负载的成本作为所述属性之一。
3.根据权利要求1所述的计算机实现的方法,还包括:
将完成所述相应平台上的所述相应工作负载的估计持续时间确定为所述属性中的一个。
4.根据权利要求1所述的计算机实现的方法,还包括:
将在所述相应平台上运行的所述相应工作负载的资源需求确定为所述属性之一。
5.根据权利要求1所述的计算机实现的方法,还包括:
针对当前运行的工作负载,在所述属性中添加迁移成本;以及
其中所述迁移成本是用于将所述当前运行的工作负载从当前平台迁移到针对所述当前运行的工作负载的最佳平台的成本。
6.根据权利要求1所述的计算机实现的方法,还包括:
基于运行特性和资源需求的相似性,将所述相应工作负载分组为一个或多个工作负载类型;
针对所述一个或多个工作负载类型中的每个工作负载类型,确定和存储针对所述一个或多个工作负载类型的属性的聚合信息;
使用所述聚合信息来估计运行与所述一个或多个工作负载类型中的一个工作负载类型相关联的新工作负载的属性。
7.根据权利要求6所述的计算机实现的方法,还包括:
响应于从平台接收到用于运行工作负载的资源消耗和成本信息,使用所述资源消耗和成本信息来更新与所述工作负载相关联的工作负载类型的所述聚合信息。
8.根据权利要求6所述的计算机实现的方法,还包括:
响应于未从平台接收到用于运行工作负载的资源消耗和成本信息,通过以下方式之一来确定所述资源消耗和成本信息:
在所述平台上运行所述工作负载的同时,收集用于运行所述工作负载的所述资源消耗和成本信息;
提取所述工作负载相对于所述相应平台中的其他平台的资源消耗比例,并且基于所述相应平台中的所述其他平台的消耗和成本信息,确定所述工作负载的消耗和成本信息;
接收用户输入;
使用所述资源消耗和成本信息来更新与所述工作负载相关联的工作负载类型的所述聚合信息。
9.根据权利要求1所述的计算机实现的方法,还包括:
扫描所述相应工作负载;
检测新的工作负载是否被添加;
检测当前运行的工作负载的一个或多个需求被改变;
检测所述相应工作负载中的一个相应工作负载已经完成处理;
扫描所述相应平台;
检测新平台是否被添加;
检测由所述相应平台中的一个相应平台收取的成本是否被改变;
检测所述相应平台中的所述一个相应平台的一个或多个资源是否被改变;
检测所述相应平台中的所述一个相应平台是否被移除;以及
响应于以下至少一项确定用于修改所述矩阵的所述触发事件已被检测到:所述新的工作负载被添加,当所述前运行的工作负载的所述一个或多个需求被改变,所述相应工作负载中的所述一个相应工作负载已完成,所述新平台被添加,由所述相应平台中的所述一个相应平台收取的所述成本被改变,所述一个或多个资源被改变,以及所述相应平台中的所述一个相应平台被移除。
10.根据权利要求1所述的计算机实现的方法,其中,基于所述矩阵中的信息,所述相应工作负载在所述相应平台上的最佳放置被确定,其中基于所述最佳放置,所述相应工作负载被放置在所述相应平台上。
11.一种用于在多平台即服务的系统中估计平台上运行的工作负载的属性的计算机程序产品,所述计算机程序产品包括程序指令,所述程序指令由一个或多个处理器可执行,以使所述一个或多个处理器执行根据权利要求1-10中任一项所述的方法。
12.一种计算机系统,包括:
处理器;
被耦合到所述处理器的计算机可读存储介质,所述计算机可读存储介质包括指令,所述指令在由所述处理器执行时执行根据权利要求1-10中任一项所述的方法。
CN202111432581.2A 2020-12-06 2021-11-29 在多平台即服务的系统中估计平台上运行的工作负载的属性 Pending CN114595026A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/113,100 US11366694B1 (en) 2020-12-06 2020-12-06 Estimating attributes of running workloads on platforms in a system of multiple platforms as a service
US17/113,100 2020-12-06

Publications (1)

Publication Number Publication Date
CN114595026A true CN114595026A (zh) 2022-06-07

Family

ID=81814140

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111432581.2A Pending CN114595026A (zh) 2020-12-06 2021-11-29 在多平台即服务的系统中估计平台上运行的工作负载的属性

Country Status (2)

Country Link
US (1) US11366694B1 (zh)
CN (1) CN114595026A (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11910617B2 (en) 2020-05-28 2024-02-20 Taiwan Semiconductor Manufacturing Company, Ltd. Ferroelectric memory device and method of forming the same
DE102020130975A1 (de) 2020-05-28 2021-12-02 Taiwan Semiconductor Manufacturing Co., Ltd. Ferroelektrische speichervorrichtung und verfahren zum bilden derselben

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7571154B2 (en) 2005-01-31 2009-08-04 Cassatt Corporation Autonomic control of a distributed computing system using an application matrix to control application deployment
US9128760B2 (en) 2010-07-26 2015-09-08 International Business Machines Corporation Dynamically adjusting priority by providing a longer duration of use of a shared resource
US9323561B2 (en) 2010-08-13 2016-04-26 International Business Machines Corporation Calibrating cloud computing environments
US8645529B2 (en) 2010-10-06 2014-02-04 Infosys Limited Automated service level management of applications in cloud computing environment
US8924539B2 (en) 2010-11-24 2014-12-30 Red Hat, Inc. Combinatorial optimization of multiple resources across a set of cloud-based networks
US9195509B2 (en) 2011-01-05 2015-11-24 International Business Machines Corporation Identifying optimal platforms for workload placement in a networked computing environment
US8868749B2 (en) 2011-01-18 2014-10-21 International Business Machines Corporation Workload placement on an optimal platform in a networked computing environment
US9495649B2 (en) 2011-05-24 2016-11-15 International Business Machines Corporation Workload-to-cloud migration analysis based on cloud aspects
EP4086767A1 (en) 2011-12-27 2022-11-09 INTEL Corporation Methods and apparatus to manage workload memory allocation
US8732291B2 (en) 2012-01-13 2014-05-20 Accenture Global Services Limited Performance interference model for managing consolidated workloads in QOS-aware clouds
US9262231B2 (en) 2012-08-07 2016-02-16 Advanced Micro Devices, Inc. System and method for modifying a hardware configuration of a cloud computing system
US8978035B2 (en) 2012-09-06 2015-03-10 Red Hat, Inc. Scaling of application resources in a multi-tenant platform-as-a-service environment in a cloud computing system
US9537973B2 (en) 2012-11-01 2017-01-03 Microsoft Technology Licensing, Llc CDN load balancing in the cloud
US9635088B2 (en) 2012-11-26 2017-04-25 Accenture Global Services Limited Method and system for managing user state for applications deployed on platform as a service (PaaS) clouds
US9246840B2 (en) 2013-12-13 2016-01-26 International Business Machines Corporation Dynamically move heterogeneous cloud resources based on workload analysis
AU2015201310A1 (en) 2014-08-08 2016-02-25 Telstra Corporation Limited System and method for processing cloud platform characteristics
US9424097B1 (en) 2015-03-17 2016-08-23 International Business Machines Corporation Dynamically managing workload placements in virtualized environments based on current user globalization customization requests
CN105068863B (zh) 2015-07-16 2018-08-17 福州大学 多云环境下带截止日期约束工作流的基于代价驱动调度方法
CN106055395B (zh) 2016-05-18 2019-07-09 中南大学 一种基于蚁群优化算法的云环境中截止时间约束工作流调度方法
US10585693B2 (en) 2016-09-30 2020-03-10 Uchicago Argonne, Llc Systems and methods for metric driven deployments to cloud service providers
US10698735B2 (en) 2018-02-14 2020-06-30 Citrix Systems, Inc. Auto-scaling for allocation of cloud service resources in application deployments
US10768998B2 (en) 2018-04-05 2020-09-08 International Business Machines Corporation Workload management with data access awareness in a computing cluster
US10715594B2 (en) 2018-05-14 2020-07-14 Vmware, Inc. Systems and methods for update propagation between nodes in a distributed system
KR102062037B1 (ko) 2018-05-16 2020-01-03 국민대학교산학협력단 클라우드 기반의 배치 서비스 제공 장치 및 방법
US11169846B2 (en) 2018-08-29 2021-11-09 Tibco Software Inc. System and method for managing tasks and task workload items between address spaces and logical partitions
US11175964B2 (en) 2019-02-01 2021-11-16 Virtustream Ip Holding Company Llc Partner enablement services for managed service automation
US11711268B2 (en) * 2019-04-30 2023-07-25 Intel Corporation Methods and apparatus to execute a workload in an edge environment
US11283635B2 (en) 2019-09-28 2022-03-22 Intel Corporation Dynamic sharing in secure memory environments using edge service sidecars
US11159609B2 (en) * 2020-03-27 2021-10-26 Intel Corporation Method, system and product to implement deterministic on-boarding and scheduling of virtualized workloads for edge computing
CN111984269B (zh) 2020-08-20 2024-01-23 第四范式(北京)技术有限公司 提供应用构建服务的方法及应用构建平台

Also Published As

Publication number Publication date
US20220179693A1 (en) 2022-06-09
US11366694B1 (en) 2022-06-21

Similar Documents

Publication Publication Date Title
WO2022037238A1 (en) Microservice placement in hybrid multi-cloud using graph matching
US10691647B2 (en) Distributed file system metering and hardware resource usage
US10705873B2 (en) Predictive virtual server scheduling and optimization of dynamic consumable resources to achieve priority-based workload performance objectives
US11157318B2 (en) Optimizing timeouts and polling intervals
CN103814358A (zh) 服务器群内的虚拟机放置
US10007682B2 (en) Dynamically maintaining data structures driven by heterogeneous clients in a distributed data collection system
JP7566025B2 (ja) マルチクラウド環境におけるワークロードの実施
US20200167195A1 (en) Estimating resource requests for workloads to offload to host systems in a computing environment
US20190349251A1 (en) Context-based resource allocation with extended user concepts
CN114595026A (zh) 在多平台即服务的系统中估计平台上运行的工作负载的属性
US11755954B2 (en) Scheduled federated learning for enhanced search
WO2022116738A1 (en) Optimizing placements of workloads on multiple platforms as a service based on costs and service levels
CN116097236A (zh) 用于混合云环境中工作负载的自动管理的可扩展算子
WO2022247553A1 (en) Compliance aware application scheduling
US11704156B2 (en) Determining optimal placements of workloads on multiple platforms as a service in response to a triggering event
JP2022089807A (ja) コンピュータ実装方法およびコンピュータプログラム製品(サービスとしての複数のプラットフォームを含むシステムにおいて、プラットフォーム上でワークロードを実行する際の属性の推定)
AU2021363719B2 (en) Generating and updating a performance report
US11947436B2 (en) Automatic evaluation of virtual machine computing power
US11281983B2 (en) Multi-agent system for efficient decentralized information aggregation by modeling other agents' behavior
US20240086255A1 (en) Identification of reusable components
US10291508B2 (en) Optimizing monitoring for software defined ecosystems

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