CN106471773A - 集成式全局资源分配和负载平衡 - Google Patents

集成式全局资源分配和负载平衡 Download PDF

Info

Publication number
CN106471773A
CN106471773A CN201580035864.XA CN201580035864A CN106471773A CN 106471773 A CN106471773 A CN 106471773A CN 201580035864 A CN201580035864 A CN 201580035864A CN 106471773 A CN106471773 A CN 106471773A
Authority
CN
China
Prior art keywords
consumer
account
resource
pairing
server
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.)
Granted
Application number
CN201580035864.XA
Other languages
English (en)
Other versions
CN106471773B (zh
Inventor
A·绍尔斯沃德
B·G·卡尔德
J·王
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.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
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 Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN106471773A publication Critical patent/CN106471773A/zh
Application granted granted Critical
Publication of CN106471773B publication Critical patent/CN106471773B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/0876Network utilisation, e.g. volume of load or congestion level
    • 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
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/82Miscellaneous aspects
    • H04L47/828Allocation of resources per group of connections, e.g. per group of users
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Environmental & Geological Engineering (AREA)
  • Computer And Data Communications (AREA)

Abstract

在各实施例中,提供了用于集成式资源分配和负载平衡的方法和系统。全局资源分配器接收云计算系统中的资源的使用信息。该使用信息与云计算系统的各服务器上的多个帐户和消费者操作配对相关联。对于与特定资源相关联的选定帐户和消费者操作配对,确定分配目标并将其传递给该选定帐户和消费者操作配对的对应服务器。服务器基于分配目标来使用资源。负载平衡器接收资源的使用信息和分配目标。分配目标指示所述选定帐户和消费者操作配对在它们的对应服务器上的负载。负载平衡器执行负载平衡操作以定位具有处理该选定帐户和消费者操作配对的分配目标的容量的服务器。

Description

集成式全局资源分配和负载平衡
背景
云计算系统可以提供针对不同类型的应用和服务的构建、部署和管理。云计算系统还包括提供可缩放存储资源的分布式存储系统。在多租户云计算系统中,各计算操作争用有限数量的计算资源。计算操作可使用CPU周期执行复制任务来复制用户数据。CPU周期和各种其它类型的计算资源可被分配给各计算操作以优化云计算系统内的延迟、效率、以及负载平衡。然而,传统资源分配技术依赖于反应式节流和本地保护机制来分配资源,并因而无法提供动态的、全局实现的、基于公平性的、性能隔离的资源分配方案。
概述
提供本概述以便以简化的形式介绍将在以下的详细描述中进一步描述的一些概念。本概述不旨在标识所要求保护的主题的关键特征或本质特征,也不旨在独立地用于帮助确定所要求保护的主题的范围。
本发明的各实施例提供了用于云计算系统中的集成式全局资源分配和负载平衡的方法和系统。这可通过使用具有全局资源分配器和负载平衡器的系统来实现。具体来说,全局资源分配器被配置成接收云计算系统中的资源的使用信息。该使用信息与云计算系统的多个服务器上的多个帐户和消费者操作配对相关联。对于与特定资源相关联的每一个帐户和消费者操作配对,确定分配目标并将其传递给该帐户和消费者操作配对的对应服务器。负载平衡器被进一步配置成接收资源的使用信息和多个帐户和消费者操作配对的分配目标。分配目标可指示多个帐户和消费者操作配对中的每一个的对应服务器的负载。基于使用信息和多个帐户和消费者操作配对的分配目标,负载平衡操作被执行以定位具有处理至少所述帐户和消费者操作配对的分配目标的容量的服务器。
附图简述
下面参考附图详细描述本发明,其中:
图1是适用于实现本发明的各实施例的示例性计算环境的框图;
图2是其中可以使用本发明各实施例的示例性分布式存储系统的框图;
图3是示出其中可以使用本发明各实施例的示例性操作环境的框图;
图4是示出根据本发明各实施例的用于集成式全局资源分配和负载平衡的方法的流程图;以及
图5是示出根据本发明各实施例的用于集成式全局资源分配和负载平衡的方法的流程图。
详细描述
此处用细节来描述本发明的各实施例的主题以满足法定要求。然而,描述本身并非旨在限制本专利的范围。相反,发明人已构想所要求保护的主题还可结合其它当前或未来技术以其它方式来实施,以包括不同的步骤或类似于本文中所描述的步骤的步骤组合。此外,尽管术语“步骤”和/或“框”可在此处用于指示所采用的方法的不同元素,但除非而且仅当明确描述了各个步骤的顺序时,术语不应被解释为意味着此处公开的各个步骤之中或之间的任何特定顺序。
出于本公开的目的,单词“包括(including)”具有与单词“包含(comprising)”一样广义的含义。另外,诸如“一(a)”和“一(an)”包括复数以及单数,除非另外相反地指明。这样,例如,“一个特征”的限定满足存在一个或多个特征的情况。而且,术语“或(or)”包括连接的、分离的和这两者(a或b包括要么a要么b,以及a和b)。
出于以下详细讨论的目的,本发明各实施例是通过资源(例如,CPU、存储器、带宽、以及API调用)、消费者操作(例如,实时请求、复制、帐户迁移、以及垃圾回收)以及云计算系统来描述的,其中云计算系统具有分区层级体系结构中的用于管理云计算系统中的所有数据对象的划分的分区主机;然而,资源、消费者操作、以及分区主机仅仅是示例性的,并且构想了所描述的技术可被扩展到其它的实现上下文。
通常,云计算系统用于以分布式的方式来存储数据或运行服务应用。云计算系统可以跨越包括国家和洲的广泛地理位置。例如,云计算系统的服务应用组件(例如承租人基础设施或承租人)可包括被分配以运行承租人服务应用的一个或多个部分的节点(例如,计算设备、处理单元或服务器机架中的刀片)。在当多于一个的分开的服务应用被节点支持时,节点可被划分成分别在支持每个服务应用专用的资源和/或操作系统的个别化的计算环境中并发地运行所述分开的服务应用的虚拟机或物理机。此外,每个服务应用可被划分成各功能部分,以使得每个功能部分能够在分开的虚拟机上运行。
在云计算系统中,多个服务器可被用于运行服务应用并执行群集中的数据存储操作。具体而言,服务器可个别地执行数据操作,但被展示为被称为群集的单个设备。群集中的每个服务器可被称为节点。在可缩放数据存储系统中,当用于存储数据的容量变得低时,新的服务器可被添加作为新的存储节点。多个节点争用相同的物理资源。资源可一般地指代计算系统内可用的促进执行计算操作的物理或抽象组件。作为示例,资源可包括CPU周期、网络带宽、随机存取存储器、API调用等等。
云计算系统可进一步实现具有不同类型的帐户的不同类型的租户,这些租户需要不同类型的资源和计算操作。具体来说,计算操作可包括接收对数据的实时请求或者后台执行的帐户迁移操作。物理和抽象资源可能是有限的,这导致在执行争用相同物理和抽象资源的不同类型的计算操作时的瓶颈。传统的资源分配技术依赖于反应式节流和本地保护机制来分配资源。例如,网络带宽节流可表示一种用于尝试调节带宽阻塞的反应式措施。带宽节流通过限制带宽密集型设备(例如服务器)接受数据的速率来起作用。不采用节流的话,设备可能超过其处理容量负载。此外,本地保护机制独立于其它节点和服务器运行,其仅仅基于本地目标来优化资源分配而不考虑资源的全局优化,尤其是在冲突可能产生的情形下。就这点而言,如今的资源分配方案无法向资源分配提供动态的、全局实施的、基于公平性的、性能隔离的资源分配方案。通过本发明的各实施例,资源分配技术可被实现以进一步提供协调不同计算操作的负载平衡以在不同服务器之间优化资源。
总得来说,本发明的各实施例提供了用于云计算系统中的集成式全局资源分配和负载平衡的简单且高效的方法和系统。具体来说,云计算系统中的各群集支持针对云计算系统中的共享资源的群集级资源分配和问题隔离。构想了本发明的各实施例可进一步促进在各节点之间协调资源使用和分配的负载平衡以便于最大化整个群集上的资源使用效率。在各实施例中,群集可包括争用相同资源的若干个计算操作。实时请求操作可消耗CPU周期,而其它操作(包括异地复制、帐户迁移以及垃圾回收操作)可进一步消耗CPU周期。根据本发明的各实施例的动态分配资源可基于每一个计算操作的具体需求,使得所有的计算操作可推进。可定义一种算法来计算确保各帐户和计算操作之间的公平性的资源分配。在各实施例中,帐户和/或计算操作可以具有基于与其相关联的权重的不同优先级,使得确定资源短缺时,对应于较高权重的帐户和/或计算操作可在获取资源方面具有优于其他帐户和/或计算操作的优先权。
在本发明的各实施例中,资源分配可被具体地参考在本文中被定义并在本文中进一步针对不同上下文定制以处理不同场景的资源、消费者操作、帐户、需求、以及积压/滞后来描述。资源可以是促进云计算系统中的计算操作的物理资源或抽象资源。作为示例,物理资源可指的是CPU周期、带宽、或存储器,而抽象资源可指的是对于云计算系统的组件的某些API调用。资源可与定义群集上的全局容量极限和节点上的本地容量极限的资源配额相关联。例如,对于云计算系统的数据流层的API调用可被定义为资源,而全局容量极限和本地容量极限可被定义成对应的群集和存储群集中的节点。在本发明的实施例中也构想了物理资源和抽象资源的其它变化。
本发明的各实施例可进一步定义消费者操作。消费者操作可一般地指代使用云计算系统的资源的计算操作。多个消费者操作可在群集中的各节点之间争用相同的资源。每一个消费者操作可用权重属性来定义。权重属性是指示消费者操作被授权获得的量的公平份额。作为示例,消费者操作可包括实时请求、异地复制、帐户迁移、垃圾回收等等。构想了消费者操作的权重值可对于特定消费者操作而不同。例如,实时请求和异地复制消费者操作可比帐户迁移和垃圾回收消费者操作具有更高的权重。
消费者操作可进一步与促进资源分配的多个附加属性相关联。例如,需求属性指的是推进执行消费者操作所需的资源的量。使用属性指示所消耗资源的实际量。积压或滞后属性可定义测量给定消费者操作实现期望的进展以清除相关联的积压所需的资源的量的度量。容忍度属性可定义测量消费者操作对于执行消费者操作中的延迟有多容忍的度量。这些属性中的一个或多个可被用于确定相应消费者操作的需求。例如,积压属性和使用属性结合在一起可被用于估计消费者操作的需求。容忍度属性、积压属性以及使用属性中的每一个可使用指定的度量来量化并且被用于需求函数中以确定多个消费者操作的需求。在本发明的实施例中也构想了用于确定需求的属性的任何其它组合和变化。
如本发明的各实施例中所使用的,帐户指的是顾客帐户。帐户可对应于消费者操作,其中消费者操作代表各个帐户使用资源。由消费者操作代表每个帐户消耗的资源的量可被独立追踪。帐户还可包括权重属性,其中权重属性指示给定帐户被授权获得的公平份额的量。帐户可被实现在优先权框架中,其中每一个不同优先权等级与权重属性相关联。作为示例,默认帐户、高级帐户、预备帐户、以及服务帐户可与相应的权重属性相关联。默认帐户权重属性可具有针对容量和/或事务速率配额的第一权重,而高级帐户、预备帐户、以及服务帐户具有针对容量和/或事务速率配额的不同权重。具体来说,服务帐户可以是与高商业影响服务相关联的关键帐户,并且可被指派一个权重使得服务帐户可在获取资源方面具有先于其它帐户的优先权。
本发明的各实施例可基于云计算系统中的示例性组件来实现。组件可包括支持多个服务器组件的主机。主机具有全局资源分配器模块和负载平衡器模块。全局资源分配器在群集级以公平方式在不同帐户和消费者操作之间分配资源。在各实施例中,公平性可基于与各帐户和/或消费者操作相关联的权重。此外,多个资源监视器模块可被实现在群集中的每一个节点上以收集资源使用统计,并且多个节流控制模块可被实现在群集中的每一个节点上以基于在各帐户和计算操作之间分配的配额来控制和管理资源使用。
在本发明的各实施例中,基于需求的资源分配算法可包括计算帐户和消费者操作配对的需求。帐户和消费者操作配对可以是多个帐户和消费者操作配对中的一个。具体来说,每一个帐户和消费者操作配对可与其需求被确定的选定的资源相关联。总的需求基于对于与选定的资源相关联的多个帐户和消费者操作配对中的每一个的需求来确定。总需求可基于特定计算组件,包括服务器、多个服务器、或群集。计算总需求的其他变体也被构想落在本发明的各实施例中。
可作出针对选定资源的总需求少于还是多于资源的总的可用量的判断。当确定总需求小于可用量时,分配目标被设为需求属性值并返回。基本上,每一个帐户和消费者操作配对收到至少等于计算出的需求的分配目标。对于多个帐户和消费者操作配对中的每一个的分配目标被传递给对应的服务器。
当确定总需求多于可用量时,确定资源在各个帐户和消费者操作配对之间公平分配。在各实施例中,帐户和消费者操作可与暗指它们的有限资源的公平分配的权重值相关联。作为示例,多个帐户中的每一个的权重属性可被归一化。多个消费者操作中的每一个的权重属性也可被归一化。帐户和消费者操作配对中的消费者操作的权重被计算为帐户的归一化权重和消费者操作的归一化权重的笛卡尔积。可对计算出的笛卡尔积执行最大-最小公平算法以生成多个帐户和消费者操作配对的分配目标值。
本发明的各实施例进一步基于与多个帐户和消费者操作配对相关联的分配目标来将资源分配与负载平衡集成在一起。具体来说,负载平衡器模块使用从各服务器收集的分配目标和使用信息来执行负载平衡,使得各帐户可被移动到具有可用资源足以满足其分配目标的服务器。就这点而言,资源分配技术与负载平衡集成在一起以在各服务器之间优化资源。
因此,在本发明的第一方面,提供了一种用于执行集成式资源分配和负载平衡的方法的系统。该系统包括全局资源分配器。该全局资源分配器被配置用于接收多个服务器上的多个帐户和消费者操作配对对资源的使用信息。该全局资源分配器被进一步配置使得至少对于与选定资源相关联的选定帐户和消费者操作配对:全局资源分配器确定选定帐户和消费者操作配对的分配目标;以及将选定帐户和消费者操作配对的分配目标传递给选定帐户和消费者操作配对的对应服务器。
系统还包括负载平衡器。负载平衡器被配置用于接收资源的使用信息和多个帐户和消费者操作配对的分配目标。分配目标指示对应服务器上的选定帐户和消费者操作配对的选定资源的量。负载平衡器被进一步配置使得至少对于具有与选定资源相关联的分配目标的选定帐户和消费者操作配对:负载平衡器执行负载平衡操作,使得选定帐户和消费者操作配对与具有选定帐户和消费者操作配对的分配目标的容量的服务器相关联。
在本发明的第二方面,提供了一种用于云计算系统中的资源分配的计算机实现的方法。该方法包括选择资源。该方法进一步包括确定所述多个帐户和消费者操作配对对于所述选定资源的总需求。多个帐户和消费者操作配对中的每一个与对应需求相关联。此处的“每一个”的使用不意味着限制性的,而是进一步设想了多个帐户和消费者操作配对的子集。该方法还包括确定总需求大于群集上的可用量。在各实施例中,可为具有本地容量极限的单个服务器确定总需求。构想了群集可包括单个服务器,在这种情况下,本地容量极限对应于全局容量极限。总需求基于群集上的多个帐户和消费者操作配对中的每一个的对应需求。该方法进一步包括部分基于所述多个帐户和消费者操作配对中的每一者的对应需求来计算多个帐户和消费者操作配对中的每一个的分配目标。
在本发明的第三方面,提供了一种用于云计算系统中的集成式资源分配和负载平衡的计算机实现的方法。该方法包括接收多个帐户和消费者操作配对对选定资源的使用信息和分配目标。分配目标指示对应群集上的多个帐户和消费者操作配对中的每一个的负载。该方法进一步包括基于将使用信息与全局容量极限的比较来确定使用信息超过对应服务器上的阈值使用。该方法还包括执行负载平衡操作使得多个帐户和消费者操作配对中的至少选定的帐户和消费者操作配对与具有针对选定的帐户和消费者操作配对的分配目标的容量的服务器相关联。
在简要描述了本发明各实施方式的概览之后,以下描述其中可实现本发明的各实施方式的示例性操作环境,以便为本发明各方面提供通用上下文。首先具体参考图1,示出了用于实现本发明的各实施方式的示例性操作环境,并将其概括地指定为计算设备100。计算设备100只是合适的计算环境的一个示例,并且不旨在对本发明的使用范围或功能提出任何限制。也不应将计算设备100解释为对所示出的任一组件或其组合有任何依赖性或要求。
本发明可以在由计算机或诸如个人数据助理或其他手持式设备之类的其他机器执行的计算机代码或机器可使用指令(包括诸如程序模块之类的计算机可执行指令)的一般上下文中描述。一般而言,包括例程、程序、对象、组件、数据结构等的程序模块指的是执行特定任务或实现特定抽象数据类型的代码。本发明可以在各种系统配置中实施,这些系统配置包括手持式设备、消费电子产品、通用计算机、专用计算设备等等。本发明也可以在其中任务由通过通信网络链接的远程处理设备执行的分布式计算环境中实施。
参考图1,计算设备100包括直接或间接耦合以下设备的总线110:存储器112、一个或多个处理器114、一个或多个呈现组件116、输入/输出(I/O)端口118、输入/输出(I/O)组件120、和说明性电源122。总线110表示可以是一条或多条总线(诸如地址总线、数据总线、或其组合)。虽然为了清楚起见利用线条示出了图1的各框,但是实际上,各组件的轮廓并不是那样清楚,并且比喻性地来说,线条更精确地将是灰色的和模糊的。例如,可以将诸如显示设备等呈现组件认为是I/O组件。而且,处理器也具有存储器。可以认识到,这是本领域的特性,并且重申,图1的图示只是例示可结合本发明的一个或多个实施方式来使用的示例性计算设备。诸如工作站、服务器、膝上型计算机、手持式设备等分类之间没有区别,它们全部都被认为是在图1的范围之内的并且被称为计算设备。
计算设备100通常包括各种计算机可读介质。计算机可读介质可以是可由计算设备100访问的任何可用介质,而且包含易失性和非易失性介质、可移动和不可移动介质。作为示例而非限制,计算机可读介质可包括计算机存储介质和通信介质。
计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其它数据的信息的任何方法或技术实现的易失性与非易失性、可移动与不可移动介质。计算机存储介质包括但不限于,RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光学存储、磁带盒、磁带、磁盘存储或其他磁存储设备、或能用于存储所需信息且可以由计算设备100访问的任何其他介质。计算机存储介质将信号本身排除在外。
通信介质通常以诸如载波或其他传输机制之类的已调制数据信号来体现计算机可读指令、数据结构、程序模块或其他数据,并且包括任何信息传送介质。术语“已调制数据信号”是指使得以在信号中编码信息的方式来设定或改变其一个或多个特征的信号。作为示例而非限制,通信介质包括诸如有线网络或直接线连接之类的有线介质,以及诸如声学、RF、红外及其他无线介质之类的无线介质。上述的任意组合也应包含在计算机可读介质的范围内。
存储器112包括易失性和/或非易失性存储器形式的计算机存储介质。存储器可以是可移动的,不可移动的,或两者的组合。示例性硬件设备包括固态存储器、硬盘驱动器、光盘驱动器等。计算设备100包括从诸如存储器112或I/O组件120等各种实体读取数据的一个或多个处理器。呈现组件116向用户或其他设备呈现数据指示。示例性呈现组件包括显示设备、扬声器、打印组件、振动组件等等。
I/O端口118允许计算设备100逻辑上耦合至包括I/O组件120的其他设备,其中某些设备可以是内置的。说明性组件包括话筒、操纵杆、游戏手柄、圆盘式卫星天线、扫描仪、打印机、无线设备等等。
现在参考图2,图2示出了在其中本公开的实现可被采用的示例性系统。具体而言,图2显示了根据本发明的各实现的云计算系统200的高级体系结构。应当理解,此处所描述的这一和其他安排仅作为示例来阐明。作为所示的安排和元素的补充或替换,可使用其他安排和元素(例如机器、接口、功能、次序、以及功能聚集等),并且可完全省略某些元素。此外,本文所描述的许多元素是可以实现为分立或分布式组件或结合其他组件的、以及以任何合适的组合和在任何合适的位置的功能实体。此处被描述为由一个或多个实体执行的各种功能可由硬件、固件和/或软件来执行。例如,各种功能可由执行存储在存储器中的指令的处理器来执行。
除了未示出的其它组件之外,云计算系统200还包括主机202(例如,分区主机202)、服务器204、206、208和210(例如,分区服务器204、206、208和210)、以及客户端212(例如,分区客户端212)。每个客户端可驻留在任一类型的计算设备上,其可对应于例如参考图1描述的计算设备100。云计算系统200的组件可以通过网络彼此通信,网络包括但不限于一个或多个局域网(LAN)和/或广域网(WAN)。尽管单个主机、四个服务器、以及单个客户端在图2中被示出,然而任何数量的主机、服务器和客户端可在本公开的实现的范围内的云计算系统200内被采用。
可伸缩存储200的存储数据在多个分区之间被划分。例如,可伸缩存储200可包括在多个分区之间划分的键空间。主机202被配置成将分区指派给服务器204、206、208和210,和/或云计算系统200的未示出的其它服务器。主机202还可被配置成确定这些分区中的一分区何时由于故障而不被任何服务器主存并将该分区重新指派给一不同服务器。主机202被进一步配置控制服务器204、206、208、210、和/或云计算系统200的未示出的其它服务器上的分区的负载平衡。此外,主机202被配置成关于任何分区和/或服务器204、206、208和210、和/或云计算系统200的未示出的其它服务器监视资源利用。进一步构想了主机202被配置成支持根据本发明各实施例的集成式资源分配和负载平衡,如以下将更详细讨论的。
在云计算系统200中,诸如服务器204、206、208和210之类的服务器可被用来存储和提供对存储系统(例如存储系统)的访问。主机202被配置成管理各服务器。此外,客户端212被配置成向各应用(诸如应用216)提供对存储系统的访问。云计算系统200的每个服务器(诸如服务器204、206、208和210)可负责提供到被指派给该服务器的0个到许多个分区的读取和写入访问。而且,每个分区可被指派到这些服务器中的单个服务器。在图2中示出的示例中,服务器204正在主存分区P1和P4,服务器206正在主存分区P2和P7、服务器208正在主存分区P3,而服务器210正在主存分区P5和P6。
客户端212被链接到应用(诸如应用216)中。在一些实现中,客户端212被配置成向被服务器204、206、208和210和/或云计算系统200的其它服务器所主存的分区(例如,分区P1、P2、P3、P4、P5、P6和P7)中的一些分区发出命令。同样在一些实现中,客户端212可例如通过将通信请求定向到前端的虚拟IP和软件负载平衡器或其它装置来间接地与该应用通信。前端可利用分区图,诸如分区图218,来确定哪个服务器正在主存(被映射到)哪些分区并可向那些服务器发送命令。命令的结果可从服务器接收回并可被传递至应用。分区图可存储分区和分区被指派到的服务器之间的映射,并通常可由主机(诸如主机202)维护。
已经描述了云计算系统200的各方面,要注意,任意数量的组件可被采用来实现本发明的范围内的理想功能。尽管为了清楚起见用线条示出了图2的各组件,但是在实际上,各组件的描绘并不是那样清楚,并且按比喻的说法,线条更精确地将是灰色的或模糊的。此外,虽然图2的某些组件被描述成各单独的组件,但是该描绘在性质上和数量上是示例性的,且不应该解释为对本发明的所有实现的限制。
现在参考图3,图3解说了描绘适用于所描述的本发明的各实施例中的示例性集成式全局资源分配和负载平衡云计算系统操作环境300(此后称为“操作环境300”)的框图。总得来说,操作环境300解说了云计算系统中的基于动态的、全局实现的、基于公平性的、性能隔离的方案的集成式全局资源分配和负载平衡的环境。除了其它未示出的主机,操作环境300一般包括主机302,主机302具有全局资源分配器304和负载平衡器306。云计算系统操作环境200进一步包括服务器310、320以及330,服务器310、320以及330各自分别包括监视器模块312、322、332,以及节流控制模块314、324、334。
构想了多个服务器310、320和340可被主存在单个群集340中。在各实施例中,多个服务器310、320和340各自与本地容量极限(未示出)相关联,而群集与全局容量极限(未示出)相关联。容量极限可与操作环境300的资源340相关联。群集的针对选定资源的全局容量极限可对应于群集中的多个服务器中的每一个的针对选定资源的本地容量极限的总和。就这点而言,资源的使用信息、资源的消费者操作的分配目标、以及服务器和群集的容量极限可被用于执行根据本发明的各实施例的节流和/或负载平衡。
此外,群集340的服务器还包括利用了操作环境340的资源300的帐户和消费者操作配对。作为示例,操作环境300包括具有账户316A和316B的服务器310、具有帐户326的服务器320、以及具有帐户336的服务器330。每个帐户还可以与利用了资源308的消费者操作(例如,实时请求、复制、帐户迁移、以及垃圾回收)配对。例如,帐户316A与消费者操作350A、360A、以及370A相关联;帐户316B与消费者操作350B和380B相关联;帐户326与消费者操作350C、360C、以及380C相关联;而帐户336与消费者操作350D、360D、370D、以及380D相关联。如以上所讨论的,帐户和/或计算操作可以基于与其相关联的权重具有不同优先级,使得当确定资源短缺时,对应于较高权重的帐户和/或计算操作可在获取资源方面具有优于其他帐户和/或计算操作需要的优先权。例如,帐户316A与权重318A相关联,而消费者操作350A与权重352A相关联。构想了权重可以不同类型的标号来标记,这些标号提供了各帐户和消费者操作之间的排名。数字标记(例如,1、2、3)和/或分类标记(高、中、低)可与各帐户和消费者操作相关联。用于指示权重值的其它类型的标记也被构想在本发明的各实施例内。
操作环境300还可包括需求组件390。全局资源分配器304可在全局资源分配器304内部或外部实现需求组件390以收集针对不同资源340的需求以促进资源分配。需求可根据包括分配目标、使用级别、滞后、以及对延迟的容忍度在内的各属性中的一个或多个来定义,如以下将更详细讨论的。例如,需求可以是被分配给服务器上的帐户和消费者操作配对的默认分配目标。需求可以针对选定的资源,诸如帐户和消费者操作配对选定资源的需求。例如,针对实时请求的消费者操作可与CPU周期资源相关联。由此,需求392A可与消费者操作350A相关联,而需求392B可与消费者操作350B相关联。对服务器上的资源的总需求394可进一步被计算。例如,总需求394可至少基于需求392A和需求392B来计算。就这点而言,由消费者操作代表每个帐户消耗的资源的量可被独立追踪。此外,可针对操作环境300中的不同资源、服务器、以及群集来计算总需求。
在某些实施例中,所示的组件/模块中的一个或多个可以被实现为独立的应用。在本发明的实施例的范畴内,可以在云计算系统操作环境200中采用任意数目的主机、服务器、以及群集。每个都可以包括单个设备/接口或在分布式环境中协作的多个设备/接口。例如,主机302可以包括安排在分布式环境中的多个设备和/或模块,所述多个设备和/或模块共同提供本文中所述的集成式资源分配和负载平衡的功能。
应当理解,此处所描述的这一和其他安排仅作为示例来阐明。附加于或替代于所示的安排和元素,可使用其他安排和元素(例如机器、接口、功能、次序、以及功能聚集),并且可完全省略某些元素。此外,本文所描述的许多元素是可以实现为分立或分布式组件或结合其他组件的、以及以任何合适的组合和在任何合适的位置的功能实体。此处被描述为由一个或多个实体执行的各种功能可由硬件、固件和/或软件来执行。例如,各种功能可由执行存储在存储器中的指令的处理器来执行。
继续参考图3,主机302与多个服务器(例如,服务器310、320、330)相关联。主机302被配置成促进集成方式的各服务器之间的资源分配和负载平衡。主机302负责在不同的帐户和消费者操作配对之间分配资源308(例如,资源308A、308B、308C和308D),并至少部分基于这些资源分配在多个服务器之间提供负载均衡。负载平衡指在多个计算资源之间分发工作负载。负载平衡旨在优化资源使用、最大化吞吐量、最小化响应时间、以及避免任何一个计算组件的过载。就这点而言,帐户和消费者操作配对可对应于资源分配,使得消费者操作可在多个服务器上执行,并且附加地,基于该资源分配,可在多个服务器之间执行针对帐户(即与帐户相关联的分区)和消费者操作配对的负载平衡。
进一步构想了与帐户相关联的特定分区可在多个服务器间进行负载平衡。如本文中所使用的,术语“分区”不意味着作出限制,而是一般地涉及消费者的存储帐户的数据的子集或关键范围。这一经划分的数据可被主存在分布式的节点、分区服务器、或被分配给给定群集的其它存储容量上。因此,主存在群集的分区服务器内的数据的特定和个别的量可至少部分基于主存在相关联的分区服务器上的分区的分区标识符来标识。在一示例性实施例中,各分区可被用来利用群集来管理一个或多个存储帐户。构想了单个存储帐户的顾客可能使用单个群集内的不同分区服务器上的两个或更多个分区。
在本发明的各实施例中,主机302可实现全局资源分配器304和负载平衡器306来促进集成式全局资源分配和负载平衡。全局资源分配器304被配置成收集来自所有服务器的资源使用统计。全局资源分配器304可使用主机302来实现。全局资源分配器处收集的资源使用统计以及帐户和消费者操作的当前分配目标和权重可被用于计算分配方案。具体地,全局资源分配器304可确定多个帐户和消费者操作配对的分配目标。全局资源分配器可将包括每一个帐户和/或每一个消费者操作的分配目标的分配方案传递给每一个服务器。全局资源分配器304可进一步使用帐户和/或消费者操作的权重属性来确定分配目标,如以下更详细描述的。
继续参考图3,监视器模块(例如,监视器模块312、322、332)可与服务器相关联。具体地,监视器模块可位于对应的服务器中。监视器模块被配置成监视服务器上的每一个消费者操作的资源使用。例如,监视器模块可监视异地复制操作对流传输层所作出的API调用的数量,其中API调用是一种抽象资源,而异地复制操作是一种消费者操作。监视器模块还独立地追踪每一个消费者操作和每一帐户的使用信息。监视器模块还可追踪整个服务器的资源使用状态。构想了监视器模块可周期性地将数据报告给主机302中的全局资源分配器。在高层级,监视器模块被配置成追踪存储体系结构所支持的多个帐户和消费者操作配对的资源消耗信息。此外,监视器模块可与节流控制模块协调以对于追踪消费者操作的节流。
节流控制模块(例如,节流控制模块314、324、334)被配置成对消费者操作的资源使用进行节流。具体地,节流控制模块可对与帐户相关联的每一个消费者操作的资源使用进行节流。就这点而言,对于选定的帐户,资源使用级别不超过对应的分配目标。节流模块可被实现在服务器上。服务器可具有针对特定资源的本地容量极限。构想了群集服务器中的多个服务器的本地容量的总和对应于整个群集的全局容量极限。当达到本地容量极限时,节流控制模块可负责按比例地对消费者操作进行节流。就这点而言,节流模块可包括诸如满足本地容量极限或在被用于触发节流的本地容量极限的预定百分比容量内的使用阈值。在本发明的实施例中也构想了使用阈值的任意变化和组合。
全局资源分配器304可实施基于公平性的资源分配算法。该资源算法考虑不同帐户之间的公平性。帐户可具有多个分区,同时一些小的帐户可共同存在于相同的分区中。该资源算法具体地可在资源分配算法中使用对于资源的需求。需求可根据包括分配目标、使用级别、滞后、以及对延迟的容忍度在内的各属性中的一个或多个来定义。例如,当前使用级别以及当前分配目标可被用于确定对于特定资源的需求。用于基于以上标识的变量来推导需求的功能的任意变化和组合被构想落在本发明的各实施例中。
此外,需求功能的变量可基于资源的特定性质和与资源相关联的消费者操作来定义。例如,针对与CPU资源相关联的实时请求消费者操作的需求功能可不同于与CPU资源相关联的复制消费者操作。具体来说,需求功能可被定义在负载平衡规则中并且根据需要被定制和微调以满足负载平衡目标。
本发明的各实施例中的资源分配算法基于需求并且也基于公平性。具体来说,资源分配算法至少部分地基于最大-最小公平性算法。在基本级,最大-最小公平性算法向帐户和消费者操作配对分配一个小的需求(即该帐户和消费者操作配对所需求的),并且平均地将未使用的资源分发给具有更大需求的帐户和消费者操作配对。
在一个实施例中,最大-最小公平份额分配可被定义如下:资源按照不断增加的需求的顺序来分配。另外,没有一个帐户和消费者操作配对得到比其需求更大的资源份额,并且具有未满足的需求的帐户和消费者操作配对得到相等份额的资源。这一形式定义对应于以下的操作定义。考虑一组帐户和消费者操作配对1、…、n,其具有资源需求x1、x2、...、xn。帐户和消费者操作配对需求可被排序为:x1<=x2<=...<=xn。令服务器具有容量C。则我们最初将资源的C/n赋予具有最小需求x1的帐户和消费者操作配对。这一份额可能比帐户和消费者操作配对1想要的多,因此我们可继续该过程。当每一个帐户和消费者操作配对得到不比其要求的多的份额,并且在其需求未被满足的情况下得到不比具有更高索引的任何其它帐户和消费者操作配对所得到的少的份额时,该过程结束。这一分配最大化了那些需求未被完全满足的帐户和消费者操作配对的最小份额。
在本发明的另一实施例中,一些帐户和消费者操作配对可具有优于其它配对的优先权,使得更大份额的资源被提供给具有优先权的帐户和消费者操作配对。具体来说,帐户和消费者操作配对1、2、…、n的权重w1、w2、...、wn反映出它们的相对资源份额。在各实施例中,权重可以是所有帐户的归一化的权重值和消费者操作的归一化的权重值的笛卡尔积。在操作中,所有帐户的权重值可以被归一化,使得所有归一化的权重的总和相加为1。令Ai表示帐户i的归一化权重,并且类似地,消费者操作的权重可被归一化以使得归一化的权重相加为1。令Cj表示消费者j的归一化权重。帐户i的消费者j的权重值Ai*Cj可被计算。可使用计算出的权重来对帐户和消费者的笛卡尔积执行最大-最小算法。
最大-最小公平份额的概念可被扩展成通过如下地定义最大-最小公平份额分配来包括这类权重:资源按照不断增加的需求的顺序来分配,并按照权重被归一化。另外,没有一个帐户和消费者操作配对得到比其需求更大的资源份额;并且具有未满足的需求的帐户和消费者操作配对得到与其权重成比例的资源份额。
被应用于帐户和消费者操作配对的经确定的需求的资源分配算法使用了以上描述的最大-最小公平性算法。在操作中,帐户和消费者操作配对可以是多个帐户和消费者操作配对中的一个。由此,每一个帐户和消费者操作配对可与其需求被确定的选定的资源相关联。总的需求基于对于与选定的资源相关联的多个帐户和消费者操作配对中的每一个的需求来确定。总需求可基于特定计算组件,包括服务器、多个服务器、或群集。计算总需求的其他变体也被构想落在本发明的各实施例中。
可作出针对选定资源的总需求少于还是多于可用的总资源的判断。当确定总需求小于可用的资源量时,分配目标被设为需求属性值并返回。基本上,每一个帐户和消费者操作配对收到至少等于计算出的需求的分配目标。对于多个帐户和消费者操作配对中的每一个的分配目标被传递给对应的服务器。
当确定总需求多于可用的资源量时,确定资源在各个帐户和消费者操作配对之间公平分配。在各实施例中,帐户和消费者操作可与指示它们的有限资源的公平分配的权重值相关联。在操作中,多个帐户中的每一个的权重属性被归一化。多个消费者操作中的每一个的权重属性被归一化。帐户和消费者操作配对中的消费者操作的权重被计算为帐户的归一化权重和消费者操作的归一化权重的笛卡尔积。如以上所描述的,可对计算出的笛卡尔积执行最大-最小公平算法以生成多个帐户和消费者操作配对的分配目标值。
继续参考图3,主机302实现负载平衡逻辑,该负载平衡逻辑使用从各服务器收集的使用信息。例如,资源的使用可被收集、分析、归类为事实数据或数值数据。主机可包括负载平衡器306以促进基于资源的使用信息和分配目标对服务器进行负载平衡。服务器可包括具有分区的帐户。在各实施例中,分区与用于对分区进行负载平衡的多个维度相关联。具体来说,分区可与基于分配目标来定义的工作负载相关联。可能期望调整工作负载在各服务器之间的分布,以便优化资源使用、最大化吞吐、最小化响应时间、避免这些服务器之一的过载、和/或实现其它负载平衡目标。就这点而言,分区可被移动到具有足够满足它们的分配目标的可用本地容量极限的服务器。在各实施例中,多维度负载平衡算法可被定义用于负载平衡。在操作中,可为特定资源(例如,API调用)定义一个维度(例如,分配目标)。分区的分配目标可指示该维度在具有该分区的服务器上的负载。服务器上的维度容量极限对应于服务器上的资源的本地容量极限。多维度负载平衡算法可被实现为在不同服务器间自然地平衡各分区。
可由主机302执行的一种类型的负载平衡操作包括将所述分区之一移动至云计算系统200的各服务器中的一不同服务器(移动操作)。注意,分区的移动不要求在存储级别的数据的物理移动。而是,在各实现中,通过将一分区的分区范围指派重新指派或重新映射到新的服务器(例如,在分区图中),该分区可被移动至另一服务器。具体来说,可伸缩存储的分区可各自对应于被存储的对象的分区索引中的键的范围。示例性对象包括团块(blob)、表实体、以及队列消息。将分区指派给分区服务器可不四处移动分区所存储的任何数据。而是,指派分区可将关于服务器负责该索引的哪(一个或多个)键范围告知服务器。例如,主机302可通过将分区从一个服务器卸载、将该分区指派给另一服务器、并且更新分区图来反映该分区被指派给了新服务器来执行移动。
可由主机202执行的另一种类型的负载平衡操作包括将所述分区之一划分为要被指派给云计算系统200的各服务器中的多个服务器的多个分区(划分操作)。同样,分区的划分不要求在存储级别的数据的物理移动。而是,在各实现中,可通过更新分区图来将一分区表示为被指派到服务器的多个分区来划分分区。
作为另一示例,可由主机202执行的一种类型的负载平衡操作包括将所述分区中的多个分区合并为要被指派给云计算系统200的各服务器中的一个服务器的一共享分区(合并操作)。同样,分区的合并不要求在存储级别的数据的物理移动。而是,在各实现中,可通过更新分区图来将各分区表示为被指派到所述服务器之一的单个分区来合并分区。
现在转至图4,提供了示出用于集成式全局资源分配和负载平衡的方法的流程图。在框402,选择资源。资源可一般地指代计算系统内可用的促进执行计算操作的物理或抽象组件。作为示例,资源可包括CPU周期、网络带宽、随机存取存储器、API调用等等。在框404,从多个帐户和消费者操作配对中选择一个帐户和消费者操作配对。消费者操作可一般地指代使用云计算系统的资源的计算操作。如本发明的各实施例中所使用的,帐户指的是顾客存储帐户。选定的帐户和消费者操作配对与选定的资源相关联。帐户和消费者操作配对进一步与对应的服务器相关联。
在框406,确定选定的帐户和消费者操作配对对选定的资源的需求。需求指的是推进执行消费者操作所需的资源的量。消费者操作的属性(例如,当前使用、积压、容忍度、以及分配目标)中的一个或多个可被用于确定对应的消费者操作的需求。例如,积压属性和使用属性结合在一起可被用于估计消费者操作的需求。在本发明的实施例中也构想了用于确定需求的属性的任何其它组合和变化。在框408,作出是否任何帐户和消费者操作配对需求该选定资源的判断。如果是(例如,410),则该额外的帐户和消费者操作配对被选择并且确定对应于该帐户和消费者操作配对的需求。如果否(例如,408),则在框414,基于每一个帐户和消费者操作配对的经确定的需求来确定对该资源的总需求。
在框416,作出可用的资源量是否大于资源的总需求的判断。如果否(例如,418),则在框420,基于经确定的需求和可用的资源量来确定各帐户和消费者操作配对的分配目标。就这点而言,帐户和消费者操作配对的经确定的需求被满足。然而,如果是(例如,422),则在框424,基于最大-最小公平性算法和可用的资源量来确定各帐户和消费者操作配对的分配目标。
并且,作为替代,如果是(例如,422),则在框426,帐户和消费者操作配对的帐户权重和消费者操作权重被归一化。在各实施例中,对对应于多个帐户和消费者操作配对中的每一个帐户和消费者操作的权重进行归一化包括将多个帐户的权重的和计算为预定帐户权重和(例如1)并且将多个消费者操作的权重的和计算为预定消费者操作权重和(例如1)。在框428,基于帐户和消费者操作的对应的归一化权重的笛卡尔积来计算对应于多个帐户和消费者操作配对的权重。在框430,基于最大-最小公平性算法和可用的资源量来确定帐户和消费者操作的分配目标。在框432,基于分配目标来对帐户进行负载平衡。具体来说,帐户的负载平衡可基于以下在图5中更详细描述的步骤。
现在转至图5,提供了示出用于云计算系统中的集成式资源分配和负载平衡的方法500的流程图。在框502,接收多个帐户和消费者操作配对选定资源的使用信息和分配目标。分配目标指示对应群集上的多个帐户和消费者操作配对的选定资源的量。具体来说,在以下所讨论的多维度负载平衡中,分配目标可指示服务器上在选定维度方面的负载值。在框504,确定分配目标满足对应服务器上的本地容量极限阈值。该确定是基于分配目标与对应服务器的针对该选定资源的本地容量极限的比较作出的。在框506,负载平衡操作被执行使得多个帐户和消费者操作配对中的至少选定的帐户和消费者操作配对与具有针对选定的帐户和消费者操作配对的对应分配目标的容量的服务器相关联。
在各实施例中,基于多维度负载平衡算法来执行负载平衡,该多维度负载平衡算法包括分配目标作为用于负载平衡的多个维度中的一个维度。其它维度对与对应服务器有关的一个或多个资源的使用进行量化。就这点而言,使用多个维度的负载平衡可评估多维度负载平衡算法中的不同维度。构想了这些维度可被确定优先级以实现不同的负载平衡目标。在操作中,当服务器满足维度的阈值本地容量极限时,具有分配目标和/或多个维度中的一个或多个的服务器被标识。例如,可作出分配目标或一个或多个维度匹配本地容量极限或位于本地容量极限的预定百分比内的判断。服务器的本地容量极限的阈值的任意变化和组合被构想落在本发明的实施例中。
满足阈值本地容量极限的服务器可被选择并且为指派给该服务器的分区标识至少一个负载平衡操作。分区可与帐户和消费者操作配对相关联。帐户和消费者操作配对具有服务器的分配目标的至少一部分。该至少一个负载平衡操作被执行使得选定的帐户和消费者操作配对与具有该帐户和消费者操作配对的分配目标的容量的服务器相关联。进一步构想了在多维度算法中,所选择的负载平衡操作基于标识具有分配目标的容量和一个或多个额外维度的服务器。
参考具体实施例描述了本发明的实施例,具体实施例在所有方面都旨在是说明性的而非限制性的。不偏离本发明范围的情况下,各替换实施例对于本发明所属领域的技术人员将变得显而易见。
从前面的描述可以看出,本发明很好地适用于实现上文所阐述的所有目的和目标,并且具有对于该结构是显而易见且固有的其他优点。
可以理解,某些特征和子组合是有用的,并且可以在不参考其他特征或子组合的情况下使用。这由权利要求所构想的,并在权利要求的范围内。

Claims (15)

1.一种用于集成式全局资源分配和负载平衡的系统,所述系统包括:
全局资源分配器,所述全局资源分配器被配置用于:
接收多个服务器上的多个帐户和消费者操作配对对资源的使用信息,其中所述多个服务器中的每一个与选定资源的本地容量极限相关联;
至少对于与选定资源相关联的选定帐户和消费者操作配对:
确定所述选定帐户和消费者操作配对的分配目标;以及
将所述选定帐户和消费者操作配对的分配目标传递给所述选定帐户和消费者操作配对的对应服务器;
负载平衡器,所述负载平衡器被配置用于:
接收资源的使用信息和所述多个帐户和消费者操作配对的分配目标,其中所述分配目标指示被分配给所述对应服务器上的所述选定帐户和消费者操作配对的选定资源的量;
至少对于具有与所述选定资源相关联的分配目标的所述选定帐户和消费者操作配对:
执行负载平衡操作,使得所述选定帐户和消费者操作配对与具有所述分配目标的容量的服务器相关联。
2.如权利要求1所述的系统,其特征在于,所述多个服务器与群集相关联;并且其中所述群集与所述选定资源的全局容量极限相关联,所述全局容量极限对应于所述群集中的所述多个服务器的所述选定资源的本地极限的总和。
3.如权利要求1所述的系统,其特征在于,确定所述分配目标基于:
确定所述多个帐户和消费者操作配对对于所述选定资源的总需求;
确定所述总需求大于所述选定资源的可用量;以及
至少部分基于与所述多个帐户和消费者操作配对相关联的加权值来计算至少所述选定帐户和消费者操作配对的分配目标。
4.如权利要求1所述的系统,其特征在于,进一步包括:
监视模块,所述监视模块被配置用于:
监视所述多个帐户和消费者操作配对对资源的使用信息,其中对所述资源的使用针对每一个帐户和消费者操作配对独立追踪;以及
将所述对资源的使用信息传递给所述全局资源分配器。
5.如权利要求1所述的系统,其特征在于,进一步包括:
节流控制模块,所述节流控制模块被配置用于:
接收至少所述帐户和消费者操作配对的分配目标;
至少对于与所述选定资源相关联的所述选定帐户和消费者操作配对:
将所述选定帐户和消费者操作配对对所述选定资源的当前使用与所述选定帐户和消费者操作配对的分配目标作比较;
确定对所述选定资源的当前使用超过所述选定帐户和消费者操作配对的分配目标;以及
将对所述选定资源的当前使用节流限制到或低于所述选定帐户和消费者操作配对的分配目标。
6.如权利要求1所述的系统,其特征在于,所述节流控制模块进一步被配置用于:
至少对于与所述选定资源相关联的所述选定帐户和消费者操作配对:
将对应服务器上的对所述选定资源的当前使用与所述选定帐户和消费者操作配对的本地容量极限作比较;
确定所述选定帐户和消费者操作配对对所述选定资源的当前使用超过所述对应服务器上的所述选定资源的本地容量;以及
将对所述选定资源的当前使用节流限制到或低于所述本地容量极限。
7.如权利要求1所述的系统,其特征在于,执行负载平衡操作,使得所述选定帐户和消费者操作配对对应于具有所述分配目标的容量的服务器是基于:
将对应服务器上的所述选定资源的本地容量极限与所述选定帐户和消费者操作配对的分配目标作比较;以及
确定所述选定资源的本地容量极限超过所述对应服务器上的本地容量。
8.一种用于云计算系统中的资源分配的计算机实现的方法,所述方法包括:
选择资源;
确定多个帐户和消费者操作配对对选定资源的总需求,其中所述多个帐户和消费者操作配对与对应需求相关联;
确定所述总需求大于群集的所述选定资源的可用量,其中所述总需求基于所述群集中的各服务器上的所述多个帐户和消费者操作配对的对应需求;以及
至少部分基于所述多个帐户和消费者操作配对的对应需求来计算所述多个帐户和消费者操作配对的分配目标。
9.如权利要求8所述的方法,其特征在于,帐户和消费者操作配对的对应需求部分基于选定消费者操作对资源的使用以及所述选定消费者操作的积压。
10.如权利要求8所述的方法,其特征在于,帐户和消费者操作配对的对应需求还基于容忍度值,其中所述容忍度值指示所述消费者操作对于执行所述消费者操作的延迟有多容忍。
11.如权利要求8所述的方法,其特征在于,确定所述总需求大于所述群集上的资源的可用量至少部分基于将所述群集的针对选定资源的全局容量极限与所述多个帐户和消费者操作配对对所述选定资源的总需求作比较。
12.如权利要求8所述的方法,其特征在于,帐户和消费者操作配对中的帐户与至少一个分区相关联,其中所述分区包括与所述帐户相关联的数据的至少一个子集。
13.如权利要求8所述的方法,其特征在于,计算所述多个帐户和消费者操作配对的分配目标包括:
将对应于所述多个帐户和消费者操作配对的每一个帐户和消费者操作的权重归一化;
将所述多个帐户和消费者操作配对中的每一个的公平性权重计算为经归一化的权重的笛卡尔积;
使用所述经归一化的权重的笛卡尔积运算来执行最大-最小公平性算法,以计算所述多个帐户和消费者操作配对的分配目标。
14.如权利要求13所述的方法,其特征在于,将对应于所述多个帐户和消费者操作配对中的每一个帐户和消费者操作的权重归一化包括将所述多个帐户的权重的和计算为预定帐户权重和,以及将所述多个消费者操作的权重的和计算为预定消费者操作权重和。
15.一种用于云计算系统中的集成式资源分配和负载平衡的计算机实现的方法,所述方法包括:
接收多个帐户和消费者操作配对对选定资源的使用信息和分配目标,其中所述分配目标指示对应群集上的所述多个帐户和消费者操作配对的所述选定资源的量,其中接收使用信息基于:
监视所述多个帐户和消费者操作配对对资源的使用信息,其中对所述资源的使用针对每一个帐户和消费者操作配对独立追踪;以及
将对资源的使用信息传递给负载平衡器;
基于将分配目标与所述全局容量极限的比较来确定所述分配目标超过对应群集上的阈值全局容量极限;以及
执行负载平衡操作,使得所述多个帐户和消费者操作配对中的选定帐户和消费者操作与具有所述分配目标的容量的服务器相关联。
CN201580035864.XA 2014-06-30 2015-06-29 用于集成式全局资源分配和负载平衡的方法和系统 Active CN106471773B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/319,553 US9749208B2 (en) 2014-06-30 2014-06-30 Integrated global resource allocation and load balancing
US14/319,553 2014-06-30
PCT/US2015/038211 WO2016003840A1 (en) 2014-06-30 2015-06-29 Integrated global resource allocation and load balancing

Publications (2)

Publication Number Publication Date
CN106471773A true CN106471773A (zh) 2017-03-01
CN106471773B CN106471773B (zh) 2019-07-02

Family

ID=53511058

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580035864.XA Active CN106471773B (zh) 2014-06-30 2015-06-29 用于集成式全局资源分配和负载平衡的方法和系统

Country Status (4)

Country Link
US (1) US9749208B2 (zh)
EP (1) EP3161632B1 (zh)
CN (1) CN106471773B (zh)
WO (1) WO2016003840A1 (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107947983A (zh) * 2017-11-24 2018-04-20 云南大学 一种云平台中资源利用率最大化的公平分配方法
CN111414250A (zh) * 2020-02-24 2020-07-14 国际关系学院 一种面向航天数据的云数据库负载均衡方法及系统
CN111861612A (zh) * 2019-05-19 2020-10-30 北京骑胜科技有限公司 一种资源分配方法、装置、设备及介质
CN111858014A (zh) * 2019-04-24 2020-10-30 中国移动通信集团河北有限公司 资源分配方法及装置
CN113743774A (zh) * 2021-09-02 2021-12-03 苏州达家迎信息技术有限公司 业务资源平衡分配方法、装置、存储介质及电子设备
CN113778657A (zh) * 2020-09-24 2021-12-10 北京沃东天骏信息技术有限公司 一种数据处理方法和装置
CN114675969A (zh) * 2022-03-28 2022-06-28 中南大学 基于自适应负载分区的弹性缩放流处理方法及系统

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3097481B1 (en) 2014-01-21 2022-11-30 Oracle International Corporation System and method for supporting multi-tenancy in an application server, cloud, or other environment
US20160065498A1 (en) * 2014-08-26 2016-03-03 rift.IO, Inc. Distributed transaction subsystem
US10250512B2 (en) * 2015-01-21 2019-04-02 Oracle International Corporation System and method for traffic director support in a multitenant application server environment
US10084648B2 (en) * 2015-03-12 2018-09-25 International Business Machines Corporation Creating new cloud resource instruction set architecture
US9826030B1 (en) * 2015-06-04 2017-11-21 Amazon Technologies, Inc. Placement of volume partition replica pairs
US9826041B1 (en) 2015-06-04 2017-11-21 Amazon Technologies, Inc. Relative placement of volume partitions
US20170052866A1 (en) * 2015-08-21 2017-02-23 International Business Machines Corporation Managing a shared pool of configurable computing resources which uses a set of dynamically-assigned resources
US10079773B2 (en) * 2015-09-29 2018-09-18 International Business Machines Corporation Hierarchical fairshare of multi-dimensional resources
KR101847390B1 (ko) * 2015-12-31 2018-04-10 국방과학연구소 생체모방기반 분산형 무선자원할당 기법에서의 파이어링 페이즈 점유 충돌 해결 방법
US10257043B2 (en) * 2016-01-11 2019-04-09 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Balancing utilization of infrastructure in a networked computing environment
US10812588B2 (en) 2016-01-13 2020-10-20 Lenovo Enterprise Solutions (Singapore) Pte. Ltd Storage performance based on data placement
US10574554B2 (en) 2016-05-03 2020-02-25 Microsoft Technology Licensing, Llc Control of applications that use system resources
US10944823B2 (en) * 2016-06-28 2021-03-09 At&T Intellectual Property I, L.P. Highly redundant and scalable storage area network architecture
US10542078B1 (en) * 2017-06-13 2020-01-21 Parallels International Gmbh System and method of load balancing traffic bursts in non-real time networks
CN109413117B (zh) * 2017-08-15 2022-05-06 中兴通讯股份有限公司 分布式数据计算方法、装置、服务器及计算机存储介质
US11144325B2 (en) 2017-12-15 2021-10-12 Jpmorgan Chase Bank, N.A. Systems and methods for optimized cluster resource utilization
CN109298936B (zh) * 2018-09-11 2021-05-18 华为技术有限公司 一种资源调度方法及装置
US10824556B2 (en) * 2018-11-05 2020-11-03 International Business Machines Corporation Adaptive garbage collection (GC) utilization for grid storage systems
US10834017B2 (en) * 2018-11-11 2020-11-10 International Business Machines Corporation Cloud-driven hybrid data flow and collection
US11055010B2 (en) * 2019-09-05 2021-07-06 Microsoft Technology Licensing, Llc Data partition migration via metadata transfer and access attribute change
CN111258710B (zh) * 2020-01-09 2023-03-31 同盾控股有限公司 一种系统维护方法和装置
CN111737009B (zh) * 2020-07-28 2024-07-05 北京千丁互联科技有限公司 本地端与云端计算分配方法、装置和本地服务器
JP7556295B2 (ja) 2021-01-08 2024-09-26 富士通株式会社 情報処理装置、情報処理システム及び帯域制御方法
US12112212B2 (en) 2021-02-26 2024-10-08 Google Llc Controlling system load based on memory bandwidth
US11614900B2 (en) * 2021-07-21 2023-03-28 EMC IP Holding Company LLC Autonomous storage provisioning
CN113609071A (zh) * 2021-07-28 2021-11-05 北京金山云网络技术有限公司 一种用于消息队列的自动扩容方法及装置
US11748374B2 (en) * 2021-11-30 2023-09-05 Snowflake Inc. Replication group objects configuration in a network-based database system
EP4227804A1 (en) * 2022-02-09 2023-08-16 Siemens Aktiengesellschaft Method for allocating resources in a multi-tenant cloud computing platform

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006135466A2 (en) * 2005-03-24 2006-12-21 Akamai Technologies, Inc. Distributed on-demand computing system
CN1965519A (zh) * 2004-06-21 2007-05-16 思科技术公司 用于利用反馈信息网络环境中的负载均衡的系统和方法
US20080123532A1 (en) * 2006-11-27 2008-05-29 Ward David D Dynamic weighted-fair load-balancing
US20130003538A1 (en) * 2011-06-28 2013-01-03 Microsoft Corporation Performance isolation for clouds
CN103052073A (zh) * 2013-01-27 2013-04-17 西安电子科技大学 异构无线网络中基于用户速率需求的频谱资源分配方法
CN103491024A (zh) * 2013-09-27 2014-01-01 中国科学院信息工程研究所 一种面向流式数据的作业调度方法及装置
CN103595780A (zh) * 2013-11-08 2014-02-19 中国人民解放军理工大学 基于消重的云计算资源调度方法
WO2014080994A1 (ja) * 2012-11-22 2014-05-30 日本電気株式会社 輻輳制御システム、制御装置、輻輳制御方法およびプログラム

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030046396A1 (en) 2000-03-03 2003-03-06 Richter Roger K. Systems and methods for managing resource utilization in information management environments
US7305431B2 (en) * 2002-09-30 2007-12-04 International Business Machines Corporation Automatic enforcement of service-level agreements for providing services over a network
US8336054B2 (en) * 2006-07-20 2012-12-18 Hewlett-Packard Development Company, L. P. System and method for allocating capacity of shared resources to a workload
US7362766B2 (en) * 2005-06-24 2008-04-22 Hewlett-Packard Development Company, L.P. System and method for dynamically controlling weights assigned to consumers competing for a shared resource
US8234378B2 (en) * 2005-10-20 2012-07-31 Microsoft Corporation Load balancing in a managed execution environment
US8627326B2 (en) * 2005-12-22 2014-01-07 Sap Ag System and methods for using a quantitative application measurement to determine whether to instantiate an application
US20070240140A1 (en) * 2006-02-10 2007-10-11 International Business Machines Corporation Methods and systems for application load distribution
US8087028B2 (en) * 2007-03-07 2011-12-27 Microsoft Corporation Computing device resource scheduling
EP2025373B1 (en) * 2007-08-17 2010-05-12 X-Aitment GmbH Balancing tool
US8121883B2 (en) * 2008-02-07 2012-02-21 International Business Machines Corporation Method and system for automatically prioritizing opportunity based customer requirements
US20090265707A1 (en) * 2008-04-21 2009-10-22 Microsoft Corporation Optimizing application performance on virtual machines automatically with end-user preferences
WO2010085256A1 (en) * 2009-01-23 2010-07-29 Hewlett-Packard Development Company, L.P. System and methods for allocating shared storage resources
IT1396520B1 (it) * 2009-12-10 2012-12-14 Nuovo Pignone Spa Accoppiamento per bilanciamento rotore
US9058210B2 (en) * 2010-03-23 2015-06-16 Ebay Inc. Weighted request rate limiting for resources
US8726284B2 (en) * 2010-06-10 2014-05-13 Microsoft Corporation Managing requests based on request groups
US8522251B2 (en) * 2011-01-10 2013-08-27 International Business Machines Corporation Organizing task placement based on workload characterizations
US9141410B2 (en) 2011-03-08 2015-09-22 Rackspace Us, Inc. Pluggable allocation in a cloud computing system
US8789062B2 (en) * 2011-04-05 2014-07-22 Teradata Us, Inc. Workload management of a concurrently accessed database server
US20120271949A1 (en) 2011-04-20 2012-10-25 International Business Machines Corporation Real-time data analysis for resource provisioning among systems in a networked computing environment
US8813085B2 (en) * 2011-07-19 2014-08-19 Elwha Llc Scheduling threads based on priority utilizing entitlement vectors, weight and usage level
US20130238383A1 (en) 2011-12-20 2013-09-12 Callidus Sofrware incorporated Auto-adjusting worker configuration for grid-based multi-stage, multi-worker computations
US8782224B2 (en) 2011-12-29 2014-07-15 Joyent, Inc. Systems and methods for time-based dynamic allocation of resource management
US8468251B1 (en) 2011-12-29 2013-06-18 Joyent, Inc. Dynamic throttling of access to computing resources in multi-tenant systems
US9253113B2 (en) 2012-09-07 2016-02-02 Oracle International Corporation Customizable model for throttling and prioritizing orders in a cloud environment
US9929918B2 (en) * 2013-07-29 2018-03-27 Alcatel Lucent Profile-based SLA guarantees under workload migration in a distributed cloud
US9584588B2 (en) * 2013-08-21 2017-02-28 Sap Se Multi-stage feedback controller for prioritizing tenants for multi-tenant applications

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1965519A (zh) * 2004-06-21 2007-05-16 思科技术公司 用于利用反馈信息网络环境中的负载均衡的系统和方法
WO2006135466A2 (en) * 2005-03-24 2006-12-21 Akamai Technologies, Inc. Distributed on-demand computing system
US20080123532A1 (en) * 2006-11-27 2008-05-29 Ward David D Dynamic weighted-fair load-balancing
US20130003538A1 (en) * 2011-06-28 2013-01-03 Microsoft Corporation Performance isolation for clouds
WO2014080994A1 (ja) * 2012-11-22 2014-05-30 日本電気株式会社 輻輳制御システム、制御装置、輻輳制御方法およびプログラム
CN103052073A (zh) * 2013-01-27 2013-04-17 西安电子科技大学 异构无线网络中基于用户速率需求的频谱资源分配方法
CN103491024A (zh) * 2013-09-27 2014-01-01 中国科学院信息工程研究所 一种面向流式数据的作业调度方法及装置
CN103595780A (zh) * 2013-11-08 2014-02-19 中国人民解放军理工大学 基于消重的云计算资源调度方法

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107947983A (zh) * 2017-11-24 2018-04-20 云南大学 一种云平台中资源利用率最大化的公平分配方法
CN111858014A (zh) * 2019-04-24 2020-10-30 中国移动通信集团河北有限公司 资源分配方法及装置
CN111861612A (zh) * 2019-05-19 2020-10-30 北京骑胜科技有限公司 一种资源分配方法、装置、设备及介质
CN111861612B (zh) * 2019-05-19 2024-04-26 北京骑胜科技有限公司 一种资源分配方法、装置、设备及介质
CN111414250A (zh) * 2020-02-24 2020-07-14 国际关系学院 一种面向航天数据的云数据库负载均衡方法及系统
CN111414250B (zh) * 2020-02-24 2022-11-04 国际关系学院 一种面向航天数据的云数据库负载均衡方法及系统
CN113778657A (zh) * 2020-09-24 2021-12-10 北京沃东天骏信息技术有限公司 一种数据处理方法和装置
CN113778657B (zh) * 2020-09-24 2024-04-16 北京沃东天骏信息技术有限公司 一种数据处理方法和装置
CN113743774A (zh) * 2021-09-02 2021-12-03 苏州达家迎信息技术有限公司 业务资源平衡分配方法、装置、存储介质及电子设备
CN113743774B (zh) * 2021-09-02 2024-01-16 苏州达家迎信息技术有限公司 业务资源平衡分配方法、装置、存储介质及电子设备
CN114675969A (zh) * 2022-03-28 2022-06-28 中南大学 基于自适应负载分区的弹性缩放流处理方法及系统
CN114675969B (zh) * 2022-03-28 2024-08-20 中南大学 基于自适应负载分区的弹性缩放流处理方法及系统

Also Published As

Publication number Publication date
US20150381453A1 (en) 2015-12-31
US9749208B2 (en) 2017-08-29
CN106471773B (zh) 2019-07-02
WO2016003840A1 (en) 2016-01-07
EP3161632B1 (en) 2021-04-07
EP3161632A1 (en) 2017-05-03

Similar Documents

Publication Publication Date Title
CN106471773A (zh) 集成式全局资源分配和负载平衡
CN112153700B (zh) 一种网络切片资源管理方法及设备
US11416296B2 (en) Selecting an optimal combination of cloud resources within budget constraints
EP3028406B1 (en) Profile-based sla guarantees under workload migration in a distributed cloud
CN106233276B (zh) 网络可访问块存储装置的协调准入控制
CN102918499B (zh) 用于应用策略以在虚拟机之间调度网络带宽的方法和设备
US8046767B2 (en) Systems and methods for providing capacity management of resource pools for servicing workloads
CN106453457A (zh) 云计算平台内的多优先级服务实例分配
CN107548549A (zh) 分布式计算环境中的资源平衡
CN108897606B (zh) 多租户容器云平台虚拟网络资源自适应调度方法及系统
CN103064744B (zh) 一种基于SLA的面向多层Web应用的资源优化方法
EP2681657A1 (en) Capabilities based routing of virtual data center service request
CN102932271A (zh) 负载均衡的实现方法和装置
Ziafat et al. A hierarchical structure for optimal resource allocation in geographically distributed clouds
US10511540B1 (en) Systems and methods of predictive display of cloud offerings based on real-time infrastructure data configurations
Hbaieb et al. A survey and taxonomy on virtual data center embedding
Kim et al. Virtual machines placement for network isolation in clouds
Vinothini et al. Meta-heuristic firefly approach to multi-servers load balancing with independent and dependent server availability consideration
Naudts et al. A dynamic pricing algorithm for a network of virtual resources
CN104735167B (zh) 一种实现网络调度功能开放的方法和装置
US11003500B2 (en) Workload/converged infrastructure asset allocation system
Narman et al. DDSS: Dynamic dedicated servers scheduling for multi priority level classes in cloud computing
Huang et al. A new mechanism for SDN network virtualization service
Magalhaes et al. A soft real-time scheduling engine for cost reduction in freemium companies
Acharya et al. Cloud computing architectures and dynamic provisioning mechanisms

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant