Nothing Special   »   [go: up one dir, main page]

CN110058937B - 用于调度专用处理资源的方法、设备和介质 - Google Patents

用于调度专用处理资源的方法、设备和介质 Download PDF

Info

Publication number
CN110058937B
CN110058937B CN201810049267.8A CN201810049267A CN110058937B CN 110058937 B CN110058937 B CN 110058937B CN 201810049267 A CN201810049267 A CN 201810049267A CN 110058937 B CN110058937 B CN 110058937B
Authority
CN
China
Prior art keywords
dedicated processing
processing resource
resources
connection
processing resources
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.)
Active
Application number
CN201810049267.8A
Other languages
English (en)
Other versions
CN110058937A (zh
Inventor
赵军平
彭麟
应治
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.)
EMC Corp
Original Assignee
EMC IP Holding Co 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 EMC IP Holding Co LLC filed Critical EMC IP Holding Co LLC
Priority to CN201810049267.8A priority Critical patent/CN110058937B/zh
Priority to US16/245,500 priority patent/US10983828B2/en
Publication of CN110058937A publication Critical patent/CN110058937A/zh
Application granted granted Critical
Publication of CN110058937B publication Critical patent/CN110058937B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/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
    • G06F9/4887Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues involving deadlines, e.g. rate based, periodic
    • 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
    • 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
    • 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
    • G06F9/5066Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs
    • 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
    • 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/12Discovery or management of network topologies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • 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/78Architectures of resource allocation
    • H04L47/781Centralised allocation of resources
    • 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/78Architectures of resource allocation
    • H04L47/783Distributed allocation of resources, e.g. bandwidth brokers
    • H04L47/787Bandwidth trade among domains
    • 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/1029Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers using data related to the state of servers by a load balancer
    • 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/62Establishing a time schedule for servicing the requests
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/502Proximity

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本公开的实施例涉及用于调度专用处理资源的方法、设备和计算机程序产品。该方法包括响应于接收到针对多个专用处理资源的调度请求,获取所述多个专用处理资源的拓扑结构,所述拓扑结构基于与所述多个专用处理资源之间的连接有关的连接属性而被确定;以及基于所述拓扑结构,从所述多个专用处理资源中确定满足所述调度请求的目标专用处理资源。以此方式,提高了专用处理资源调度的性能和资源利用率。

Description

