CN105849715A - 数据中心中的有效资源利用 - Google Patents

数据中心中的有效资源利用 Download PDF

Info

Publication number
CN105849715A
CN105849715A CN201580003401.5A CN201580003401A CN105849715A CN 105849715 A CN105849715 A CN 105849715A CN 201580003401 A CN201580003401 A CN 201580003401A CN 105849715 A CN105849715 A CN 105849715A
Authority
CN
China
Prior art keywords
resource
amount
quota
delivery device
event
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
CN201580003401.5A
Other languages
English (en)
Other versions
CN105849715B (zh
Inventor
R·希弗
P·达尔
S·R·希里帕
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google 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 Google LLC filed Critical Google LLC
Publication of CN105849715A publication Critical patent/CN105849715A/zh
Application granted granted Critical
Publication of CN105849715B publication Critical patent/CN105849715B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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]
    • 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/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • 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/5061Partitioning or combining of resources
    • 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/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/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • 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
    • 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/504Resource capping
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

一种方法(600)包括标识需求对分布式系统(100)的资源(110、112、114、116、422、424、426、432、434、436)的使用的高可用性作业(122、122a)和低可用性作业(122、122b)。该方法包括将对低可用性作业可用的资源的第一配额(Q1)确定为在正常操作期间可用的资源的量,以及将对高可用性作业可用的资源的第二配额(Q2)确定为在正常操作期间可用的资源的量减去由于被容忍事件而丢失的资源的量。该方法包括在分布式系统上运行作业并将由高可用性作业和低可用性作业两者对资源的总使用约束为在正常操作期间可用的资源的量。

Description

数据中心中的有效资源利用
技术领域
本公开内容涉及在系统故障时数据中心中的有效资源利用。
背景技术
分布式系统通常包括许多松散耦合的计算机,这些计算机中的每个计算机通常包括计算资源(例如,一个或多个处理器)和/或存储资源(例如存储器、闪存和/或盘)。分布式系统将存储抽象(例如,键/值存储或文件系统)叠加在分布式系统的存储资源上。在分布式存储系统中,运行在计算机上的服务器进程能够将该计算机的资源导出到运行在其他计算机上的客户端进程。远程过程调用(RPC)可以将数据从服务器进程转移到客户端进程。备选地,远程直接存储器访问(RDMA)基元(primitive)可以用于将数据从服务器硬件转移到客户端进程。
发明内容
本公开内容的一个方面提供一种用于有效地使用数据中心中的资源(例如,处理器和/或存储器设备)的方法。该方法包括标识需求分布式系统的资源的使用的高可用性作业和低可用性作业,并且将对低可用性作业可用的资源的第一配额确定为在正常操作期间可用的资源的量。该方法可选地包括将对高可用性作业可用的资源的第二配额确定为在正常操作期间可用的资源的量减去由于被容忍事件而丢失的资源的量。该方法可以包括在分布式系统的资源上运行作业,并且将由高可用性作业和低可用性作业两者对资源的总使用约束为在正常操作期间可用的资源的量。
本公开内容的实施方案可以包括以下任选特征中的一个或多个。在一些实现方式中,资源包括数据处理设备、联网系统、功率系统或冷却系统。对于这些类型的资源,该方法可以包括将向由于被容忍事件而丢失的资源所分配的作业迁移或重新运行到剩余资源。
在一些实现方式中,资源包括非暂态存储器设备(还被称为存储资源)。对于这种类型的资源,该方法可以包括舍弃向所丢失的资源所分配的作业,而不将作业重新分配给剩余资源,并且重构与所丢失的资源相关联的任何不可用数据。存储资源具有两种类型的使用:字节使用/存储容量;以及访问带宽(诸如每秒允许的对硬盘存储的输入/输出操作的数量或者针对这种存储允许的转轴利用/访问的量)。作业到存储资源的指派可以取决于其使用的类型。在一些示例中,高达100%的正常字节使用/存储容量可以被分配给高可用性作业,而一部分的正常带宽(转轴使用)可以被分配给高可用性作业。
该方法可以包括将对高可用性作业可用的资源的第二配额确定为在正常操作期间可用的资源的量减去由于被容忍事件而丢失的资源的量并减去由于该被容忍事件而需要的剩余资源的增加的量。额外地或备选地,该方法可以包括将第一配额和第二配额之和限制为最大配额。
在一些实现方式中,该方法包括监视由高可用性作业对资源的使用。当高可用性作业超过阈值使用时,该方法包括将高可用性作业降级为低可用性作业。该方法可以包括:在被容忍事件之前,降低对低可用性作业可用的资源的第一配额持续一定时间段,并在该被容忍事件之前,增加对高可用性作业可用的资源的第二配额持续该时间段。额外地或备选地,该方法可以包括在被容忍事件之前,暂停或结束低可用性作业中的至少一些低可用性作业持续一定时间段。
在一些示例中,该方法包括基于作业到特定资源的分配和分布式系统的系统层级来确定由于被容忍事件而丢失的资源的量。系统层级包括系统域。每个系统域具有活动状态或不活动状态。系统层级可以包括系统级别,例如第一系统级别、第二系统级别、第三系统级别和第四系统级别。第一系统级别对应于数据处理设备、非暂态存储器设备或网络接口控制器的主机机器。每个主机机器具有系统域。第二系统级别对应于容纳主机机器的机架的功率递送器、通信递送器或冷却递送器。机架的每个功率递送器、通信递送器或冷却递送器具有系统域。第三系统级别对应于具有系统域的单元的功率递送器、通信递送器或冷却递送器。单元的每个功率递送器、通信递送器或冷却递送器具有系统域。第四系统级别对应于单元的分布中心模块,每个分布中心模块具有系统域。
本公开内容的另一方面提供一种用于有效地利用分布式系统的资源的系统。该系统包括分布式系统的资源以及与资源进行通信的计算机处理器。该计算机处理器标识需求资源的使用的高可用性作业和低可用性作业,并且将对低可用性作业可用的资源的第一配额确定为在正常操作期间可用的资源的量。该计算机处理器可以可选地包括将对高可用性作业可用的资源的第二配额确定为在正常操作期间可用的资源的量减去由于被容忍事件而丢失的资源的量。该计算机处理器在分布式系统上运行作业并且将由高可用性作业和低可用性作业两者对资源的总使用约束为在正常操作期间可用的资源的量。
该方面可以包括以下可选特征中的一个或多个。在一些实现方式中,系统资源包括数据处理设备、联网系统、功率系统或冷却系统。对于这些类型的资源,该计算机处理器可以将向由于被容忍事件而丢失的资源所分配的作业迁移或重新运行到剩余资源。
在一些实现方式中,系统资源包括非暂停存储器设备。对于这种类型的资源,该计算机处理器可以舍弃向所丢失的资源所分配的作业,而不将作业重新分配给剩余资源,并且重构与所丢失的资源相关联的任何不可用数据。
该计算机处理器可以将对高可用性作业可用的资源的第二配额确定为在正常操作期间可用的资源的量减去由于被容忍事件而丢失的资源的量并减去由于该被容忍事件而需要的剩余资源的增加的量。额外地或备选地,该计算机处理器可以将第一配额和第二配额之和限制为最大配额。
在一些实现方式中,该计算机处理器监视由高可用性作业对资源的使用。当高可用性作业超过阈值使用时,该计算机处理器将高可用性作业降级为低可用性作业。该计算机处理器还可以在被容忍事件之前,降低对低可用性作业可用的资源的第一配额持续一定时间段,并在该被容忍事件之前,增加对高可用性作业可用的资源的第二配额持续该时间段。额外地或备选地,该计算机处理器可以在被容忍事件之前,暂停或结束低可用性作业中的至少一些低可用性作业持续一定时间段。
在一些示例中,该计算机处理器基于作业到特定资源的分配和分布式系统的系统层级来确定由于被容忍事件而丢失的资源的量。系统层级包括系统域。每个系统域具有活动状态或不活动状态。系统层级可以包括系统级别,诸如第一系统级别、第二系统级别、第三系统级别和第四系统级别。第一系统级别对应于数据处理设备、非暂态存储器设备或网络接口控制器的主机机器。每个主机机器具有系统域。第二系统级别对应于容纳主机机器的机架的功率递送器、通信递送器或冷却递送器。机架的每个功率递送器、通信递送器或冷却递送器具有系统域。第三系统级别对应于具有相关联的机架的单元的功率递送器、通信递送器或冷却递送器。单元的每个功率递送器、通信递送器或冷却递送器具有系统域。第四系统级别对应于单元的分布中心模块,每个分布中心模块具有系统域。
本公开内容的另一方面提供一种方法,该方法包括:标识需求分布式系统的资源的使用的高可用性作业和低可用性作业;将对低可用性作业可用的资源的第一配额确定为在正常操作期间可用的资源的量;以及基于资源类型来确定对高可用性作业可用的资源的第二配额。对于存储容量资源,对高可用性作业可用的资源的第二配额是在正常操作期间可用的资源的量。对于存储带宽资源,对高可用性作业可用的资源的第二配额是在正常操作期间可用的资源的量减去由于被容忍事件而丢失的资源的量并减去由于该被容忍事件而需要的剩余资源的增加的量。对于其他(即非存储)资源,对高可用性作业可用的资源的第二配额是在正常操作期间可用的资源的量减去由于被容忍事件而丢失的资源的量。该方法还包括在分布式系统的资源上运行作业,并且将由高可用性作业和低可用性作业两者对资源的总使用约束为在正常操作期间可用的资源的量。
在下面的附图和描述中阐述本公开内容的一个或多个实现方式的细节。其他特征、方面和优点将从说明书、附图和权利要求变得显而易见。
附图说明
图1A是示例性分布式系统的示意图。
图1B是具有由作业管理系统管理的资源主机的单元的示例性分布式系统的示意图。
图2是针对分布式系统的示例性管理者的示意图。
图3A是拆分成经复制的条带的示例性文件的示意图。
图3B是拆分成数据块和非数据块的示例性文件的示意图。
图4A-4B是示例性系统层级的示意图。
图5是用于当发生维护事件时有效地使用存储资源和数据处理器的操作的示例性布置的流程图。
图6是用于当发生维护事件/故障事件时有效地使用系统的资源的操作的示例性布置的示意图。
图7是用于当发生维护事件/故障事件时有效地使用系统的资源的操作的示例性布置的示意图。
类似的附图标记在各附图中指示类似的元件。
具体实施方式
参考图1A-1B,在一些实现方式中,分布式系统100包括松散耦合的资源主机110、110a-n(例如,计算机或服务器),每个资源主机具有与可以用于对数据进行高速缓存的存储资源114(例如,存储器、闪存、动态随机访问存储器(DRAM)、相变存储器(PCM)和/或盘)进行通信的计算资源112(例如,一个或多个处理器或中央处理单元(CPU))。覆盖在存储资源114上的存储抽象(例如,键/值存储或文件系统)允许由一个或多个客户端120、120a-n对存储资源114的可扩展使用。客户端120可以通过网络130(例如,经由RPC)与资源主机110进行通信。
分布式系统100可以包括多层冗余,其中数据312被复制并被存储在多个数据中心中。数据中心(未示出)容纳计算机系统和它们相关联的部件,例如电信和分布式系统100。数据中心通常包括备用电源、冗余通信连接、环境控制(以维持恒定温度)和安全设备。数据中心能够为使用大量电力(例如和小镇一样多)的大型工业级操作。数据312可以被定位在不同地理位置(例如,不同城市、不同国家和不同洲)中。在一些示例中,数据中心或其部分要求维护(例如,由于功率中断,或将系统的部分断开连接以更换零件,或者系统故障,或者其组合)。存储在这些数据中心并且尤其是分布式系统100中的数据312可能在维护时间段期间对用户/客户端120不可用,从而导致损害或停止用户的操作。因此,期望提供能够在系统100或其部分的维护和/或故障期间有效地使用系统100的资源主机110、处理器112、存储资源114以及网络资源的分布式系统100。
在一些实现方式中,分布式系统100是“单边”的,从而消除对用于对来自客户端120的远程过程调用(RPC)做出响应以存储或取回在它们的对应资源主机110上的数据312的任何服务器作业的需要,并且相反可以依靠专用硬件来处理远程请求122。“单边”是指通过其可以在硬件中而非通过运行在资源主机110的CPU 112上的软件来完成在资源主机110上的大多数请求处理的方法。不是使资源主机110(例如,服务器)的处理器112运行将对应的存储资源114(例如,非暂态存储器)的访问导出到运行在客户端120上的客户端进程128的服务器进程118,相反,客户端120可以通过资源主机110的网络接口控制器(NIC)116直接访问存储资源114。换言之,运行在客户端120上的客户端进程128可以直接地与一个或多个存储资源114对接,而无需对运行在计算资源112上的任何服务器进程118的例程的运行。该单边分布式架构提供相对高的吞吐量和低延迟,这是因为客户端120能够访问存储资源114,而不与资源主机110的计算资源112对接。这具有典型的双边分布式系统100带来的对针对存储114和CPU周期的要求去耦合的影响。单边分布式系统100能够利用远程存储资源114,而无论在该资源主机110上是否存在空闲的CPU周期;另外,由于单边操作不争夺服务器CPU 112资源,所以单边系统能够以非常可预测的低延迟来服务高速缓存请求122,甚至当资源主机以高CPU利用率运行时。因此,单边分布式系统100允许比传统双边系统更高的集群存储114和CPU 112资源两者的利用率,同时递送可预测的低延迟。
在一些实现方式中,分布式系统100包括存储逻辑部分102、数据控制部分104以及数据存储部分106。存储逻辑部分102可以包括事务应用编程接口(API)350(例如,单边事务系统客户端库),其负责例如经由RPC或单边操作访问底层数据。数据控制部分104可以管理关于任务对存储资源114的指派和访问,例如指派存储资源114,向对应的网络接口控制器116登记存储资源114,建立在(一个或多个)客户端120与资源主机110之间的连接,处置在机器故障的情况下的错误,等等。数据存储部分106可以包括松散耦合的资源主机110、110a-n。
分布式系统100可以将数据312存储在动态随机存取存储器(DRAM)114中并经由具有远程直接存储器访问(RDMA)能力的网络接口控制器116从远程主机110供应数据312。网络接口控制器116(还被称为网络接口卡、网络适配器、或LAN适配器)可以为计算机硬件部件,其将计算资源112连接到网络130。资源主机110a-n和客户端120两者可以均具有用于网络通信的网络接口控制器116。运行在资源主机110的计算处理器112上的主机进程118向网络接口控制器116登记存储器114的远程直接存储器可访问区115a-n的集合。主机进程118可以将存储器114的远程直接存储器可访问区115a-n登记为具有只读或读/写权限。资源主机110的网络接口控制器116创建针对每个所登记的存储器区115a-n的客户端密钥302。
由网络接口控制器116执行的单边操作可以限于简单的读、写以及比较和交换操作,其中没有一个操作可以足够复杂以用作针对由用于执行高速缓存请求并管理高速缓存策略的传统高速缓存服务器作业实现的软件逻辑的简易替代。事务API 350将诸如查找或插入数据命令的命令转化成基元网络接口控制器操作的序列。事务API 350与分布式系统100的数据控制和数据存储部分104、106对接。
分布式系统100可以包括用于向网络接口控制器116登记的供远程访问的存储器114的共同定位的软件并建立与客户端进程128的连接。一旦建立了连接,客户端进程128就能够经由网络接口控制器116的硬件中的引擎访问所登记的存储器114,而无需来自对应的资源主机110的本地CPU 112上的软件的任何参与。
参考图1B,在一些实现方式中,分布式系统100包括多个单元200(每个单元200包括资源主机110)、与资源主机110进行通信的管理者210以及与资源主机110进行通信的作业管理系统220。管理者210(例如,进程)可以运行在连接到网络130的计算处理器202(例如具有非暂态存储器204的服务器)上并管理数据存储(例如,管理存储在资源主机110上的文件系统),控制数据放置和/或发起数据恢复。此外,管理者210可以跟踪资源主机110上的数据312的存在和存储位置。冗余管理者210是可能的。在一些实现方式中,(一个或多个)管理者210跟踪跨多个资源主机110的数据312的分条和用于冗余和/或执行的给定条带的多个副本的存在和/或位置。在计算机数据存储中,数据分条(striping)是以使对不同物理存储设备114(例如,单元(cell)200和/或资源主机110)做出顺序分段的访问的方式逻辑地分割顺序数据312(例如文件310(图2))的技术。在处理设备请求比存储设备114能够提供访问更快地访问数据时,分条是有用的。通过执行在多个设备上的分段访问,能够并发地访问多个分段。这提供更多的数据访问吞吐量,其避免使处理器空闲地等待数据访问。作业管理系统220跨资源主机110调度作业(例如,处理作业或存储器作业)。
在一些实现方式中,事务API 350在(例如,具有客户端进程128的)客户端120与管理者210之间进行对接。在一些示例中,客户端120通过一个或多个远程过程调用(RPC)与管理者210进行通信。响应于客户端请求122,事务API 350可以找到在(一个或多个)资源主机110上的特定数据312的存储位置并获得允许访问数据312的密钥302。事务API 350(经由网络接口控制器116)直接与适当的资源主机110进行通信以(例如,使用远程直接存储器访问)读或写数据312。在资源主机110是非操作性的或者数据312被移动到不同资源主机110的情况下,客户端请求122发生故障,从而提示客户端120重新查询管理者210。
参考图2,在一些实现方式中,管理者210存储并管理文件系统元数据212。元数据212可以包括将文件3101-n映射到文件描述符3001-n的文件映射214。管理者210可以检查并修改其持久元数据212的表示。管理者210可以使用针对元数据212的三种不同的访问模式:只读;文件事务;以及条带事务。
参考图3A和3B,数据312可以为一个或多个文件310,其中每个文件310具有指定复制级别311和/或错误校正码313。管理者210可以将每个文件310划分成条带320a-n的集合,其中每个条带320a-n与剩余条带320a-n独立地被复制或被编码。对于经复制的文件310(图3A),每个条带320a-n为单个逻辑块,管理者210将其复制为条带副本330n并将其存储在多个存储资源114上。在这种情况下,条带副本330n还被称为块330n。对于经编码的文件310(图3B),每个条带320a-n包括多个数据块330nDk和非数据块330nC(例如,编码块),管理者210将其放置在多个存储资源114上,其中数据块330nD和非数据块330nC的集合形成单个编码字。总体上,管理者210可以将每个条带320a-n放置在存储资源114上,与文件310中的其他条带320a-n如何被放置在存储资源114上无关。错误校正码313将冗余数据或奇偶校验数据添加到文件310,使得文件310能够稍后被接收者恢复,甚至当引入了许多错误(高达被使用的编码的能力)时。错误校正码313用于维持存储设备中的数据312完整性,用于重构数据312以用于执行(延迟),或者用于更快地耗尽机器。
参考回图2,在一些实现方式中,由管理者210存储的文件描述符3001-n包含元数据212,例如文件映射214,文件映射214将条带320a-n映射到条带副本330n或在适当的情况下映射到存储在资源主机110上的数据块330nD和编码块330nC。为了打开文件310,客户端120将请求122发送到管理者210,其返回文件描述符300。客户端120使用文件描述符300来将文件块偏移转换到远程存储器位置115a-n。文件描述符300可以包括客户端密钥302(例如,32位密钥),其对资源主机110上的块330n是唯一的并且用于RDMA读该块330n。在客户端120加载文件描述符300之后,客户端120可以经由RDMA或另一数据检索方法来访问文件310的数据312。
管理者210可以维持针对为单元200的部分的所有资源主机110的状态信息。状态信息可以包括容量、空闲空间、资源主机110上的负载、从客户端的视角的资源主机110的延迟以及当前状态。管理者210可以通过直接地查询单元200中的资源主机110和/或通过查询客户端120以从客户端的视角收集延迟统计数字来获得该信息。在一些示例中,管理者210使用资源主机状态信息来做出再平衡、耗尽、恢复决策和指派决策。
(一个或多个)管理者210可以指派块330以便处置针对文件310中的更多存储空间的并且用于再平衡和恢复的客户端请求122。在一些示例中,处理器202在存储设备114之间复制块330n,这不同于将数据块330nD和编码块330nC分布在存储资源114之间。管理者210可以维持资源主机负载和活力的负载图216。在一些实现方式中,管理者210通过生成候选资源主机110的列表来指派块330并将指派块请求发送到候选资源主机110中的每个。如果资源主机110超载或不具有可用空间,则资源主机110可以拒绝该请求。在这种情况下,管理者210选择不同的资源主机110。每个管理者210可以持续地扫描文件名字空间的其指定部分,大约每分钟检查一次所有元数据212。管理者210可以使用文件扫描来检查元数据212的完整性,确定需要被执行的工作,和/或生成统计数字。文件扫描可以并发地与管理者210的其他操作进行操作。扫描本身可以不修改元数据212,但是调度要由系统的其他部件完成的工作并计算统计数字。
参考图4A-4B,作业管理系统220可以确定或接收分布式系统100的系统层级400来标识在其处可能发生维护或故障的级别(例如,级别1-4),而不影响对所存储的数据312和/或处理器112的用户访问,从而允许访问所存储的数据312。维护或故障(严格层级400a(图4A)、非严格层级400b(图4B))可以包括功率维护/故障、冷却系统维护故障、联网维护/故障、更新或更换零件、或影响分布式系统100的其他维护或功率故障。维护可以被调度,并且在一些示例中,可能发生未调度的系统故障。
系统层级400包括系统级别(例如,级别1-5),其中维护单元/系统域402跨度一个或多个系统级别1-5。每个系统域402具有活动状态或不活动状态。分布中心模块410包括一个或多个单元420、420a-n,并且每个单元420包括资源主机110的一个或多个机架430。每个单元420还包括单元冷却422、单元功率424(例如,母线槽)以及单元级别联网426(例如,(一个或多个多)网络交换机)。类似地,每个机架430包括机架冷却432、机架功率434(例如,母线槽)以及机架级别联网436(例如,维护故障网络交换机)。
系统级别可以包括第一系统级别、第二系统级别、第三系统级别和第四系统级别1-4。第一系统级别1对应于数据处理设备112、非暂态存储器设备114或网络设备116(例如NIC)的资源主机或主机机器110、110a-n。每个主机机器/资源主机110具有系统域402。第二系统级别2对应于机架430、430a-n以及在机架级处的主机机器110的冷却递送器432、功率递送器434(例如,母线槽)或通信递送器436(例如,网络交换机和线缆)。每个机架430或机架级-冷却递送器432、-功率递送器434或-通信递送器436具有系统域402。第三系统级别3对应于分布中心模块410的任何单元420、420a-n以及供应给相关联的机架430的单元冷却422、单元功率424或单元级别联网426。每个单元420或单元冷却422、单元功率424或单元级别联网426具有系统域402。第四系统级别4对应于分布中心模块410。每个分布中心模块410具有系统域402。
图4A示出了严格系统层级400a,其中系统层级400的每个层级部件(例如,资源主机110、机架430、单元420或分布中心模块410)取决于一个其他层级部件110、410、420、430。尽管图4B示出了非严格系统级别400b,但是一个层级部件110、410、420、430具有超过一个输入馈送。在一些示例中,作业管理系统220将系统级别400存储在其处理器202的非暂态存储器204上。例如,作业管理系统220将第一资源主机110(以及其对应的处理器资源112a和存储资源114a)映射到第一机架430a,将第一机架430a映射到第一母线槽420a,并且将第一母线槽420a映射到第一分布中心模块410a。
作业管理系统220基于层级部件110、410、420、430的映射来确定当层级部件110、410、420、430正在经历维护时哪些资源主机110是不活动的。一旦作业管理系统220将系统域402映射到资源主机110(并且因此映射到其对应的处理器资源112a和存储资源114a)时,作业管理系统220确定能够在其处执行维护的最高级别(例如,级别1-4),同时维持处理器或数据可用性。
系统域402包括经历维护的层级部件110、410、420、430和依赖于其的任何层级部件110、410、420、430。因此,当一个层级部件110、410、420、430经历维护时,该层级部件110、410、420、430是不活动的,并且层级部件110、410、420、430的系统域402中的任何其他层级部件110、410、420、430也是不活动的。例如,当资源主机110经历维护时,包括存储设备114、数据处理器112和NIC 116的级别1系统域402a处于不活动状态。当机架430经历维护时,包括机架430和从属于机架430的任何资源主机110的级别2系统域402b处于不活动状态。当单元部件420(例如,到单元部件420a的单元冷却部件422、母线槽424和/或网络交换机426中的任何一个)经历维护时,包括单元420和从属于单元部件420的级别3和4中的任何层级部件110、410、420、430的级别3系统域402c处于不活动状态。最后,当分布中心模块410经历维护时,包括分布中心模块410a和从属于分布中心模块410的级别2到4中的任何层级部件110、410、420、430的级别4系统域402、402d处于不活动状态。
在一些示例中,如图4B所示,非严格层级部件410、420、430、114可以具有双重馈送,即层级部件110、410、420、430取决于两个或更多个其他层级部件110、410、420、430。例如,单元部件420可以具有来自两个分布中心模块410的馈送;和/或机架430可以具有来自两个单元部件420的双重馈送。如所示出的,级别2系统域402b可以包括两个机架430a、430n,其中第二机架430n包括来自两个单元部件420a、420n的两个馈送。因此,第二机架430n是两个系统域402bb和402cc的一部分。因此,系统级别400的较低级别被维持,而不引起系统级别400的较高层级的损失。这引起分布式系统100中的冗余,其允许数据可访问性。具体地,分布中心模块410可以被维持,而不损失从属于其的单元部件420中的任何。在一些示例中,机架430包括双电源机架,其允许母线槽424的维护而不损失到从属于其的双电源机架430的功率。在一些示例中,可以被维持而不引起故障的系统域402在分布块330n时被忽视以允许维护;然而,被忽视的系统域402可以在分布块330n时被包含,这是因为计划外的故障可以仍然引起块330n的损失。
在一些示例中,冷却设备,例如单元冷却422和机架冷却432分别用于冷却单元部件420和机架430。单元冷却部件422可以冷却一个或多个单元部件420。类似地,机架冷却部件432可以冷却一个或多个机架430。管理者210存储资源主机110与冷却设备(例如单元冷却422和机架冷却432)的关联。在一些实现方式中,作业管理系统220在存储资源主机110与单元冷却422和机架冷却432的关联之前考虑可能在系统100内发生的维护的所有可能组合以确定系统层级400或维护层级400的组合。例如,一个或多个冷却设备422、432发生故障的系统层级400或网络设备116、426、436发生故障的系统层级400或功率分布424、434发生故障的系统层级400。
因此,当系统100中的层级部件110、410、420、430经历维护或发生故障时,该层级部件110、410、420、430和被映射到或从属于该层级部件110、410、420、430的任何层级部件110、410、420、430处于不活动状态。处于不活动状态的层级部件110、410、420、430不可由用户120访问,而处于活动状态的层级部件110、410、420、430可由用户120访问,从而允许用户120处理/访问由该层级部件110、410、420、430存储/支持/维持的数据312。如前面所提到的,在不活动状态期间,用户120不能够访问与经历维护的系统域402相关联的资源主机110;并且因此,用户120不能够访问文件310(即,块330,其包括条带副本330n、数据块330nD和非数据块330nC)。
在一些实现方式中,管理者210例如基于层级部件110、410、420、430的映射来限制向任何一个系统域402的存储设备114分布的多个块330。因此,如果级别1系统域402是不活动的,则管理者210维持对文件310(或条320)的可访问性,尽管一些块330可以是不可访问的。在一些示例中,对于每个文件310(或条带320),管理者210确定可以被放置在单个系统域402内的任何存储设备114内的块330的最大数量,使得如果与存储针对文件310的块330的存储设备114相关联的系统域402正在经历维护,则管理者210可以仍然取回文件310。块330的最大数量确保管理者210能够重构文件310,尽管一些块330可能是不可用的。在一些示例中,块330的最大数量被设置为较低阈值以适应任何系统故障,同时仍然能够根据块330来重构文件310。当管理者210将块330放置在存储设备114上时,管理者210确保在条带320内,当单个系统域402经历维护时不超过最大数量的块330是不活动的。此外,管理者210还可以例如基于层级部件110、410、420、430的映射来限制在系统域402内的资源主机110的数据处理器112上的处理作业的数量。因此,如果级别1系统域402是不活动的,则管理者210维持对作业的可访问性,尽管资源主机110的处理器112中的一些是不活动的。
参考图5,在一些实现方式中,系统100遵循操作500,其被示出用于当发生维护事件时有效地使用存储资源114和数据处理器112。系统100在步骤502处标识资源类型:1)非存储资源(例如数据处理器112的计算使用,联网,功率递送,冷却,等等);2)存储容量资源(例如,存储设备114的字节使用/存储容量);或者3)存储带宽资源(例如,每秒允许对硬盘存储的输入/输出操作的数量或对于这种存储允许的转轴利用/访问的量)。
系统100还标识两类作业/请求122。第一类作业122包括高可用性作业122a,并且第二类包括标准的或低可用性作业122b(图1B)。系统100在资源主机110的处理器112上运行处理作业122,并且在资源主机110的存储设备114上运行用于访问/存储数据312的存储作业122。当两种类型的作业122a、122b都处于(下面讨论的)配额内时,高可用性作业122a是具有比低可用性作业122b更高的优先级的作业122。
在一些实现方式中,当系统100指定哪些类型的资源损失可以被容忍时,系统100在步骤504处基于该损失是否包括数据处理器112或存储器设备114或两者的损失来确定用于容忍该损失的策略。对于非存储资源使用,作业管理系统220使用将来自发生故障的非存储资源(例如,数据处理器112)的作业122迁移和/或重启到其他可用非存储资源的第一策略506a。对于存储资源使用,作业管理系统220使用在一定地方舍弃访问发生故障的存储资源114的作业122(至少持续特定时间段)的第二策略506b和/或可以使用数据重构来取回不可用数据312。在一些示例中,第一策略处理与计算资源112(例如,计算或联网)相关的资源110;并且第二策略处理存储资源114(例如,存储设备,例如硬盘和闪存)。当发生故障/损失时,作业管理系统220可以确定该损失是否为数据处理器112或存储设备114的损失。如果该损失为存储设备114的损失,则作业管理系统220采用在步骤506b处的策略2;否则,作业管理系统220采用在步骤506a处的策略1。
当作业管理系统220采用与数据处理器112(即,计算和联网)相关的第一策略(在步骤506a处)时,作业管理系统220将分配给由于被容忍事件而丢失的数据处理器112的高可用性计算作业122迁移或重新运行到剩余可用数据处理器112。例如,如果特定功率或网络维护事件致使10%的数据处理器112不可用,则作业管理系统220将作业122移动到运行在剩余90%的数据处理器112上。
当作业管理系统220采用用于存储资源114的第二策略(在步骤506b处)时,作业管理系统220舍弃存储在维护或故障事件期间处于不活动状态的存储设备114上的数据312,并且允许系统100使用(参考图3A和3B所讨论的)复制和/或编码来重构不可用数据312。在一些示例中,系统100同时地采用第一策略和第二策略。
一旦系统100确定了使用哪个策略,系统100就在步骤508处计算在正常使用期间(即,当系统100没有正在经历维护时)对作业122可用的每个资源110(即,存储资源114和数据处理器资源112)的量(即,配额Q)。
作业管理系统220确定可用资源110的第一配额Q1和第二配额Q2。可用资源110的第一配额Q1包括对低可用性作业122b可用的资源110并且为在正常操作期间(即,当系统100没有正在经历维护或故障时)可用的资源110的量。可用资源110的第二配额Q2包括对高可用性作业122b可用的资源110并且为在正常操作期间可用的资源110的量。当发生不频繁的维护或故障事件时,低可用性作业122b遭遇不充分的资源110,其导致降级的或不存在的性能。总可用配额或作业容量Q可以使用下面的等式来计算:
Q=Q1+Q2 (1)
其中,Q是由作业122(高可用性和低可用性)需求的资源110的总可用配额,Q1为第一配额,并且Q2为第二配额。由于总可用的需求配额/容量Q可以超过在正常操作期间可用的资源的量RN,所以作业管理系统220将将由高可用性作业122a和低可用性作业122b两者对资源110的总使用约束为在正常操作期间(即,当系统100没有正在经历维护或故障时)可用的资源110的量RN以确保指派给资源110的作业122的数量未超过该资源110的实际可用容量(例如,RN)。系统100可以使用等式1来确定用于存储资源114和处理资源112的可用配额Q。可用配额Q可以为资源的容量、容量百分比、带宽或大小测量。
在一些示例中,系统100在被容忍事件(即维护事件或系统故障)之前降低对低可用性事件122b可用的资源110的第一配额Q1持续一定时间段,并且在被容忍事件之前增加对高可用性事件122a可用的资源110的第二配额Q2持续该时间段。额外地或备选地,系统100可以在被容忍事件之前停止或结束低可用性作业122b中的至少一些低可用性作业持续一定时间段。这允许系统100将高可用性作业122a移动到可用资源110。
在一些实现方式中,系统100可以基于作业122到与分布式存储系统100的系统层级400(图4A和4B)相关联的特定资源110的分配来确定由于被容忍事件而丢失的资源110的量。在一些实现方式中,当发生计划的维护或故障时,作业管理系统220将特定类型的主机资源110确定为“被容忍的”。对这些作业122可用的配额Q由被容忍的损失的最大量来减少,同时维护数据可访问性和数据处理可用性。系统层级400a、400b、分布中心模块410、单元部件420、机架430或资源主机110可以被指定为被容忍。
在一些示例中,在系统100的正常操作期间,100%的资源110可用于将数据312存储在存储设备114上或者用于处理资源主机110的数据处理器112上的数据312。“最大”被容忍事件(即维护事件或系统故障)可以基于系统层级400和资源110到系统域402的分配来得到20%的可用资源110的损失。这使80%的资源110总是可用,尽管有20%的资源110的最大损失。因此,作业管理系统220将最大80%的资源110的分配给高可用性作业122a,从而允许当发生经调度的维护或系统故障时系统100具有足够的资源110。如果作业管理系统220将与数据处理器212相关的作业122重新分配给80%的可用处理器212,则系统100将具有足够的处理器212来运行高可用性作业122a。另外,如果系统100必须重构由于包括存储数据312的存储设备114的系统域402的不活动状态而不可用的数据312,则系统100具有足够的存储设备114,足够的存储设备114具有足够的块330(例如,数据块330nD和非数据块330nC)和副本330n来重构丢失的数据312。
当在步骤508a处,对于非存储容量使用(即在策略1下),确定对高可用性作业122a可用的资源110的第二配额Q2,可用资源110的第二配额Q2为在正常操作期间可用的资源110的量减去由于被容忍事件而丢失的资源110的量。因此,第二配额Q2可以在丢失的资源110为数据处理器112时基于下面的等式来计算:
Q2=RN-RL (2)
其中,RN是在正常操作期间可用的资源的量,并且RL是由于被容忍事件而丢失的资源的最大量。
在一些实现方式中,系统100在丢失的资源110是存储设备114时确定第二配额Q2。当在步骤508b处,对于存储容量使用(即在策略2下),确定对高可用性作业122a可用的资源110的第二配额Q2,对高可用性作业122a可用的存储设备114的第二配额Q2可以等于正常可用的资源110的完整量(尽管该资源110的使用能够需要经复制的块330n或经编码的块330nC、330nD的冗余),例如如使用等式3所计算的。
Q2=RN (3)
这可以应用存储设备114的字节使用/容量。例如,高达100%的存储设备114的字节使用/容量能够被分配给高可用性作业122a。
当在步骤508c处,对于存储带宽使用(即,在策略2下),确定对高可用性作业122a可用的资源110的第二配额Q2,该存储资源114的第二配额Q2(即,带宽或使用)(例如,每秒允许对硬盘存储的输入/输出操作的数量或对于这种存储允许的转轴利用/访问的量)可以被计算为正常可用的资源110的量RN减去由于被容忍事件的该资源110的最大损失RL减去由于被容忍事件丢失的最大损失而使用的该资源的增加的量RI,如下面的等式所示:
Q2=RN-RL-RI (4)
在一些示例中,系统100可以在计算丢失的资源110是存储设备114(例如硬盘)时使用下面的等式来确定第二配额Q2
Q 2 = ( R N - R L ) ( R N + x * R L ) - - - ( 5 A )
其中,x是对应于被容忍事件的资源乘数。
例如,如果高达10%的硬盘转轴能够在被容忍事件中丢失,并且如果对丢失的数据312的每次访问都需要转轴使用的平均4倍之多(由于使用编码来重构数据312的需要),然后使用等式5A:
Q 2 = ( 100 % - 10 % ) ( 100 % + 3 * 10 % ) = 69 % - - - ( 5 B )
因此,69%的转轴资源能够对高可用性作业可用(该计算基于以下事实:仅仅90%的转轴是可用的,并且支持来自高可用性作业的正常负载的130%)。
一旦系统100计算出资源110的第二配额Q2,系统100就允许低可用性作业和高可用性作业运行在数据中心中,受制于在步骤510处的两个约束。第一约束在于由高可用性作业122a和低可用性作业122b使用的每个资源110的总量(Q1+Q2)不能够超过正常可用的资源的量RN,如下面的等式所示:
Q1+Q2≤RN (6)
第二约束在于由高可用性作业122a使用的每个资源的量QU不能够超过第二配额Q2,如下面的等式所示:
QU≤Q2 (7)
在一些实现方式中,作业管理系统220监视由高可用性作业122a对资源110的使用以确保它们不消耗太多资源110。当高可用性作业122a超过阈值使用时,作业管理系统220将高可用性作业122a降级为低可用性作业122b。当高可用性作业122a被降级时,作业管理系统220可以终止所降级的作业122b,其增大对高可用性作业122a可用的可用容量(第二配额)。
在作业管理系统220确定可以使用的配额Q2之后,作业管理系统220实现用于适应维护和故障事件的进程。当维护和故障事件降低可用的资源110的量时,作业管理系统220可以停止、杀死、逐出或以其他方式防止充分数量的低可用性作业122b使用资源110,使得资源110对高可用性作业122a可用。另外,如果这些作业122正在供应实况流量,则发送给它们的流量的量可以被减小或被分流到其他数据中心。
此外,在计划外维护的情况下,作业管理系统220可以在维护之前停止、杀死、逐出或以其他方式防止一些或所有低可用性作业122b使用特定资源110相同时间量,以便允许高可用性作业122a移动到使得资源110。
尽管上述描述集中于数据中心中的资源110,但是能够在数据中心的资源主机110(机器)、机架430、单元420、网络、集群、建筑物、站点、区域或整个全球集合的层级处应用相同的原理。
图6提供有效地使用数据中心中的资源110(例如,处理器112和/或资源主机114)的方法600的操作的示例性布置。方法600包括标识602需求分布式系统100的资源110的使用的高可用性作业122a和低可用性作业122b,并且将对低可用性作业122b可用的资源110的第一配额Q1确定604为在正常操作期间可用的资源110的量RN。方法600还包括将对高可用性作业122a可用的资源110的第二配额Q2确定606为在正常操作期间可用的资源110的量减去由于被容忍事件而丢失的资源110的量RL。方法600包括在分布式系统100的资源122、122a、122b上运行608作业,并且将由高可用性作业122a和低可用性作业122b两者对资源110的总使用约束为在正常操作期间可用的资源110的量RN
在一些实现方式中,资源110、112、116、422、424、426、432、434、436包括数据处理设备112、联网系统116、426、436、功率系统424、434或冷却系统422、432。对于这些类型的资源110、112、116、422、424、426、432、434、436,方法600可以包括将向由于被容忍事件而丢失的资源110所分配的作业122迁移或重新运行到剩余资源110以维持数据312的可访问性或数据处理器212的可访问性。
在一些实现方式中,资源110包括非暂态存储器设备114。对于这种类型的资源114,方法600可以包括舍弃向所丢失的资源110所分配的作业,而不将作业重新分配给剩余资源110,并重构与所丢失的资源110相关联的任何不可用数据。
方法600可以包括将对高可用性作业122a可用的资源110的第二配额Q2确定为在正常操作期间可用的资源110的量RN减去由于被容忍事件而丢失的资源的量RL并减去由于该被容忍事件而需要的剩余资源110的增加的量RI。额外地或备选地,方法600可以包括将第一配额Q1和第二配额Q2之和限制为最大配额。
在一些实现方式中,方法600包括监视由高可用性作业122a对资源110的使用。当高可用性作业122a超过阈值使用时,方法600包括将高可用性作业122a降级为低可用性作业122b。
方法600还可以包括在被容忍事件之前降低对低可用性作业122b可用的资源的第一配额Q1持续一定时间段,并在该被容忍事件之前增加对高可用性作业122a可用的资源的第二配额Q2持续该时间段。额外地或备选地,方法600可以包括在被容忍事件之前暂停或结束低可用性作业122b中的至少一些低可用性作业持续一定时间段。
在一些示例中,方法600包括基于作业122到特定资源110的分配和分布式系统100的系统层级400来确定由于被容忍事件而丢失的资源110的量RL。系统级别400包括系统域或单元402。每个系统域402具有活动状态或不活动状态。系统层级400可以包括系统级别,例如级别1-4。第一系统级别(例如,级别1)对应于具有数据处理设备112、非暂态存储器设备114或网络接口控制器116的资源主机110。每个数据处理设备112或存储器设备114具有一个或多个系统域402。第二系统级别(例如,级别2)对应于存储器设备114或数据处理设备112的主机机器430(例如,机架),每个主机机器具有一个或多个系统域402。第三系统级别(例如,级别3)对应于主机机器110的功率递送器424(例如,母线槽)、通信递送器426或冷却递送器422。每个功率递送器424、通信递送器426或冷却递送器422具有系统域402。第四系统级别(例如,级别4)对应于功率递送器424、通信递送器426或冷却递送器422的分布中心模块410。每个分布中心模块410具有系统域402。
图7提供有效地使用资源110的方法700的操作的示例性布置。方法700包括:标识702需求分布式系统100的资源112、114的使用的高可用性作业122a和低可用性作业122b,将对低可用性作业122a可用的资源112、114的第一配额Q1确定702为在正常操作期间可用的资源112、114的量,并且基于作业122的资源使用的类型来确定706对高可用性作业122a可用的资源112、114的第二配额Q2。对于存储容量使用,对高可用性作业122a可用的资源114的第二配额Q2是在正常操作期间可用的资源114的量RN。对于存储容量使用,对高可用性作业122a可用的资源114的第二配额Q2是在正常操作期间可用的资源114的量RN减去由于被容忍事件而丢失的资源114的量RL并减去由于该被容忍事件而需要的剩余资源114的增加的量RI。对于其他资源使用,对高可用性作业122a可用的资源112的第二配额Q2是在正常操作期间可用的资源112的量RN减去由于被容忍事件而丢失的资源的量RL。该方法还包括在分布式系统100的资源112、114上运行708作业122并且将由高可用性作业122a和低可用性作业122b两者对资源112、114的总使用约束710为在正常操作期间可用的资源的量RN
可以在数字电子电路、集成电路、专门设计的ASIC(专用集成电路)、计算机硬件、固件、软件和/或其组合来实现本文描述的系统和技术的各种实现方式。这些各种实现方式可以包括采用一个或多个计算机程序的实现方式,一个或多个计算机程序在包括至少一个可编程处理器的可编程系统上是可执行的和/或可解释的,至少一个可编程处理器可以是专用的或通用的,其耦合为从存储系统、至少一个输入设备和至少一个输出设备接收数据和指令以及将数据和指令发送给存储系统、至少一个输入设备和至少一个输出设备。
这些计算机程序(还被称为程序、软件应用或代码)包括针对可编程处理器的机器指令,并且可以以高级程序式语言和/或面向对象编程语言和/或以汇编语言/机器语言来实现。如本文所使用的,术语“机器可读介质”和“计算机可读介质”是指用于将机器指令和/数据提供给可编程处理器的任何计算机程序产品、装置和/或设备(例如,磁盘、光盘、存储区、可编程逻辑器件(PLD)),包括接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”是指用于将机器指令和/数据提供给可编程处理器的任何信号。
可以在数字电子电路中或者在计算机软件、固件或者硬件(包括在本说明书中公开的结构及其结构等效物)中或者在它们中的一项或者多项的组合中实施在本说明书中描述的主题内容和功能操作的实现方式。此外,在本说明书中描述的主题内容可以被实施为一个或多个计算机程序产品,即被编码在计算机可读介质上以用于由数据处理装置运行或者用于控制数据处理装置的操作的计算机程序指令的一个或多个模块。计算机可读介质可以为机器可读存储设备、机器可读存储衬底、存储器设备、影响机器可读传播信号的物质的成分、或者它们中的一项或者多项的组合。术语“数据处理装置”、“计算设备”和“计算处理器”涵盖用于处理数据的所有装置、设备和机器,举例而言包括可编程处理器、计算机或多个处理器或计算机。除了硬件,该装置可以包括创建针对讨论中的计算机程序的运行环境的代码,例如构成处理器固件、协议栈、数据库管理系统、操作系统或它们中的一项或者多项的组合的代码。传播信号为人为生成的信号,例如,机器生成的电信号、光信号或者电磁信号,该信号被生成以对信息编码以用于向适当接收器装置传输。
可以用包括编译或者解译语言的任何形式的编程语言编写计算机程序(也被称为应用、程序、软件、软件应用、脚本或者代码),并且可以用任何形式部署它、包括部署为独立程序或者部署为适合于在计算环境中使用的模块、部件、子例程、对象或者其他单元。计算机程序不是必需对应于文件系统中的文件。程序可以被存储于保持其他程序或者数据的文件(例如,存储于标记语言文档中的一个或者多个脚本)的一部分中、专用于讨论的程序的单个文件中或者多个协同文件(例如,存储一个或者多个模块、子程序或者代码部分的文件)中。计算机程序可以被部署用于在一个计算机上或者在位于一个站点或者分布于多个站点并且由通信网络互连的多个计算机上执行。
在本说明书中描述的过程和逻辑流程可以由一个或者多个可编程处理器执行,该一个或者多个可编程处理器执行一个或者多个计算机程序,以通过对输入数据操作并且生成输出来执行动作。过程和逻辑流程也可以由专用逻辑电路装置(例如,FPGA(现场可编程门阵列)或者ASIC(专用集成电路))执行并且也可以将装置实施为专用逻辑电路装置。
举例而言,适合于执行计算机程序的处理器包括通用和专用微处理器二者以及任何种类的数字计算机的任何一个或者多个处理器。通常,处理器将从只读存储器或者随机存取存储器或者二者接收指令和数据。计算机的基本单元是用于根据指令执行动作的处理器以及用于存储指令和数据的一个或者多个存储器设备。通常,计算机也将包括用于存储数据的一个或者多个海量存储设备(例如,磁盘、磁光盘或者光盘),或者被操作地耦合用于从该一个或者多个海量存储设备接收数据或者向该一个或者多个海量存储设备发送数据或者二者。然而,计算机不是必需具有这样的设备。另外,计算机可以被嵌入于另一设备中,例如,移动电话、个人数字助理(PDA)、移动音频播放器、全球定位系统(GPS),等等。适合于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器设备,举例而言包括半导体存储器设备,例如,EPROM、EEPROM和闪存设备;磁盘,例如,内部硬盘或者可移动盘;磁光盘;以及CD-ROM和DVD-ROM盘。处理器和存储器可以由专用逻辑电路装置补充或者被并入于专用逻辑电路装置中。
为了提供与用户的交互,可以在计算机上实施本公开内容的一个或多个方面,该计算机具有用于向用户显示信息的显示设备(例如,CRT(阴极射线管)LCD(液晶显示器)监视器或者触摸屏)以及用户可以用来向计算机提供输入的键盘和指点设备,例如,鼠标或者跟踪球。其他种类的设备也可以用来提供与用户的交互;例如,向用户提供的反馈可以是任何形式的感官反馈,例如,视觉反馈、听觉反馈或者触觉反馈;并且可以用包括声音、语音或者触觉输入的任何形式接收来自用户的输入。此外,计算机可以通过向由用户使用的设备发送文档和从该设备接收文档(例如,通过响应于从用户的客户端设备上的web浏览器接收的请求向该web浏览器发送网页)来与用户交互。
可以在计算系统中实施本公开内容中的一个或多个方面,该计算系统包括例如作为数据服务器的后端部件或者包括中间件部件(例如,应用服务器)或者包括前端部件(例如,具有图形用户界面或者Web浏览器(用户可以通过该图形用户界面或者Web浏览器与在本说明书中描述的主题内容的实现方式交互)的客户端计算机)或者一个或者多个这样的后端、中间件或者前端部件的任何组合。系统的部件可以由任何数字数据通信形式或者介质(例如,通信网络)互连。通信网络的示例包括局域网(“LAN”)和广域网(“WAN”)、互联网络(例如,因特网)和对等网络(例如,自组织对等网络)。
计算系统可以包括客户端和服务器。客户端和服务器一般相互远离并且通常通过通信网络交互。客户端和服务器的关系借助在相应计算机上运行并且相互具有客户端-服务器关系的计算机程序而产生。在一些实现方式中,服务器向客户端设备传输数据(例如,HTML页面)(例如,用于向与客户端设备交互的用户显示数据并且从该用户接收用户输入)。可以在服务器处从客户端设备接收在客户端设备生成的数据(例如,用户交互的结果)。
尽管本说明书包含许多具体细节,但是不应将这些解释为限制本公开内容的或者可以要求保护的内容的范围,而是应当理解为对本公开内容的具体实现方式特有的特征的描述。在本说明书中在不同的实现方式的背景中描述的某些特征也可以在单个实施例中被组合实施。相反,在单个实现方式的背景中描述的各种特征也可以在多个实施例中单独地或者在任何适当子组合中被实施。另外,虽然上文可以将特征描述为在某些组合中动作,并且甚至初始地这样要求保护,但是来自要求保护的组合的一个或者多个特征可以在一些情况下从该组合中被删除,并且要求保护的组合可以涉及子组合或者子组合的变型。
类似地,尽管在附图中以特定顺序描绘操作,但是这不应被理解为要求以所示特定顺序或者以依次顺序执行这样的操作或者执行所有所示操作以实现期望的结果。在某些情况下,多任务和并行处理可以是有利的。另外,在上文描述的实施例中的各种系统部件的分离不应被理解为在所有实施例中要求这样的分离,并且应当理解描述的程序部件和系统通常可以被一起集成于单个软件产品中或者封装到多个软件产品中。
已经描述了许多实现方式。然而,应当理解,在不脱离本公开内容的精神和范围的情况下,可以进行各种修改。因此,其他实现方式也处于所附权利要求的范围内。例如,在权利要求中记载的动作可以按不同顺序被执行而仍然实现期望的结果。

Claims (30)

1.一种方法(600),包括:
标识需求对分布式系统(100)的资源(110、112、114、116、422、424、426、432、434、436)的使用的高可用性作业(122、122a)和低可用性作业(122、122b);
将对低可用性作业(122、122b)可用的所述资源(110、112、114、116、422、424、426、432、434、436)的第一配额(Q1)确定为在正常操作期间可用的所述资源(110、112、114、116、422、424、426、432、434、436)的量;
将对高可用性作业(122、122a)可用的所述资源(110、112、114、116、422、424、426、432、434、436)的第二配额(Q2)确定为在正常操作期间可用的所述资源(110、112、114、116、422、424、426、432、434、436)的量减去由于被容忍事件而丢失的所述资源(110、112、114、116、422、424、426、432、434、436)的量;
在所述分布式系统(100)的所述资源(110、112、114、116、422、424、426、432、434、436)上运行所述作业(122、122a、122b);以及
将由所述高可用性作业(122、122a)和所述低可用性作业(122、122b)两者对所述资源(110、112、114、116、422、424、426、432、434、436)的总使用约束为在正常操作期间可用的所述资源(110、112、114、116、422、424、426、432、434、436)的所述量。
2.根据权利要求1所述的方法(600),其中所述资源(110、112、114、116、422、424、426、432、434、436)包括数据处理设备(112)、联网系统(116、426、436)、功率系统(424、434)或冷却系统(422、432)。
3.根据权利要求2所述的方法(600),还包括将向由于所述被容忍事件而丢失的资源(110、112、114、116、422、424、426、432、434、436)分配的作业(122、122a、122b)迁移或重新运行到剩余资源(110、112、114、116、422、424、426、432、434、436)。
4.根据权利要求1所述的方法(600),其中所述资源(110、112、114、116、422、424、426、432、434、436)包括非暂态存储器设备(114)。
5.根据权利要求4所述的方法(600),还包括:
舍弃向丢失的所述资源(110、112、114、116、422、424、426、432、434、436)分配的作业(122、122a、122b),而不向剩余资源(110、112、114、116、422、424、426、432、434、436)重新分配所述作业(122、122a、122b);以及
重构与丢失的所述资源(110、112、114、116、422、424、426、432、434、436)相关联的任何不可用数据(312)。
6.根据权利要求1所述的方法(600),还包括将对高可用性作业(122、122a)可用的所述资源(110、112、114、116、422、424、426、432、434、436)的所述第二配额(Q2)确定为:
Q2=RN-RL-RI
其中Q2是所述第二配额(Q2),RN是在正常操作期间可用的所述资源(110、112、114、116、422、424、426、432、434、436)的所述量,RL是由于被容忍事件而丢失的所述资源(110、112、114、116、422、424、426、432、434、436)的所述量,并且RI是由于所述被容忍事件而需要的所述剩余资源(110、112、114、116、422、424、426、432、434、436)的增加的量。
7.根据权利要求1所述的方法(600),还包括将对高可用性作业(122、122a)可用的所述资源(110、112、114、116、422、424、426、432、434、436)的所述第二配额(Q2)确定为:
Q 2 = ( R N - R L ) ( R N + x * R L )
其中Q2是所述第二配额(Q2),RN是在正常操作期间可用的所述资源(110、112、114、116、422、424、426、432、434、436)的所述量,RL是由于被容忍事件而丢失的所述资源(110、112、114、116、422、424、426、432、434、436)的所述量,并且x是对应于所述被容忍事件的资源(110、112、114、116、422、424、426、432、434、436)乘数。
8.根据权利要求7所述的方法(600),其中所述资源(110、112、114、116、422、424、426、432、434、436)包括非暂态存储器设备(114)。
9.据权利要求1所述的方法(600),还包括将所述第一配额(Q2)和所述第二配额(Q2)之和限制为最大配额(Q2)。
10.根据权利要求1所述的方法(600),还包括:
监视由所述高可用性作业(122、122a)对所述资源(110、112、114、116、422、424、426、432、434、436)的使用;以及
当高可用性作业(122、122a)超过阈值使用时,将所述高可用性作业(122、122a)降级为低可用性作业(122、122b)。
11.根据权利要求1所述的方法(600),还包括:在所述被容忍事件之前,针对时间段,暂停或结束所述低可用性作业(122、122b)中的至少一些低可用性作业。
12.根据权利要求1所述的方法(600),还包括:基于所述作业(122、122a、122b)到特定资源(110、112、114、116、422、424、426、432、434、436)的分配和所述分布式系统(100)的系统层级(400、400a、400b)来确定由于被容忍事件而丢失的所述资源(110、112、114、116、422、424、426、432、434、436)的所述量,所述系统层级(400、400a、400b)包括系统域(402、402a、402b、402c、402d),每个系统域具有活动状态或不活动状态。
13.根据权利要求13所述的方法(600),其中所述系统层级(400、400a、400b)包括系统级别(1、2、3、4),所述系统级别(1、2、3、4)包括:
第一系统级别(级别1),所述第一系统级别对应于数据处理设备(112)、非暂态存储器设备(114)或网络接口控制器(116)的主机机器(110),每个主机机器(110)具有系统域(402、402a、402b、402c、402d);
第二系统级别(级别2),所述第二系统级别对应于容纳所述主机机器(110、430)的机架(430、430a、430n)的功率递送器(434)、通信递送器(436)或冷却递送器(432),所述机架的每个功率递送器(434)、通信递送器(436)或冷却递送器(432)具有系统域(402、402a、402b、402c、402d);以及
第三系统级别,所述第三系统级别对应于具有相关联的机架(430、430a、430n)的单元(200)的功率递送器(424)、通信递送器(426)或冷却递送器(422),所述单元(200)的每个功率递送器(424)、通信递送器(426)或冷却递送器(422)具有系统域(402、402a、402b、402c、402d);以及
第四系统级别(级别4),所述第四系统级别对应于所述单元(200)的分布中心模块(410),每个分布中心模块(410)具有系统域(402、402a、402b、402c、402d)。
14.一种系统,包括:
分布式系统(100)的资源(110、112、114、116、422、424、426、432、434、436);以及
计算机处理器(202),所述计算机处理器(202)与所述资源(110、112、114、116、422、424、426、432、434、436)进行通信,所述计算机处理器(202):
标识需求对所述资源(110、112、114、116、422、424、426、432、434、436)的使用的高可用性作业(122、122a)和低可用性作业(122、122b);
将对低可用性作业(122、122b)可用的所述资源(110、112、114、116、422、424、426、432、434、436)的第一配额(Q2)确定为在正常操作期间可用的所述资源(110、112、114、116、422、424、426、432、434、436)的量;
将对高可用性作业(122、122a)可用的所述资源(110、112、114、116、422、424、426、432、434、436)的第二配额(Q2)确定为在正常操作期间可用的所述资源(110、112、114、116、422、424、426、432、434、436)的量减去由于被容忍事件而丢失的所述资源(110、112、114、116、422、424、426、432、434、436)的量;
在所述分布式系统(100)的所述资源(110、112、114、116、422、424、426、432、434、436)上运行所述作业(122、122a、122b);以及
将由所述高可用性作业(122、122a)和所述低可用性作业(122、122b)两者对所述资源(110、112、114、116、422、424、426、432、434、436)的总使用约束为在正常操作期间可用的所述资源(110、112、114、116、422、424、426、432、434、436)的所述量。
15.根据权利要求14所述的系统,其中所述资源(110、112、114、116、422、424、426、432、434、436)包括数据处理设备(112)、联网系统(116、426、436)、功率系统(424、434)或冷却系统(422、432)。
16.根据权利要求15所述的系统,其中所述计算机处理器(202)将向由于所述被容忍事件而丢失的资源(110、112、114、116、422、424、426、432、434、436)分配的作业(122、122a、122b)迁移或重新运行到剩余资源(110、112、114、116、422、424、426、432、434、436)。
17.根据权利要求1所述的系统,其中所述资源(110、112、114、116、422、424、426、432、434、436)包括非暂态存储器设备(114)。
18.根据权利要求17所述的系统,其中所述计算机处理器(202):
舍弃向丢失的所述资源(110、112、114、116、422、424、426、432、434、436)分配的作业(122、122a、122b),而不向剩余资源(110、112、114、116、422、424、426、432、434、436)重新分配所述作业(122、122a、122b);以及
重构与丢失的所述资源(110、112、114、116、422、424、426、432、434、436)相关联的任何不可用数据(312)。
19.根据权利要求14所述的系统,其中所述计算机处理器(202)将对高可用性作业(122、122a)可用的所述资源(110、112、114、116、422、424、426、432、434、436)的所述第二配额(Q2)确定为:
Q2=RN-RL-RI
其中Q2是所述第二配额(Q2),RN是在正常操作期间可用的所述资源(110、112、114、116、422、424、426、432、434、436)的所述量,RL是由于被容忍事件而丢失的所述资源(110、112、114、116、422、424、426、432、434、436)的所述量,并且RI是由于所述被容忍事件而需要的所述剩余资源(110、112、114、116、422、424、426、432、434、436)的增加的量。
20.根据权利要求14所述的系统,其中所述计算机处理器(202)将对高可用性作业(122、122a)可用的所述资源(110、112、114、116、422、424、426、432、434、436)的所述第二配额(Q2)确定为:
Q 2 = ( R N - R L ) ( R N + x * R L )
其中Q2是所述第二配额(Q2),RN是在正常操作期间可用的所述资源(110、112、114、116、422、424、426、432、434、436)的所述量,RL是由于被容忍事件而丢失的所述资源(110、112、114、116、422、424、426、432、434、436)的所述量,并且x是对应于所述被容忍事件的资源乘数。
21.根据权利要求20所述的系统,其中所述资源(110、112、114、116、422、424、426、432、434、436)包括非暂态存储器设备(114)。
22.根据权利要求14所述的系统,其中所述计算机处理器(202)将所述第一配额(Q2)和所述第二配额(Q2)之和限制为最大配额(Q2)。
23.根据权利要求14所述的系统,其中所述计算机处理器(202):
监视由所述高可用性作业(122、122a)对所述资源(110、112、114、116、422、424、426、432、434、436)的使用;以及
当高可用性作业(122、122a)超过阈值使用时,将所述高可用性作业(122、122a)降级为低可用性作业(122、122b)。
24.根据权利要求14所述的系统,其中所述计算机处理器(202)在所述被容忍事件之前,针对时间段,暂停或结束所述低可用性作业(122、122b)中的至少一些低可用性作业。
25.根据权利要求14所述的系统,其中所述计算机处理器(202)基于所述作业(122、122a、122b)到特定资源(110、112、114、116、422、424、426、432、434、436)的分配和所述分布式系统(100)的系统层级(400、400a、400b)来确定由于被容忍事件而丢失的所述资源(110、112、114、116、422、424、426、432、434、436)的所述量,所述系统层级(400、400a、400b)包括系统域(402、402a、402b、402c、402d),每个系统域具有活动状态或不活动状态。
26.根据权利要求25所述的系统,其中所述系统层级(400、400a、400b)包括系统级别,所述系统级别包括:
第一系统级别(级别1),所述第一系统级别对应于数据处理设备(112)、非暂态存储器设备(114)或网络接口控制器(116)的主机机器(110),每个主机机器(110)具有系统域(402、402a、402b、402c、402d);
第二系统级别(级别2),所述第二系统级别对应于容纳所述主机机器(110、430)的机架(430、430a、430n)的功率递送器(434)、通信递送器(436)或冷却递送器(432),所述机架的每个功率递送器(434)、通信递送器(436)或冷却递送器(432)具有系统域(402、402a、402b、402c、402d);以及
第三系统级别(级别3),所述第三系统级别对应于具有相关联的机架(430、430a、430n)的单元(200)的功率递送器(424)、通信递送器(426)或冷却递送器(422),所述单元(200)的每个功率递送器(424)、通信递送器(426)或冷却递送器(422)具有系统域(402、402a、402b、402c、402d);以及
第四系统级别(级别4),所述第四系统级别对应于所述单元(200)的分布中心模块(410),每个分布中心模块(410)具有系统域(402、402a、402b、402c、402d)。
27.一种方法(700),包括:
标识需求对分布式系统(100)的资源(110、112、114、116、422、424、426、432、434、436)的使用的高可用性作业(122、122a)和低可用性作业(122、122b);
将对低可用性作业(122、122b)可用的所述资源(110、112、114、116、422、424、426、432、434、436)的第一配额(Q2)确定为在正常操作期间可用的所述资源(110、112、114、116、422、424、426、432、434、436)的量;
基于资源类型来确定对高可用性作业(122、122a)可用的所述资源(110、112、114、116、422、424、426、432、434、436)的第二配额(Q2),其中:
对于存储容量资源(114、116、422、424、426、432、434、436),对高可用性作业(122、122a)可用的所述资源(110、112、114、116、422、424、426、432、434、436)的所述第二配额(Q2)是在正常操作期间可用的所述资源(110、112、114、116、422、424、426、432、434、436)的所述量;
对于存储带宽资源(110、112、114、116、422、424、426、432、434、436),对高可用性作业(122、122a)可用的所述资源(110、112、114、116、422、424、426、432、434、436)的所述第二配额(Q2)是在正常操作期间可用的所述资源(110、112、114、116、422、424、426、432、434、436)的所述量减去由于被容忍事件而丢失的所述资源(110、112、114、116、422、424、426、432、434、436)的量并且减去由于所述被容忍事件而需要的剩余资源(110、112、114、116、422、424、426、432、434、436)的增加的量;以及
对于非存储资源(110、112、114、116、422、424、426、432、434、436),对高可用性作业(122、122a)可用的所述资源(110、112、114、116、422、424、426、432、434、436)的所述第二配额(Q2)是在正常操作期间可用的所述资源(110、112、114、116、422、424、426、432、434、436)的所述量减去由于被容忍事件而丢失的所述资源(110、112、114、116、422、424、426、432、434、436)的所述量;
在所述分布式系统(100)的所述资源(110、112、114、116、422、424、426、432、434、436)上运行所述作业(122、122a、122b);以及
将由所述高可用性作业(122、122a)和所述低可用性作业(122、122b)两者对所述资源(110、112、114、116、422、424、426、432、434、436)的总使用约束为在正常操作期间可用的所述资源(110、112、114、116、422、424、426、432、434、436)的所述量。
28.根据权利要求27所述的方法(700),还包括:对于非存储资源(110、112、114、116、422、424、426、432、434、436),将向由于所述被容忍事件而丢失的资源(110、112、114、116、422、424、426、432、434、436)分配的作业(122、122a、122b)迁移或重新运行到剩余资源(110、112、114、116、422、424、426、432、434、436)。
29.根据权利要求27所述的方法(700),还包括:对于存储资源(110、112、114、116、422、424、426、432、434、436):
舍弃向丢失的所述资源(110、112、114、116、422、424、426、432、434、436)分配的作业(122、122a、122b),而不向剩余资源(110、112、114、116、422、424、426、432、434、436)重新分配所述作业(122、122a、122b);以及
重构与丢失的所述资源(110、112、114、116、422、424、426、432、434、436)相关联的任何不可用数据。
30.根据权利要求27所述的方法(700),还包括:基于所述作业(122、122a、122b)到特定资源(110、112、114、116、422、424、426、432、434、436)的分配和所述分布式系统(100)的系统层级(400、400a、400b)来确定由于被容忍事件而丢失的所述资源(110、112、114、116、422、424、426、432、434、436)的所述量,所述系统层级(400、400a、400b)包括系统域(402、402a、402b、402c、402d),每个系统域具有活动状态或不活动状态。
CN201580003401.5A 2014-01-31 2015-01-23 数据中心中的有效资源利用 Active CN105849715B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/169,357 2014-01-31
US14/169,357 US9213576B2 (en) 2014-01-31 2014-01-31 Efficient resource utilization in data centers
PCT/US2015/012629 WO2015116490A1 (en) 2014-01-31 2015-01-23 Efficient resource utilization in data centers

Publications (2)

Publication Number Publication Date
CN105849715A true CN105849715A (zh) 2016-08-10
CN105849715B CN105849715B (zh) 2019-05-28

Family

ID=53754896

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580003401.5A Active CN105849715B (zh) 2014-01-31 2015-01-23 数据中心中的有效资源利用

Country Status (8)

Country Link
US (2) US9213576B2 (zh)
EP (1) EP3100172B1 (zh)
KR (1) KR101719116B1 (zh)
CN (1) CN105849715B (zh)
AU (1) AU2015211224B2 (zh)
DE (1) DE202015009295U1 (zh)
GB (2) GB2538198B (zh)
WO (1) WO2015116490A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110914854A (zh) * 2017-12-20 2020-03-24 谷歌有限责任公司 联合传输承诺模拟
CN110915099A (zh) * 2017-08-09 2020-03-24 环球互连及数据中心公司 机架级功率控制
CN111858030A (zh) * 2020-06-17 2020-10-30 北京百度网讯科技有限公司 作业的资源处理方法、装置、电子设备及可读存储介质

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10191771B2 (en) * 2015-09-18 2019-01-29 Huawei Technologies Co., Ltd. System and method for resource management
US10313429B2 (en) * 2016-04-11 2019-06-04 Huawei Technologies Co., Ltd. Distributed resource management method and system
CN109729113B (zh) * 2017-10-27 2021-03-23 伊姆西Ip控股有限责任公司 管理专用处理资源的方法、服务器系统和计算机程序产品

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040100982A1 (en) * 1999-09-30 2004-05-27 Sivaram Balasubramanian Distributed real-time operating system
US20070078982A1 (en) * 2005-09-30 2007-04-05 Mehrdad Aidun Application of virtual servers to high availability and disaster recovery soultions
US7225223B1 (en) * 2000-09-20 2007-05-29 Hewlett-Packard Development Company, L.P. Method and system for scaling of resource allocation subject to maximum limits
US20090083746A1 (en) * 2007-09-21 2009-03-26 Fujitsu Limited Method for job management of computer system
US20090235126A1 (en) * 2008-03-11 2009-09-17 Hitachi, Ltd. Batch processing apparatus and method

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030212898A1 (en) 2002-05-09 2003-11-13 Doug Steele System and method for remotely monitoring and deploying virtual support services across multiple virtual lans (VLANS) within a data center
US20040153748A1 (en) 2002-12-19 2004-08-05 Alfio Fabrizi Method for configuring a data processing system for fault tolerance
US7234072B2 (en) 2003-04-17 2007-06-19 Computer Associates Think, Inc. Method and system for making an application highly available
JP4755596B2 (ja) 2003-12-11 2011-08-24 インターナショナル・ビジネス・マシーンズ・コーポレーション データ転送エラー検査
US7801994B2 (en) 2007-11-29 2010-09-21 Hitachi, Ltd. Method and apparatus for locating candidate data centers for application migration
US9063738B2 (en) 2010-11-22 2015-06-23 Microsoft Technology Licensing, Llc Dynamically placing computing jobs
US8713183B2 (en) 2011-03-27 2014-04-29 Hewlett-Packard Development Company, L.P. Resource compatability for data centers
US8554918B1 (en) * 2011-06-08 2013-10-08 Emc Corporation Data migration with load balancing and optimization
US8549519B2 (en) 2011-08-19 2013-10-01 Hitachi, Ltd. Method and apparatus to improve efficiency in the use of resources in data center
WO2013076736A2 (en) 2011-10-12 2013-05-30 Tata Consultancy Services Limited A method and system for consolidating a plurality of heterogeneous storage systems in a data center
US10048990B2 (en) 2011-11-19 2018-08-14 International Business Machines Corporation Parallel access of partially locked content of input file
US9170859B2 (en) * 2012-06-07 2015-10-27 Apple Inc. Targeted memory pressure event notifications
US9304803B2 (en) * 2012-11-12 2016-04-05 Vmware, Inc. Cooperative application workload scheduling for a consolidated virtual environment

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040100982A1 (en) * 1999-09-30 2004-05-27 Sivaram Balasubramanian Distributed real-time operating system
US7225223B1 (en) * 2000-09-20 2007-05-29 Hewlett-Packard Development Company, L.P. Method and system for scaling of resource allocation subject to maximum limits
US20070078982A1 (en) * 2005-09-30 2007-04-05 Mehrdad Aidun Application of virtual servers to high availability and disaster recovery soultions
US20090083746A1 (en) * 2007-09-21 2009-03-26 Fujitsu Limited Method for job management of computer system
US20090235126A1 (en) * 2008-03-11 2009-09-17 Hitachi, Ltd. Batch processing apparatus and method

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110915099A (zh) * 2017-08-09 2020-03-24 环球互连及数据中心公司 机架级功率控制
CN110914854A (zh) * 2017-12-20 2020-03-24 谷歌有限责任公司 联合传输承诺模拟
CN110914854B (zh) * 2017-12-20 2024-04-09 谷歌有限责任公司 联合传输承诺模拟
CN111858030A (zh) * 2020-06-17 2020-10-30 北京百度网讯科技有限公司 作业的资源处理方法、装置、电子设备及可读存储介质
CN111858030B (zh) * 2020-06-17 2024-03-22 北京百度网讯科技有限公司 作业的资源处理方法、装置、电子设备及可读存储介质

Also Published As

Publication number Publication date
KR20160097372A (ko) 2016-08-17
KR101719116B1 (ko) 2017-03-22
DE202015009295U1 (de) 2017-01-26
AU2015211224A1 (en) 2016-06-09
GB2538198A (en) 2016-11-09
GB202107020D0 (en) 2021-06-30
US9213576B2 (en) 2015-12-15
US20150220363A1 (en) 2015-08-06
GB2592165B (en) 2021-11-03
US20160077883A1 (en) 2016-03-17
WO2015116490A1 (en) 2015-08-06
AU2015211224B2 (en) 2016-12-22
CN105849715B (zh) 2019-05-28
EP3100172B1 (en) 2023-03-29
US9823948B2 (en) 2017-11-21
GB2592165A (en) 2021-08-18
EP3100172A4 (en) 2017-11-22
GB2538198B (en) 2021-07-07
EP3100172A1 (en) 2016-12-07
GB201614046D0 (en) 2016-09-28

Similar Documents

Publication Publication Date Title
AU2017201918B2 (en) Prioritizing data reconstruction in distributed storage systems
US10467105B2 (en) Chained replication techniques for large-scale data streams
CN106164899B (zh) 从分布式存储系统的高效数据读取
CN105849715A (zh) 数据中心中的有效资源利用
Bailis et al. Bolt-on causal consistency
US9471585B1 (en) Decentralized de-duplication techniques for largescale data streams
EP2288997B1 (en) Distributed cache arrangement
US9311194B1 (en) Efficient resource utilization in data centers
CN103597482A (zh) 在存储节点上存储数据
Smart et al. A high-performance distributed object-store for exascale numerical weather prediction and climate
US9934106B1 (en) Handling backups when target storage is unavailable
Yadav et al. Mathematical framework for a novel database replication algorithm
US20150088826A1 (en) Enhanced Performance for Data Duplication
Anitha DYNAMIC REPLICATION AND MIGRATION OF DATA IN CLOUD USING CRANE
Zhang Adding coordination to the management of high-end storage systems

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Address after: American California

Applicant after: Google limited liability company

Address before: American California

Applicant before: Google Inc.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant