Operating system for use with computer networks incorporating two or more data processors linked together for parallel processing and incorporating improved dynamic load-sharing techniques
First Claim
1. A data processing system comprising a plurality of data processors interconnected as nodes in a random network of data processors and arranged to perform processes in parallel, each processor being directly connected in the network to a number of neighboring processors located at adjacent nodes of the network, wherein each of the processors in the network is programmed to decide, after being allocated a process, whether that processor or one of the number of neighboring processors, can at that time more optimally perform said process, and in accordance with that decision, either to reallocate said process to the one neighboring processor if the one neighboring processor can more optimally perform said process, or to perform the process itself if that processor decides that none of the neighboring processors can more optimally perform said process.
0 Assignments
0 Petitions
Accused Products
Abstract
A data processing system incorporates two or more processors linked together in a network which are capable of parallel processing. The data processing system employs a load-sharing technique where any given processor, upon allocation of a process, decides based on the loading of its immediate neighbors in the network, whether it or one of its neighboring processors is better able at that time to execute that process. In accordance with that decision, the given processor either executes the process itself or hands the process over to one of its neighbors if that neighbor is better able at that time to perform that process.
81 Citations
22 Claims
- 1. A data processing system comprising a plurality of data processors interconnected as nodes in a random network of data processors and arranged to perform processes in parallel, each processor being directly connected in the network to a number of neighboring processors located at adjacent nodes of the network, wherein each of the processors in the network is programmed to decide, after being allocated a process, whether that processor or one of the number of neighboring processors, can at that time more optimally perform said process, and in accordance with that decision, either to reallocate said process to the one neighboring processor if the one neighboring processor can more optimally perform said process, or to perform the process itself if that processor decides that none of the neighboring processors can more optimally perform said process.
-
9. A method of processing data in a data processing system including a plurality of electronic data processors connected as nodes in a random network of data processors and capable of performing processes in parallel, each processor being directly connected in the network to a number of neighboring processors located at the adjacent nodes of the network, wherein upon allocation of a process to any given processor in the network, the given processor performs the following steps:
-
(a) decides on the basis of information currently available to that processor whether that processor or one of the number of neighboring processors is best suited at that time to perform the process; and (b) in accordance with the decision in step (a) either performs the process itself or transfers the process to the one neighboring processor. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16, 18, 20, 21, 22)
-
Specification