用于调度专用处理资源的方法、设备和介质
技术领域
本公开的实施例总体涉及资源调度,具体涉及调度专用处理资源的方法、设备和介质。
背景技术
近年来,高性能计算、机器学习、深度学习和人工智能等新兴技术快速发展。在当前的数据中心或云中,除了为这些新兴技术的工作负载提供中央处理单元(CPU)、存储装置等资源,还提供了诸如图形处理单元(GPU)、现场可编程门阵列(FPGA)等的专用处理资源,以满足这些新兴技术对于专用处理的需求。然而,为了更好地服务于这些新兴技术,还需要改进用于调度专用处理资源的技术。
发明内容
本公开的实施例提供了用于调度专用处理资源的方法、设备和计算机程序产品。
在本公开的第一方面,提供了一种用于调度专用处理资源的方法。该方法包括:响应于接收到针对多个专用处理资源的调度请求,获取该多个专用处理资源的拓扑结构,该拓扑结构基于与该多个专用处理资源之间的连接有关的连接属性而被确定;以及基于该拓扑结构,从该多个专用处理资源中确定满足该调度请求的目标专用处理资源。
在本公开的第二方面,提供了一种用于调度专用处理资源的设备。该设备包括至少一个处理单元和至少一个存储器。至少一个存储器被耦合到至少一个处理单元并且存储用于由至少一个处理单元执行的指令。该指令当由至少一个处理单元执行时使得设备执行动作,该动作包括:响应于接收到针对多个专用处理资源的调度请求,获取该多个专用处理资源的拓扑结构,该拓扑结构基于与该多个专用处理资源之间的连接有关的连接属性而被确定;以及基于该拓扑结构,从该多个专用处理资源中确定满足该调度请求的目标专用处理资源。
在本公开的第三方面,提供了一种计算机程序产品。计算机程序产品被有形地存储在非瞬态计算机可读介质上并且包括机器可执行指令,机器可执行指令在被执行时使机器实现根据本公开的第一方面所描述的方法的任意步骤。
提供发明内容部分是为了以简化的形式来介绍对概念的选择,它们在下文的具体实施方式中将被进一步描述。发明内容部分无意标识本公开的关键特征或必要特征,也无意限制本公开的范围。
附图说明
通过结合附图对本公开示例性实施例进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施例中,相同的参考标号通常代表相同部件。
图1示出了根据本公开的实施例的专用处理资源调度系统的示意图;
图2示出了根据本公开的实施例的用于调度专用处理资源的方法的流程图;
图3示出了根据本公开的实施例的专用处理资源的拓扑结构的示例的示意图;
图4示出了根据本公开的实施例的专用处理资源的拓扑结构的另一示例的示意图;
图5示出了根据本公开的实施例的用于调度专用处理资源的方法的详细示例的流程图;以及
图6示出了可以用来实施本公开内容的实施例的示例设备的示意性框图。
在各个附图中,相同或对应的标号表示相同或对应的部分。
具体实施方式
下面将参照附图更详细地描述本公开的优选实施例。虽然附图中显示了本公开的优选实施例,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
在本文中使用的术语“包括”及其变形表示开放性包括,即“包括但不限于”。除非特别申明,术语“或”表示“和/或”。术语“基于”表示“至少部分地基于”。术语“一个示例实施例”和“一个实施例”表示“至少一个示例实施例”。术语“另一实施例”表示“至少一个另外的实施例”。术语“第一”、“第二”等等可以指代不同的或相同的对象。下文还可能包括其他明确的和隐含的定义。
传统上,针对专用处理资源调度,没有考虑专用处理资源集群的拓扑结构。该拓扑结构涉及诸如专用处理资源服务器之间的连接方式和专用处理资源服务器内的专用处理资源与相关硬件资源的连接方式。在此情况下,也不存在评估该拓扑结构的方法。因此,无法利用专用处理资源集群的拓扑结构来配置和调度专用处理资源。例如,在客户端请求一定量的专用处理资源的情况下,无法利用专用处理资源集群的拓扑结构来以优化的方式配置和调度一定量的专用处理资源。
为了至少部分地解决上述问题以及其他潜在问题中的一个或者多个问题,本公开的示例实施例提出了一种用于调度专用处理资源的方案。该方案通过基于与专用处理资源集群中的专用处理资源的连接有关的连接属性来确定专用处理资源集群的拓扑结构。此外,该方案响应于接收到针对专用处理资源的调度请求,利用该拓扑结构来从该专用处理资源集群中确定满足该调度请求的专用处理资源。以此方式,可以利用专用处理资源集群的拓扑结构来以优化的方式配置和调度专用处理资源。由此,可以以智能和有效的方式提高专用处理资源调度系统的性能和资源利用率。
专用处理资源调度系统
图1示出了根据本公开的实施例的专用处理资源调度系统100的示意图。应当理解,如图1所示的专用处理资源调度系统100仅用于示例的目的,而不暗示对于本公开的范围的任何限制。本公开的实施例可以被体现在不同的结构中。
如图1所示,专用处理资源调度系统100包括一组专用处理资源服务器1101-110N(在下文中统称为专用处理资源服务器110),其中N为大于1的自然数。专用处理资源服务器1101-110N可以分别包括专用处理资源1151-115N(在下文中统称为专用处理资源115)。为了简化的目的,图中仅示出了一个专用处理资源服务器110包括一个专用处理资源,然而应当理解,一个专用处理资源服务器110可以包括多个专用处理资源。
专用处理资源服务器110可以通过网络120彼此连接。网络120可以例如但不限于基于传输控制协议(TCP)、远程直接数据存取(RDMA)等。例如,网络120可以是10/25/40/100GB的融合以太网RDMA(RDMA over Converged Ethernet,RoCE)/iWRAP/无限带宽技术(InifiniBand,IB)等。
注意,虽然在图1中示出了单独的专用处理资源服务器1101-110N及其上的专用处理资源1151-115N,然而专用处理资源服务器1101-110N和专用处理资源1151-115N可以被视为池化的和虚拟的可管理资源(如图1中的虚线框所示)。此外,专用处理资源服务器1101-110N可以具有不同配置。因此,与传统技术相比,包括多个专用处理资源服务器1101-110N的这样的专用处理资源集群是动态和共享的。
在某些实施例中,专用处理资源服务器1101-110N分别还可以包括服务器控制模块1171-117N(在下文中统称为服务器控制模块117)。服务器控制模块117可以管理针对专用处理资源服务器110中的专用处理资源115的调度请求,并且获取专用处理资源服务器110及其中的专用处理资源115的连接属性和诸如资源利用率等状态。
专用处理资源调度系统100还包括一组客户端1301-130M(在下文中统称为客户端130),其中M为大于1的自然数。在某些实施例中,客户端1301-130M可以分别包括客户端请求模块1351-135M(在下文中统称为客户端请求模块135),该客户端请求模块135用于在客户端130执行需要专用处理资源的处理之前请求专用处理资源服务器110中的专用处理资源115。
此外,专用处理资源调度系统100还包括调度模块140。调度模块140可以确定专用处理资源集群的拓扑结构,并且基于该拓扑结构来配置和调度专用处理资源。在下文中将结合图2来描述调度模块140的示例操作。
图2示出了根据本公开的实施例的用于调度专用处理资源的方法200的流程图。例如,方法200可以由如图1所示的调度模块140来执行。应当理解的是,该方法还可以包括未示出的附加步骤和/或可以省略所示出的步骤,本公开的范围在此方面不受限制。
在210,调度模块140确定是否接收到针对专用处理资源115的调度请求。在220,调度模块140响应于接收到针对专用处理资源115的调度请求,获取专用处理资源集群的拓扑结构。例如,调度模块140在通过网络120接收到客户端130发送的、针对专用处理资源的调度请求时,可以获取该拓扑结构。
拓扑结构基于与专用处理资源之间的连接有关的连接属性而被确定。在某些实施例中,拓扑结构可以基于以下两者而被确定:(1)与专用处理资源服务器110之间的连接有关的连接属性(在下文中称为第一连接属性)和(2)与单个专用处理资源服务器110中的专用处理资源115与相关硬件资源(诸如中央处理单元(CPU)和网卡等)的连接有关的连接属性(在下文中称为第二连接属性)。
可选地,在启用专用处理资源115到专用处理资源115的直接连接的情况下,拓扑结构还可以基于该直接连接的连接属性而被确定。可选地,拓扑结构还可以附加地基于专用处理资源115的利用率(负载状态)而被确定。在某些实施例中,这些连接属性和资源利率用可以由调度模块140从服务器控制模块117获取。
在230,调度模块140可以基于该拓扑结构从专用处理资源集群中确定满足调度请求的专用处理资源115(在下文中称为目标专用处理资源)。在下文中,将结合图5描述方法200的详细示例。
然后,调度模块140可以配置和调度所确定的目标专用处理资源。在某些实施例中,调度模块140可以向专用处理资源服务器110中的服务器控制模块117发送指示目标专用处理资源的调度响应,使得专用处理资源服务器110可以为客户端130提供其所需的专用处理资源量。备选地,调度模块140可以向客户端130发送指示目标专用处理资源的调度响应,使得客户端130可以根据调度响应向专用处理资源服务器110请求目标专用处理资源。
以此方式,专用处理资源调度系统100可以通过确定集群范围的、以专用处理资源为中心的拓扑结构,并且基于该拓扑结构来实现优化的专用处理资源调度,从而提高性能和资源利用率。
专用处理资源的拓扑结构
在下文中将结合图3和图4来描述根据本公开的实施例的专用处理资源的拓扑结构以及用于确定该拓扑结构的方法。例如,该方法可以由如图1所示的调度模块140来执行。应当理解的是,该方法还可以包括未示出的附加步骤和/或可以省略所示出的步骤,本公开的范围在此方面不受限制。
为了确定专用处理资源的拓扑结构,调度模块140可以从专用处理资源服务器110中的服务器控制模块117获取第一连接属性和第二连接属性中的至少一项。可选地,在启用专用处理资源115到专用处理资源115的直接连接的情况下,调度模块140还可以从服务器控制模块117获取该直接连接的连接属性。可选地,调度模块140还可以从服务器控制模块117获取专用处理资源115的利用率。
如上所述,第一连接属性可以是与专用处理资源服务器110之间的连接有关的连接属性。例如,第一连接属性可以指示多个专用处理资源服务器110之间的连接的延迟、带宽、吞吐量、传输速率、传输质量和/或网络利用率等。在某些实施例中,第一连接属性还可以指示专用处理资源服务器110与网络120中的网络设备(诸如交换机和路由器等)之间的连接有关的连接属性。
此外,第二连接属性可以是与单个专用处理资源服务器110中的专用处理资源115与相关硬件资源(诸如CPU和网卡等)的连接有关的连接属性。例如,第二连接属性可以指示单个专用处理资源服务器110中的专用处理资源115与相关硬件资源的连接的类型。
在某些实施例中,第二连接属性可以指示专用处理资源与CPU之间的连接的类型。例如,该连接的类型可以是如NVLink总线的内部总线、外围组件互连高速交换(PeripheralComponent Interconnect Express switch,PCIe switch)、直接PCIe连接(direct PCIeconnect)或快速通道互连(QuickPath Interconnect,QPI)等。在其他实施例中,第二连接属性可以指示专用处理资源与网卡之间的连接的类型。例如,该连接的类型可以是PCIeswitch等。
在某些实施例中,服务器控制模块117可以周期性地获取第一连接属性和第二连接属性,并且向调度模块140发送所获取的第一连接属性和第二连接属性。例如,针对第一连接属性,服务器控制模块117可以通过周期性地彼此通信,来获取与专用处理资源服务器110之间的连接有关的第一连接属性。针对第二连接属性,服务器控制模块117可以周期性地经由系统实用程序和/或专用处理资源驱动器实用程序来获取与单个专用处理资源服务器110内的与专用处理资源115和相关硬件资源之间的连接有关的第二连接属性。
然后,调度模块140可以基于所获取的第一连接属性和第二连接属性中的至少一项,确定专用处理资源的拓扑结构。在下文中将参考图3和图4描述确定该拓扑结构的两个示例。
图3示出了调度模块140基于第一连接属性和第二连接属性确定的拓扑结构300。如图3所示,在某些实施例中,调度模块140可以将拓扑结构300组织为图的形式。拓扑结构300包括一组节点3101-310N(在下文中统称为节点310)。调度模块140可以将专用处理资源服务器110确定为拓扑结构300中的节点310。例如,调度模块140可以将专用处理资源服务器1101确定为节点3101,将专用处理资源服务器1102确定为节点3102,并且将专用处理资源服务器110N确定为节点310N
可以理解,由于节点310是专用处理资源服务器110在拓扑结构300中的表示,因此节点310之间的连接(也可以称为边)可以表示专用处理资源服务器110之间的连接。
调度模块140可以基于第一连接属性确定多个节点310中存在连接的两个节点310之间的距离(边的距离)。该距离可以指示存在连接的两个节点310之间的连接的性能。换句话说,该距离可以指示存在连接的两个专用处理资源服务器110之间的连接的性能。在某些实施例中,距离可以以数值表示,其中较大的数值可以指示连接的性能较差,而较小的数值可以指示连接的性能较好。
此外,由于专用处理资源服务器110中还存在专用处理资源115与相关硬件资源的连接,因此节点310还可以包括子节点。调度模块140可以将单个专用处理资源服务器110中的专用处理资源115与相关硬件资源确定为子节点。
例如,调度模块140可以将专用处理资源服务器1101中的网卡确定为节点3101中的子节点320,并且将专用处理资源服务器1101中的专用处理资源确定为节点3101中的子节点3301-330I(在下文中统称为子节点330),其中I为大于1的自然数。类似地,调度模块140可以将专用处理资源服务器1102中的网卡确定为节点3102中的子节点340,并且将专用处理资源服务器1102中的专用处理资源确定为节点3102中的子节点3501-350J(在下文中统称为子节点350),其中J为大于1的自然数。
在某些实施例中,调度模块140可以将单个节点310中的子节点组织为树的形式。例如,调度模块140可以将与网卡对应的子节点(诸如子节点320和340)确定为根子节点。由于子节点是专用处理资源115和相关硬件资源的表示,因此子节点之间的连接(也可以称为边)可以表示专用处理资源与相关硬件资源之间的连接。
调度模块140可以基于第二连接属性确定多个子节点中存在连接的两个子节点之间的距离(边的距离)。该距离可以指示存在连接的两个子节点之间的连接的性能。换句话说,该距离可以指示存在连接的专用处理资源115与相关硬件资源之间的连接的性能。在某些实施例中,距离可以以数值表示,其中较大的数值可以指示连接的性能较差,而较小的数值可以指示连接的性能较好。
可选地,调度模块140还可以基于专用处理资源115的利用率来确定拓扑结构300。在某些实施例中,调度模块140可以基于专用处理资源115的利用率来对该专用处理资源115与另一专用处理资源115之间的连接的性能进行加权。例如,在专用处理资源1152的利用率高于预定阈值的情况下,即使专用处理资源1151与专用处理资源1152之间的连接的性能良好,也可能由于专用处理资源1152的高利用率而无法完全利用它们之间性能良好的连接。在此情况下,可以对它们之间的连接的性能(子节点3301和子节点3501之间的距离)进行惩罚性加权,例如,乘以75%。
虽然上文仅描述了调度模块140将专用处理资源115和网卡确定为子节点的情况,然而应当理解,在某些实施例中,调度模块140还可以将CPU确定为子节点,从而考虑专用处理资源115与CPU之间的连接的性能。备选地,调度模块140也可以将专用处理资源115与CPU之间的连接的性能作为与拓扑结构300相关联的附加信息。
在某些实施例中,以上述方式确定的拓扑结构300可以被存储在图形数据库中或键值数据库中。例如,当存储在键值数据库中时,键可以表示节点/子节点到另一个节点/子节点的连接,而值可以表示连接的性能。
由于拓扑结构300包含了指示专用处理资源115之间的连接和连接的性能的节点信息和边信息,因此调度模块140可以基于该拓扑结构300来确定专用处理资源集群中的任何两个专用处理资源115之间的连接的性能。
例如,在给定专用处理资源服务器1101中的专用处理资源1151和专用处理资源服务器1102中的专用处理资源1152的情况下,调度模块140可以基于以下三者来确定专用处理资源1151与专用处理资源1152之间的连接的性能:专用处理资源1151到专用处理资源服务器1101中的网卡的连接的性能(即子节点3301到子节点320的距离360)、该网卡到专用处理资源服务器1102中的另一网卡的连接的性能(即子节点320到子节点340的距离370)、和该另一网卡到专用处理资源1152的连接的性能(即子节点340到子节点3501的距离380)。
应当理解,由于专用处理资源服务器110通过网络120彼此连接,因此一个专用处理资源服务器110中的网卡到另一个专用处理资源服务器110中的另一网卡的连接的性能等价于一个专用处理资源服务器110到另一个专用处理资源服务器110的连接的性能。
例如,在某些实施例中,调度模块140可以基于上述三者中最差的性能(例如,距离值最大)来确定专用处理资源之间的连接的性能。备选地,调度模块140可以结合上述三者(例如,距离值之和)来确定专用处理资源之间的连接的性能。
如上所述,图3示出了将专用处理资源服务器110确定为拓扑结构300中的节点310的示例。然而,专用处理资源的拓扑结构不限于此。作为另一示例,图4示出了在启用专用处理资源的直接连接的情况下,将专用处理资源115确定为拓扑结构400中的节点的示例。
如图4所示,拓扑结构400包括一组节点4101-410K(在下文中统称为节点410),其中K为大于1的自然数。调度模块140可以将专用处理资源115确定为拓扑结构400中的节点410。例如,调度模块140可以将专用处理资源1151确定为节点4101,将专用处理资源1152确定为节点4102,并且将专用处理资源服务器115N确定为节点410K
可以理解,由于节点410是专用处理资源115在拓扑结构400中的表示,因此节点410之间的连接(也可以称为边)可以表示专用处理资源115之间的连接。调度模块140可以基于专用处理资源115之间的直接连接的连接属性,来确定多个节点410中存在连接的两个节点410之间的距离(边的距离)。该距离可以指示存在连接的两个节点410之间的连接的性能。换句话说,该距离可以指示存在连接的两个专用处理资源115之间的连接的性能。在某些实施例中,距离可以以数值表示,其中较大的数值可以指示连接的性能较差,而较小的数值可以指示连接的性能较好。
注意,虽然逻辑上专用处理资源115之间的直接连接的性能(距离)可以使用直接连接的连接属性来确定,然而物理上专用处理资源115之间的直接连接仍然取决于专用处理资源115与相同专用处理资源服务器110中的相关硬件资源的连接以及专用处理资源服务器110之间的连接。换句话说,专用处理资源115之间的直接连接的性能仍然取决于第一连接属性和第二连接属性。
可选地,调度模块140还可以基于专用处理资源115的利用率来确定拓扑结构400。在某些实施例中,调度模块140可以基于专用处理资源115的利用率来对该专用处理资源115与另一专用处理资源115之间的连接的性能进行加权。例如,在专用处理资源1152的利用率高于预定阈值的情况下,即使专用处理资源1151与专用处理资源1152之间的连接的性能良好,也可能由于专用处理资源1152的高利用率而无法完全利用它们之间性能良好的连接。在此情况下,可以对它们之间的连接的性能(节点4101和子节点4102之间的距离420)进行惩罚性加权,例如,乘以75%。
在某些实施例中,以上述方式确定的拓扑结构400可以被存储在图形数据库中或键值数据库中。例如,当存储在键值数据库中时,键可以表示节点到另一个节点的连接,而值可以表示连接的性能。
由于拓扑结构400包含了指示专用处理资源115之间的连接和连接的性能的节点信息和边信息,因此调度模块140可以基于该拓扑结构400来确定专用处理资源集群中的任何两个专用处理资源115之间的连接的性能。
以此方式,专用处理资源调度系统100可以确定集群范围的、以专用处理资源115为中心的拓扑结构。该拓扑结构包含了专用处理资源集群中的任何两个专用处理资源115的连接方式及连接性能的信息。因此,借助于该拓扑结构可以在集群范围上以优化的方式配置和调度专用处理资源,从而整体上提高专用处理资源调度系统的性能和资源利用率。
基于拓扑结构的专用处理资源调度
图5示出了根据本公开的实施例的用于调度专用处理资源的方法500的详细示例的流程图。例如,方法500可以由如图1所示的调度模块140来执行。应当理解的是,方法500是方法200的一种示例实现方式,然而方法200的实现方式不限于此。此外,方法500还可以包括未示出的附加步骤和/或可以省略所示出的步骤,本公开的范围在此方面不受限制。
在510,调度模块140在通过网络120接收到从客户端130发送的、针对专用处理资源115的调度请求时,可以获取以上述方式确定的专用处理资源115的拓扑结构。例如,该调度请求可以指示客户端130请求调度的专用处理资源的能力,诸如专用处理资源的数目。
在520,调度模块140可以确定专用处理资源集群中的一组可用专用处理资源。例如,调度模块140可以将离线的专用处理资源115确定为不可用。此外,调度模块140可以基于专用处理资源115的利用率来确定该专用处理资源115是否可用。调度模块140可以将利用率高于预定阈值的专用处理资源115确定为不可用。另外,在系统管理者指定一些专用处理资源115不可用的情况下,调度模块140可以将指定的那些专用处理资源115确定为不可用。
在530,调度模块140可以获取该组可用专用处理资源中的每个专用处理资源的利用率。备选地,调度模块140可以获取专用处理资源集群中的指定专用处理资源的利用率。例如,调度模块140可以获取由系统管理者指定的专用处理资源的利用率。
在540,调度模块140可以基于所获取的利用率,从该组可用专用处理资源选择专用处理资源候选集合。在某些实施例中,调度模块140可以从该组可用专用处理资源中,选择利用率低于预定阈值的可用专用处理资源作为专用处理资源候选集合。
在550,调度模块140基于调度请求中的所需资源量从专用处理资源候选集合确定目标专用处理资源。在某些实施例中,调度模块140可以基于所获取的拓扑结构300和/或400选择与专用处理资源候选集合的连接的性能高于预定阈值的专用处理资源,直到专用处理资源候选集合和所选择的专用处理资源的资源量满足所需资源量。例如,调度模块140可以基于最短路径算法来确定与专用处理资源候选集合的连接的性能最好(距离最短)的专用处理资源。最短路径算法包括但不限于Dijkstra算法、Bellman-Ford算法和Floyd算法等。调度模块140可以将该满足所需资源量的专用处理资源候选集合和所选择的专用处理资源确定为目标专用处理资源。
作为基于拓扑结构300和/或400调度专用处理资源115的具体示例,在客户端130发送的调度请求是请求5个专用处理资源的情况下,调度模块140选择利用率最低的一个可用专用处理资源作为专用处理资源候选集合。调度模块140可以基于所获取的拓扑结构300和/或400选择与该利用率最低的专用处理资源的连接的性能最好的另外4个专用处理资源。
在某些情况下,调度模块140可能仅能够选择与该利用率最低的专用处理资源的连接的性能最好的另外2个专用处理资源。在此情况下,调度模块140可以额外地选择利用率最低的另一个可用专用处理资源加入专用处理资源候选集合。调度模块140可以基于拓扑结构300和/或400选择与该另一个专用处理资源的连接的性能最好的另外1个专用处理资源,从而使得专用处理资源候选集合与所选择的专用处理资源能够满足所需资源量。
在某些实施例中,调度模块140可以确定满足所需资源量的多组专用处理资源。例如,满足所需资源量的第一组专用处理资源以及与该第一组专用处理资源不同的、也满足所需资源量的第二组专用处理资源。调度模块140可以基于各种因素来从该第一组专用处理资源和该第二组专用处理资源确定该目标专用处理资源。
在某些实施例中,调度模块140可以基于全局负载平衡来从第一组专用处理资源和第二组专用处理资源确定目标专用处理资源。例如,调度模块140可以更倾向于选择利用率低的一组专用处理资源作为目标专用处理资源来有助于全局负载平衡。
备选地,调度模块140可以基于连接成本来从该第一组专用处理资源和该第二组专用处理资源确定该目标专用处理资源。例如,在第一组专用处理资源的连接成本高于第二组专用处理资源的情况下,调度模块140可以优选地选择第二组专用处理资源作为目标专用处理资源。
备选地,调度模块140还可以基于跨机架流量来该第一组专用处理资源和该第二组专用处理资源确定该目标专用处理资源。例如,在第一组专用处理资源产生的跨机架流量高于第二组专用处理资源的情况下,调度模块140可以优选地选择第二组专用处理资源作为目标专用处理资源。
在某些实施例中,调度模块140可以基于一组专用处理资源中的专用处理资源之间的连接的性能来确定该组专用处理资源的性能。在此情况下,调度模块140可以基于全局负载平衡、连接成本和/或跨机架流量等对多组专用处理资源的性能进行加权,来最终确定目标专用处理资源。
例如,在第一组专用处理资源中的专用处理资源的利用率高,从而选择其作为目标专用处理资源不利于全局负载平衡的情况下,调度模块140可以对第一组专用处理资源的性能进行惩罚性加权,例如,乘以90%。而在第二组专用处理资源中的专用处理资源的连接成本低的情况下,调度模块140可以对第二组专用处理资源的性能进行奖励性加权,例如,乘以110%。
以此方式,调度模块140可以在考虑全局负载平衡、连接成本和/或跨机架流量等各种因素的情况下,调整多组专用处理资源的性能,从而确定最适当的、满足所需资源量的目标专用处理资源。
当调度模块140确定出目标专用处理资源之后,调度模块140可以通过网络120向服务器控制模块117发送指示目标专用处理资源的调度响应,以指示其为客户端130提供其所需的专用处理资源量。备选地,调度模块140可以通过网络120向客户端130发送指示目标专用处理资源的调度响应,使得客户端130可以根据调度响应向专用处理资源服务器110请求目标专用处理资源。
调度响应可以指示与目标专用处理资源有关的专用处理资源服务器110及其中的专用处理资源115。例如,调度响应可以采用如下列表格式:[专用处理资源服务器1.专用处理资源1,专用处理资源服务器2.专用处理资源2…]。应当理解,调度响应也可以采用其他任何适当的形式,以上示例仅仅是说明性的,而非限制性的。
以此方式,专用处理资源调度系统100可以利用其确定的拓扑结构300和/或400,来以优化的方式配置和调度专用处理资源,从而以智能和有效的方式改进专用处理资源调度系统100。
图6示出了可以用来实施本公开内容的实施例的示例设备600的示意性框图。例如,如图1所示的调度模块140可以由设备600来实施。如图所示,设备600包括中央处理单元(CPU)610,其可以根据存储在只读存储器(ROM)620中的计算机程序指令或者从存储单元680加载到随机访问存储器(RAM)630中的计算机程序指令,来执行各种适当的动作和处理。在RAM 630中,还可存储设备600操作所需的各种程序和数据。CPU 610、ROM 620以及RAM630通过总线640彼此相连。输入/输出(I/O)接口650也连接至总线640。
设备600中的多个部件连接至I/O接口650,包括:输入单元660,例如键盘、鼠标等;输出单元670,例如各种类型的显示器、扬声器等;存储单元680,例如磁盘、光盘等;以及通信单元690,例如网卡、调制解调器、无线通信收发机等。通信单元690允许设备600通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
上文所描述的各个过程和处理,例如方法200和500,可由处理单元610执行。例如,在一些实施例中,方法200和500可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元680。在一些实施例中,计算机程序的部分或者全部可以经由ROM 620和/或通信单元690而被载入和/或安装到设备600上。当计算机程序被加载到RAM 630并由CPU 610执行时,可以执行上文描述的方法200和500的一个或多个动作。
本公开可以是方法、装置、系统和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于执行本公开的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本公开操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本公开的各个方面。
这里参照根据本公开实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理单元,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理单元执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本公开的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

