Array of parallel programmable processing engines and deterministic method of operating the same
First Claim
1. An array of parallel programmable processing engines interconnected by a switching network, at least some of the processing engines executing a thread, at least some threads communicating with each other through communication objects either internally within one processing engine or through the network, a scheduling step of the parallel programmable processing engines being initiated by one or more events, an event being defined by a change of a state variable of a communication object, a scheduling step comprising a delta cycle convergence step.
3 Assignments
0 Petitions
Accused Products
Abstract
The present invention provides an array of parallel programmable processing engines interconnected by a switching network. At least some of the processing engines execute a thread, and at least some threads communicate with each other through communication objects either internally within one processing engine or through the network. A scheduling step of the parallel programmable processing engines is initiated by one or more events, an event being defined by a change of a state variable of a communication object. The array comprises:
means for scheduling a scheduling step of the processing engines, the scheduling means comprising means for executing at least a first set of threads in parallel,
means for updating state values of communications objects in response to the parallel executing step, and
means for repeatedly and sequentially scheduling the executing means and the updating means until no more events occur.
The present invention also provides a deterministic method of operating such an array.
-
Citations
31 Claims
- 1. An array of parallel programmable processing engines interconnected by a switching network, at least some of the processing engines executing a thread, at least some threads communicating with each other through communication objects either internally within one processing engine or through the network, a scheduling step of the parallel programmable processing engines being initiated by one or more events, an event being defined by a change of a state variable of a communication object, a scheduling step comprising a delta cycle convergence step.
-
3. An array of parallel programmable processing engines interconnected by a switching network, at least some of the processing engines executing a thread, at least some threads communicating with each other through communication objects either internally within one processing engine or through the network, a scheduling step of the parallel programmable processing engines being initiated by one or more events, an event being defined by a change of a state variable of a communication object, the array comprising:
-
means for scheduling a scheduling step of the processing engines, the scheduling means comprising means for executing at least a first set of threads in parallel, means for updating state values of communication objects in response to the parallel executing step, and means for repeatedly and sequentially scheduling the executing means and the updating means until no more events occur.
-
- 10. A deterministic method of operating an array of parallel programmable processing engines interconnected by a switching network, at least some of the processing engines executing a thread, at least some threads communicating with each other through communication objects either internally within one processing engine or through the network, a scheduling step of the parallel programmable processing engines being initiated by one or more events, an event being defined by a change of a state variable of a communication object, a scheduling step comprising a delta convergence cycle step.
-
18. A method for configuring an array of parallel programmable processing engines interconnected by a switching network, the array being adapted for delta cycle convergence, the configuration step comprising:
- transmitting from a near location a representation of a process to be run on the array to a remote location where a further processing engine carries out any of the methods in accordance with the present invention, and
receiving at a near location a configuration file for the array. - View Dependent Claims (19, 20)
- transmitting from a near location a representation of a process to be run on the array to a remote location where a further processing engine carries out any of the methods in accordance with the present invention, and
- 21. A compiler for receiving a high level description of a computer program and for generating a compiled file for loading onto an array of parallel programmable processing engines interconnected by a switching network, wherein the compiler generates the configuration file such that when configured the array executes a delta cycle convergence step.
-
23. A method of receiving a high level description of a computer program and generating a compiled file for loading onto an array of parallel programmable processing engines interconnected by a switching network, comprising generating the configuration file such that when configured the array executes a delta cycle convergence step.
- 28. Processing node for use in an array of parallel programmable processing elements interconnected by a switching network, the processing node comprising a processing element, a memory and a communication interface for communicating with other processing nodes in the switching network, the processing node being adapted for delta cycle convergence.
Specification