IP Library › Granted Patent US 10,983,828
Granted Patent B2
US 10,983,828 · App. 16/245,500 · Granted Apr 20, 2021

Method, apparatus and computer program product for scheduling dedicated processing resources

Inventors: Junping Zhao (Beijing, CN); Layne Lin Peng (Shanghai, CN); Zhi Ying (Shanghai, CN)
Assignee: Dell Products L.P.
G06F9/4887G06F9/5066H04L41/00H04L45/00H04L67/1029H04L67/325H04L67/327
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,983,828
App. No.
16/245,500
Granted
Apr 20, 2021
Kind
B2
Abstract

Embodiments of the present disclosure relate to a method, apparatus and computer program product for scheduling dedicated processing resources. The method comprises: in response to receiving a scheduling request for a plurality of dedicated processing resources, obtaining a topology of the plurality of dedicated processing resources, the topology being determined based on connection attributes related to connections among the plurality of dedicated processing resources; and determining, based on the topology, a target dedicated processing resource satisfying the scheduling request from the plurality of dedicated processing resources. In this manner, the performance and the resource utilization rate of scheduling the dedicated processing resources are improved.

Claims (77)

1. A method of scheduling dedicated processing resources, comprising:

in response to receiving a scheduling request for a plurality of dedicated processing resources, obtaining a topology of the plurality of dedicated processing resources, the topology being determined based on connection attributes related to connections among the plurality of dedicated processing resources;

determining, based on the topology, a target dedicated processing resource satisfying the scheduling request from the plurality of dedicated processing resources; and

scheduling the target dedicated processing resource satisfying the scheduling request;

wherein the plurality of dedicated processing resources are distributed across a plurality of dedicated processing resource servers, and obtaining the topology comprises:

obtaining a first connection attribute relating to multiple ones of the dedicated processing resource servers, the first connection attribute indicating at least one of delays, bandwidths, throughputs, transmission rates, transmission qualities and network utilization rates of connections among the plurality of dedicated processing resource servers;

obtaining a second connection attribute relating to a particular one of the dedicated processing resource servers, the second connection attributes indicating types of connections among dedicated processing resources and relevant hardware resources in the particular dedicated processing resource server; and

determining the topology based at least in part on the first and second connection attributes.

2. The method according to claim 1 , wherein determining the topology comprises:

determining the plurality of dedicated processing resource servers as a plurality of nodes in the topology; and

determining, based on the first connection attribute, a distance between two nodes of the plurality of nodes that are connected, the distance indicating a performance of a connection between the two nodes.

3. The method according to claim 2 , wherein determining the topology further comprises:

determining the dedicated processing resources and the relevant hardware resources in the particular dedicated processing resource server as a plurality of sub-nodes of a respective node in the plurality of nodes; and

determining, based on the second connection attribute, a distance between two sub-nodes of the plurality of sub-nodes that are connected, the distance indicating a performance of a connection between the two sub-nodes.

4. The method according to claim 1 , wherein determining the topology comprises:

determining the plurality of dedicated processing resources as a plurality of nodes in the topology; and

determining, based on the first and second connection attributes, a distance between two nodes of the plurality of nodes that are connected, the distance indicating a performance of a connection between the two nodes.

5. The method according to claim 1 , wherein obtaining the topology comprises:

obtaining a utilization rate of each of the plurality of dedicated processing resources; and

determining the topology based on the utilization rates and the connection attributes.

6. The method according to claim 1 , wherein determining the target dedicated processing resource comprises:

determining a group of available dedicated processing resources from the plurality of dedicated processing resources;

obtaining a utilization rate of each dedicated processing resource in the group of available dedicated processing resources;

selecting, based on the utilization rate, a set of dedicated processing resource candidates from the group of available dedicated processing resources; and

determining, based on a required resource amount in the scheduling request, the target dedicated processing resource from the set of dedicated processing resource candidates.

7. The method according to claim 6 , wherein selecting the set of dedicated processing resource candidates comprises:

selecting, from the group of available dedicated processing resources, available dedicated processing resources having utilization rates below a predetermined threshold, as the set of dedicated processing resource candidates.

8. The method according to claim 6 , wherein determining, based on the required resource amount, the target dedicated processing resource comprises:

selecting, based on the topology, dedicated processing resources of which the connections with the set of dedicated processing resource candidates have performances above a predetermined threshold, until the resource amount of the set of dedicated processing resource candidates and the selected dedicated processing resources satisfies the required resource amount.

9. The method according to claim 1 , wherein determining the target dedicated processing resource comprises:

determining a first group of dedicated processing resources and a second group of dedicated processing resources being different from the first group of dedicated processing resources; and

determining the target dedicated processing resource from the first and second groups of dedicated processing resources based on at least one of global load balance, a connection cost, and cross-rack traffic.

10. An apparatus for scheduling dedicated processing resources, comprising:

at least one processing unit;

at least one memory coupled to the at least one processing unit and storing instructions to be executed by the at least one processing unit, the instructions, when executed by the at least one processing unit, causing the apparatus to perform acts comprising:

in response to receiving a scheduling request for a plurality of dedicated processing resources, obtaining a topology of the plurality of dedicated processing resources, the topology being determined based on connection attributes related to connections among the plurality of dedicated processing resources;

determining, based on the topology, a target dedicated processing resource satisfying the scheduling request from the plurality of dedicated processing resources; and

scheduling the target dedicated processing resource satisfying the scheduling request;

wherein the plurality of dedicated processing resources are distributed across a plurality of dedicated processing resource servers, and obtaining the topology comprises:

obtaining a first connection attribute relating to multiple ones of the dedicated processing resource servers, the first connection attribute indicating at least one of delays, bandwidths, throughputs, transmission rates, transmission qualities and network utilization rates of connections among the plurality of dedicated processing resource servers;

obtaining a second connection attribute relating to a particular one of dedicated processing resource servers, the second connection attribute indicating types of connections among dedicated processing resources and relevant hardware resources in the particular dedicated processing resource server; and

determining the topology based at least in part on the first and second connection attributes.

11. The apparatus according to claim 10 , wherein determining the topology comprises:

determining the plurality of dedicated processing resource servers as a plurality of nodes in the topology; and

determining, based on the first connection attribute, a distance between two nodes of the plurality of nodes that are connected, the distance indicating a performance of a connection between the two nodes.

12. The apparatus according to claim 11 , wherein determining the topology further comprises:

determining the dedicated processing resources and the relevant hardware resources in the particular dedicated processing resource server as a plurality of sub-nodes of a respective node in the plurality of nodes; and

determining, based on the second connection attribute, a distance between two sub-nodes of the plurality of sub-nodes that are connected, the distance indicating a performance of a connection between the two sub-nodes.

13. The apparatus according to claim 10 , wherein determining the topology comprises:

determining the plurality of dedicated processing resources as a plurality of nodes in the topology; and

determining, based on the first and second connection attributes, a distance between two nodes of the plurality of nodes that are connected, the distance indicating a performance of a connection between the two nodes.

14. The apparatus according to claim 10 , wherein obtaining the topology comprises:

obtaining a utilization rate of each of the plurality of dedicated processing resources; and

determining the topology based on the utilization rate and the connection attributes.

15. The apparatus according to claim 10 , wherein determining the target dedicated processing resource comprises:

determining a group of available dedicated processing resources from the plurality of dedicated processing resources;

obtaining a utilization rate of each dedicated processing resource in the group of available dedicated processing resources;

selecting, based on the utilization rate, a set of dedicated processing resource candidates from the group of available dedicated processing resources; and

determining, based on a required resource amount in the scheduling request, the target dedicated processing resource from the set of dedicated processing resource candidates.

16. The apparatus according to claim 15 , wherein selecting the set of dedicated processing resource candidates comprises:

selecting, from the group of available dedicated processing resources, available dedicated processing resources having utilization rates below a predetermined threshold, as the set of dedicated processing resource candidates.

17. The apparatus according to claim 15 , wherein determining, based on the required resource amount; the target dedicated processing resource comprises:

selecting, based on the topology, dedicated processing resources of which the connections with the set of dedicated processing resource candidates have performance above a predetermined threshold, until the resource amount of the set of dedicated processing resource candidates and the selected dedicated processing resources satisfies the required resource amount.

18. A computer program product comprising a non-transitory computer readable storage medium having stored therein machine executable instructions of one or more software programs, wherein the machine executable instructions, when executed by a machine, cause the machine to:

in response to receiving a scheduling request for a plurality of dedicated processing resources, obtain a topology of the plurality of dedicated processing resources, the topology being determined based on connection attributes related to connections among the plurality of dedicated processing resources;

determine, based on the topology, a target dedicated processing resource satisfying the scheduling request from the plurality of dedicated processing resources; and

schedule the target dedicated processing resource satisfying the scheduling request;

wherein the plurality of dedicated processing resources are distributed across a plurality of dedicated processing resource servers, and obtaining the topology comprises:

obtaining a first connection attribute relating to multiple ones of the dedicated processing resource servers, the first connection attribute indicating at least one of delays, bandwidths, throughputs, transmission rates, transmission qualities and network utilization rates of connections among the plurality of dedicated processing resource servers;

obtaining a second connection attribute relating to a particular one of dedicated processing resource servers, the second connection attribute indicating types of connections among dedicated processing resources and relevant hardware resources in the particular dedicated processing resource server; and

determining the topology based at least in part on the first and second connection attributes.

19. The computer program product according to claim 18 , wherein determining the topology comprises:

determining the plurality of dedicated processing resource servers as a plurality of nodes in the topology; and

determining, based on the first connection attribute, a distance between two nodes of the plurality of nodes that are connected, the distance indicating a performance of a connection between the two nodes.

20. The computer program product according to claim 19 , wherein determining the topology further comprises:

determining the dedicated processing resources and the relevant hardware resources in the particular dedicated processing resource server as a plurality of sub-nodes of a respective node in the plurality of nodes; and

determining, based on the second connection attribute, a distance between two sub-nodes of the plurality of sub-nodes that are connected, the distance indicating a performance of a connection between the two sub-nodes.

Assignments (5)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
SECURITY AGREEMENT Recorded Mar 21, 2019
From: CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 049452/0223 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 15, 2019
From: PENG, LAYNE LIN
To: DELL PRODUCTS L.P.
Reel/Frame 048010/0429 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 11, 2019
From: ZHAO, JUNPING; YING, ZHI
To: DELL PRODUCTS L.P.
Reel/Frame 047965/0743 →
Priority Claims (1)
CN 201810049267.8 · Jan 18, 2018 · national
Continuity (1)
Related Publication 20190220311A1 · Jul 18, 2019