Claims (19)

1.一种用于调度专用处理资源的方法,包括:
响应于接收到针对多个专用处理资源的调度请求,获取所述多个专用处理资源的拓扑结构,所述拓扑结构基于与所述多个专用处理资源之间的连接有关的连接属性而被确定;以及
基于所述拓扑结构,从所述多个专用处理资源中确定满足所述调度请求的目标专用处理资源;
其中所述多个专用处理资源被分布在多个专用处理资源服务器上,并且获取所述拓扑结构包括:
获取与所述多个专用处理资源服务器中的若干个专用处理资源服务器相关的第一连接属性,所述第一连接属性指示所述多个专用处理资源服务器之间的连接的延迟、带宽、吞吐量、传输速率、传输质量、网络利用率中的至少一项;
获取与所述多个专用处理资源服务器中的特定专用处理资源服务器相关的第二连接属性,所述第二连接属性指示所述特定专用处理资源服务器中的专用处理资源与相关硬件资源之间的连接的类型;以及
至少部分地基于所述第一连接属性和所述第二连接属性,确定所述拓扑结构。
2.根据权利要求1所述的方法,其中确定所述拓扑结构包括:
将所述多个专用处理资源服务器确定为所述拓扑结构中的多个节点;以及
基于所述第一连接属性确定所述多个节点中存在连接的两个节点之间的距离,所述距离指示所述两个节点之间的连接的性能。
3.根据权利要求2所述的方法,其中确定所述拓扑结构还包括:
将所述特定专用处理资源服务器中的所述专用处理资源和所述相关硬件资源确定为所述多个节点中的相应节点的多个子节点;以及
基于所述第二连接属性确定所述多个子节点中存在连接的两个子节点之间的距离,所述距离指示所述两个子节点之间的连接的性能。
4.根据权利要求1所述的方法,其中确定所述拓扑结构包括:
将所述多个专用处理资源确定为所述拓扑结构中的多个节点;以及
基于所述第一连接属性和所述第二连接属性确定所述多个节点中存在连接的两个节点之间的距离,所述距离指示所述两个节点之间的连接的性能。
5.根据权利要求1所述的方法,其中获取所述拓扑结构包括:
获取所述多个专用处理资源中的每个专用处理资源的利用率;以及
基于所述利用率和所述连接属性,确定所述拓扑结构。
6.根据权利要求1所述的方法,其中确定所述目标专用处理资源包括:
确定所述多个专用处理资源中的一组可用专用处理资源;
获取所述一组可用专用处理资源中的每个专用处理资源的利用率;
基于所述利用率,从所述一组可用专用处理资源选择专用处理资源候选集合;以及
基于所述调度请求中的所需资源量从所述专用处理资源候选集合确定所述目标专用处理资源。
7.根据权利要求6所述的方法,其中选择所述专用处理资源候选集合包括:
从所述一组可用专用处理资源中,选择利用率低于预定阈值的可用专用处理资源作为所述专用处理资源候选集合。
8.根据权利要求6所述的方法,其中基于所述所需资源量确定所述目标专用处理资源包括:
基于所述拓扑结构选择与所述专用处理资源候选集合的连接的性能高于预定阈值的专用处理资源,直到所述专用处理资源候选集合和所选择的专用处理资源的资源量满足所述所需资源量。
9.根据权利要求1所述的方法,其中确定所述目标专用处理资源包括:
确定第一组专用处理资源和与所述第一组专用处理资源不同的第二组专用处理资源;以及
基于以下中的至少一项从所述第一组专用处理资源和所述第二组专用处理资源确定所述目标专用处理资源:全局负载平衡、连接成本和跨机架流量。
10.一种用于管理虚拟机的设备,包括:
至少一个处理单元;
至少一个存储器,所述至少一个存储器被耦合到所述至少一个处理单元并且存储用于由所述至少一个处理单元执行的指令,所述指令当由所述至少一个处理单元执行时,使得所述设备执行动作,所述动作包括:
响应于接收到针对多个专用处理资源的调度请求,获取所述多个专用处理资源的拓扑结构,所述拓扑结构基于与所述多个专用处理资源之间的连接有关的连接属性而被确定;以及
基于所述拓扑结构,从所述多个专用处理资源中确定满足所述调度请求的目标专用处理资源;
其中所述多个专用处理资源被分布在多个专用处理资源服务器上,并且获取所述拓扑结构包括:
获取与所述多个专用处理资源服务器中的若干个专用处理资源服务器相关的第一连接属性,所述第一连接属性指示所述多个专用处理资源服务器之间的连接的延迟、带宽、吞吐量、传输速率、传输质量、网络利用率中的至少一项;
获取与所述多个专用处理资源服务器中的特定专用处理资源服务器相关的第二连接属性,所述第二连接属性指示所述特定专用处理资源服务器中的专用处理资源与相关硬件资源之间的连接的类型;以及
至少部分地基于所述第一连接属性和所述第二连接属性,确定所述拓扑结构。
11.根据权利要求10所述的设备,其中确定所述拓扑结构包括:
将所述多个专用处理资源服务器确定为所述拓扑结构中的多个节点;以及
基于所述第一连接属性确定所述多个节点中存在连接的两个节点之间的距离,所述距离指示所述两个节点之间的连接的性能。
12.根据权利要求11所述的设备,其中确定所述拓扑结构还包括:
将所述特定专用处理资源服务器中的所述专用处理资源和所述相关硬件资源确定为所述多个节点中的相应节点的多个子节点;以及
基于所述第二连接属性确定所述多个子节点中存在连接的两个子节点之间的距离,所述距离指示所述两个子节点之间的连接的性能。
13.根据权利要求10所述的设备,其中确定所述拓扑结构包括:
将所述多个专用处理资源确定为所述拓扑结构中的多个节点;以及
基于所述第一连接属性和所述第二连接属性确定所述多个节点中存在连接的两个节点之间的距离,所述距离指示所述两个节点之间的连接的性能。
14.根据权利要求10所述的设备,其中获取所述拓扑结构包括:
获取所述多个专用处理资源中的每个专用处理资源的利用率;以及
基于所述利用率和所述连接属性,确定所述拓扑结构。
15.根据权利要求10所述的设备,其中确定所述目标专用处理资源包括:
确定所述多个专用处理资源中的一组可用专用处理资源;
获取所述一组可用专用处理资源中的每个专用处理资源的利用率;
基于所述利用率,从所述一组可用专用处理资源选择专用处理资源候选集合;以及
基于所述调度请求中的所需资源量从所述专用处理资源候选集合确定所述目标专用处理资源。
16.根据权利要求15所述的设备,其中选择所述专用处理资源候选集合包括:
从所述一组可用专用处理资源中,选择利用率低于预定阈值的可用专用处理资源作为所述专用处理资源候选集合。
17.根据权利要求15所述的设备,其中基于所述所需资源量确定所述目标专用处理资源包括:
基于所述拓扑结构选择与所述专用处理资源候选集合的连接的性能高于预定阈值的专用处理资源,直到所述专用处理资源候选集合和所选择的专用处理资源的资源量满足所述所需资源量。
18.根据权利要求10所述的设备,其中确定所述目标专用处理资源包括:
确定第一组专用处理资源和与所述第一组专用处理资源不同的第二组专用处理资源;以及
基于以下中的至少一项从所述第一组专用处理资源和所述第二组专用处理资源确定所述目标专用处理资源:全局负载平衡、连接成本和跨机架流量。
19.一种非瞬态计算机可读介质,所述非瞬态计算机可读介质上有形地存储有计算机程序产品,所述计算机程序产品包括机器可执行指令,所述机器可执行指令在被执行时使机器执行根据权利要求1至9任一项所述的方法的步骤。
CN201810049267.8A 2018-01-18 2018-01-18 用于调度专用处理资源的方法、设备和介质 Active CN110058937B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201810049267.8A CN110058937B (zh) 2018-01-18 2018-01-18 用于调度专用处理资源的方法、设备和介质
US16/245,500 US10983828B2 (en) 2018-01-18 2019-01-11 Method, apparatus and computer program product for scheduling dedicated processing resources

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810049267.8A CN110058937B (zh) 2018-01-18 2018-01-18 用于调度专用处理资源的方法、设备和介质

Publications (2)

Publication Number Publication Date
CN110058937A CN110058937A (zh) 2019-07-26
CN110058937B true CN110058937B (zh) 2023-05-05

Family

ID=67212903

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810049267.8A Active CN110058937B (zh) 2018-01-18 2018-01-18 用于调度专用处理资源的方法、设备和介质

Country Status (2)

Country Link
US (1) US10983828B2 (zh)
CN (1) CN110058937B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10789103B1 (en) 2019-09-06 2020-09-29 Capital One Services, Llc Executing computing modules using multi-coring
US10915367B1 (en) * 2019-07-23 2021-02-09 Capital One Services, Llc Executing computing modules using multi-coring
CN110960858B (zh) * 2019-12-23 2024-02-02 上海米哈游网络科技股份有限公司 一种游戏资源的处理方法、装置、设备及存储介质
CN113377520B (zh) * 2021-07-07 2023-03-24 北京百度网讯科技有限公司 资源调度方法、装置、设备以及存储介质
CN114500413B (zh) * 2021-12-17 2024-04-16 阿里巴巴(中国)有限公司 设备连接方法及装置、设备连接芯片

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7743127B2 (en) * 2002-10-10 2010-06-22 Hewlett-Packard Development Company, L.P. Resource allocation in data centers using models
US20060098664A1 (en) * 2004-11-09 2006-05-11 Tvblob S.R.I. Intelligent application level multicast module for multimedia transmission
CN100531070C (zh) * 2007-10-11 2009-08-19 上海交通大学 网络资源调度仿真系统
KR20100048263A (ko) * 2008-10-30 2010-05-11 한국전자통신연구원 주문형 시스템 서비스의 가상 머신 개인화 제공 시스템 및 방법
WO2012149789A1 (zh) * 2011-09-30 2012-11-08 华为技术有限公司 Vpc迁移中的资源匹配方法及装置
CN102419718A (zh) * 2011-10-28 2012-04-18 浪潮(北京)电子信息产业有限公司 资源调度方法
EP2796997B1 (en) * 2011-12-19 2017-08-30 Fujitsu Limited Resource search device and program for same
JP5919046B2 (ja) * 2012-03-13 2016-05-18 株式会社日立製作所 パス計算方法
CN103516733A (zh) * 2012-06-19 2014-01-15 华为技术有限公司 一种虚拟私有云的处理方法及装置
KR20150132774A (ko) * 2014-05-16 2015-11-26 한국전자통신연구원 애플리케이션에 따라 네트워크 자원을 할당하는 방법 및 장치
US9753780B2 (en) * 2015-07-07 2017-09-05 Sybase, Inc. Topology-aware processor scheduling
CN106571935B (zh) * 2015-10-08 2020-01-17 阿里巴巴集团控股有限公司 一种资源调度的方法与设备
CN107179879B (zh) * 2016-03-11 2020-04-03 伊姆西Ip控股有限责任公司 用于存储设备的数据迁移的方法和装置
US10325343B1 (en) * 2017-08-04 2019-06-18 EMC IP Holding Company LLC Topology aware grouping and provisioning of GPU resources in GPU-as-a-Service platform

