Distributed data driven process
First Claim
1. A data driven control method for coordinating the scheduling and control of arithmetic tasks in a multiple computer system having a plurality of arithmetic processors, said data driven control method comprising the following steps:
- determining whether an arithmetic task has the necessary number of input data elements present at the input;
determining whether the arithmetic task has the necessary amount of buffer space available at the output;
determining whether the arithmetic task is in an execution ready condition; and
executing the arithmetic task when it is in an execution ready condition.
3 Assignments
0 Petitions
Accused Products
Abstract
A data driven method for coordinating the processing of arithmetic tasks in a multiple computer system having a multiplicity of arithmetic processors by determining whether an arithmetic task is in a blocked condition or is in an execution ready condition. A source distributed processor stores data in a local memory for processing by a local processor and then transfers the processed data to a global memory for buffering in preparation for subsequent processing by a destination distributed processor. The source distributed processor generates a produce message to a destination distributed processor to indicate that the data to be transferred is available in a buffer in the global memory. The destination distributed processor loads the data to be transferred from the buffer in the global memory and then generates a consume message to the source distributed processor to indicate that the data has been transferred from the global memory and the buffer in the global memory is now available.
-
Citations
3 Claims
-
1. A data driven control method for coordinating the scheduling and control of arithmetic tasks in a multiple computer system having a plurality of arithmetic processors, said data driven control method comprising the following steps:
-
determining whether an arithmetic task has the necessary number of input data elements present at the input; determining whether the arithmetic task has the necessary amount of buffer space available at the output; determining whether the arithmetic task is in an execution ready condition; and executing the arithmetic task when it is in an execution ready condition.
-
-
2. A data driven control method for coordinating the scheduling and control of arithmetic tasks in a multiple computer system having a plurality of arithmetic processors, said data driven control method comprising the following steps:
-
comparing the number of existing input data elements present at the input of an arithmetic task with a predetermined necessary number; comparing the amount of existing output buffer space present at the output of the arithmetic task with a predetermined necessary amount; determining whether the arithmetic task is in an execution ready condition; and executing the arithmetic task when it is in an execution ready condition.
-
-
3. A data driven method for coordinating the processing of arithmetic tasks in a multiple computer system having a plurality of arithmetic processors by determining whether an arithmetic task is in a blocked condition or is in an execution ready condition, said method comprising the following steps:
-
receiving data comprising a first arithmetic task including input data elements in a first arithmetic processor; transferring said data from said first arithmetic processor to global memory; generating a produce message in said first arithmetic processor; transferring said produce message to a second arithmetic processor; determining availability of local memory in said second arithmetic processor in response to said produce message; transferring said data from said global memory to the local memory in said second arithmetic processor in response to finding sufficient local memory available; generating a consume message in said second arithmetic processor; transferring said consume message to said first arithmetic processor; comparing the number of input data elements present in said data with a predetermined necessary number to perform said first arithmetic task; comparing the amount of local memory available with the necessary amount required to store the result after performing said first arithmetic task; determining whether said first arithmetic task is in an execution ready condition or is in a blocked condition; and executing said first arithmetic task when it is in an execution ready condition.
-
Specification