NODE DEVICE FUNCTION AND CACHE AWARE TASK ASSIGNMENT
First Claim
1. An apparatus comprising a processor and a storage to store instructions that, when executed by the processor, cause the processor to perform operations comprising:
- for each node device of a plurality of node devices, derive an assignment of performance of a first task with a first data set, wherein;
the first data set is divisible into a plurality of partitions;
a first node device of the plurality of node devices is assigned to perform the first task with a first partition of the plurality of partitions of the first data set; and
a second node device of the plurality of node devices is assigned to perform the first task with a second partition of the plurality of partitions of the first data set;
transmit an indication of the assignment of performance of the first task with the first partition to the first node device to cause performance of the first task with the first partition by the first node device and to cause storage of at least some of the first partition within volatile storage of the first node device;
transmit an indication of the assignment of performance of the first task with the second partition to the second node device to cause performance of the first task with the second partition by the second node device and to cause storage of at least some of the second partition within volatile storage of the second node device;
receive an indication from the first node device of completion of performance of the first task with the first partition by the first node device such that the first node device is available to assign to perform another task;
delay assignment of performance of a second task on the second partition to the first node device after receipt of the indication of completion of the performance of the first task with the first partition by the first node device for up to a predetermined period of time, in spite of readiness of the second task to be performed on the second partition, and in spite of availability of the first node device as a result of the completion of the performance of first task with the first partition;
determine whether an indication of completion of performance of the first task with the second partition by the second node device such that the second node device is available to assign to perform another task is received from the second node device within the predetermined period of time;
in response to receipt of the indication of completion of the first task with the second partition by the second node device within the predetermined period of time;
assign performance of the second task on the second partition to the second node device to enable accesses to at least some of the second partition within the volatile storage of the second node device; and
transmit an indication of the assignment of performance of the second task on the second partition to the second node device to avoid retrieval of the second partition by the first node device; and
in response to a lack of receipt of the indication of completion of the first task with the second partition by the second node device within the predetermined period of time;
assign performance of the second task on the second partition to the first node device; and
transmit an indication of the assignment of performance of the second task on the second partition to the first node device to cause retrieval of the second partition by the first node device.
1 Assignment
0 Petitions
Accused Products
Abstract
An apparatus includes a processor and storage to store instructions that cause the processor to perform operations including: receive an indication of completion of a first task with a first partition such that the first node device is available to assign to perform another task; delay assignment of performance of a second task on a second partition to the first node device for up to a predetermined period of time, in spite of readiness of the second task to be performed on the second partition and availability of the first node device; determine whether an indication of completion of the first task with the second partition such that the second node device is available to assign to perform another task is received within the predetermined period of time; and assign performance of the second task on the second partition to the second node device based on the determination.
25 Citations
30 Claims
-
1. An apparatus comprising a processor and a storage to store instructions that, when executed by the processor, cause the processor to perform operations comprising:
-
for each node device of a plurality of node devices, derive an assignment of performance of a first task with a first data set, wherein; the first data set is divisible into a plurality of partitions; a first node device of the plurality of node devices is assigned to perform the first task with a first partition of the plurality of partitions of the first data set; and a second node device of the plurality of node devices is assigned to perform the first task with a second partition of the plurality of partitions of the first data set; transmit an indication of the assignment of performance of the first task with the first partition to the first node device to cause performance of the first task with the first partition by the first node device and to cause storage of at least some of the first partition within volatile storage of the first node device; transmit an indication of the assignment of performance of the first task with the second partition to the second node device to cause performance of the first task with the second partition by the second node device and to cause storage of at least some of the second partition within volatile storage of the second node device; receive an indication from the first node device of completion of performance of the first task with the first partition by the first node device such that the first node device is available to assign to perform another task; delay assignment of performance of a second task on the second partition to the first node device after receipt of the indication of completion of the performance of the first task with the first partition by the first node device for up to a predetermined period of time, in spite of readiness of the second task to be performed on the second partition, and in spite of availability of the first node device as a result of the completion of the performance of first task with the first partition; determine whether an indication of completion of performance of the first task with the second partition by the second node device such that the second node device is available to assign to perform another task is received from the second node device within the predetermined period of time; in response to receipt of the indication of completion of the first task with the second partition by the second node device within the predetermined period of time; assign performance of the second task on the second partition to the second node device to enable accesses to at least some of the second partition within the volatile storage of the second node device; and transmit an indication of the assignment of performance of the second task on the second partition to the second node device to avoid retrieval of the second partition by the first node device; and in response to a lack of receipt of the indication of completion of the first task with the second partition by the second node device within the predetermined period of time; assign performance of the second task on the second partition to the first node device; and transmit an indication of the assignment of performance of the second task on the second partition to the first node device to cause retrieval of the second partition by the first node device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A computer-program product tangibly embodied in a non-transitory machine-readable storage medium, the computer-program product including instructions operable to cause a processor to perform operations comprising:
-
for each node device of a plurality of node devices, derive an assignment of performance of a first task with a first data set, wherein; the first data set is divisible into a plurality of partitions; a first node device of the plurality of node devices is assigned to perform the first task with a first partition of the plurality of partitions of the first data set; and a second node device of the plurality of node devices is assigned to perform the first task with a second partition of the plurality of partitions of the first data set; transmit an indication of the assignment of performance of the first task with the first partition to the first node device to cause performance of the first task with the first partition by the first node device and to cause storage of at least some of the first partition within volatile storage of the first node device; transmit an indication of the assignment of performance of the first task with the second partition to the second node device to cause performance of the first task with the second partition by the second node device and to cause storage of at least some of the second partition within volatile storage of the second node device; receive an indication from the first node device of completion of performance of the first task with the first partition by the first node device such that the first node device is available to assign to perform another task; delay assignment of performance of a second task on the second partition to the first node device after receipt of the indication of completion of the performance of the first task with the first partition by the first node device for up to a predetermined period of time, in spite of readiness of the second task to be performed on the second partition, and in spite of availability of the first node device as a result of the completion of the performance of first task with the first partition; determine whether an indication of completion of performance of the first task with the second partition by the second node device such that the second node device is available to assign to perform another task is received from the second node device within the predetermined period of time; in response to receipt of the indication of completion of the first task with the second partition by the second node device within the predetermined period of time; assign performance of the second task on the second partition to the second node device to enable accesses to at least some of the second partition within the volatile storage of the second node device; and transmit an indication of the assignment of performance of the second task on the second partition to the second node device to avoid retrieval of the second partition by the first node device; and in response to a lack of receipt of the indication of completion of the first task with the second partition by the second node device within the predetermined period of time; assign performance of the second task on the second partition to the first node device; and transmit an indication of the assignment of performance of the second task on the second partition to the first node device to cause retrieval of the second partition by the first node device. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. A computer-implemented method comprising:
-
for each node device of a plurality of node devices, deriving at a coordinating device an assignment of performance of a first task with a first data set, wherein the first data set is divisible into a plurality of partitions, and the deriving comprises; deriving a first assignment of a first node device of the plurality of node devices to perform the first task with a first partition of the plurality of partitions of the first data set; and deriving a second assignment of a second node device of the plurality of node devices is assigned to perform the first task with a second partition of the plurality of partitions of the first data set; transmitting an indication of the assignment of performance of the first task with the first partition to the first node device to cause performance of the first task with the first partition by the first node device and to cause storage of at least some of the first partition within volatile storage of the first node device; transmitting an indication of the assignment of performance of the first task with the second partition to the second node device to cause performance of the first task with the second partition by the second node device and to cause storage of at least some of the second partition within volatile storage of the second node device; receiving, at the coordinating device, an indication from the first node device of completion of performance of the first task with the first partition by the first node device such that the first node device is available to assign to perform another task; delaying assignment of performance of a second task on the second partition to the first node device after receipt of the indication of completion of the performance of the first task with the first partition by the first node device for up to a predetermined period of time, in spite of readiness of the second task to be performed on the second partition, and in spite of availability of the first node device as a result of the completion of the performance of the first task with the first partition; determining, at the coordinating device, whether an indication of completion of performance of the first task with the second partition by the second node device such that the second node device is available to assign to perform another task is received from the second node device within the predetermined period of time; and in response to receipt of the indication of completion of the first task with the second partition by the second node device within the predetermined period of time; assigning performance of the second task on the second partition to the second node device to enable accesses to at least some of the second partition within the volatile storage of the second node device; and transmitting an indication of the assignment of performance of the second task on the second partition to the second node device to avoid retrieval of the second partition by the first node device. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28, 29, 30)
-
Specification