Also Published As

Publication number Publication date
CN110058937A (zh) 2019-07-26
US10983828B2 (en) 2021-04-20
US20190220311A1 (en) 2019-07-18

Similar Documents

Publication Publication Date Title
CN110058937B (zh) 用于调度专用处理资源的方法、设备和介质
US11429449B2 (en) Method for fast scheduling for balanced resource allocation in distributed and collaborative container platform environment
CN110505099B (zh) 一种基于迁移a-c学习的服务功能链部署方法
US10778756B2 (en) Location of actor resources
CN107590001B (zh) 负载均衡方法及装置、存储介质、电子设备
US10243878B2 (en) Fog computing network resource partitioning
US10389800B2 (en) Minimizing execution time of a compute workload based on adaptive complexity estimation
WO2020052605A1 (zh) 一种网络切片的选择方法及装置
CN113906723A (zh) 多集群入口
US10785163B2 (en) Maintaining a queuing policy with multipath traffic
US11232009B2 (en) Model-based key performance indicator service for data analytics processing platforms
WO2018201856A1 (en) System and method for self organizing data center
US20170078207A1 (en) Network prioritization based on node-level attributes
CN111126613A (zh) 用于深度学习的方法、设备和计算机程序产品
CN111459650B (zh) 管理专用处理资源的存储器的方法、设备和介质
CN114756312B (zh) 用于对本地服务进行远程协助优化的系统和方法
JP2023545985A (ja) エッジ・コンピューティング環境におけるタスク・フローの管理
CN114020469B (zh) 基于边缘节点的多任务学习方法、装置、介质与设备
CN109729110B (zh) 管理专用处理资源的方法、设备以及计算机可读介质
WO2015101363A1 (en) System and method for traffic engineering using link buffer status
CN106933654B (zh) 一种基于缓存的虚拟机启动方法
US20140108523A1 (en) Connection sharing across entities in a distributed messaging system
US20200186461A1 (en) System and method for data transmission in distributed computing environments
CN110247847B (zh) 节点之间回源选路的方法和装置
US11546229B1 (en) Systems and methods for disaggregated software defined networking control

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