Parallel execution of a complex task partitioned into a plurality of entities
First Claim
1. A method for executing complex static timing tasks in an application environment of a computer system, said system comprising one or more processors, said method comprising:
- partitioning a complex static timing task into a plurality of entities;
starting a master process and a slave process for at least two of said plurality of entities, 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;
establishing a direct communication path between said coupled slave processes for communicating between said coupled slave processes independent of their respective master processes;
executing said master processes and said slave processes in said application environment on said one or more processors, wherein said master processes schedule operations to be performed by said slave processes for said complex static timing task and said slave processes perform said operations in parallel; and
providing a result of said operations performed in parallel to a user of said computer system.
3 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.
-
Citations
27 Claims
-
1. A method for executing complex static timing tasks in an application environment of a computer system, said system comprising one or more processors, said method comprising:
-
partitioning a complex static timing task into a plurality of entities; starting a master process and a slave process for at least two of said plurality of entities, 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; establishing a direct communication path between said coupled slave processes for communicating between said coupled slave processes independent of their respective master processes; executing said master processes and said slave processes in said application environment on said one or more processors, wherein said master processes schedule operations to be performed by said slave processes for said complex static timing task and said slave processes perform said operations in parallel; and providing a result of said operations performed in parallel to a user of said computer system. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A method for executing complex static timing tasks in an application environment of a computer system, said system comprising one or more processors, said method comprising:
-
partitioning a complex static timing task into a plurality of entities; starting a master process and a slave process for at least two of said plurality of entities, 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 said at least two of said plurality of entities; establishing direct communication paths between any coupled slave processes; executing said master processes and said slave processes in said application environment on said one or more processors, wherein said master processes schedule operations to be performed by said slave processes for said complex static timing task and said slave processes perform said operations in parallel; 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 providing a result of said operations performed in parallel to a user of said computer system. - View Dependent Claims (8, 9, 10, 11)
-
-
12. A method for performing static timing analysis on a logic design comprising a plurality of logic circuits, said method comprising:
-
partitioning said logic design into a first entity and a second entity, said first entity comprising a first portion of logic circuits and said second entity comprising a second portion of logic circuits; starting, in an application environment, a first master process and a first slave process for said first entity and a second master process and a second slave process for said second entity; establishing a communication path between said first slave process and said second slave process, wherein said first slave process and said second slave process directly communicate with one another; performing timing operations for said first portion of logic circuits using said first slave process and for said second portion of logic circuits using said second slave process, said timing operations indicating a performance of said logic design; and providing a result of said timing operations to a user of said computer system. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27)
-
Specification