Parallel execution of a complex task partitioned into a plurality of entities
First Claim
1. A system for executing complex static timing tasks in a computer system comprising one or more processors, said system comprising:
- means for partitioning a complex static timing task into a plurality of entities;
means for starting a master process and a slave process for each of at least two of said plurality of entities, wherein the master processes and the slave processes of the at least two of said plurality of entities together form a hierarchical arrangement of processes in said system, the hierarchical arrangement of processes having at least one of the master processes subservient to another of the master processes therein, wherein a slave process of one of said at least two of said plurality of entities is coupled to a slave process of one other entity of said at least two of said plurality of entities;
means for establishing a direct communication path between said coupled slave processes for communicating between said coupled slave processes independent of their respective master processes, the hierarchical arrangement of processes thereby having at least one pair of coupled slave processes from different master processes in direct communication with each other;
means for executing said master processes and said slave processes on said one or more processors, wherein said master processes schedule operations to be performed by their respective said slave processes for said complex static timing task and said slave processes perform said operations in parallel; and
means for providing a result of said operations performed in parallel to a user of said computer system.
2 Assignments
0 Petitions
Accused Products
Abstract
In order to efficiently execute a complex task within a computer system, the task is partitioned into a plurality of entities. A master process and a slave process are started for each entity. The master processes schedule operations to be performed, while the slave processes perform the operations. One slave process is coupled to one or more other slave processes because of path interconnections between the entities. Communication is established between any coupled slave processes such that one slave process may directly communicate with another slave process without involving the master processes. The master and slave processes execute in parallel on a plurality of processors.
91 Citations
12 Claims
-
1. A system for executing complex static timing tasks in a computer system comprising one or more processors, said system comprising:
-
means for partitioning a complex static timing task into a plurality of entities; means for starting a master process and a slave process for each of at least two of said plurality of entities, wherein the master processes and the slave processes of the at least two of said plurality of entities together form a hierarchical arrangement of processes in said system, the hierarchical arrangement of processes having at least one of the master processes subservient to another of the master processes therein, wherein a slave process of one of said at least two of said plurality of entities is coupled to a slave process of one other entity of said at least two of said plurality of entities; means for establishing a direct communication path between said coupled slave processes for communicating between said coupled slave processes independent of their respective master processes, the hierarchical arrangement of processes thereby having at least one pair of coupled slave processes from different master processes in direct communication with each other; means for executing said master processes and said slave processes on said one or more processors, wherein said master processes schedule operations to be performed by their respective said slave processes for said complex static timing task and said slave processes perform said operations in parallel; and means for providing a result of said operations performed in parallel to a user of said computer system. - View Dependent Claims (2, 5, 11, 12)
-
-
3. A system for executing complex static timing tasks in a computer system comprising one or more processors, said system comprising:
-
means for partitioning a complex static timing task into a plurality of entities; means for starting a master process and a slave process for each of at least two of said plurality of entities, wherein the master processes and the slave processes of the at least two of said plurality of entities together form a hierarchical arrangement of processes in said system, the hierarchical arrangement of processes having at least one of the master processes subservient to another of the master processes therein, wherein a slave process of one of said at least two of said plurality of entities is coupled to one or more other slave processes of said at least two of said plurality of entities; means for establishing direct communication paths between any coupled slave processes for communicating between said coupled slave processes independent of their respective master processes, the hierarchical arrangement of processes thereby having at least one pair of coupled slave processes from different master processes in direct communication with each other; means for executing said master processes and said slave processes on said one or more processors, wherein said master processes schedule operations to be performed by their respective said slave processes for said complex static timing task and said slave processes perform said operations in parallel thereby reaching a result; means for thereafter substituting one of said plurality of entities with a replaceable entity, wherein at least one other entity of said plurality of entities is retained and operations relevant only to the replaceable entity are thereafter performed to thereby reach a new result; and means for providing the new result to a user of said computer system. - View Dependent Claims (4, 9, 10)
-
-
6. A system for executing complex static timing tasks in a computer system comprising one or more processors, said system comprising:
-
means for partitioning a complex static timing task into a plurality of entities; means for starting a master process and a slave process for each of at least two of said plurality of entities, wherein the master processes and the slave processes of the at least two of said plurality of entities together form a hierarchical arrangement of processes in said system, the hierarchical arrangement of processes having at least one of the master processes subservient to another of the master processes therein, wherein a slave process of one of said at least two of said plurality of entities is coupled to one or more other slave processes of said at least two of said plurality of entities; means for establishing direct communication paths between any coupled slave processes for communicating between said coupled slave processes independent of the respective master processes, the hierarchical arrangement of processes thereby having at least one pair of coupled slave processes from different master processes in direct communication with each other; means for executing said master processes and said slave processes on said one or more processors, wherein said master processes schedule operations to be performed by their respective said slave processes for said complex static timing task and said slave processes perform said operations in parallel; and means for providing a result of said operations performed in parallel to a user of said computer system. - View Dependent Claims (7, 8)
-
Specification