CN112219191A - 数据中心中的服务和服务器的自配置 - Google Patents
数据中心中的服务和服务器的自配置 Download PDFInfo
- Publication number
- CN112219191A CN112219191A CN201980037024.5A CN201980037024A CN112219191A CN 112219191 A CN112219191 A CN 112219191A CN 201980037024 A CN201980037024 A CN 201980037024A CN 112219191 A CN112219191 A CN 112219191A
- Authority
- CN
- China
- Prior art keywords
- service
- payout
- servers
- server
- allocation
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 claims abstract description 74
- 230000007704 transition Effects 0.000 claims description 129
- 230000004044 response Effects 0.000 claims description 48
- 230000006870 function Effects 0.000 claims description 23
- 230000003247 decreasing effect Effects 0.000 claims description 4
- 238000013468 resource allocation Methods 0.000 abstract description 39
- 230000007246 mechanism Effects 0.000 abstract description 3
- 230000002452 interceptive effect Effects 0.000 abstract 1
- 239000003795 chemical substances by application Substances 0.000 description 82
- 238000009826 distribution Methods 0.000 description 21
- 238000004891 communication Methods 0.000 description 20
- 238000012546 transfer Methods 0.000 description 18
- 230000006399 behavior Effects 0.000 description 16
- 230000000875 corresponding effect Effects 0.000 description 16
- 230000008569 process Effects 0.000 description 16
- 230000008859 change Effects 0.000 description 15
- 238000005457 optimization Methods 0.000 description 10
- 238000012545 processing Methods 0.000 description 8
- 230000001276 controlling effect Effects 0.000 description 5
- 230000003993 interaction Effects 0.000 description 5
- 230000009471 action Effects 0.000 description 4
- 238000013459 approach Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 4
- 239000013598 vector Substances 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 2
- 230000003466 anti-cipated effect Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 208000012826 adjustment disease Diseases 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000005309 stochastic process Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/08—Auctions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/78—Architectures of resource allocation
- H04L47/781—Centralised allocation of resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/50—Network service management, e.g. ensuring proper service fulfilment according to agreements
- H04L41/5029—Service quality level-based billing, e.g. dependent on measured service level customer is charged more or less
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/74—Admission control; Resource allocation measures in reaction to resource unavailability
- H04L47/748—Negotiation of resources, e.g. modification of a request
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/78—Architectures of resource allocation
- H04L47/788—Autonomous allocation of resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/83—Admission control; Resource allocation based on usage prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/50—Network service management, e.g. ensuring proper service fulfilment according to agreements
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Finance (AREA)
- Accounting & Taxation (AREA)
- Economics (AREA)
- Development Economics (AREA)
- Entrepreneurship & Innovation (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Computer And Data Communications (AREA)
Abstract
提供了一种用于为服务分配服务器资源的方法和装置。多个服务竞争一个或多个服务器上的资源并竞标资源。服务器根据拍卖规则机制基于竞价分配资源。服务根据概率动态为每个服务和服务集合更新竞价,该概率动态可以近似连续时间马尔可夫链。该方法和装置可以包括多个分开但交互的代理,并且可以实现为例如用于数据中心的自组织。可以对代理的行为进行配置,以便集体行为实现比例公平资源分配。
Description
相关申请的交叉引用
本申请要求2018年6月1日提交的申请号为62/679,318、发明名称为“数据中心中的服务和服务器的自配置”的美国临时专利申请以及2018年9月28日提交的申请号为16/145,677、发明名称为“数据中心中的服务和服务器的自配置”的美国非临时专利申请的优先权,其全部内容结合于此作为参考。
技术领域
本发明涉及数据中心配置领域,尤其涉及一种用于配置数据中心服务器以提供特定服务的方法和装置。
背景技术
数据中心是容纳计算机系统部件(例如但不限于计算机服务器)的设施。计算机服务器可以用于托管多个服务。虽然某些服务可以完全托管在单个服务器上,但是也可以将服务的托管分布在多个服务器上。例如出于服务器冗余的目的,这也是可行的。
对于涉及大量服务器和/或服务的大规模系统,将服务器与服务配对可能变得复杂。特别是在服务需求随时间变化、新服务出现、和现有服务终止时,这种复杂度可能成为一种问题。应理解,不同的服务可能需要不同的资源分配,并且不同的服务器可能能够为服务提供不同的可用资源分配。随服务的开始和停止,服务器上的可用资源分配可能会变得有些零散且效率低下。服务布置效率低下可能会导致一些服务器资源未使用,同时又需要将新的服务器添加到可用资源池中。这可能导致运营成本增加(这种成本增加将会转移至资源的用户),并且导致功耗低效。
因此,需要一种选择服务器以托管服务的方法和装置,以消除或减轻现有技术的一个或多个限制。
提供此背景信息以揭示申请人认为可能与本发明相关的信息。无意也不应解释为承认任何前述信息构成了相对于本发明的现有技术。
发明内容
本发明实施例的目的是提供一种用于选择服务器资源以托管一个或多个服务的方法、装置、以及系统。服务也可以称为应用。服务器资源可以位于至少一个数据中心中,也可能位于多个数据中心中。选择服务器资源以托管服务时可以伴随将(或准备将)部分或全部服务托管在服务器资源上。本发明的实施例用于通过以特定方式自动且动态地将服务器资源与服务关联来实现数据中心的自组织。在各种实施例中,根据某些度量(例如比例公平度量),所得的自组织可以视为具有理想的性能。
可以使用一个或多个计算设备实现提供的方法、装置、以及系统,每个计算设备管理一个或多个服务、一个或多个服务器、或其组合的与资源分配有关的决策。每个服务可以由管理该服务的支出(spend)或竞价(bid)决策的服务代理支持。服务使用竞价来获取服务器资源。每个服务器也可以由管理该服务器的资源分配决策的服务器代理支持,上述资源分配决策响应于从服务接收到的支出或竞价决策。服务代理和/或服务器代理可以在物理上或功能上分离或部分或完全集成在一起。例如可以通过计算设备的软件配置来提供代理。多个联网的计算设备和/或代理可以彼此交互以实现该方法、装置、或系统。可以将一些或所有计算设备和/或代理托管在同一数据中心内。计算设备或在其上操作的代理基于预定的一组规则进行操作,以分配用于托管服务的服务器资源。
根据本发明的一方面,提供了一种用于将服务器资源与服务关联的方法,该方法由用于管理服务的计算机系统执行。该方法一般包括重复地执行以下操作:根据概率转移动态更新支出分配;以及响应于支出分配的更新,向一个或多个服务器中的对应服务器传达竞价数额(bid amount)的一个或多个变化;从一个或多个服务器接收反馈;以及基于反馈控制概率转移动态。服务(索引为服务i)的支出分配包括一个或多个竞价数额sij,每个竞价数额sij表示对一个或多个服务器中的对应服务器(索引为服务器j)上的资源的竞价。该反馈指示由一个或多个服务器中的每个相应服务器j分配的资源量bij,该资源量bij响应于支出分配sij而被分配用于托管服务i。服务的支出分配在本文中也称为服务状态。或者该反馈可以指示由一个或多个服务器中的每个相应服务器j在分配资源量bij时使用的资源价格。
在各种实施例中,概率转移动态包括,根据特定转移率(transition rate)(也简称为概率)将支出分配从当前支出分配(例如通过随机分量)概率性地转移到不同支出分配。可以通过计算确定从当前支出分配到不同支出分配的转移率。具体地,该计算包括确定满足以下条件的转移率:以下两者之比具有通过如下所述的特定函数给出的值:从当前支出分配到不同支出分配的转移率;以及从不同支出分配到当前支出分配的转移率。应理解,随机分量可以是伪随机分量。此外,可以由诸如计算机处理器的处理器使用数值计算来确定转移率。
在一些实施例中,该函数由提升到预定幂的特定项给出。该项的分子对应于一个或多个服务器中所有服务器响应于不同支出分配而分配的用于托管服务i的资源的总预期量。该项的分母对应于一个或多个服务器中所有服务器响应于当前支出分配而分配的用于托管服务i的资源的总量。分配用于托管服务的资源总量可以是估计值。
在其他实施例中,该函数通过将多个值相乘而给出,每个值包括提升到相应幂的相应项。每个项的分子对应于一个或多个服务器中所有服务器响应于不同支出分配而分配的用于托管多个服务中的不同的特定服务i的资源的总预期量。该项的分母对应于一个或多个服务器中所有服务器响应于当前支出分配而分配的用于托管多个服务中的不同的特定服务i的资源的总量。分配用于托管服务的资源的总量可以是估计值。
虽然以上仅明确讨论了一个“不同”支出分配,但是应注意,控制支出分配可以包括,根据相应的速率概率性地转移到多个不同的支出分配中的一个支出分配,每个速率如上所述。可能从给定的支出分配转移到一组一个或多个不同支出分配中的任何一个支出分配。一旦触发向不同支出分配的转移,则重复该过程。本领域技术人员将认识到,重复该过程可以以新转移到的支出分配成为新的(当前)支出分配而重复。
确定转移率可以包括计算求解多个相依方程,每个方程如上所述。
概率转移动态可以基本上或者大致对应于连续时间马尔可夫链(Markovchain)的概率转移动态,其中根据指定速率随机发生状态(即支出分配)转移。从概念上,给定服务代理的当前状态,可能转移到一组一个或多个潜在新状态中的一个状态。到服务代理转移到这些潜在新状态中的每个状态为止的预期时间由具有特定速率参数的指数概率分布给出。选择这些时间中最短时间对应的潜在新状态作为马尔可夫链的新状态,并且在这一最短时间发生状态转移。可以生成符合上文和本文其他地方指定的条件的速率参数。例如可以通过计算、伪随机数生成、或查找表来生成这些时间。状态转移可以由服务代理通过计算执行。在实践中,可以使用泊松分裂(Poisson splitting)和/或泊松合并(Poissoncombining)并基于根据指数概率分布的转移时间的生成以及在生成的转移时间对新状态的加权随机选择来实现概率转移。
根据本发明的另一方面,提供了一种用于将服务器资源与多个服务关联的方法。该方法包括代表上述多个服务中的每个服务执行上述用于将服务器资源与该服务关联的方法。在一些实施例中,并行执行上述方法的不同实例。该方法的不同实例可以基本独立执行,这有利于分散的解决方案。然而,由于来自服务器的反馈基于代表不同服务的竞价的组合,因此应注意,该方法的不同实例的行为(例如其转移率)最终通过服务器反馈结合在一起。
根据本发明的另一实施例,提供了一种用于根据上述方法执行操作的装置。该装置可以是用于在其上实现一个或多个服务代理的联网计算设备或计算设备。因此,本发明实施例提供了一种用于获得用于支持服务i的服务器资源的装置。该装置包括可操作地耦合到存储器的计算机处理器。该装置用于重复地执行以下操作:根据概率转移动态更新支出分配,该支出分配包括一个或多个竞价数额sij,每个竞价数额sij表示对一个或多个服务器中的对应服务器j上的资源的竞价;以及响应于支出分配的更新,向一个或多个服务器中的对应服务器传达一个或多个竞价数额sij的一个或多个变化;从一个或多个服务器接收反馈,该反馈指示由一个或多个服务器中的每个相应服务器j分配的资源量bij,该资源量bij响应于支出分配sij而被分配用于托管服务i;以及基于来自一个或多个服务器的反馈控制概率转移动态。
根据本发明的另一实施例,提供一种包括多个上述装置的系统,其中每个装置在其上实现一个或可能多个服务代理的操作。
在本发明的各种实施例中,计算设备或管理代理使用预定的拍卖类过程来管理响应于服务支出分配而进行的服务器资源分配。这些计算设备或服务器代理可以包括在本文所述的装置或系统中。类似地,根据一个或多个这种计算设备或服务器代理执行的动作可以包括在本文所述的一种或多种方法中。
附图说明
通过结合附图的以下具体实施方式,本发明的其他特征和优点将显而易见,在附图中:
图1示出了示出根据本发明实施例的多个服务代理与多个服务器(或服务器代理)交互的图。
图2示出了根据本发明实施例的服务代理与服务器的交互。
图3示出了根据本发明实施例的服务的操作和功能部件。
图4示出了根据本发明说明性实施例的服务器的操作和功能部件。
图5示出了根据本发明实施例的用于提供至少一个服务代理或服务器代理的计算机装置。
图6示出了根据本发明实施例的用作服务器的计算机装置。
图7示出了包括布置在服务器机架中的多个计算机装置的数据中心的一部分。
图8示意性示出了根据本发明实施例的服务器管理器(即服务器代理)和服务管理器(即服务代理)。
图9示出了根据本发明实施例的示出数据中心布置的示例表以及服务代理可允许的状态转移动态的示例。
图10示出了根据本发明实施例的两个服务代理竞标两个服务器上的资源的实施例的状态空间。
图11示出了根据图10的示例实施例的实例的马尔可夫链的均衡稳态概率。
图12示出了根据本发明实施例的用于获得用于支持服务的服务器资源的方法。
图13示出了根据本发明实施例的用于操作服务器的方法。
将注意,在所有附图中,相似的特征由相似的附图标记标识。
具体实施方式
本发明实施例提供了一种用于促进数据中心的自组织的方法和装置。服务器可以是数据中心内(或数据中心可用)的物理服务器和/或在数据中心资源上实例化的虚拟服务器实体。数据中心的服务器以一定价格提供其资源,该价格可以根据拍卖过程进行调整。服务代理代表服务进行操作,以选择将在其上实例化和运行服务的一个或多个服务器。服务代理具有预算,并根据当前价格(在名义上或实际上)为服务器资源支付。然后,服务器将资源分配提供给已成功竞标资源的服务。服务可以托管在一个或多个服务器上,例如将不同部分托管在不同服务器上,或利用多个服务器提供冗余。因此,通过自动将服务器配置为托管已成功竞标其资源的服务来进行自组织。注意,可以在单个数据中心、或在多个数据中心、或在不一定容纳在物理数据中心中的多个资源上实现本文描述的服务和服务器的行为。
服务可以指面向客户的应用或内部支持的应用。服务包括但不限于网络(web)应用、媒体流服务、视频会议服务、数据缓存服务、核心网(例如5G网络)的虚拟化服务、基于云的服务、以及边缘计算应用。可以动态地将服务实例化,并且服务可以例如基于当前客户要求随时间调整其需求。如本文所述,服务代理是代表服务至少执行与资源分配有关的操作的计算机或其功能方面。服务代理可以托管在数据中心的计算资源上。多个服务代理可以托管在同一计算资源上,也可以托管在单独的计算资源上。
服务器可以指位于诸如数据中心的位置的计算机服务器或虚拟计算机服务器。服务器可以指资源(例如处理资源、通信资源、或存储器资源、或其组合)的集合。服务器可以包括可操作地耦合到存储器的至少一组一个或多个计算机处理器以及网络接口。术语“服务器”也用于表示服务器代理,其管理基于拍卖的资源分配。
本发明实施例使用马尔可夫近似(或称为逼近)方法(Markov approximationapproach)以分布式方式提供服务器资源分配。服务代理和服务器根据预定义的一组规则以可以建模为马尔可夫链的方式进行交互。马尔可夫链对组合优化问题进行建模。可以配置马尔可夫链的转移率,以使该链的稳态概率分布(steady-stateprobabilitydistribution)的概率质量主要集中在那些大致解决优化问题的状态上。例如,一旦服务共同到达大致优化资源分配问题的状态,则离开该状态的转移率可能相对较低。值得注意的是,资源分配问题可以视为组合优化问题而非混合整数/凸优化问题。这允许更容易地应用马尔可夫近似技术。在一些实施例中,服务代理将大部分时间花费在大致解决优化问题的那些状态中。
本发明实施例提供了一种方法、装置、以及系统,该系统包括一个或多个服务器和一个或多个服务代理,上述服务器用于根据拍卖过程分配资源;上述服务代理用于根据随机过程竞标服务器资源。因为竞标概率取决于服务的当前资源分配以及所有服务的当前资源分配对服务器资源价格的总体影响,所以该随机过程遵循马尔可夫性(Markovproperty)。可以以无记忆方式计算(即仅基于当前竞价而非竞价历史)服务器资源的价格。可以配置服务代理和服务器的行为,以使所得的系统行为对应于稳态概率分布大致对应于最佳或接近最佳的资源分配的马尔可夫链。因此,(由服务或相应服务代理)使用马尔可夫近似方法来选择服务器资源分配。可以选择服务器和服务代理的行为,以使大致实现服务之间的比例公平资源分配。
在各种实施例中,马尔可夫近似分布为使得每个服务代理基本上独立操作。在各种实施例中,服务代理基于服务器保留价格来估计服务器资源价格。服务代理可以另外基于从每个服务器接收的信息来估计服务器资源价格。服务代理可以另外估计其资源竞价对服务器资源价格的影响。
服务行为
如上所述,服务代理可以用于以动态且概率性的方式竞标服务器资源。作为能够由一组服务器托管的前提,服务可以与遵循本文所述的行为的服务代理关联。例如,可以将服务包装在实现服务代理的外层中。作为另一示例,可以提供一组规范或已发布的应用编程接口(application programming interface,API),以指定如何配置服务以实现这种服务代理。可以进行合规性检查,以确保服务代理按规定操作。或者,其他服务器或服务代理可以用于检测并惩罚不合规的代理。
每个服务可以具有一组特定的资源需求。资源需求可以是不变的,或者例如响应于客户需求而随时间改变。在简单的实现中,资源需求可以对应于多个服务器资源单元。例如,每个服务器资源单元可以例如表示预定数量的处理资源、随机存取存储器、大容量存储空间、或其组合。在这种情况下,每个服务的当前资源需求可以由单个值给出。但是注意,在更复杂的实现中,服务器资源可以按类型区分(例如处理资源、存储器资源、网络资源等)、按性能(例如时延、服务质量(QoS)、正常运行时间占空比(uptime duty cycle)等)区分、或按其组合区分。在这种情况下,每个服务的当前资源需求可以由多个值(例如向量)给出,或者与更复杂的资源需求函数关联。例如,资源需求函数可以是不同需求的向量值组合或加权组合。
服务代理确定或提供有与服务关联的预算数额Si。可以基于服务的资源需求或以其他方式设置预算数额。预算数额可以是固定的,也可以随时间变化。预算数额表示服务代理一次可以用于竞标服务器资源的最大竞标单位总数。可选地,每个竞标单位代表货币合约中的临时或非临时支付承诺。应理解,不同服务代理(每个服务代理与不同的服务关联)可以具有不同的预算数额。
图1示出了示出根据本发明实施例的多个服务代理110、120、130与多个服务器(或服务器代理)115、125、135交互的图。为了简单起见,服务代理也称为服务。在服务直接与服务器交互但不一定与其他服务交互,而服务器直接与服务交互但不一定与其他服务器交互的意义上,该图是二分图。可以根据需要在计算设备内部或通过网络进行消息传递来执行交互。
以下参照图2描述了给定服务i210和给定服务器j220之间的交互,图2示出了图1的选定部分。图2中的交互可以对图1的所有示出的服务和服务器通用。注意,服务一次可能只与一个或有限数量的服务器进行交互,服务不一定与每个服务器进行交互,并且服务可能会在较长的一段时间(通常是有限的一段时间)内避免与任何服务器进行交互。
更详细地,参考图2,服务i基于一组服务需求230和预算数额Si240确定支出分配,该支出分配包括对一个或多个服务器(包括服务器j)上的资源的竞价数额。服务i对服务器j的竞价数额表示为sij。竞价可以视为是从离散集中选择的,因此支持组合优化方法。将服务i一次提交的所有竞价数额的总和约束为小于或等于预算数额Si。也可以存在其他约束,例如对至少一个竞价数额需大于零的约束、或者对至少预定数量(大于一)的竞价数额需大于零的约束、或者对最多另一预定数量(大于一)的竞价数额需大于零的约束。这使得服务一次至少使用某一特定最小数量的服务器和/或最多使用某一特定最大数量的服务器。
如果服务器j的竞价数额sij相对于该服务器先前的竞价数额有所改变,则服务i向服务器j传达此新竞价数额250。如果竞价数额不变,则无需进行传达。响应于该传达,并且如果竞价数额sij已经改变并且不为零(在一些实施例中,足够高),则服务器j调整分配用于支持服务i的资源量。服务器后续使用此量的资源提供270服务。这可以包括将这些资源配置为执行计算、存储、通信操作、或其组合以支持服务。服务器为支持服务而分配的资源量是通过在本文其他地方描述的竞拍动态(competitive auctioning dynamic)确定的。注意,服务器j还可以响应于其他事件调整分配用于支持服务i的资源量,上述事件例如但不限于服务器j所服务的其他服务的竞价数额的改变。
在某些时间,服务器j可以例如响应于接收和处理来自服务i的竞价相关传达、响应于服务器分配用于支持服务i的资源量的变化、或根据调度周期性地将反馈260传达给服务i。该反馈可以指示服务器j已分配用于支持服务i的资源量。该反馈可以附加地或替代地指示服务器j设置的资源单价。(注意,在一些实施例中,资源分配至少可以从当前竞价和资源单价大致确定。)服务i使用该反馈更新(如果必要)其概率转移动态,以控制其支出分配的更新。
图3详细示出了根据本发明说明性实施例的服务i310的操作和功能部件。图3还示出了服务i与一个或潜在多个服务器320之间的通信。该通信包括如参照图2所述的竞标370和反馈380。如图所示,该通信可以经由接口360(例如网络接口)执行。根据图3,服务跟踪当前状态315,当前状态是包括一个或多个竞价数额sij的当前支出分配。每个竞价数额表示对一个或多个服务器中的对应服务器j上的资源的当前竞价。给定当前状态,状态转移事件生成器350用于确定转移到新状态的时序以及转移到的新状态。当发生状态转移时,状态转移事件生成器将当前状态更新为等于新状态。
状态转移事件生成器根据概率转移动态来操作。下面的讨论根据连续时间马尔可夫链概述了概率转移动态。然而,应容易理解,也可以实现其他概率转移动态,例如但不限于连续时间马尔可夫链的离散时间马尔可夫链近似。可以根据泊松过程(即,事件到达间隔时间(inter-arrivaltime)具有指数分布)大致生成状态转移(也称为竞价变化事件)。通常,概率转移动态包含随机元素或伪随机元素,因此状态转移(实际上)部分基于随机机会。根据本发明实施例,概率转移动态可以遵循马尔可夫性,因此状态转移概率或速率取决于当前状态而与过去的状态无关。
给定当前状态,状态转移事件生成器确定支出分配的所有可能的下一状态。在各种实施例中,可能的(即允许的)下一状态由一个约束或约束的组合所限制。例如,如上所述,一个约束可以是,可能的下一状态被限制为所有竞价数额的总和小于或等于预算数额Si的状态。如上所述,另一约束可以是,可能的下一状态被限制为至少预定数量(大于或等于一)的竞价数额大于零的状态。如上所述,另一约束可以是,可能的下一状态被限制为最多预定数量的竞价数额大于零的状态。另一约束可以是,可能的下一状态被限制为仅在有限数量的竞价数额上与当前状态不同的状态。也就是说,该服务一次只能对有限数量(例如一)的服务器改变其竞价。另一约束可以是,竞价数额之差只能改变有限数额(例如,一个单位)。在一个实施例中,服务可以通过将竞价提高或降低预定固定数额(例如一个单位)来一次改变其对一个服务器的竞价。
在一些实施例中,在某些条件下,例如当服务的当前支出低于其总预算至少预定阈值数额时,或者当分配给该服务的资源当前低于目标水平另一预定阈值数额时,可以放宽一个或多个约束。也可以根据服务的当前支出与其总预算之差,或根据该服务的当前资源分配与其目标资源分配水平之差来逐渐放宽约束。例如,对于当前具有较低的支出或资源分配的服务,可以允许该服务一次将其对服务器的竞价数额改变一个以上的单位。类似地,在这种情况下,可以允许服务一次对多个服务器改变其竞价数额。这种约束放宽可以允许服务快速接近最佳资源分配。
在一些实施例中,对于每个可能的下一状态,状态转移事件产生器可以生成预期的转移时间。出于分析的目的,这些转移时间(可以视为时间间隔)可以视为是随机的,并且在各种实施例中实际上可以以随机或伪随机方式生成。选择这些预期的转移时间中的最短时间作为状态转移事件生成器将触发当前状态更新的时间。选择新状态作为与这些转移时间中的最短时间对应的状态。应注意,在实际的实现中,可能无需生成多个预期的转移时间并从中选择最短的转移时间。相反,如本领域技术人员将容易理解的,可以执行生成数学上相等的转移时间(或转移速率)的不同计算过程,并选择相应的状态。
在一些实施例中,泊松过程分裂技术或泊松过程合并技术可以用于以适合的速率产生状态转移事件。这也可以规定一次仅生成一个状态转移事件。例如,可以从速率参数等于多个不同的指数分布的速率参数的总和的总指数分布生成单个转移时间,而不是根据多个不同的指数分布独立地随机生成多个预期的转移时间。可以在由总指数分布给出的时间发生状态转移,并且可以随机选择转移到的状态。对于给定状态b,选择状态b的适合概率为λb/λ,其中λb是转移到状态b的速率参数,λ是总指数分布的速率参数。泊松过程分裂和泊松过程合并可以附加地或替代地用于生成多个服务的组的状态转移事件。例如,多个服务可以协调以在不同时间发起状态转移,从而避免了一次存在多个服务试图改变其竞价的情况。泊松分裂和泊松合并对本领域技术人员将是容易理解的。
在一些实施例中,给定当前状态a,对于每个可能的新状态b,从状态a到状态b的转移率(表示为qab)具体如下。将qba定义为从状态b到状态a的转移率。转移率满足根据以下任一比率条件:
在以上方程式(1)和(2)中,β是外部参数或设计参数(例如在一些实施例中等于4),并且可以用不同的项代替项Si。项bij表示服务器j响应于服务i根据当前状态a进行竞标而被分配给服务i的(可能估计的)资源量。项b′ij表示服务器j响应于服务i根据新状态b进行竞标而被分配给服务i的(可能估计的)预期的资源量。虽然方程式(1)和(2)指定了转移率之间的比率,但是可以容易计算出满足这些比率的转移率。此外,可以通过求解方程组来计算多个状态之间的转移率,每个方程式根据方程式(1)或(2)给出并且表示不同状态对。求解方程或方程组可以由计算机以数值方式执行。注意,方程式(1)或(2)的指数中的项Si可以由更通用的项Zi代替,在一些实施例中,Zi可以等于Si。
换句话说,方程式(1)表示可以使用包括提升到幂βSi的给定项的函数评估转移率之比qab/qba,其中该给定项如下。该项的分子对应于一个或多个服务器中所有服务器响应于不同支出分配而分配的用于托管服务i的资源的总预期量。该项的分母对应于一个或多个服务器中所有服务器响应于当前支出分配而分配的用于托管服务i的资源的总量。应理解,项βSi可以更一般地表示为βZi。
换句话说,方程式(2)表示可以使用如下所述的函数评估转移率之比qab/qba,其中状态a是当前支出分配,状态b是不同的支出分配。该函数通过将多个值相乘而给出。多个值中的每个值分别是提升到相应幂βSi的特定项。每个项的分子对应于一个或多个服务器中所有服务器响应于不同支出分配而分配的用于托管多个服务中的不同的特定服务i的资源的总预期量。该项的分母对应于一个或多个服务器中所有服务器响应于当前支出分配而分配的用于托管多个服务中的不同的特定服务i的资源的总量。应理解,项βSi可以更一般地表示为βZi。
根据指数概率分布(从概念上或实践上)计算从当前状态a到每个可能的新状态b的预期的转移时间,其中,指数概率分布的速率参数满足由方程式(1)和(2)给出的上述两个比率条件之一。指数分布的速率参数基本上对应于服务代理的转移率。
同样如图3所示,服务可以跟踪适用的状态转移率或相关数据以作为状态转移率参数340,并将其用于通知状态转移事件生成器。可以基于经由服务的接口360从服务器接收的反馈来更新状态转移率参数。状态转移率可以是对理论上规定的转移率的估计。例如,每个服务器j可以向服务通知服务器j响应于服务i的当前竞价分配给服务i的资源量bij。服务器j可以随时间更新该反馈信息。在一些实施例中,每个服务器j还可以向服务通知服务器j例如响应于其他竞争服务的当前竞价而分配给那些其他服务的资源量。服务器j可以附加地或替代地向服务通知其当前资源价格。从每个服务器j接收到的信息不一定是最新的。
同样如图3所示,状态转移事件生成器350在状态转移发生时或发生之前向接口360通知状态转移。新状态与先前状态的区别在于,一个或多个竞价数额已改变。该接口用于例如通过经由通信网络传输的消息向适合的服务器320通知这些竞价数额改变。
在各种实施例中,将服务状态315初始化,以使至少一个竞价非零。在各种实施例中,将不同服务配置为在不同时间更新其状态,或者将服务器配置为将来自不同服务的更新视为在不同时间发生。
转移率参数的估计
注意,服务的转移率取决于资源分配参数bij和b′ij。服务不一定完全知道这些参数的值。例如,服务器j分配给服务i的资源量(或资源单价)可能由于来自另一服务器的竞价变化或由于外部事件(例如服务器完全中断或部分中断)而发生变化。此外,不一定完全知道服务器j对预期的将来竞价的资源分配或价格调整反应。
因此,本发明实施例包括估计这种参数bij和b′ij的当前值(或相应的资源价格),或者甚至预计这种参数的将来值。在各种实施例中,如方程式(6)中给出的,通过服务器的当前资源价格将服务器资源分配和竞价关联,方程式(6)将在下面说明。服务器的资源价格可以进一步根据方程式(3)或(4)给出,这些方程式也将在下面说明。因此,参数估计可能包括估计服务器资源价格,然后使用上述方程式导出所需参数。每个服务可以用于独立估计参数(例如bij和b′ij(或相应的资源价格))的当前值和将来值。
在一些实施例中,服务i可以根据以下规则估计服务器j的资源价格。如果服务当前未使用服务器上的任何资源,则可以将估计的资源价格设置为等于服务器的最小资源(保留)价格。否则,服务可以(例如根据从服务器接收的最新反馈)将估计的资源价格设置为其当前为资源支付的价格。给定最新竞价和反馈信息,可以通过方程式(6)计算该价格。这可以称为“天真(naive)”价格估计。
在一些实施例中,服务器可以例如使用广播消息传送或闲聊协议(gossipingprotocol)(也称为八卦协议)持续地将其当前资源价格分配给服务。服务可以使用来自服务器的最新信息作为其价格估计。这可以称为“受价者(pricetaker)”价格估计。注意,传达资源价格需要非零的时间量,因此价格在接收时可能不再准确。在使用闲聊协议的实施例中,接收定价信息的服务代理可以在进行处理或未进行处理的情况下将该信息转发给其他服务代理。
在一些实施例中,服务器可以将其当前资源价格分配给所有服务,并且每个服务将估计其预期竞价对服务器资源价格的影响。这可以称为“预期”价格估计。例如,可以通过将对服务器资源分配行为的了解构建到每个服务代理中来实现。但是,这增加了系统的复杂度,并使得改变服务器资源分配行为变得困难。
在一些实施例中,服务例如通过服务和服务器的广泛的操作性耦合而熟知服务器资源价格。这可以称为“完美”价格估计。然而在分布式实现中可能难以实现完美价格估计。
还应注意,服务可以实现结合上述方法中的一个或多个价格估计方法或其他价格估计方法的混合方法。不同的服务不一定使用相同的价格估计例程。
类似地,注意到,在各种实施例中,仅期望每个服务i估计其自身参数值bij和b′ij的改变。因此,服务i可以避免尝试估计与服务i同时运行的其他服务的参数值。
服务器行为
如上所述,每个服务器(服务器代理)从一个或多个服务接收竞价,根据基于竞价的拍卖过程分配服务器资源,并使用这些分配的服务器资源来提供已分配资源的部分或全部服务。拍卖过程可以类似于例如作者为R.Johari,J.Tsitsiklis的“Network ResourceAllocation and a Congestion Game:The Single Link Case”(Proceedings of the 42ndIEEE Conference on Decision and Control,2003年)中所述的Johari-Tsitsiklis拍卖。服务器可以响应于竞价变化而更新其资源分配和后续的服务条款。服务器还可以将资源分配信息(或定价信息)传达回服务代理。服务器基于所有服务对该服务器的竞价为服务分配资源。服务行为通过服务器的资源分配机制进行结合。
在各种实施例中,每个服务器j根据以下过程分配要给服务i(在服务器j处布置了非零竞价)的量为bij的资源。服务器j具有设定量为rj的资源可分配给服务。如上所述,资源可以是处理资源、存储器资源、通信资源、或其他资源、或这些资源的包装和分装组合。为了清楚,假设可分配单种类型的资源。如果可分配多种类型的资源,则服务器可以以类似方式分别分配每种不同类型的资源。
在一些实施例中,服务器j根据以下设置其资源的价格:
在此,如上所述,pj是服务器j的资源价格,sij是服务竞价。
在其他实施例中,服务器j根据以下设置其资源的价格:
在此,θj是服务器j的预定最小资源价格,也称为服务器j的保留价格。
注意,服务器资源分配由资源的总可用量rj界定,即:
服务器根据以下分配资源:
注意,服务器可以显式地设置资源价格,或者服务器可以共同执行资源定价和分配操作,从而无需显式地生成和存储资源价格。
图4详细示出了根据本发明说明性实施例的服务器j 420的操作和功能部件。图4还示出了服务器j与一个或潜在多个服务410之间的通信。如以上参考图2和图3所述,该通信包括从服务接收竞价460以及向服务提供反馈470。如图4所示,该通信可以经由接口430(例如网络接口)执行。
根据图4,服务器包括资源定价器或资源分配器440,资源定价器或资源分配器440基于经由接口430从服务接收的竞价将服务器资源450分配给那些服务。服务器资源的分配可以包括对这些资源进行定价。定价和分配可以由计算机处理器执行存储在存储器中的指令进行计算来执行。服务器的定价和分配行为如上所述。当隐式地执行资源定价时,部件可以简称为资源分配器。资源分配器根据当前资源分配来管理一组服务器资源450。通过将一个或多个给定量的服务器资源配置为支持一个或多个给定服务来管理服务器资源。支持给定服务i的给定资源量对应于分配量bij。
通过多种方式配置服务器资源以支持服务。例如,可以留出服务器的一部分处理带宽用于根据服务专用的计算机程序指令执行计算。类似地,可以留出服务器的一部分存储器或通信带宽用于提供服务。服务器资源仅专用于支持给定的服务。或者,服务器可以承诺平均提供一定量的资源用于支持服务,然后相应地管理其内部资源在服务之间的优先级。某些(例如选定的)服务器资源可以排他地或非排他地用于支持给定的服务。
资源分配器还可以用于将信息(例如当前资源分配)提供回服务器接口,以作为反馈传达给各个服务。如上所述,每个服务器j可以通过其接口向一个或一些或全部服务通知服务器j响应于当前从服务中接收的竞价而分配给一个或多个服务i的资源量bij。服务器j可以例如周期性地或响应于竞价变化而随时间更新该反馈信息。在一些实施例中,服务器j可以仅向每个服务i通知该服务自身的资源分配。在其他实施例中,服务器j可以向每个服务i通知多个服务的资源分配,例如服务器j正在服务的所有服务的资源分配。服务器可以类似地将其他相关信息(例如定价信息)传达给服务。注意,例如,因为服务代理知道其当前竞价,可以通过方程式(6)从当前价格计算出当前资源分配,反之亦然,所以从服务代理的角度来看,资源分配信息和定价信息可能基本上是等效的。
装置和计算机实现
图5示出了根据本发明实施例的用于提供至少一个服务代理或服务器代理的计算机装置。计算机装置执行程序指令实现了至少一个服务或服务器代理510,并且可以实现一个或多个附加服务器或服务代理520。计算机装置可以托管在数据中心之内或之外。当多个代理托管在同一设备上时,可以通过装置内部的消息传递来执行代理之间的通信。
图6示出了根据本发明实施例的用作服务器的计算机装置。服务器代理未示出,但是也可以由同一装置或与其可操作地耦合的另一计算机装置提供。图5的装置可以与图6的装置集成。图6的装置包括可以在物理上或逻辑上分组或划分为编号为1到S的多个资源单元610、620、630、640的资源。可以单独分配每个资源单元以支持指定服务。每个资源单元可以包括一种资源或多种资源的组合,这些资源例如是计算机处理资源、网络通信资源、以及计算机存储器资源。
图5和图6的装置包括一个或多个计算机处理器540、660,存储器550、670,网络接口530、650,以及支撑硬件560、680(例如电源、内部通信总线等)。该计算机装置经由网络接口耦合到通信网络。处理器执行存储在存储器中的程序指令。处理器可以在存储器中存储和检索动态生成的信息,例如当前竞价或定价信息。
图7示出了包括布置在服务器机架710中的多个计算机装置的数据中心的一部分。这些装置可用于提供服务代理、服务器代理、服务器资源、或其组合。数据中心包括多个设备机架,每个设备机架可以包括一个或多个服务器或服务器部件。在一些实施例中,可以将服务器虚拟化,并且可以使用来自一个或多个设备机架的资源动态地实例化这些服务器。
性能评估
出于分析的目的,假定满足服务要求,则每个服务可以视为试图最小化为资源支出的数额。即,服务i的目的可以是最小化数量每个服务还可以具有由给出的目标资源使用率。每个服务还可以具有其他目标,例如使用目标数量的服务器提供服务、或与支持该服务的物理层处理器的数量有关的目标、或与支持该服务的不同的基于云的无线接入网的数量有关的目标。特别是对于资源可能过度使用的拥塞的(即,充分利用的)数据中心,可能需要按每个服务器的预算加权为不同的服务按比例公平分配资源。也就是说,合理的系统目标是最大化利用率:
根据Chen等的“Markov Approximation for Combinatorial NetworkOptimization”(IEEE Trans.Information Theory,卷59,号10,2013年10月)(以下简称“Chen”),当使用对数和指数函数(log-sum-exponentialfunction)近似组合优化问题的最佳值时,组合优化问题的解可以解释为一类时间可逆马尔可夫链的平稳概率分布(stationary probability distribution)。将方程式(7)的效用函数(utility function)与Chen提出的最佳概率分布表达式结合,即:
产生期望的马尔可夫链均衡概率分布(equilibrium probabilitydistribution):
可以表明,在某些条件下,如本文先前所述,服务和服务器的集体行为近似满足上述均衡概率分布的连续时间马尔可夫链,其对应于方程式(7)中指定的效用函数的最佳值。理由如下。如上所述,方程式(8)给出对应于方程式(7)中指定的效用函数的最佳值的马尔可夫链均衡概率分布。这种均衡概率分布是针对马尔可夫链实现的,在该马尔可夫链中,从每个当前状态到每个另一状态的转移率之比具有以下形式:
可以通过马尔可夫链细致平衡方程式(detailed balanceequation)将转移率与均衡概率分布关联,根据该方程式,对于具有均衡概率pa和pb的任何两个状态a和b,这两个状态之间的转移率取决于关系paqab=pbqba,其中qab和qba分别是从状态a到b和从b到a的转移率。
如前所述,bij和b′ij分别是当前状态和另一状态的服务器资源分配。例如,可以使用方程式(6)的形式来估计b′ij的值。在某些假设下,方程式(9)可以近似为或简化为:
方程式(10)给出了转移率之间的比率条件。可以进一步表明,方程式(1)和(2)可以用作方程式(10)的近似。因此,先前描述的集体服务和服务器行为大致实现了所需的马尔可夫链。
在各种实施例中,本地执行者(例如服务代理和/或服务器代理)不关心其动作的可行性。换句话说,当采取动作时,本地执行者不一定需要考虑全局可行性。相反,系统中的另一执行者或监管代理可以执行可行性决策,并在适合时允许或禁止动作。例如,不可行的竞价改变可能会被服务器或监管代理拒绝。这种被拒绝的不可行决策无法使马尔可夫链转移。因为控制转移的泊松过程都是相互独立的,所以系统单元可以拒绝不可行决策,而不会影响总体系统行为。
示例与仿真
图8示意性示出了根据本发明示例实施例的服务器管理器(即服务器代理)810和服务管理器(即服务代理)820。服务器管理器包括用于与Docker 890交互以启动、停止、以及更新容器的容器(Docker)控制器860。容器可以用于使用相关资源来实例化服务实例805。服务实例作为Docker容器运行。服务器管理器还包括用于进行资源拍卖并设置资源价格的拍卖控制器865。服务器管理器还包括用于跟踪在服务器上运行的服务的数据库850。数据库可以可操作地耦合到拍卖控制器和容器控制器。注意,除了使用容器之外,本发明的其他实施例可以采用虚拟化方法来使用服务器资源支持服务。
服务管理器包括布置控制器875,布置控制器875用于实现概率转移动态,以调节服务的竞价。服务管理器还包括多个竞价控制器885,每个竞价控制器用于通过与特定服务器管理器810的拍卖控制器865交互来代表该服务参与相应的拍卖。在竞拍过程中,多个服务管理器的竞价控制器同时与给定服务器管理器的拍卖控制器交互。服务管理器还包括多个容器代理880,每个容器代理用于与特定的Docker控制器860交互,以便例如在成功竞标之后实例化和管理相应服务器上的服务实例。服务管理器820还包括用于管理服务管理器的其他部件之间的交互的服务控制器870。服务管理器还包括用于跟踪由服务管理器的不同部件使用的信息的服务数据库855。
服务器管理器和/或服务管理器还可以包括用于参与数据中心拓扑覆盖的拓扑代理830。数据中心拓扑可以包括服务器及其关联的资源。例如在没有中央控制器的情况下,数据中心拓扑覆盖提供指示数据中心拓扑的信息。服务器管理器和/或服务管理器还可以包括用于跟踪服务器负载的负载监测部件840。服务器管理器和服务管理器可以经由WebSocket 895或例如另一通信机制进行通信。
图9示出了示出数据中心布置的示例表910以及服务代理可允许的状态转移动态920的示例。在该示例中,存在6个服务器和6个服务代理。表910中的每个条目指示每个相应服务对每个服务器的竞价数额。从而,指示了服务的当前状态。(或者,表中的每个条目可以指示每个服务器分配给每个相应服务的资源量。)服务可以根据概率转移动态通过增加924其对给定服务器的支出(竞价数额)或通过减少926其对给定服务器的支出来更新其当前状态922。在一些实施例中,服务一次只能更新其对一个服务器的支出。
图10示出了标记为服务1和服务2的两个服务代理竞标标记为服务器A和服务器B的两个服务器上的资源的简单示例实施例的可能的系统状态1010。每个服务代理具有两个单位的预算,每个服务器有两个可用资源以及一个单位的保留资源价格。示出了可能的系统状态(服务竞价)以及系统状态之间的可能转移。状态示为向量(vector quantity),其中第一元素到第四元素从左到右分别是:服务1对服务器A的竞价数额;服务1对服务器B的竞价数额;服务2对服务器A的竞价数额;服务2对服务器B的竞价数额。注意,可能的状态转移受到约束,使得一次仅一个服务可以改变对仅一个服务器的竞价数额。
图11示出了表1110,表1110示出了根据图10的示例实施例的实例的马尔可夫链的均衡稳态概率。如图所示,系统在状态“0220”、“1111”、“2002”中花费的时间比例最大。
图12示出了用于获得用于支持服务i的服务器资源的方法1200。该方法包括根据概率转移动态来更新1210支出分配。支出分配包括一个或多个竞价数额sij,每个竞价数额sij表示对一个或多个服务器中的对应服务器j上的资源的竞价。概率转移动态可以使支出分配在随机时间更新为随机选择的新支出分配。该更新可以近似连续时间马尔可夫链的行为。该方法还包括响应于支出分配的更新,向一个或多个服务器中的对应服务器传达1220一个或多个竞价数额sij的一个或多个变化。该方法还包括从一个或多个服务器接收1230反馈。该反馈可以指示由一个或多个服务器中的每个相应服务器j分配的资源量bij,上述资源量bij响应于支出分配sij而被分配用于托管服务i。该反馈可以附加地或替代地指示服务器设置的资源价格,该资源价格指示分配的资源量。可以在传达1220竞价变化之后或在其他时间或其组合接收反馈。该方法还包括基于来自一个或多个服务器的反馈控制1240概率转移动态。控制概率转移动态可以包括将用于选择新的支出分配和转移时间的随机化参数保持最新,例如使得随机化参数满足方程式(1)或(2)的标准。图12所示的方法可以由服务代理执行。
图13示出了根据本发明实施例的用于操作服务器的方法1300。该方法包括从一个或多个服务代理接收1310服务器持有的资源的使用竞价。该方法还包括使用拍卖规则向一个或多个服务代理分配1320资源,其中分配给每个服务的资源量与该服务对资源的竞价数额大致成正比。该方法还可以包括基于当前接收的竞价调整1330资源定价信息。可以根据方程式(3)、(4)、(5)、(6)执行拍卖规则和资源定价调整。该方法还包括向服务代理传达1340资源分配和/或关联的定价信息的指示。该传达可以与其他方法步骤异步执行。该方法还包括配置1350分配的资源以支持资源当前分配到的相应服务。图13的方法可以由服务器代理执行,或者由实现为计算平台上的软件功能的功能实体执行。
虽然参考本发明的特定特征和实施例描述了本发明,但是显然可以在不脱离本发明的情况下对本发明进行各种修改和组合。因此,说明书和附图应仅视为对由所附权利要求限定的本发明的说明,并且可以预期涵盖落入本发明范围内的任何和所有修改、变化、组合、或等同物。
Claims (21)
1.一种用于获得用于支持服务i的服务器资源的方法,所述方法由用于管理所述服务i的计算机系统执行,并且包括重复地执行以下操作:
根据概率转移动态更新支出分配,所述支出分配包括一个或多个竞价数额sij,每个竞价数额sij表示对一个或多个服务器中的对应服务器j上的资源的竞价;
响应于所述支出分配的所述更新,向所述一个或多个服务器中的对应服务器传达所述一个或多个竞价数额sij的一个或多个变化;
从所述一个或多个服务器接收反馈,所述反馈指示由所述一个或多个服务器中的每个相应服务器j分配的资源量bij,或者指示所述一个或多个服务器中的每个相应服务器j在分配所述资源量bij时使用的资源价格,响应于所述支出分配sij所述资源量bij被分配用于托管所述服务i;以及
基于来自所述一个或多个服务器的所述反馈控制所述概率转移动态。
2.根据权利要求1所述的方法,其中,所述一个或多个服务器中的每个相应服务器j处的所述资源量bij与所述一个或多个服务器中的所述相应服务器j的所述元素sij为非递减关系。
3.根据权利要求1和2中任一项所述的方法,其中,所述一个或多个服务器中所述资源量bij大于零的每个服务器使用至少所述量bij的资源托管所述服务。
4.根据权利要求1至3中任一项所述的方法,其中,所述反馈的形式是资源定价信息。
5.根据权利要求1至4中任一项所述的方法,其中,所述概率转移动态包括,根据转移率将所述支出分配从当前支出分配概率性地转移到不同支出分配,所述转移率的特征在于,可根据函数确定所述转移率与从所述不同支出分配到所述当前支出分配的对应转移率之比,所述函数包括提升到预定幂的项,所述项具有:
分子,等于所述一个或多个服务器中所有服务器响应于所述不同支出分配而分配的用于托管所述服务i的资源的总预期量,以及
分母,等于所述一个或多个服务器中所有服务器响应于所述当前支出分配而分配的用于托管所述服务i的资源的总量。
6.根据权利要求1至5中任一项所述的方法,其中,所述概率转移动态包括,根据相应转移率将所述支出分配从当前支出分配概率性地转移到多个不同支出分配中的支出分配,每个相应转移率的特征在于,可根据函数确定所述相应转移率与从所述多个不同支出分配中的所述支出分配到所述当前支出分配的对应转移率之比,所述函数包括提升到预定幂的项,所述项具有:
分子,等于所述一个或多个服务器中所有服务器响应于所述多个不同支出分配中的所述相应支出分配而分配的用于托管所述服务i的资源的总预期量,以及
分母,等于所述一个或多个服务器中所有服务器响应于所述当前支出分配而分配的用于托管所述服务i的资源的总量。
7.根据权利要求1至6中任一项所述的方法,其中,所述概率转移动态包括,根据转移率将所述支出分配从当前支出分配概率性地转移到不同支出分配,所述转移率的特征在于,可根据函数确定所述转移率与从所述不同支出分配到所述当前支出分配的对应转移率之比,所述函数通过将多个值相乘而给出,所述多个值中的每个值分别是提升到预定幂的项,所述各个项具有:
分子,等于所述一个或多个服务器中所有服务器响应于所述不同支出分配而分配的用于托管多个服务中的不同服务i的资源的总预期量;以及
分母,等于所述一个或多个服务器中所有服务器响应于所述当前支出分配而分配的用于托管多个服务中的所述不同服务i的资源的总量。
8.根据权利要求1至7中任一项所述的方法,其中,所述概率转移动态包括,根据相应转移率将所述支出分配从当前支出分配概率性地转移到多个不同支出分配中的支出分配,每个相应转移率的特征在于,可根据函数确定所述相应转移率与从所述多个不同支出分配中的所述支出分配到所述当前支出分配的对应转移率之比,所述函数通过将多个值相乘而给出,所述多个值中的每个值分别是提升到预定幂的项,所述项具有:
分子,等于所述一个或多个服务器中所有服务器响应于所述多个不同支出分配中的所述相应支出分配而分配的用于托管多个服务中的不同服务i的资源的总预期量;以及
分母,等于所述一个或多个服务器中所有服务器响应于所述当前支出分配而分配的用于托管多个服务中的所述不同服务i的资源的总量。
9.根据权利要求1至8中任一项所述的方法,其中,使用拍卖规则分配每个服务器上的所述资源,在所述拍卖规则中,分配给包括所述服务i在内的多个服务中的每个服务的资源量与所述多个服务中的所述服务对所述服务器上的资源的所述竞价数额大致成正比。
10.一种用于将服务器资源与多个服务关联的方法,所述方法由用于管理所述多个服务的一个或多个计算机系统执行,并且包括为所述多个服务中的每个服务分别执行根据权利要求1所述的方法,其中,所述多个服务中的每个服务与相同的一个或多个服务器交互。
11.根据权利要求10所述的方法,还包括,所述一个或多个服务器中的每个服务器使用拍卖规则分配资源,在所述拍卖规则中,分配给所述多个服务中的每个服务的资源量与所述多个服务中的所述服务对资源的竞价数额大致成正比。
12.一种用于获得用于支持服务i的服务器资源的装置,所述装置包括计算机处理器,所述计算机处理器可操作地耦合到存储器,并且用于重复地执行以下操作:
根据概率转移动态更新支出分配,所述支出分配包括一个或多个竞价数额sij,每个竞价数额sij表示对一个或多个服务器中的对应服务器j上的资源的竞价;
响应于所述支出分配的所述更新,向所述一个或多个服务器中的对应服务器传达所述一个或多个竞价数额sij的一个或多个变化;
从所述一个或多个服务器接收反馈,所述反馈指示所述一个或多个服务器中的每个相应服务器j分配的资源量bij,或者指示所述一个或多个服务器中的每个相应服务器j在分配所述资源量bij时使用的资源价格,响应于所述支出分配sij所述资源量bij被分配用于托管所述服务i;以及
基于来自所述一个或多个服务器的所述反馈控制所述概率转移动态。
13.根据权利要求12所述的装置,其中,所述一个或多个服务器中的每个相应服务器j处的所述资源量bij与所述一个或多个服务器中的所述相应服务器j的所述元素sij为非递减关系。
14.根据权利要求12和13中任一项所述的装置,其中,所述一个或多个服务器中所述资源量bij大于零的每个服务器使用至少所述量bij的资源托管所述服务。
15.根据权利要求12至14中任一项所述的装置,其中,所述反馈的形式是资源定价信息。
16.根据权利要求12至15中任一项所述的装置,其中,所述概率转移动态包括,根据转移率将所述支出分配从当前支出分配概率性地转移到不同支出分配,所述转移率的特征在于,可根据函数确定所述转移率与从所述不同支出分配到所述当前支出分配的对应转移率之比,所述函数包括提升到预定幂的项,所述项具有:
分子,等于所述一个或多个服务器中所有服务器响应于所述不同支出分配而分配的用于托管所述服务i的资源的总预期量,以及
分母,等于所述一个或多个服务器中所有服务器响应于所述当前支出分配而分配的用于托管所述服务i的资源的总量。
17.根据权利要求12至16中任一项所述的装置,其中,所述概率转移动态包括,根据相应转移率将所述支出分配从当前支出分配概率性地转移到多个不同支出分配中的支出分配,每个相应转移率的特征在于,可根据函数确定所述相应转移率与从所述多个不同支出分配中的所述支出分配到所述当前支出分配的对应转移率之比,所述函数包括提升到预定幂的项,所述项具有:
分子,等于所述一个或多个服务器中所有服务器响应于所述多个不同支出分配中的所述相应支出分配而分配的用于托管所述服务i的资源的总预期量,以及
分母,等于所述一个或多个服务器中所有服务器响应于所述当前支出分配而分配的用于托管所述服务i的资源的总量。
18.根据权利要求12至17中任一项所述的装置,其中,所述概率转移动态包括,根据转移率将所述支出分配从当前支出分配概率性地转移到不同支出分配,所述转移率的特征在于,可根据函数确定所述转移率与从所述不同支出分配到所述当前支出分配的对应转移率之比,所述函数通过将多个值相乘而给出,所述多个值中的每个值分别是提升到预定幂的项,所述相应项具有:
分子,等于所述一个或多个服务器中所有服务器响应于所述不同支出分配而分配的用于托管多个服务中的不同服务i的资源的总预期量;以及
分母,等于所述一个或多个服务器中所有服务器响应于所述当前支出分配而分配的用于托管多个服务中的所述不同服务i的资源的总量。
19.根据权利要求12至18中任一项所述的装置,其中,所述概率转移动态包括,根据相应转移率将所述支出分配从当前支出分配概率性地转移到多个不同支出分配中的支出分配,每个相应转移率的特征在于,可根据函数确定所述相应转移率与从所述多个不同支出分配中的所述支出分配到所述当前支出分配的对应转移率之比,所述函数通过将多个值相乘而给出,所述多个值中的每个值分别是提升到预定幂的项,所述项具有:
分子,等于所述一个或多个服务器中所有服务器响应于所述多个不同支出分配中的所述相应支出分配而分配的用于托管多个服务中的不同服务i的资源的总预期量;以及
分母,等于所述一个或多个服务器中所有服务器响应于所述当前支出分配而分配的用于托管多个服务中的所述不同服务i的资源的总量。
20.根据权利要求12至19中任一项所述的装置,其中,使用拍卖规则分配每个服务器上的所述资源,在所述拍卖规则中,分配给包括所述服务i在内的多个服务中的每个服务的资源量与所述多个服务中的所述服务对所述服务器上的资源的所述竞价数额大致成正比。
21.一种用于将服务器资源与多个服务关联的系统,所述系统包括根据权利要求12所述的多个装置,所述多个装置中的每个装置用于支持所述多个服务中不同的一组一个或多个服务。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862679318P | 2018-06-01 | 2018-06-01 | |
US62/679,318 | 2018-06-01 | ||
US16/145,677 US11134026B2 (en) | 2018-06-01 | 2018-09-28 | Self-configuration of servers and services in a datacenter |
US16/145,677 | 2018-09-28 | ||
PCT/CN2019/088858 WO2019228360A1 (en) | 2018-06-01 | 2019-05-28 | Self-configuration of servers and services in a datacenter |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112219191A true CN112219191A (zh) | 2021-01-12 |
Family
ID=68693802
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980037024.5A Pending CN112219191A (zh) | 2018-06-01 | 2019-05-28 | 数据中心中的服务和服务器的自配置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11134026B2 (zh) |
CN (1) | CN112219191A (zh) |
WO (1) | WO2019228360A1 (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111400001B (zh) * | 2020-03-09 | 2022-09-23 | 清华大学 | 一种面向边缘计算环境的在线计算任务卸载调度方法 |
CN113301158B (zh) * | 2021-05-25 | 2022-03-22 | 东北大学 | 一种移动边缘计算环境下基于拍卖理论的资源分配方法 |
US20220391804A1 (en) * | 2021-06-07 | 2022-12-08 | The Boeing Company | Resource planning with incomplete information |
CN115334076A (zh) * | 2022-07-08 | 2022-11-11 | 电子科技大学 | 一种边缘服务器的服务迁移方法、系统及边缘服务器设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6968323B1 (en) * | 2000-10-05 | 2005-11-22 | International Business Machines Corporation | Dynamic allocation and pricing of resources of web server farm |
CN101854637A (zh) * | 2009-03-30 | 2010-10-06 | 华为技术有限公司 | 一种申请与分配频谱资源的方法及装置 |
US20110029347A1 (en) * | 2009-07-31 | 2011-02-03 | Kozat Ulas C | Method for wireless network virtualization through sequential auctions and conjectural pricing |
WO2011066807A1 (zh) * | 2009-12-03 | 2011-06-09 | 华为技术有限公司 | 一种资源分配方法、装置及系统 |
CN103593770A (zh) * | 2013-10-24 | 2014-02-19 | 清华大学 | 基于马尔科夫模型的亚马逊弹性计算云竞价方法 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7099936B2 (en) * | 2002-03-29 | 2006-08-29 | International Business Machines Corporation | Multi-tier service level agreement method and system |
US20070011052A1 (en) * | 2005-06-08 | 2007-01-11 | Tieming Liu | Method and apparatus for joint pricing and resource allocation under service-level agreement |
US8320948B2 (en) * | 2009-03-25 | 2012-11-27 | Futurewei Technologies, Inc. | System and method for probability-based resource allocation in a wireless communications system |
CN104469951B (zh) * | 2013-09-25 | 2018-08-21 | 华为技术有限公司 | 一种资源分配的方法、装置及系统 |
US20160072704A1 (en) | 2014-09-09 | 2016-03-10 | Microsoft Corporation | Resource control for virtual datacenters |
US10200480B2 (en) | 2015-06-29 | 2019-02-05 | Huawei Technologies Co., Ltd. | System and method for connectivity management |
US10404614B2 (en) | 2016-11-21 | 2019-09-03 | Vmware, Inc. | Multi-cloud resource allocation |
US20180321981A1 (en) | 2017-05-04 | 2018-11-08 | Huawei Technologies Co., Ltd. | System and method for self organizing data center |
-
2018
- 2018-09-28 US US16/145,677 patent/US11134026B2/en active Active
-
2019
- 2019-05-28 CN CN201980037024.5A patent/CN112219191A/zh active Pending
- 2019-05-28 WO PCT/CN2019/088858 patent/WO2019228360A1/en active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6968323B1 (en) * | 2000-10-05 | 2005-11-22 | International Business Machines Corporation | Dynamic allocation and pricing of resources of web server farm |
CN101854637A (zh) * | 2009-03-30 | 2010-10-06 | 华为技术有限公司 | 一种申请与分配频谱资源的方法及装置 |
US20110029347A1 (en) * | 2009-07-31 | 2011-02-03 | Kozat Ulas C | Method for wireless network virtualization through sequential auctions and conjectural pricing |
WO2011066807A1 (zh) * | 2009-12-03 | 2011-06-09 | 华为技术有限公司 | 一种资源分配方法、装置及系统 |
CN103593770A (zh) * | 2013-10-24 | 2014-02-19 | 清华大学 | 基于马尔科夫模型的亚马逊弹性计算云竞价方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2019228360A1 (en) | 2019-12-05 |
US11134026B2 (en) | 2021-09-28 |
US20190372909A1 (en) | 2019-12-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10733026B2 (en) | Automated workflow selection | |
Baek et al. | Managing fog networks using reinforcement learning based load balancing algorithm | |
Tran-Dang et al. | FRATO: Fog resource based adaptive task offloading for delay-minimizing IoT service provisioning | |
CN110858161B (zh) | 资源分配方法、装置、系统、设备和介质 | |
Habiba et al. | Auction mechanisms for virtualization in 5G cellular networks: Basics, trends, and open challenges | |
Shi et al. | MDP and machine learning-based cost-optimization of dynamic resource allocation for network function virtualization | |
CN112219191A (zh) | 数据中心中的服务和服务器的自配置 | |
Pillai et al. | Resource allocation in cloud computing using the uncertainty principle of game theory | |
US9325585B1 (en) | Mission-driven autonomous and adaptive resource management | |
CN109062658A (zh) | 实现计算资源服务化的调度方法、装置、介质、设备及系统 | |
JP6380110B2 (ja) | リソース制御システム、制御パターン生成装置、制御装置、リソース制御方法及びプログラム | |
CN107003887A (zh) | Cpu超载设置和云计算工作负荷调度机构 | |
WO2019091387A1 (en) | Method and system for provisioning resources in cloud computing | |
US11496413B2 (en) | Allocating cloud computing resources in a cloud computing environment based on user predictability | |
Issawi et al. | An efficient adaptive load balancing algorithm for cloud computing under bursty workloads | |
CN107077387A (zh) | 用于虚拟数据中心的资源控制 | |
Shahapure et al. | Load balancing with optimal cost scheduling algorithm | |
Jain et al. | Qos-aware task offloading in fog environment using multi-agent deep reinforcement learning | |
Shen et al. | Goodbye to fixed bandwidth reservation: Job scheduling with elastic bandwidth reservation in clouds | |
Faraji‐Mehmandar et al. | A proactive fog service provisioning framework for Internet of Things applications: An autonomic approach | |
Baresi et al. | PAPS: A serverless platform for edge computing infrastructures | |
Sadashiv et al. | Broker-based resource management in dynamic multi-cloud environment | |
Ma et al. | A cyclic game for joint cooperation and competition of edge resource allocation | |
Bensalem et al. | Towards optimal serverless function scaling in edge computing network | |
Qavami et al. | A learning automata based dynamic resource provisioning in cloud computing environments |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |