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.
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.
Claim 2
Dependent Claim
91 words
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.
Claim 3
Dependent Claim
100 words
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.
Claim 4
Dependent Claim
100 words
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.
Claim 5
Dependent Claim
225 words
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.
Claim 6
Dependent Claim
225 words
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.