CN108431796A - 分布式资源管理***和方法 - Google Patents

分布式资源管理***和方法 Download PDF

Info

Publication number
CN108431796A
CN108431796A CN201780005572.0A CN201780005572A CN108431796A CN 108431796 A CN108431796 A CN 108431796A CN 201780005572 A CN201780005572 A CN 201780005572A CN 108431796 A CN108431796 A CN 108431796A
Authority
CN
China
Prior art keywords
resource
properties
request
resources
data
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
CN201780005572.0A
Other languages
English (en)
Other versions
CN108431796B (zh
Inventor
郭蕾
陈冲
柯晓棣
杰森·T·S·兰
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.)
Huawei Cloud Computing Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of CN108431796A publication Critical patent/CN108431796A/zh
Application granted granted Critical
Publication of CN108431796B publication Critical patent/CN108431796B/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
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/04Network management architectures or arrangements
    • H04L41/042Network management architectures or arrangements comprising distributed management centres cooperatively managing the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/04Network management architectures or arrangements
    • H04L41/046Network management architectures or arrangements comprising network management agents or mobile agents therefor
    • 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/83Admission control; Resource allocation based on usage prediction
    • 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
    • H04L67/1012Server selection for load balancing based on compliance of requirements or conditions with available server resources
    • 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/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/63Routing a service request depending on the request content or context

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Debugging And Monitoring (AREA)

Abstract

管理分布式资源管理***中的资源的方法和***可以包括:接收资源请求,所述资源请求包括标识至少一个请求资源属性的数据;通过对所述至少一个请求资源属性对应的一个或多个资源属性元素集执行元素运算,从多个资源中标识一个或多个候选资源,每个资源属性元素集包括所述多个资源中的每个资源的元素,每个元素表示所述多个资源中的相应资源的资源属性;以及基于所述一个或多个标识的候选资源来调度关联于所述资源请求的工作负载以进行执行操作。

Description

