Parallel processing with solidarity cells by proactively retrieving from a task pool a matching task for the solidarity cell to process
DCFirst Claim
1. An apparatus for parallel processing of a large computing requirement, the apparatus comprising:
- a central processing unit (“
CPU”
);
a task pool in electronic communication with the CPU; and
a first solidarity cell in electronic communication with the task pool, the first solidarity cell comprising a first agent configured to proactively retrieve, from the task pool, without requiring an instruction from the CPU, a matching task for the solidarity cell to process;
wherein the CPU populates the task pool by dividing the requirement into one or more threads and placing the threads in the task pool, each thread comprising one or more tasks, and the matching task being one of the tasks;
wherein each task comprises a descriptor, the descriptor containing at least;
a function to be executed; and
a memory location of data upon which the function is to be executed;
wherein the first agent is a data frame comprising;
a source address, a destination address and a payload;
wherein the first agent retrieves the matching task by;
being dispatched by the first solidarity cell to the task pool, during which the source address is the first solidarity cell'"'"'s address, the destination address is the task pool'"'"'s address, and the payload comprises a list of functions the first solidarity cell is configured to perform;
searching the task pool for a task that is ready to be processed and has a function that the first solidarity cell can perform; and
returning to the first solidarity cell, during which the source address is the task pool'"'"'s address, the destination address is the first solidarity cell'"'"'s address, and the payload comprises the descriptor of the matching task.
1 Assignment
Litigations
2 Petitions
Accused Products
Abstract
A method and apparatus for processing information in parallel uses autonomous computer processing cells to perform tasks needed by a central processing unit. Each cell in the system is connected through a switching fabric, which facilitates connections for data transfer and arbitration between all system resources. A cell has an agent, which is a software module that may be transferred through the switching fabric to a task pool containing the tasks. The agent searches within the task pool for available tasks that match the cell'"'"'s instruction type. A task may be broken into threads that are to be executed sequentially or independently depending on recipes constructed by the central processing unit. Interdependent tasks within the task pool may be logically combined as needed by the recipe. A notification is sent from the task pool to the central processing unit when a task or task thread is completed.
13 Citations
14 Claims
-
1. An apparatus for parallel processing of a large computing requirement, the apparatus comprising:
-
a central processing unit (“
CPU”
);a task pool in electronic communication with the CPU; and a first solidarity cell in electronic communication with the task pool, the first solidarity cell comprising a first agent configured to proactively retrieve, from the task pool, without requiring an instruction from the CPU, a matching task for the solidarity cell to process; wherein the CPU populates the task pool by dividing the requirement into one or more threads and placing the threads in the task pool, each thread comprising one or more tasks, and the matching task being one of the tasks; wherein each task comprises a descriptor, the descriptor containing at least; a function to be executed; and a memory location of data upon which the function is to be executed; wherein the first agent is a data frame comprising;
a source address, a destination address and a payload;wherein the first agent retrieves the matching task by; being dispatched by the first solidarity cell to the task pool, during which the source address is the first solidarity cell'"'"'s address, the destination address is the task pool'"'"'s address, and the payload comprises a list of functions the first solidarity cell is configured to perform; searching the task pool for a task that is ready to be processed and has a function that the first solidarity cell can perform; and returning to the first solidarity cell, during which the source address is the task pool'"'"'s address, the destination address is the first solidarity cell'"'"'s address, and the payload comprises the descriptor of the matching task. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. An apparatus for parallel processing of a large computing requirement, the apparatus comprising:
-
a central processing unit (“
CPU”
);a task pool in electronic communication with the CPU; first solidarity cell in electronic communication with the task pool, the first solidarity cell comprising a first agent configured to proactively retrieve, from the task pool, a matching task for the solidarity cell to process; and a second solidarity cell comprising a second agent that proactively retrieves matching tasks from the task pool for the second solidarity cell to process, wherein the matching task for each solidarity cell is a task in the task pool that is ready to be processed and can be performed by the solidarity cell; wherein each solidarity cell sends its agent to the task pool when the solidarity cell does not have a matching task to process; and wherein each agent comprises a source address, a destination address, and a payload, and wherein each agent retrieves a matching task by; being dispatched by its solidarity cell to the task pool, during which the source address is its solidarity cell'"'"'s address, the destination address is the task pool'"'"'s address, and the payload comprises a list of functions the agent'"'"'s solidarity cell is configured to perform; searching the task pool for a task that is ready to be processed and has a function that the agent'"'"'s solidarity cell can perform; and returning to its solidarity cell, during which the source address is the task pool'"'"'s address, the destination address is the agent'"'"'s solidarity cell'"'"'s address, and the payload comprises a descriptor of the matching task.
-
Specification