Method for compiling a master task definition data set for defining the logical data flow of a distributed processing network
First Claim
1. For a distributed processing system including a plurality of distributed data processing elements, each of which having a local operating system for controlling operations therein and each having an associated storage means for storing at least one control block for defining functions to be performed by a data processing element in accordance with its local operating system, said plurality of data processing elements being interconnected by a data bus and a control bus, a method for compiling a master task definition data set for defining a logical data flow of said distributed processing system for accomplishing a specific complex function, comprising the steps of:
- inputting a user defined task description in a form of a high level language instruction which specifies what the task does, which other tasks a given task is associated with, and on what data processing element the given task is executed;
providing control blocks of three different types, a first type for controlling execution of tasks within said data processing element, a second type controlling transfer of data between tasks, and a third type controlling interdependent tasks by sending control tokens between tasks;
assembling addresses and routing information in control blocks to enable interconnection of tasks, as specified in a master task definitional data set;
assembling user defined parameters in a master task definition data set, into respective control blocks;
assembling a dependency mask in respective control blocks defining the tokens necessary to authorize execution of a task;
outputting a bit map representation of a plurality of control blocks, to enable said distributed processing system to carry out said specific complex function.
1 Assignment
0 Petitions
Accused Products
Abstract
A compiler method is disclosed which defines a data flow for a specific complex function to be executed on a plurality of data processing elements in a distributed processing system, by means of defining a plurality of control blocks which are associated with each task. The control blocks are in relocatable code so that they may be associated with any one of several similar types of data processing elements within the distributed processing network. The control blocks include local operating system control blocks, token control, post and wait control blocks, and processing element task execution control blocks. The use of the distributed processing system compiler method enables the quick and easy implementation of complex functions having interdependent processing tasks in a distributed processing system.
153 Citations
6 Claims
-
1. For a distributed processing system including a plurality of distributed data processing elements, each of which having a local operating system for controlling operations therein and each having an associated storage means for storing at least one control block for defining functions to be performed by a data processing element in accordance with its local operating system, said plurality of data processing elements being interconnected by a data bus and a control bus, a method for compiling a master task definition data set for defining a logical data flow of said distributed processing system for accomplishing a specific complex function, comprising the steps of:
-
inputting a user defined task description in a form of a high level language instruction which specifies what the task does, which other tasks a given task is associated with, and on what data processing element the given task is executed; providing control blocks of three different types, a first type for controlling execution of tasks within said data processing element, a second type controlling transfer of data between tasks, and a third type controlling interdependent tasks by sending control tokens between tasks; assembling addresses and routing information in control blocks to enable interconnection of tasks, as specified in a master task definitional data set; assembling user defined parameters in a master task definition data set, into respective control blocks; assembling a dependency mask in respective control blocks defining the tokens necessary to authorize execution of a task; outputting a bit map representation of a plurality of control blocks, to enable said distributed processing system to carry out said specific complex function. - View Dependent Claims (2, 3)
-
-
4. For a distributed processing system including a plurality of distributed data processing elements, each of which having a local operating system for controlling operations therein and each having an associated storage means for storing at least one control block for defining functions to be performed by a data processing element in accordance with its local operating system, said plurality of data processing elements being interconnected by a data bus and a control bus, a method for compiling a master task definition data set for defining a logical data flow of said distributed processing system for accomplishing a specific complex function, comprising the steps of:
-
a. reading in user created graph description and checking graph notation for syntactic and semantic correctness; b. creating for each object defined in the graph description, non-resolution control blocks as follows; 1. creating a token controlled post/wait mask; 2. processing all of object'"'"'s interconnections to determine a token mask for the object and a token position for an interface; 3. saving a token position for each interface so that the interface which is connected to a current interface will be related to token position to be set when appropriate conditions occur; 4. saving the token mask for insertion in an appropriate control block; c. creating a token controlled post/wait posting mechanism; d. creating hardware and operating system control blocks for the object; e. assigning the objects to an allocation unit after all objects have had their control blocks created; f. calculating resolution control blocks needed to make allocation units relocatable based upon the control block interconnection information saved when the control blocks are created; g. replacing all symbolic labels with a value of an actual location of the control block which a label represents; h. outputting a binary stream which is a result of the preceding steps, as an executable, run-time code for a graph object.
-
-
5. For a distributed processing system including a plurality of distributed data processing elements, each of which having a local operating system for controlling operations therein and each having an associated storage means for storing at least one control block for defining functions to be performed by a data processing elements in accordance with its local operating system, said plurality of data processing elements being interconnected by a data bus and a control bus, a method for compiling a mast task definition data set for defining a logical data flow of said distributed processing system for accomplishing a specific complex function, comprising the steps of:
-
a. reading in user created graph description; b. creating for each object defined in the graph description a non-resolution control block; c. creating a token controlled post/wait posting mechanism; d. creating hardware and operating system control blocks for the object; e. assigning objects to an allocation unit after all objects have had their control blocks created; f. calculating resolution control blocks needed to make allocation units relocatable based upon the control block interconnection information saved when the control blocks were created; g. replacing all symbolic labels with a value of an actual location of the control block which label represents; h. outputting a binary stream which is a result of the preceding steps, as an executable, run-time code for a graph object.
-
-
6. For distributed processing system including a plurality of distributed data processing elements which can be of a plurality of types, including input/output controllers, storage controllers, and arithmetic elements, each of which having a local operating system for controlling operations therein and each having an associated storage means for storing at least one control block for defining functions to be performed by a data processing element in accordance with its local operating system, said plurality of data processing elements being interconnected by a data bus and a control bus, a method for compiling a master task definition data set for defining a logical data flow of said distributed processing system for accomplishing a specific complex function, comprising the steps of:
-
inputting a user defined task description in a form of a high level language instruction which specifies what the task does, which other tasks a given task is associated with, and on what data processing element the given task is executed; providing control blocks of three different types, a first type for controlling execution of tasks within said data processing element, a second type controlling transfer of data between tasks, and a third type controlling interdependent tasks by sending control tokens between tasks; assembling addresses and routing information in control blocks to enable interconnection of tasks, as specified in a master task definitional data set; assembling user defined parameters in a master task definition data set, into respective control blocks; assembling a dependency mask in respective control blocks defining the tokens necessary to authorize execution of a task; outputting a bit map representation of a plurality of control blocks, to enable said distributed processing system to carry out said specific complex function.
-
Specification