分布式资源管理***和方法
交叉申请
本申请要求于2016年4月29日递交的发明名称为“分布式资源管理***和方法(System and Method for Distributed Resource Management)”的第15/142,029号美国专利申请案的在先申请优先权,该在先申请的内容以全部引用的方式并入本文本中。
技术领域
本发明涉及工作负载管理***,更具体地,涉及资源管理***、设备、方法和计算机可读介质。
背景技术
在诸如云计算、服务器,或者其它***或设备之类的计算环境中,工作负载管理***可以用来管理工作负载调度和资源分配。
不同的工作负载可以有不同的资源和位置需求,这些需求必须通过工作负载管理***来调节。调度决策影响性能指标,例如工作负载吞吐量、资源利用率和工作负载运行时间。
随着计算环境和工作负载量的增加,工作负载调度本身可能会变成一个巨大且耗时的过程。高效调度资源而无需大的性能权衡会成为一个难题。
发明内容
在一些情况下,本发明的一些实施例可以通过在调度期间减少考虑到的候选资源数量来减少调度时间,同时仍然评估***中所有或大量资源的适用性。
根据本发明的一方面,提供了一种管理分布式资源管理***中的资源的方法。所述方法包括:所述分布式资源管理***中的至少一个处理器接收资源请求,所述资源请求包括标识至少一个请求资源属性的数据;通过对所述至少一个请求资源属性对应的一个或多个资源属性元素集执行元素运算,从多个资源中标识一个或多个候选资源,每个资源属性元素集包括所述多个资源中的每个资源的元素,每个元素表示所述多个资源中的相应资源的资源属性;以及基于所述一个或多个标识的候选资源来调度关联于所述资源请求的工作负载以进行执行操作。
根据任意前述实施例,所述方法还包括:获取关于所述多个资源中的一个或多个资源的资源属性数据;以及基于所述获取到的资源属性数据来生成或更新至少一个所述资源属性元素集。
根据任意前述实施例,所述方法还包括:获取新资源的资源属性数据;基于所述获取到的资源属性数据,将新资源索引处的新元素添加到每个属性元素集中;以及将所述新资源索引存储在关联于所述新资源的资源数据集中。
根据任意前述实施例,所述方法包括:当所述新资源的所述资源属性数据包括表示当前不关联于属性元素集的属性的数据时,生成新属性元素集并且将下一资源索引处的新元素添加到所述新属性元素集中。
根据任意前述实施例,一个或多个所述资源属性元素集是比特集,以及标识所述一个或多个候选资源包括对一个或多个所述资源属性元素集执行位运算。
根据任意前述实施例,所述资源请求包括标识以下中至少一个的数据:所述关联于所述资源请求的工作负载所需的数据所在的节点、机架或数据中心。
根据任意前述实施例,当所述资源请求标识至少一个所需资源属性和至少一个可选资源属性时,从所述多个资源中标识所述一个或多个候选资源包括:通过对所述至少一个所需资源属性对应的一个或多个资源属性元素集执行元素运算,生成属性资源候选元素集;以及对所述属性资源候选元素集和所述至少一个可选资源属性对应的至少一个所述资源属性集执行元素运算。
根据任意前述实施例,所述方法还包括:通过对所述至少一个请求资源属性对应的所述一个或多个资源属性元素集以及默认属性元素集执行元素运算,从所述多个资源中标识所述一个或多个候选资源。
根据任意前述实施例,所述至少一个请求资源属性包括资源位置、网络地址、资源状态或资源能力。
根据本发明的另一方面,提供了一种***,包括:管理资源的至少一个处理器。所述至少一个处理器用于:接收资源请求,所述资源请求包括标识至少一个请求资源属性的数据;通过对所述至少一个请求资源属性对应的一个或多个资源属性元素集执行元素运算,从多个资源中标识一个或多个候选资源,每个资源属性元素集包括所述多个资源中的每个资源的元素,每个元素表示所述多个资源中的相应资源的资源属性;以及基于所述一个或多个标识的候选资源来调度关联于所述资源请求的工作负载以进行执行操作。
根据任意前述实施例,所述至少一个处理器用于:获取关于所述多个资源中的一个或多个资源的资源属性数据;以及基于所述获取到的资源属性数据来生成或更新至少一个所述资源属性元素集。
根据任意前述实施例,所述至少一个处理器用于:获取新资源的资源属性数据;基于所述获取到的资源属性数据,将新资源索引处的新元素添加到每个属性元素集中;以及将所述新资源索引存储在关联于所述新资源的资源数据集中。
根据任意前述实施例,所述至少一个处理器用于:当所述新资源的所述资源属性数据包括表示当前不关联于属性元素集的属性的数据时,生成新属性元素集并且将下一资源索引处的新元素添加到所述新属性元素集中。
根据任意前述实施例,一个或多个所述资源属性元素集是比特集,以及标识所述一个或多个候选资源包括对一个或多个所述资源属性元素集执行位运算。
根据任意前述实施例,所述资源请求包括标识以下中至少一个的数据:所述关联于所述资源请求的工作负载所需的数据所在的节点、机架或数据中心。
根据任意前述实施例,当所述资源请求标识至少一个所需资源属性和至少一个可选资源属性时,从所述多个资源中标识所述一个或多个候选资源包括:通过对所述至少一个所需资源属性对应的一个或多个资源属性元素集执行元素运算,生成属性资源候选元素集;以及对所述属性资源候选元素集和所述至少一个可选资源属性对应的至少一个所述资源属性集执行元素运算。
根据任意前述实施例,所述至少一个处理器用于:通过对所述至少一个请求资源属性对应的所述一个或多个资源属性元素集以及默认属性元素集执行元素运算,从所述多个资源中标识所述一个或多个候选资源。
根据任意前述实施例,所述至少一个请求资源属性包括资源位置、网络地址、资源状态或资源能力。
根据本发明的另一方面,提供了一种非瞬时性计算机可读介质,其上存储有计算机可读指令。所述指令在由至少一个处理器执行时配置所述至少一个处理器用于:接收资源请求,所述资源请求包括标识至少一个请求资源属性的数据;通过对所述至少一个请求资源属性对应的一个或多个资源属性元素集执行元素运算,从多个资源中标识一个或多个候选资源,每个资源属性元素集包括所述多个资源中的每个资源的元素,每个元素表示所述多个资源中的相应资源的资源属性;以及基于所述一个或多个标识的候选资源来调度关联于所述资源请求的工作负载以进行执行操作。
根据任意前述实施例,一个或多个所述资源属性元素集是比特集,以及标识所述一个或多个候选资源包括对一个或多个所述资源属性元素集执行位运算。
在阅读本发明之后,本领域技术人员将会明白现有改进的许多其它特征及其组合。
附图说明
图1为示出一种示例计算环境的各方面的图;
图2为示出一种示例***的各方面的图;
图3A、图3B和图3C为示出各示例***中不同位置上的工作负载和数据的各示例的图;
图4为示出一种示例组合资源的各方面的图;
图5和图6为示出示例计算环境的各方面的图;
图7为示出一种示例方法的各方面的流程图;
图8为示出示例资源属性元素集的图;
图9为示出示例资源信息的表格;
图10至图14为示出分布式资源管理数据的各示例的图;
图15为示出一种示例***或设备的各方面的图。
出于说明目的,这些附图描绘了示例实施例的各方面。可以对这些示例实施例进行变形、选择配置、选择组件以及作出修改。
具体实施方式
随着社交媒体、在线业务、可穿戴设备、物联网和云***的更多使用,数据增长日益显著。国际数据公司预测,2010年到2020年之间,全球数据将增长50倍,其中80%将是非结构化的。分布式存储***和分布式缓存***在一些数据密集型环境中用来存储非结构化数据,这是因为其成本相对于集中式存储***而言较低。
管理和操作这种数据的大数据分析,例如在分布式资源计算***中,会影响执行数据分析所需的时间和成本。在具有分布式资源的计算环境中,数据分析应用或进程可以作为分布式资源管理***中的工作负载来执行。
分布式资源管理***所处理的工作负载可以有不同的资源需求。在一些实施例中,针对工作负载的资源请求可以包括一个或多个请求资源属性,作为资源请求的一部分。例如,针对工作负载的资源请求可以包括指示该工作负载需要图形处理器(graphicsprocessing unit,GPU)的资源属性或者将要访问计算环境中某个位置上的数据。
在一些实施例中,分布式资源管理***中的调度器可以穷尽搜索计算环境中的所有资源,以便为该请求识别最合适的资源。然而,随着计算环境扩大,例如扩大到可能具有不同硬件、软件、位置、状态等的数千种资源,搜索和考虑所有资源所需的搜索空间和时间可能大幅增加。
在一些实施例中,本发明各方面提供了用于调度工作负载以在一个或多个资源上执行的***、方法和介质,这在一些实例中可以平衡调度效率和性能。
图1示出了可以应用本发明各方面示例计算环境10的各方面。在计算环境10中,一个或多个客户端设备120可以连接到计算***100,以便访问或者使用计算***100中的一个或多个资源。
在一些实施例中,计算***100可以包括硬件和软件组件的任意组合。例如,计算***100可以包括计算设备、处理器、网络、存储器、存储设备、网络设备、电源、许可证服务器(例如软件许可证服务器)、交换空间等的组合。在一些实施例中,计算***100可以为异构或同构环境,并且可以具有运行不同或相似操作***的不同或相似硬件组件。
在一些实施例中,计算***100可以是物理上或逻辑上的单个设备,例如具有一个或多个资源的单个计算设备或单个服务器。
计算***100可以包括多个工作负载之间共享或多个工作负载使用的一个或多个资源150。一些资源150可以物理所或逻辑上关联于单个设备,而其它资源150可以是计算***100中的多个设备可以使用的共享资源。在一些实施例中,计算***100中的资源150可以具有一个或多个属性或者关联于一个或多个属性。在一些实施例中,属性可以包括资源类型或类别、资源状态、资源位置、资源标识符/名称、资源值、资源容量、资源能力,或者可以作为选择或标识合适资源的标准的任何其它资源信息。
无论计算***100中的设备、网络、硬件、软件和/或其它资源的数量或配置如何,在一些实施例中,可以配置计算***100呈现为客户端设备120的单个图像或接口。计算***100可以用于运行来自客户端设备120和来自计算***100自身组件的工作负载。
计算***100可以将一个或多个处理器101包含在单个设备中或在计算***100中的任意数量的设备之间分布。这些处理器101可以用于管理计算***100中的资源150。
计算***100可以配置为分布式资源管理(distributed resource management,DRM)***。在一些实施例中,DRM***为基础平台中间件,可以运行于分布式环境顶层。分布式环境可以包括不同类型的硬件和软件。
DRM***可以由计算***100中的一个或多个设备的一个或多个处理器101来实施。在一些实施例中,DRM***可以向客户端设备120提供单个***图像,并且能够处理资源管理、工作负载管理和调度。工作负载可以指将要在计算***100上运行的任何进程、作业、服务或任何其它计算任务。例如,工作负载可以包括批量作业(例如高性能计算(highperformance computing,HPC)批量作业)、消息传递接口(Message Passing Interface,MPI)进程、串行和/或并行批量任务、实时分析、弹性应用(例如MapReduce)、长期运行服务、虚拟机、容器等。
本发明各方面可以应用于各种DRM***,例如IBMTM平台负载共享设施(LoadSharing Facility,LSF)、ApacheTMHadoop、Hadoop资源管理框架(Yet Another ResourceNegotiator,YARN)、便携式批处理调度器(Portable Batch Scheduler,PBS)、OpenStackTM、HuaweiTMFusionSphere、FusionCube和FusionInsight。
图2示出了一种具有多个计算设备200(例如服务器、计算机、网络设备)的示例计算***100的各方面。设备200可以通过任意合适的连接,包括通过通信网络,进行连接。在一些示例中,设备200可以是单个统一***的一部分,也可以分布在例如云计算环境中。
在一些实施例中,设备200可以物理上或逻辑上配置为主设备和从设备。在其它实施例中,可以使用其它分层或逻辑布置。可以使用DRM组件的任意合适的物理和/或逻辑布置。
图2中的示例计算***100拥有一个主机200a和多个从机200b、200c、200d、200e。主机200a上的处理器101能够用于运行主后台程序和调度器201。后台程序和调度器可以负责客户端交互(例如工作负载提交、查询、控制)、工作负载/资源调度,以及与DRM代理通信。
从机200b、200c、200d中的一个或多个从机上的处理器101可以用于操作至少一个DRM代理。从机200b、200c、200d上的处理器101可以用于通过DRM代理或者其它代理来监控资源可用性和属性并报告给主机200a上的主后台程序。DRM代理可以用于接受来自主后台程序的请求以执行和控制工作负载,和/或用于监控工作负载的生命周期。
虽然本发明各方面涉及DRM代理、后台程序、主设备、辅设备等,但是应理解,DRM组件及其功能、交互等可以由计算***100中任何地方的一个或多个处理器101按照任意布置、结构或责任划分来执行。例如,在一些实施例中,主或从可以指运行于特定机器或处理器上的角色或进程。在一些示例中,主和从角色可以由单个机器执行。在其它示例中,DRM***可以通过端到端方式作为分布式进程或其它进程进行操作。
为了提高资源150的利用率,计算***100可以用于并行操作同一机器上的工作负载,以及跨计算***100调度和/或分配资源和工作负载。
为了管理不同的资源150,分布式资源管理器可以维护资源属性元素集。在一些实施例中,资源属性元素集包括计算***100中的一个或多个资源中每个资源的元素。每个元素表示对应资源的属性信息。
当计算***100接收资源请求时,分布式资源管理器可以基于请求资源属性和资源属性元素集来标识一个或多个候选资源。在一些实施例中,标识候选资源可以包括对属性元素集执行元素运算。
例如,需要GPU和有数据在机架A上的工作负载可能具有请求资源属性,指示请求资源应该有GPU并且优选地位于机架A上。
在一些情况中,在具有合适属性的资源上调度工作负载会对计算***100的性能(例如吞吐量)产生很大影响。例如,当工作负载为数据密集型时,涉及运行工作负载应用的机器200的数据位置会对性能和资源使用产生影响。
例如,当工作负载为数据密集型时,从远程设备访问数据可能需要时间并且会增加执行工作负载的机器与承载数据的机器之间通信所需的网络带宽和网络设备资源。另外,如果执行工作负载的机器正在等待来自远程位置的数据,则消耗这些处理资源的时间段更长。资源和某个工作负载消耗这些资源的时间的长度可以包括但不限于中央处理器(central processing unit,CPU)、图形处理器(graphics processing unit,GPU)、存储器、网络流量/带宽、存储设备,等等。
一般而言,数据越靠近处理资源,可以预期的性能越好。在一些实施例中,资源调度和对资源的请求可以通过不同的资源属性来说明这一点。
数据局部性,有时是已知的,可以划分为不同级别。节点局部或数据局部是指工作负载作为数据在同一节点或机器上执行的情况;机架局部是指工作负载在同一机架上或在数据位置的一个网络跃点内执行的情况;以及其它或交换机外是指工作负载在需要两个或更多网络跃点以通过交换机或其它网络设备等到达数据位置的节点上执行的情况。数据局部性的其它级别也是可能的。例如,作为请求进程不在同一机架上但是位于同一交换机上的设备处的“交换机外”数据比位于远离其它网络跃点的不同网络上的数据性能更佳。
图3A示出了节点局部性的示例,其中工作负载305和关联数据210均位于节点3上。图3B示出了机架局部性的示例,其中工作负载305和数据210位于同一机架的不同节点上。图3C示出了示例交换机外数据,其中工作负载305和关联数据210位于由交换机或路由器等网络设备320隔开的不同机架310a、310b上。
再次参考图2,在一些示例计算***100中,资源150可以位于任意数量的物理位置处,可以是独立设备,也可以是任意数量的其它设备200或***的一部分或者关联于任意数量的其它设备200或***。在具有数据存储方面的一些实施例中,数据可以位于任意数量的位置处,例如高速缓存、存储设备、数据存储设备,等等。在一些示例中,数据可以存储在一个或多个特定资源上或与其关联。
虽然图2所示的示例资源150和数据210b、210c、210d、210e、210f逻辑上示为关联于机器200a、200b等,但是资源150和数据210可以按照物理/逻辑位置、物理/逻辑机(例如机架、设备、背板)等的任意布置来关联或分组。在一些实施例中,这种位置信息定义了对应资源的一个或多个属性。
在一些实施例中,一些资源150(例如机器200e处的资源)可能没有本地代理,并且可以由另一设备中的主调度器201或代理202来管理。例如,在一些实例中,网络设备或存储设备拥有本地代理是不可能、不实际或不可取的。
数据210b、210c、210d、210e、210f可以位于计算***100内或外的任何地方。
计算***100中的资源150、设备200或子***可以通过一个或多个物理和/或逻辑网络250和网络设备或者设备/机架等内的互连来连接。在一些实施例中,网络250本身的各方面可以是资源,例如,物理或逻辑连接/端口/地址、通信带宽、协议等。
资源可以包括任意数量的资源类型并且可以通过任意合适的方式进行建模。例如,计算***100中的资源可以包括主机***、处理单元(例如CPU核、GPU)、存储器、存储设备、网络设备、软件许可证,以及工作负载可以使用的任何其它资源。
在一些实施例中,资源可以包括以下属性:将资源分类为可消耗或不可消耗;将资源分类为字符串、布尔型或数字资源;或者通过任意其它机制或其组合对资源进行分类。
布尔属性可以指可以由真值或假值(例如具有值1或0)进行定义的任何资源。布尔属性可以指示具体特点或功能的可用性。例如,具有布尔属性的资源可以是一个文件服务器、软件包、软件版本、专用设备等。在一些示例中,布尔属性可以标识一种能力,例如“具有吉比特带宽”。如果属性在资源上可用,则布尔资源将具有真值。
数字属性可以包括具有数字值的任何属性。数字属性可以指示资源的数量或容量等。例如,数字属性可以包括处理器数量、内存大小、带宽量等。
字符串属性可以包括具有字符串值的任何属性。字符串属性可以包括主机类型(例如LINUX64)、主机型号(例如x86)和操作***(例如WINDOWS10)等。
在一些实施例中,资源150可以分类为可消耗或不可消耗。这些属性或其它属性可以基于资源模型中的类别或其它标识符来关联于资源150。例如,基于关联于资源150的属性,DRM***可以将资源150作为可消耗或不可消耗资源进行管理。在一些实施例中,只有可消耗资源由DRM持续监控。
在一些实施例中,资源可以建模为组合资源或分层资源,这样可以捕获不同资源类型之间的关系。例如,计算服务器(主机)等资源可以包括两个其它资源,例如多个计算核和内存大小。
图4示出了命名为“myserver1”的示例计算服务器400的框图。服务器400有两个CPU插槽410。每个CPU 410有10核。服务器400还有两个4GB内存模块420和带宽为32GB/s435的8TB存储设备430。服务器400还有两个GPU 440,命名为GPU1和GPU2,每个GPU有1024个核450和两个2GB内存模块460。计算服务器400可以在分布式资源管理***中建模为一系列单个资源或者建模为单个组合资源或分层资源。
计算服务器400的这种非限制性示例示出了一些可能的资源150及其彼此之间的关系。随着资源150和工作负载需求变得越来越复杂,对这类资源150进行建模、调度和监控也变得越来越复杂。
图5示出了图示分布式资源管理器510的框架的示例计算环境500的各方面。在一些实施例中,DRM 510包括:资源收集框架520,用于从一个或多个资源信息供应商530接收或者获取资源信息(供应)。在一些实施例中,所获取到的资源信息可以提供为资源供应商生成或者填充资源模型所需的信息。
DRM可以用于存储或者能够访问DRM***中一个或多个资源150对应的一个或多个资源属性元素集。DRM可以从关于一个或多个资源的信息中生成或更新资源属性元素集。
在一些实施例中,DRM 510包括:资源调度引擎540,用于从一个或多个资源消耗方550接收资源请求(需求)并进行管理。接收到的资源需求可以是对特定类型资源的基本请求,但是在一些实例中,还可以包括对具有不同关系或属性的资源的更复杂请求或偏好,这些不同关系或属性通过本文描述的模型进行封装。
通过这些输入,DRM可以用于使用请求资源属性对应的资源属性元素集来标识候选资源,并且基于所标识的候选资源来调度工作负载。
图6示出了图示可能发生于不同实施例中的不同DRM交互示例的示例计算环境600的各方面。
DRM***510可以用于接收或获取资源信息620。该资源信息620可以包括静态和/或运行时/动态资源信息。在一些示例中,资源信息620可以包括资源类型、资源名称、设备标识符、网络地址、资源容量或能力、已用/可用资源信息、资源状态、资源关系、拓扑和/或关联于一个或多个资源的任意其它信息。
在一些实施例中,***中各种设备处的代理202、主调度器201或其它DRM组件可以用于收集静态和/或运行时/动态资源信息。DRM组件可以用于向分布式资源管理器传输、传送该信息或使该信息可供分布式资源管理器使用。在一些示例中,DRM组件可以向DRM***中的另一组件、DRM***中DRM组件可访问的存储设备、数据库或其它存储位置发送信息。在一些示例中,代理202可以用于使用插件637来收集资源信息。
在一些实施例中,DRM***可以用于从一个或多个配置文件635中获取资源信息。在一些实施例中,存在包括定义***中被管理资源的信息的一个或多个集中配置文件。在一些实施例中,代理202、主调度器201和/或其它DRM组件可以用于将资源信息上传到配置文件635。
在一些实施例中,DRM***510可以用于从一个或多个加载器中获取资源信息。例如,在一些实例中,一些设备可能在本地没有部署任何代理或其它DRM组件(例如网络交换机)。一个或多个加载器可以用于从一个或多个资源150中收集静态信息和/或运行/动态信息并且向DRM***发送资源信息或使资源信息可供DRM***使用。加载器的示例包括但不限于网络交换机加载器642、存储服务器加载器644和许可证服务器加载器646。
可以使用上文提及的方法或适合于获取资源信息的其它方法中的任一方法或这些方法的任意组合。DRM***中使用的方法可以根据计算环境中设备和/或资源的类型。
DRM***可以用于管理资源请求。例如,在提交工作负载时,客户端设备120或应用650可以提交请求,包括关联于运行工作负载所需至少一个资源的一个或多个属性的信息。
在一些实施例中,资源请求可以包括请求资源的必需属性和/或优选但非必须属性。在一些示例中,请求可以包括值属性、具体资源名称或数据位置信息的范围或阈值。
图7为示出一种管理分布式资源管理***中的资源的示例方法700的各方面的流程图。
在710处,DRM***中的一个或多个处理器101获取资源信息。在一些实施例中,资源信息可以包括用于收集、分类、封装、定义或建模DRM资源以便DRM***进行管理的信息。在一些实施例中,资源信息可以包括资源类型、名称、容量/能力、标识符、网络地址、已用/可用资源信息、资源状态、资源关系、拓扑或者可以用作资源属性标准的任何其它信息或者有关DRM管理的任何信息。
在一些实施例中,获取资源信息可以包括获取或监控资源利用率/可用性。在一些示例中,利用率信息可以包括正在使用的资源的总量、正在使用的资源的总百分比、可用资源量等。在一些实施例中,可以周期性或持续获取资源利用率信息。
如本文或其它地方所描述,在一些实施例中,资源信息可以由DRM代理或其它DRM组件收集,它们可以将资源信息存储或者传送给DRM主设备或其它DRM组件。在一些实施例中,资源信息可以从一个或多个配置文件中获取。在一些实施例中,资源信息可以从加载器中获取。
所获取到的资源信息可以包括资源属性数据。在一些情况下,例如,当新资源联机、通电或者在DRM***中可用时,资源属性数据可以包括关于新资源的数据。
在一些情况下,资源属性数据可以包括关于已经编入索引、注册或DRM***已知的资源的数据。
在720处,基于获取到的资源信息,处理器101生成或更新一个或多个属性元素集。每个属性元素集提供关于每个索引资源的特定资源属性的信息,并且包括每个索引资源的元素。
在一些实施例中,资源属性元素集为一系列数据元素或者一种数据结构,该数据结构包括多个索引资源中每个索引资源的元素。每个资源属性元素集关联于资源属性,属性元素集内的每个元素提供关于元素索引对应的特定资源的关联资源属性的信息。
在730处,处理器101接收资源请求。可以从客户端设备/进程、应用或任意其它源接收资源请求。在一些示例中,资源请求可以是请求的一部分或源自请求,以便处理一个或多个工作负载。如本文描述的各示例所示,资源请求可以包括请求具有一个或多个属性的资源。
在一些示例中,资源请求可以包括标识请求方可能需要或优选的属性(例如名称、值、状态)的数据。
在一些示例中,资源请求可以包括关于资源位置的属性。例如,资源请求可以包括指示请求资源满足该请求而必须所在的机器/设备、机架、数据中心、网络和/或网络设备的请求属性。在一些实施例中,资源请求可以提供机器标识符、机架标识符、网络或子网地址,或者关联于资源的逻辑或物理位置的任何其它信息。
在其它实施例中,资源请求可以提供关联于数据的逻辑或物理位置、请求方将要访问/写入的存储器和/或数据存储设备的信息(例如工作负载)。例如,资源请求可以指示将要访问和/或写入关联于工作负载的数据的一个或多个位置或设备。
在一些实施例中,处理器101可以基于资源请求中包含的数据位置信息来标识、生成或使用一个或多个资源属性需求。例如,如果资源请求指示将要访问的数据位于节点A处,则处理器101可以标识、生成或使用必需或可选的请求资源属性,指示资源在节点A上或者在与节点A相同的机架或网络子网上。
在一些实施例中,处理器101可以类似地生成或标识其它类型的属性的资源属性需求。
在一些实施例中,资源请求可以包括标识列入黑名单属性或者需要或优选不关联于任意已分配资源的属性的数据。例如,资源请求可以包括指示资源不应该在主机3或主机6上的数据。
在740处,处理器101基于请求资源属性从DRM中的索引资源中标识一个或多个候选资源。在一些实施例中,处理器101选择和/或生成资源请求所标识的资源属性对应的资源元素集。
例如,如果资源请求请求具有GPU的资源并且该资源为主机1、主机2或主机4中的一个,则处理器选择GPU资源元素集,并且生成主机名称元素集,其对于主机1、主机2和主机4对应的索引处的元素具有‘1’、‘真’或其它值。
如果资源请求标识当前可用元素集不对应的属性,则在一些实施例中,处理器101可以生成新的资源属性元素集。在一些实例中,这可以包括获取额外资源信息和/或解析已经可用于DRM的信息。
在一些实施例中,处理器101只可以生成一部分新的资源属性集。例如,如果存在主机黑名单或白名单,则处理器只可以解析/获取关联于已经满足黑名单/白名单的资源的属性资源信息。在一些实例中,这可以仅通过处理全部数量的资源的子集的属性资源信息来减少标识候选资源所需的时间量。类似地,如果处理器101已经基于已经考虑过的属性排除了特定资源作为候选资源,则处理器101只可以解析/获取关联于尚未考虑消除的资源的属性资源信息。
在一些实施例中,属性元素集中对应于已经考虑消除的资源的元素可以设为空或留空。在一些实施例中,处理器101可以在任何时间内继续填充这些空元素。在一些实例中,这种方法可以通过允许继续标识候选资源和后续调度同时继续针对潜在未来请求填充当前资源请求不需要的元素来提高性能。
在一些实施例中,处理器101可以选择默认属性元素集包含在候选资源标识中。例如,可以默认选择指示资源是通电还是联机的属性元素集。
在一些实施例中,处理器101对选择的和/或生成的资源元素集执行元素运算以标识满足请求资源属性标准的候选资源。在一些实施例中,元素运算可以包括对关联于特定资源并且来自不同选择/生成元素集中的两个或更多属性元素执行操作。
在一些实施例中,元素之间的元素运算包括逻辑与和与非运算,或者任意其它合适的逻辑运算。在一些实施例中,执行元素运算可以包括对各个元素进行比较,例如字符串或数字比较。
元素运算的结果可以标识满足资源请求的属性需求的任意候选资源。例如,在一些实施例中,处理器101根据元素运算来生成候选资源元素集。候选资源元素集可以具有‘1’或真值以及关联于满足请求标准的资源的索引。
在750处,处理器101可以用于基于所标识的一个或多个候选资源来调度工作负载。在一些实施例,处理器101选择一个或多个候选资源来调度工作负载。该选择可以是随机的、基于负载或容量平衡、公平算法,或者任何其它算法或算法组合。
在一些实施例中,在调度过程之前标识候选资源可以通过减少资源数量来减少调度时间,这些资源必须由更复杂的调度算法来考虑,同时仍然实现有效的资源匹配,因为初始标识候选资源可以考虑***中的所有或大量资源。
如图7中的虚线所示,在一些场景或在另一实施例中,一种管理分布式资源管理***中的资源的示例方法700可以开始于730处。在一些实施例中,如上文示例涉及710和720所述或者通过任意其它机制,可能先前已经生成属性元素集。
图8示出了四个资源的两个示例属性元素集810a、810b。在本示例中,第一元素集810a提供资源是否包括GPU的信息。示例元素集810a包括四个元素830,每个元素830提供对应资源是否包括GPU的属性信息。在本示例中,第一和第二索引830a、830b对应的资源具有属性元素值1,指示它们有GPU,第三和第四索引830c、830d对应的资源具有属性元素值0,指示它们没有GPU。
类似地,结合第二示例元素集810b,第一、第三和第四索引对应的资源通电(具有元素值‘1’),而第二索引对应的资源断电(具有元素值‘0’)。
在图8的示例属性元素集810a、810b中,元素为各个比特(例如0或1)。然而,在其它示例中,元素可以是数字、字符、字符串、布尔值、标识符、从枚举集中选择的元素,或者任意其它合适的数据类型。在一些实施例中,属性元素集中索引处的元素可以为空或具有空值或其它类似值。
图9示出了列出计算***100中的多个资源150的信息的表格900。在示例场景中,当初始化计算***100的DRM***时,DRM***可能没有资源信息。在一些实施例中,DRM***可以具有空资源数据集,而没有资源属性元素集。
在一些实施例中,可以通过多个默认或标准资源属性元素集来初始化DRM***。在一些实例中,这些集可以关联于常常请求或通常需要的属性。默认或标准资源属性的示例包括:资源是否通电、资源是否有GPU、资源是否有大内存等。
在一些实施例中,DRM***可以跟踪一个或多个资源类型的资源属性元素集中的下一可用索引。当属性元素集为空时,下一可用索引可以是0或1或基于索引方案参考第一索引的任意其它值。
例如,如果DRM***中的处理器101获取主机1的资源信息,则处理器101生成或更新属性元素集810、资源数据集820和索引840。图10示出了可以在存储器中或计算***100中的数据存储设备上更新或存储的数据。在本示例中,获取主机1资源信息,存储在资源数据集820中,并且填充到资源属性元素集810中索引1处的元素中。在本示例中,主机1资源的机架位置视为另一资源类型,为机架1创建资源属性元素集,并且还创建机架索引。
在更新资源数据集820和属性数据集810时,递增索引变量840。
通过获取到的关于图9列出的其它示例资源,处理器101继续生成或更新属性元素集810和资源数据集820。图11示出了添加主机2资源信息之后的DRM资源。
图12示出了已经添加所有8个主机资源之后的DRM资源数据。在本示例中,当添加了关于位于机架2处的第一资源的信息时,添加第二机架资源机架2并且添加新的对应属性元素集。
虽然本示例中的资源使用阵列或系列中的属性元素集编入索引,但是在其它实施例中,资源属性可以使用内存地址、链接列表等编入索引。
在一些实施例中,资源可以是在不同的属性元素集中的不同索引位置处编入索引的属性元素。每个属性元素集的这些不同索引可以存储在资源数据集820中。
结合图12示出的DRM资源数据,接收示例资源请求。该资源请求包括指示请求资源必须有GPU并且必须不是主机3或主机6的数据。处理器101选择关联于GPU的属性元素集并且为不需要的主机生成黑名单属性元素集。
GPU属性元素集为“11001100”。通过在资源数据集820中查找主机3和主机6的ServerIndex值来生成黑名单属性元素集。这些ServerIndex值分别为3和6,这创建了黑名单属性元素集“00100100”。
通过执行“11001100”与非“00100100”的元素运算,所得元素集为“11001000”。该所得元素集指示值为‘1’的索引对应的资源为候选资源。在本示例中,候选资源为主机1、主机2和主机5。如果资源需要额外的资源属性,则可以将额外元素集纳入元素运算中。
在一些实施例中,标识候选资源时可以默认包括一些属性元素集。例如,可以始终将通电属性元素集纳入元素运算中。在上述示例中,处理器101将执行与“10111110”和“11001000”的元素运算,这将生成候选元素集“10001000”。在一些实施例中,执行属性元素集操作的顺序可以变化。
在一些实例中,通过执行简单的元素运算,DRM***可以检查大量资源以在较短的时间内确定哪些资源具有请求属性。
在没有属性元素集的另一方法中,资源信息可以存储在类似于图12示出的资源数据集820的表格中。为了确定哪些资源满足请求属性标准,***将必须遍历整个资源表格,并且分别检查每个资源是否匹配所有属性标准。在一些实例中,这可能是一个漫长且耗时的过程,尤其是随着***中的资源增加。在一些方法中,为了限制遍历***中所有资源所需的时间量,只考虑资源的一个子集。然而,这会导致次优调度和资源分配。
相反,在一些实施例中,当添加新资源(将单个元素添加到运算)时,属性元素集和诸如位运算之类的等简单运算的使用可以相对快速地进行计算并且具有较低的增量计算成本。因此,在一些实例中,可以考虑计算***100中的大量或全部资源。
基于候选资源的列表,处理器101使用一个或多个候选资源来调度工作负载。通过使用属性元素集来标识候选资源,在一些实例中,即使已经考虑了所有资源,也可以减少调度算法的调度空间。这种较小的调度空间会带来更快和潜在更优的调度。在一些实例中,这可以提高DRM***的吞吐量和/或性能。
在用于考虑数据局部性的***中,处理器可以在标识的候选资源上应用任意数量的数据局部性感知调度算法。例如,公平共享和容量调度器可能试图在不同用户和/或组织之间公平分发资源150。在一些实施例中,延迟调度、Quincy调度、基于概率的调度和/或平衡约简调度可以应用于候选资源。
在上述示例中,属性元素集中的元素示为比特。在多数实例中,使用比特的内存效率最高(例如15000个资源的属性可以只使用15000个比特来建模),并且可以具有最快的元素运算计算时间。然而,在其它实施例中,元素可以是数字、字符、字符串、布尔值、标识符、从枚举集中选择的元素,或者任意其它合适的数据类型。
例如,处理器101可以生成并维护针对内存大小的属性元素集。结合图9,属性元素集可以是{128,128,64,64,64,64,64,64}。如果资源请求需要128GB内存的资源,则在一些实施例中,处理器可以对所需属性和内存属性集中的元素进行元素级比较。这将生成新的属性元素集{1,1,0,0,0,0,0,0},表示具有128GB内存的属性。该属性元素集可以用在后续元素运算中和/或可以存储为未来资源请求的属性元素集。
在一些实施例中,处理器101可以生成针对内存大小或另一属性的多个属性元素集。例如,处理器101可以在预测不同内存大小的资源请求中生成“具有128GB内存”的属性集{1,1,0,0,0,0,0,0}和“具有64GB内存”的属性集{1,1,1,1,1,1,1,1}。
在一些实施例中,资源请求可以包括标识必选资源属性和优选或可选资源属性的数据。为了处理这种请求,DRM***中的处理器101首先通过标识必选资源属性对应的属性元素集并对其执行元素运算来生成候选资源元素集。
通过该候选资源元素集,处理器然后标识一个或多个可选资源属性对应的属性元素集并对其执行元素运算。在一些实施例中,按顺序应用关联于不同可选属性的属性元素集。在一些示例中,该顺序基于由于属性产生的权重或重要性因素。在一些示例中,这些权重基于工作负载类型,同时在一些实例中可以包含在资源请求中或者可以存储在DRM***处或由DRM***确定。
如果应用其中一个可选属性元素集导致空候选集,则在一些实施例中,处理器返回到先前的非空候选资源集并且继续评估任意额外的可选属性。
结合图13,在一些实施例中,可以使用请求元素集来建模资源请求。DRM***可以维护不同类型的请求属性的索引列表。例如,索引列表可以包括针对机架1310的索引,以便将不同机架映射到其元素索引,或者包括特殊资源1320的索引,以便将不同特殊资源映射到其元素索引。
如示例请求元素集1330所示,对于包括需要资源靠近机架1或机架2上的数据的属性的资源请求,处理器可以从请求中的信息中生成或接收元素集{1,1},该元素集对应于索引列表1310中的索引,还对应于图12中针对机架1和机架2的属性元素集810{1,1,1,1,0,0,0,0}和{1,1,1,1,0,0,0,0}。类似地,对特殊资源请求元素集1330{0,1}的请求对应于索引列表1320中的索引2,其标识GPU属性元素集{1,1,0,0,1,1,0,0}。
如上文示例所描述,每个资源对应于每个属性元素集的唯一索引。在基于云的环境或其它潜在动态的环境中,在任何时候,可以在***运行时将资源添加到计算***100中或从计算***100中移除。在一些实施例中,处理器101可以用于移除脱机资源及其索引、为新资源创建新索引、重新映射已经存在于***中的任意资源请求,和/或向任意请求方设备/进程和/或任意资源信息获取设备/进程传送任意索引变化。
例如,结合图12所示的资源数据,如果移除主机2,则处理器101将主机2从资源数据集820中移除。处理器101然后为一个或多个剩余资源重新编号或重新生成资源索引。
在一些实施例中,具有最大索引的资源可以重新分配给移除的索引。在一些情况下,这可以最小化所需重新编号的次数。如图14所示,主机8的ServerIndex已经在资源数据集820x中更改为2,先前在属性元素集810x中的索引=8处的元素已经移动到索引=2,并且已经递减nextServerIndex 840x。
基于先前索引状态(主机2仍编入索引)已经编入索引的接收但未处理的资源请求还可以如请求元素集1330x所示进行更新。
图15示出了管理资源150的示例计算***1500或示例设备200的示意图。
在一些实施例中,计算***1500或设备200可以包括一个或多个处理器101、存储器1520、输入/输出接口1530、输入设备1540、资源150和/或适合于执行本文描述的方法和功能的各方面或其中涉及的任意其它组件或机制。
在一些实施例中,计算***1500可以包括一个或多个设备200或***,它们提供机制、控制器、设备和/或通信链路来执行本文描述的方法和功能的各方面。例如,计算***1500可以包括一个或多个计算机、服务器和控制设备,用于运行工作负载或用于访问、控制、监控或使用资源150。在一些实施例中,示例设备200或计算***1500可以是独立计算机、服务器、移动设备、大型主机、超级计算机、计算阵列或用于执行工作负载和/或管理资源的其它计算设备。
在一些实施例中,资源150可以针对特定设备并且可以仅由设备200上的工作负载使用。一些资源150可以是在不同设备上执行的工作负载能够访问和/或使用的共享资源150。资源150可以是弹性或非弹性的。弹性资源可以是工作负载通过时间共享方式使用的或者在工作负载的整个生命周期内不能持续使用的资源150。弹性资源的示例包括CPU周期和网络带宽。
非弹性资源可以包括资源150,这些资源一旦分配给工作负载就不能被其它工作负载共享或使用,除非第一工作负载完成或主动释放该资源150。非弹性资源的示例包括易失存储器、存储设备空间、交换空间和软件许可证。
资源150可以通过诸如内部总线或信号线等一个或多个连接或者通过通信接口和/或网络进行访问、监控或使用。
每个处理器101可以是,例如任意类型的通用微处理器或微控制器、中央处理器或图形处理器、数字信号处理(digital signal processing,DSP)处理器、集成电路、现场可编程门阵列(field programmable gate array,FPGA)、可重构处理器、可编程只读存储器(programmable read-only memory,PROM),或它们的任意组合。
存储器1520可以包括位于内部或外部(例如联网或***)的任意类型的计算机存储器中的一个或组合,例如硬盘、闪存、固态存储器、网络存储设备、随机存取存储器(random-access memory,RAM)、超速缓存内存、只读存储器(read-only memory,ROM)、或只读光盘(compact disc read-only memory,CD-ROM)、电光存储器、磁光存储器、可擦除可编程只读存储器(erasable programmable read-only memory,EPROM)和电可擦除可编程只读存储器(electrically-erasable programmable read-only memory,EEPROM)、铁电RAM(Ferroelectric RAM,FRAM)、非瞬时性计算机可读介质,等等。这些设备提供的存储器和存储设备可以是计算***1500管理的资源。
在一些示例中,存储器1520可以包括用于实施、控制或指示DRM组件、工作负载和/或资源的数据或指令集合。存储器1520还可以包括用于配置设备200或计算***1500中的一个或多个处理器和其它组件来执行本文描述的任意方法和功能的指令或代码。
一些输入/输出(input/output,I/O)接口1530可以使设备200或***10能够与一个或多个输入设备或者一个或多个输出设备互连,输入设备包括键盘、鼠标、摄像机、触摸屏和麦克风,输出设备包括显示屏或扬声器。在一些实施例中,I/O接口1530还可以包括网络接口,使设备200或计算***1500的各方面能够进行以下操作:与其它组件(例如其它设备、DRM组件或资源)通信、与其它组件交换数据、访问和连接到网络资源、服务应用并且通过连接到一个或多个有线或无线网络来执行其它计算应用,有线或无线网络能够携带数据并且包括互联网、以太网、传统电话业务(plain old telephone service,POTS)线路、公共交换电话网络(public switched telephone network,PSTN)、综合业务数字网(integrated services digital network,ISDN)、数字用户线(digital subscriberline,DSL)、同轴电缆、光纤、卫星、移动手机、无线电(例如Wi-Fi、WiMAX)、SS7信令网络、蓝牙TM、近场通信(near field communication,NFC)、固定线路、局域网、广域网、总线和其它,同时包括这些项的任意组合。
在一些示例中,一个或多个I/O接口1530使设备200或计算***1500能够与资源150或另一设备或***进行通信或互连,或者指示、控制或监控资源150或另一设备或***。
在一些实施例中,设备200和/或计算***1500可以包括输入或输出设备,例如键盘、鼠标、摄像机、触摸屏、麦克风、显示器等。例如,计算设备或打印设备可以包括小键盘、触摸屏或其它集成、***或链接输入或输出设备。输入设备可以用于接收指令以运行工作负载或改变DRM设置。输出设备可以用于显示或输出工作负载结果、工作负载状态、资源信息等。
在一些实例中,本文描述的一些实施例的各方面可以考虑***中的所有资源以减少用于调度工作负载的候选资源的数量。在一些场景下,这可以减少调度时间同时有可能增加性能因素,例如吞吐量和数据局部性指标。
通过模拟,已经观察到,基于本文描述的属性元素集的示例***的集群吞吐量比容量算法调度器的高。属性元素集方法的吞吐量优势随着***中的节点数量从200增加到10000而增加。
还观察到,基于本文描述的属性元素集的示例***比基于容量或公平算法的调度器具有更高的节点本地数据局部性命中率。
本文中所公开的实施例可通过使用硬件或软件或其某一组合而实施。基于此类理解,技术方案可以软件产品的形式体现。软件产品可以存储在非易失性或非瞬时性存储介质中,非易失性或非瞬时性存储介质可以是只读光盘(compact disk read-only memory,CD-ROM)、USB闪存盘、移动硬盘、闪存、硬盘等。软件产品包括使计算设备(计算机、服务器、大型主机或网络设备)能够执行本文所提供的方法的多个指令。
可将程序代码应用于输入数据以执行本文描述的功能并生成输出信息。该输出信息应用于一个或多个输出设备。在一些实施例中,通信接口可以是网络通信接口。在组合元件的实施例中,通信接口可以是软件通信接口,例如用于进程间通信的软件通信接口。在其它实施例中,可存在实施为硬件、软件和/或其组合的通信接口的组合。
每个计算机程序可存储在存储介质或设备(例如,ROM、磁盘、光盘)上,可由通用或专用可编程计算机读取,用于在计算机读取该存储介质或设备时配置且操作所述计算机以执行本文描述的过程。还可考虑将***的实施例实施为配置有计算机程序的非瞬时性计算机可读存储介质,其中如此配置的存储介质使计算机以特定和预定方式运行,从而执行本文描述的功能。
此外,所描述的实施例的***和方法能够分布在包含物理非瞬时性计算机可读介质的计算机程序产品中,所述介质带有针对一个或多个处理器的计算机可用指令。该介质可以各种形式提供,包含一个或多个磁盘、光盘、磁带、芯片、磁性和电子存储介质、易失性存储器、非易失性存储器等等。非瞬时性计算机可读介质可包含所有计算机可读介质,除了瞬时传播信号。术语“非瞬时性”并不意图排除主存、易失性存储器、RAM等等计算机可读介质,其中存储其上的数据可仅为临时存储。计算机可用指令还可呈各种形式,包含编译的和非编译的代码。
本发明可以大量提及服务器、服务、接口、端口、平台或由硬件设备形成的其它***。应了解,此类术语的使用被认为表示具有用于执行软件指令的至少一个处理器的一个或多个设备,所述软件指令存储在计算机可读的有形的非瞬时性介质上。应进一步了解,所公开的基于计算机的算法、过程、方法或其它类型的指令集可体现为包括非瞬时性有形的计算机可读介质的计算机程序产品,所述计算机可读介质存储使得处理器执行所公开的步骤的指令。
本文描述了各种示例实施例。虽然每个实施例表示发明元件的单个组合,但发明主题视为包含所公开的元件的所有可能组合。因此,如果一个实施例包括元件A、B和C,第二实施例包括元件B和D,则还考虑发明主体包括A、B、C或D的所有其它剩余组合,即使未明确公开。
本文描述的实施例通过物理计算机硬件实施例实施。本文描述的实施例提供适用的物理机器,且尤其是计算设备、服务器、处理器、存储器、网络等配置好的计算机硬件布置。举例来说,本文描述的实施例是针对计算机装置以及由计算机通过电子数据信号的处理和转换而实施的方法。
本文描述的实施例可涉及通过特别配置以实施各种动作的计算设备、服务器、接收器、传输器、处理器、存储器、显示器、网络。本文描述的实施例是针对用于处理和转换表示不同类型的信息的电磁信号的电子机器。本文描述的实施例普遍地且一贯地涉及机器及其用途;且本文描述的实施例在与计算机硬件、机器、各种硬件组件一同使用之外没有意义或实际可应用性。
使用心理步骤等把通过特别配置以实施各种动作的计算设备、服务器、接收器、发射器、处理器、存储器、显示器、网络替换成非物理硬件可能极大影响所述实施例起作用的方式。
此类硬件限制明显是本文描述的实施例的必要元件,且其在对本文描述的实施例的操作和结构没有实质影响的情况下无法省去或替换成期望装置。该硬件对于本文描述的实施例是必要的,且并非仅用于迅速地以有效方式执行步骤。
虽然已详细地描述了本发明及其优点,但是应理解,可以在不脱离如所附权利要求书所界定的本发明的情况下对本发明做出各种改变、替代和更改。
此外,本发明的范围并不局限于说明书中所述的过程、机器、制造、物质组分、构件、方法和步骤的特定实施例。所属领域的一般技术人员可从本发明中轻易地了解,可根据本发明使用现有的或即将开发出的,具有与本文所描述的相应实施例实质相同的功能,或能够取得与所述实施例实质相同的结果的过程、机器、制造、物质组分、构件、方法或步骤。相应地,所附权利要求范围旨在包括这些流程、机器、制造、物质组分、构件、方法或步骤。

Claims (20)

1.一种管理分布式资源管理***中的资源的方法,其特征在于,所述方法包括:
所述分布式资源管理***中的至少一个处理器接收资源请求,所述资源请求包括标识至少一个请求资源属性的数据;
通过对所述至少一个请求资源属性对应的一个或多个资源属性元素集执行元素运算,从多个资源中标识一个或多个候选资源,每个资源属性元素集包括所述多个资源中的每个资源的元素,每个元素表示所述多个资源中的相应资源的资源属性;以及
基于所述一个或多个标识的候选资源来调度关联于所述资源请求的工作负载以进行执行操作。
2.根据权利要求1所述的方法,其特征在于,包括:
获取关于所述多个资源中的一个或多个资源的资源属性数据;以及
基于所述获取到的资源属性数据来生成或更新至少一个所述资源属性元素集。
3.根据权利要求1至2中任一项所述的方法,其特征在于,包括:
获取新资源的资源属性数据;
基于所述获取到的资源属性数据,将新资源索引处的新元素添加到每个属性元素集中;以及
将所述新资源索引存储在关联于所述新资源的资源数据集中。
4.根据权利要求3所述的方法,其特征在于,包括:
当所述新资源的所述资源属性数据包括表示当前不关联于属性元素集的属性的数据时,生成新属性元素集并且将下一资源索引处的新元素添加到所述新属性元素集中。
5.根据权利要求1至4中任一项所述的方法,其特征在于,一个或多个所述资源属性元素集是比特集,以及标识所述一个或多个候选资源包括对一个或多个所述资源属性元素集执行位运算。
6.根据权利要求1至5中任一项所述的方法,其特征在于,所述资源请求包括标识以下中至少一个的数据:所述关联于所述资源请求的工作负载所需的数据所在的节点、机架或数据中心。
7.根据权利要求1至6中任一项所述的方法,其特征在于,当所述资源请求标识至少一个所需资源属性和至少一个可选资源属性时,从所述多个资源中标识所述一个或多个候选资源包括:
通过对所述至少一个所需资源属性对应的一个或多个资源属性元素集执行元素运算,生成属性资源候选元素集;以及
对所述属性资源候选元素集和所述至少一个可选资源属性对应的至少一个所述资源属性集执行元素运算。
8.根据权利要求1至7中任一项所述的方法,其特征在于,包括:通过对所述至少一个请求资源属性对应的所述一个或多个资源属性元素集以及默认属性元素集执行元素运算,从所述多个资源中标识所述一个或多个候选资源。
9.根据权利要求1至8中任一项所述的方法,其特征在于,所述至少一个请求资源属性包括资源位置、网络地址、资源状态或资源能力。
10.一种***,其特征在于,包括:
管理资源的至少一个处理器,所述至少一个处理器用于:
接收资源请求,所述资源请求包括标识至少一个请求资源属性的数据;
通过对所述至少一个请求资源属性对应的一个或多个资源属性元素集执行元素运算,从多个资源中标识一个或多个候选资源,每个资源属性元素集包括所述多个资源中的每个资源的元素,每个元素表示所述多个资源中的相应资源的资源属性;以及
基于所述一个或多个标识的候选资源来调度关联于所述资源请求的工作负载以进行执行操作。
11.根据权利要求10所述的***,其特征在于,所述至少一个处理器用于:
获取关于所述多个资源中的一个或多个资源的资源属性数据;以及
基于所述获取到的资源属性数据来生成或更新至少一个所述资源属性元素集。
12.根据权利要求10至11中任一项所述的***,其特征在于,所述至少一个处理器用于:
获取新资源的资源属性数据;
基于所述获取到的资源属性数据,将新资源索引处的新元素添加到每个属性元素集中;以及
将所述新资源索引存储在关联于所述新资源的资源数据集中。
13.根据权利要求12所述的***,其特征在于,所述至少一个处理器用于:
当所述新资源的所述资源属性数据包括表示当前不关联于属性元素集的属性的数据时,生成新属性元素集并且将下一资源索引处的新元素添加到所述新属性元素集中。
14.根据权利要求10至13中任一项所述的***,其特征在于,一个或多个所述资源属性元素是比特集,以及标识所述一个或多个候选资源包括对一个或多个所述资源属性元素集执行位运算。
15.根据权利要求10至14中任一项所述的***,其特征在于,所述资源请求包括标识以下中至少一个的数据:所述关联于所述资源请求的工作负载所需的数据所在的节点、机架或数据中心。
16.根据权利要求10至15中任一项所述的***,其特征在于,当所述资源请求标识至少一个所需资源属性和至少一个可选资源属性时,从所述多个资源中标识所述一个或多个候选资源包括:
通过对所述至少一个所需资源属性对应的一个或多个资源属性元素集执行元素运算,生成属性资源候选元素集;以及
对所述属性资源候选元素集和所述至少一个可选资源属性对应的至少一个所述资源属性集执行元素运算。
17.根据权利要求10至16中任一项所述的***,其特征在于,所述至少一个处理器用于:通过对所述至少一个请求资源属性对应的所述一个或多个资源属性元素集以及默认属性元素集执行元素运算,从所述多个资源中标识所述一个或多个候选资源。
18.根据权利要求10至17中任一项所述的***,其特征在于,所述至少一个请求资源属性包括资源位置、网络地址、资源状态或资源能力。
19.一种非瞬时性计算机可读介质,其特征在于,具有存储在其上的计算机可读指令,当由至少一个处理器执行时,所述计算机可读指令配置所述至少一个处理器用于:
接收资源请求,所述资源请求包括标识至少一个请求资源属性的数据;
通过对所述至少一个请求资源属性对应的一个或多个资源属性元素集执行元素运算,从多个资源中标识一个或多个候选资源,每个资源属性元素集包括所述多个资源中的每个资源的元素,每个元素表示所述多个资源中的相应资源的资源属性;以及
基于所述一个或多个标识的候选资源来调度关联于所述资源请求的工作负载以进行执行操作。
20.根据权利要求19所述的介质,其特征在于,一个或多个所述资源属性元素是比特集,以及标识所述一个或多个候选资源包括对一个或多个所述资源属性元素集执行位运算。
CN201780005572.0A 2016-04-29 2017-04-26 分布式资源管理***和方法 Active CN108431796B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/142,029 US10305815B2 (en) 2016-04-29 2016-04-29 System and method for distributed resource management
US15/142,029 2016-04-29
PCT/CN2017/082027 WO2017186123A1 (en) 2016-04-29 2017-04-26 System and method for distributed resource management

Publications (2)

Publication Number Publication Date
CN108431796A true CN108431796A (zh) 2018-08-21
CN108431796B CN108431796B (zh) 2020-09-29

Family

ID=60159158

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780005572.0A Active CN108431796B (zh) 2016-04-29 2017-04-26 分布式资源管理***和方法

Country Status (4)

Country Link
US (1) US10305815B2 (zh)
EP (1) EP3400535B1 (zh)
CN (1) CN108431796B (zh)
WO (1) WO2017186123A1 (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109063199A (zh) * 2018-09-11 2018-12-21 广州神马移动信息科技有限公司 资源过滤方法及其装置、电子设备、计算机可读介质
CN109375872A (zh) * 2018-09-27 2019-02-22 腾讯科技(深圳)有限公司 数据访问请求的处理方法、装置和设备及存储介质
CN110413410A (zh) * 2019-07-17 2019-11-05 深圳前海微众银行股份有限公司 一种集群中资源管理的方法及装置
CN112689300A (zh) * 2021-03-16 2021-04-20 成都极米科技股份有限公司 管理应用和执行单元的方法、装置、***及介质
CN113553306A (zh) * 2021-07-27 2021-10-26 重庆紫光华山智安科技有限公司 数据处理方法及数据存储管理***

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170063708A1 (en) * 2015-09-01 2017-03-02 International Business Machines Corporation Resource exchange service transaction for cloud computing
US10390114B2 (en) 2016-07-22 2019-08-20 Intel Corporation Memory sharing for physical accelerator resources in a data center
US20180150256A1 (en) 2016-11-29 2018-05-31 Intel Corporation Technologies for data deduplication in disaggregated architectures
US20180219765A1 (en) 2017-01-31 2018-08-02 Waltz Networks Method and Apparatus for Network Traffic Control Optimization
US10778528B2 (en) 2017-02-11 2020-09-15 Nicira, Inc. Method and system of connecting to a multipath hub in a cluster
CN107729154A (zh) * 2017-11-09 2018-02-23 北京小米移动软件有限公司 资源分配方法及装置
US20220407773A1 (en) * 2021-06-18 2022-12-22 Vmware, Inc. Method and apparatus for deploying tenant deployable elements across public clouds based on harvested performance metrics of sub-types of resource elements in the public clouds
US12015536B2 (en) 2021-06-18 2024-06-18 VMware LLC Method and apparatus for deploying tenant deployable elements across public clouds based on harvested performance metrics of types of resource elements in the public clouds
US12020080B2 (en) 2021-08-02 2024-06-25 International Business Machines Corporation Automated resource request mechanism for heterogeneous infrastructure using profiling information
US20230094384A1 (en) * 2021-09-28 2023-03-30 Advanced Micro Devices, Inc. Dynamic allocation of platform resources
US11943146B2 (en) 2021-10-01 2024-03-26 VMware LLC Traffic prioritization in SD-WAN
WO2023170961A1 (ja) * 2022-03-11 2023-09-14 日本電信電話株式会社 データ処理装置、方法およびプログラム
US11909815B2 (en) 2022-06-06 2024-02-20 VMware LLC Routing based on geolocation costs

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003023665A1 (en) * 2001-09-13 2003-03-20 British Telecommunications Public Limited Company Resource management method and apparatus
US20120215924A1 (en) * 2003-11-10 2012-08-23 Takashi Tameshige Computer resource distribution method based on prediction
CN101873592B (zh) * 2010-06-30 2012-09-05 北京航空航天大学 一种异构无线设备的动态管理装置
CN104506460A (zh) * 2014-12-29 2015-04-08 迈普通信技术股份有限公司 一种实现napt端口资源分配的方法
US20150358402A1 (en) * 2014-06-10 2015-12-10 Alcatel-Lucent Usa, Inc. Efficient and scalable pull-based load distribution
CN105373431A (zh) * 2015-10-29 2016-03-02 武汉联影医疗科技有限公司 一种计算机***资源的管理方法及计算机资源管理***

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7603464B2 (en) 2003-06-04 2009-10-13 Sony Computer Entertainment Inc. Method and system for identifying available resources in a peer-to-peer network
US7302450B2 (en) 2003-10-02 2007-11-27 International Business Machines Corporation Workload scheduler with resource optimization factoring
US8005834B2 (en) * 2003-12-09 2011-08-23 International Business Machines Corporation Method and apparatus to map associations with BitSets
US9703285B2 (en) 2006-04-27 2017-07-11 International Business Machines Corporation Fair share scheduling for mixed clusters with multiple resources
US8954667B2 (en) * 2010-01-28 2015-02-10 Cleversafe, Inc. Data migration in a dispersed storage network
US8539036B2 (en) * 2011-03-18 2013-09-17 Juniper Networks, Inc. Modular transparent proxy cache
US9092266B2 (en) 2011-12-13 2015-07-28 Microsoft Technology Licensing, Llc Scalable scheduling for distributed data processing
CN102945161A (zh) 2012-10-24 2013-02-27 中国航空工业集团公司西安飞机设计研究所 一种基于嵌入式***的格式化页面显示控制实现方法
WO2014068707A1 (ja) * 2012-10-31 2014-05-08 擴張世界有限公司 コンテンツ配信システム、プログラムおよびコンテンツ配信方法
CN103617472B (zh) 2013-07-09 2016-10-26 成都希盟泰克科技发展有限公司 多项目多任务管理中的资源平衡自适应调度方法
US20170132042A1 (en) 2014-04-23 2017-05-11 Hewlett Packard Enterprise Development Lp Selecting a platform configuration for a workload
US10833940B2 (en) * 2015-03-09 2020-11-10 Vapor IO Inc. Autonomous distributed workload and infrastructure scheduling
EP3073732B1 (en) * 2015-03-27 2017-06-07 Ale International A method for allocating a video conferencing task to a processing device
US9864601B2 (en) * 2015-03-31 2018-01-09 Vmware, Inc. Resource management in distributed computer systems using dispersion rules
US11665105B2 (en) * 2016-08-28 2023-05-30 Vmware, Inc. Policy-based resource-exchange life-cycle in an automated resource-exchange system

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003023665A1 (en) * 2001-09-13 2003-03-20 British Telecommunications Public Limited Company Resource management method and apparatus
US20120215924A1 (en) * 2003-11-10 2012-08-23 Takashi Tameshige Computer resource distribution method based on prediction
CN101873592B (zh) * 2010-06-30 2012-09-05 北京航空航天大学 一种异构无线设备的动态管理装置
US20150358402A1 (en) * 2014-06-10 2015-12-10 Alcatel-Lucent Usa, Inc. Efficient and scalable pull-based load distribution
CN104506460A (zh) * 2014-12-29 2015-04-08 迈普通信技术股份有限公司 一种实现napt端口资源分配的方法
CN105373431A (zh) * 2015-10-29 2016-03-02 武汉联影医疗科技有限公司 一种计算机***资源的管理方法及计算机资源管理***

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109063199A (zh) * 2018-09-11 2018-12-21 广州神马移动信息科技有限公司 资源过滤方法及其装置、电子设备、计算机可读介质
CN109063199B (zh) * 2018-09-11 2022-10-25 优视科技有限公司 资源过滤方法及其装置、电子设备、计算机可读介质
CN109375872A (zh) * 2018-09-27 2019-02-22 腾讯科技(深圳)有限公司 数据访问请求的处理方法、装置和设备及存储介质
CN109375872B (zh) * 2018-09-27 2020-07-24 腾讯科技(深圳)有限公司 数据访问请求的处理方法、装置和设备及存储介质
CN110413410A (zh) * 2019-07-17 2019-11-05 深圳前海微众银行股份有限公司 一种集群中资源管理的方法及装置
WO2021008569A1 (zh) * 2019-07-17 2021-01-21 深圳前海微众银行股份有限公司 一种集群中资源管理的方法及装置
CN110413410B (zh) * 2019-07-17 2022-09-16 深圳前海微众银行股份有限公司 一种集群中资源管理的方法及装置
CN112689300A (zh) * 2021-03-16 2021-04-20 成都极米科技股份有限公司 管理应用和执行单元的方法、装置、***及介质
CN113553306A (zh) * 2021-07-27 2021-10-26 重庆紫光华山智安科技有限公司 数据处理方法及数据存储管理***

Also Published As

Publication number Publication date
EP3400535A1 (en) 2018-11-14
US10305815B2 (en) 2019-05-28
CN108431796B (zh) 2020-09-29
EP3400535B1 (en) 2020-02-26
EP3400535A4 (en) 2018-12-26
US20170317945A1 (en) 2017-11-02
WO2017186123A1 (en) 2017-11-02

Similar Documents

Publication Publication Date Title
CN108431796A (zh) 分布式资源管理***和方法
Ghobaei-Arani et al. A cost-efficient IoT service placement approach using whale optimization algorithm in fog computing environment
Yahia et al. Comprehensive survey for cloud computing based nature-inspired algorithms optimization scheduling
US10936589B1 (en) Capability-based query planning for heterogenous processing nodes
Huang et al. A chaos control optimal algorithm for QoS-based service composition selection in cloud manufacturing system
CN109426647A (zh) 用于协调解聚的加速器装置资源的技术
Memari et al. A latency-aware task scheduling algorithm for allocating virtual machines in a cost-effective and time-sensitive fog-cloud architecture
US9582377B1 (en) Dynamic sizing of storage capacity for a remirror buffer
CN106933669A (zh) 用于数据处理的装置和方法
CN108701132A (zh) 资源管理***和方法
CN112532669B (zh) 一种网络边缘计算方法、装置及介质
CN105683918A (zh) 分布式***中的集中式联网配置
Pham et al. Applying Ant Colony System algorithm in multi-objective resource allocation for virtual services
CN106708625A (zh) 一种基于最小费用最大流的大规模资源调度***及方法
CN106856438A (zh) 一种网络业务实例化的方法、装置及nfv***
Li et al. Resource scheduling based on improved spectral clustering algorithm in edge computing
CN105940636A (zh) 用于云数据中心分析的技术
He [Retracted] Cloud Computing Load Balancing Mechanism Taking into Account Load Balancing Ant Colony Optimization Algorithm
Ghobaei‐Arani et al. Deploying IoT services on the fog infrastructure: a graph partitioning‐based approach
CN116700933B (zh) 一种面向异构算力联邦的多集群作业调度***和方法
Imdoukh et al. Optimizing scheduling decisions of container management tool using many‐objective genetic algorithm
Liu et al. KubFBS: A fine‐grained and balance‐aware scheduling system for deep learning tasks based on kubernetes
CN107528871A (zh) 存储***中的数据分析
US20230333880A1 (en) Method and system for dynamic selection of policy priorities for provisioning an application in a distributed multi-tiered computing environment
US20230333884A1 (en) Method and system for performing domain level scheduling of an application in a distributed multi-tiered computing environment using reinforcement learning

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
CB03 Change of inventor or designer information
CB03 Change of inventor or designer information

Inventor after: Guo Lei

Inventor after: Chen Li

Inventor after: Ke Xiaodai

Inventor after: Jason T.S. Lan

Inventor before: Guo Lei

Inventor before: Chen Chong

Inventor before: Ke Xiaodai

Inventor before: Jason T.S. Lan

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20220217

Address after: 550025 Huawei cloud data center, jiaoxinggong Road, Qianzhong Avenue, Gui'an New District, Guiyang City, Guizhou Province

Patentee after: Huawei Cloud Computing Technologies Co.,Ltd.

Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen

Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd.