Task packing scheduling process for long running applications
First Claim
1. A method of distributing tasks amongst servers or nodes in a cluster in a cloud-based big data environment, comprising:
- establishing a high_server_threshold;
dividing active servers/nodes into at least three (3) categories comprising;
(i) high usage servers, comprising servers on which usage is greater than the high_server_threshold;
(ii) medium usage servers, comprising servers on which usage is less than the high_server_threshold, but is greater than zero; and
(iii) low usage servers, comprising servers that are currently not utilized;
receiving one or more tasks to be performed;
scheduling the received one or more tasks by;
first requesting that medium usage servers take the one or more tasks;
if tasks remain that are not scheduled on the medium usage servers, schedule remaining tasks on low usage servers;
if any tasks remain that are not scheduled on medium usage servers or low usage servers, scheduling remaining tasks on high usage servers.
3 Assignments
0 Petitions
Accused Products
Abstract
In general, the invention is directed to systems and methods of distributing tasks amongst servers or nodes in a cluster in a cloud-based big data environment, including: establishing a high_server_threshold; dividing active servers/nodes into at least three (3) categories of high usage servers, comprising servers on which usage is greater than the high_server_threshold; medium usage servers, comprising servers on which usage is less than the high_server_threshold, but is greater than zero; and low usage servers, comprising servers that are currently not utilized; receiving one or more tasks to be performed; scheduling the tasks by: first requesting that medium usage servers take tasks; if tasks remain that are not scheduled on the medium usage servers, schedule remaining tasks on low usage servers; if any tasks remain that are not scheduled on medium usage servers or low usage servers, scheduling remaining tasks on high usage servers.
83 Citations
20 Claims
-
1. A method of distributing tasks amongst servers or nodes in a cluster in a cloud-based big data environment, comprising:
-
establishing a high_server_threshold; dividing active servers/nodes into at least three (3) categories comprising; (i) high usage servers, comprising servers on which usage is greater than the high_server_threshold; (ii) medium usage servers, comprising servers on which usage is less than the high_server_threshold, but is greater than zero; and (iii) low usage servers, comprising servers that are currently not utilized; receiving one or more tasks to be performed; scheduling the received one or more tasks by; first requesting that medium usage servers take the one or more tasks; if tasks remain that are not scheduled on the medium usage servers, schedule remaining tasks on low usage servers; if any tasks remain that are not scheduled on medium usage servers or low usage servers, scheduling remaining tasks on high usage servers. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A method of distributing tasks amongst servers or nodes in a cluster in a cloud-based big data environment, comprising:
-
establishing a high_server_threshold; dividing active servers/nodes into at least three (3) categories comprising; high usage servers, comprising servers on which usage is greater than the high_server_threshold; (ii) medium usage servers, comprising servers on which usage is less than the high_server_threshold, but is greater than zero; and (iii) low usage servers, comprising servers that are currently not utilized; receiving one or more tasks to be performed; scheduling the received one or more tasks by; first requesting that high usage servers take the one or more tasks; if tasks remain that are not scheduled on the high usage servers, schedule remaining tasks on medium usage servers; if any tasks remain that are not scheduled on high usage servers or medium usage servers, scheduling remaining tasks on low usage servers. - View Dependent Claims (17, 18)
-
-
19. A method of distributing tasks for a specific application amongst servers or nodes in a cluster in a cloud-based big data environment, the method having no impact on upscaling of the system and initiated after the cluster is above a minimum size and disabled when the cluster is at a minimum size, the method comprising:
-
establishing a high_server_threshold; dividing active servers/nodes into at least three (3) categories comprising; (i) high usage servers, comprising servers on which usage is greater than the high_server_threshold; (ii) medium usage servers, comprising servers on which usage is less than the high_server_threshold, but is greater than zero; and (iii) low usage servers, comprising servers that are currently not utilized; receiving one or more tasks to be performed; scheduling the received one or more tasks by; first requesting that medium usage servers take the one or more tasks, wherein medium usage servers are assigned tasks in accordance with any applicable resource requirement or locality constraint, and wherein such tasks are assigned evenly so that each medium usage server is allocated substantially the same amount of tasks; if tasks remain that are not scheduled on the medium usage servers, schedule remaining tasks on low usage servers, wherein such scheduling on low usage servers is performed after a locality delay; if any tasks remain that are not scheduled on medium usage servers or low usage servers, scheduling remaining tasks on high usage servers; and if any task has been in a queue for an undesirably long period of time, such task is assigned to a first available server. - View Dependent Claims (20)
-
Specification