Unboundedly parallel simulations
First Claim
Patent Images
1. A method for simulating on a computer events of a system comprising the steps of:
- selecting a cluster of events of said system that includes primarily events that are related to each other through an associative operator, an operator being associative when the same result is reached whether the operator is applied to a first intermediate result and event C, or to event A and a second intermediate result--where the first intermediate result is obtained by applying the operator to events A and B, and the second intermediate result is obtained by applying the operator to events B and C;
simulating the events of said cluster of events; and
returning to said step of selecting when at least some of said events of said system have not been simulated.
2 Assignments
0 Petitions
Accused Products
Abstract
Efficient simulation is achieved by employing a highly efficient ordering of the events to be simulated. Specifically, the events to be simulated are grouped into layers and the layers are simulated in order. Each of the layers consists of events that are either strictly independent of the other events in the layer or are dependent of other events in the layer but possess a particular attribute. That attribute is one that permits the use of an associative operator. This operator allows the simulation of N events in O(log N) computation iterations.
44 Citations
33 Claims
-
1. A method for simulating on a computer events of a system comprising the steps of:
-
selecting a cluster of events of said system that includes primarily events that are related to each other through an associative operator, an operator being associative when the same result is reached whether the operator is applied to a first intermediate result and event C, or to event A and a second intermediate result--where the first intermediate result is obtained by applying the operator to events A and B, and the second intermediate result is obtained by applying the operator to events B and C; simulating the events of said cluster of events; and returning to said step of selecting when at least some of said events of said system have not been simulated. - View Dependent Claims (2, 3, 4, 28, 29, 30)
-
-
5. A method for simulating on a computer events of a system comprising the steps of:
-
selecting a layer of events of said system that includes mostly event groups that are related to each other through an associative operator, an operator being associative when the same result is reached whether the operator is applied to a first intermediate result and event C, or to event A and a second intermediate result--where the first intermediate result is obtained by applying the operator to events A and B, and the second intermediate result is obtained by applying the operator to events B and C; simulating said layer of events; and returning to said step of selecting when at least some of said system events have not been simulated. - View Dependent Claims (6, 7, 8, 9, 10, 11, 12, 13, 14, 24, 25, 26, 27)
-
-
15. A method for discrete event simulation on a computer of system events occurring in a plurality of nodes in a multi-node system, where events in one node correspond to a time interval having more than one time sample and affect events in another node, comprising the steps of:
-
selecting the events of a node; simulating events of the selected node; and returning to said step of selecting until the last node in said order has been simulated and all events have been simulated. - View Dependent Claims (16, 17, 18, 19, 20)
-
-
21. A method for discrete event simulation on a computer of system events occurring in a plurality of nodes in a multi-node system, where events in one node correspond to a time interval having more than one time sample and affect events in another node, comprising the steps of:
-
formulating a simulations order for simulating said nodes; designating said the first node in said order as the simulation node; simulating events scheduled for said simulation node; designating a new simulation node by selecting the node that follows, in said order, the current simulation node; and returning to said step of simulating until the last node in said order has been simulated and all events have been simulated. - View Dependent Claims (22)
-
-
23. A method for discrete event simulation on a computer of system events occurring in a plurality of nodes in a multi-node system, where events in one node correspond to a time interval having more than one time sample and affect events in another node and where the termination of the appearance on independent events at one or more of the system nodes is not known, comprising the steps of:
-
selecting a super-group of events; for events within the selected super-group, executing a simulation procedure including selecting a cluster of events from among the events within the selected super-group, which cluster includes primarily events that are related to each other through an associative operator; simulating the events of said cluster of events; and
returning to said step of selecting when at least some of said events of said system have not been simulated;selecting another super-group of events; and returning to said step of executing a simulation procedure.
-
-
31. A method for simulating events of a system with an available number of processors comprising the steps of:
-
dividing the events to be simulated into layers having defined interface borders between the layers where at least in some of the layers one of the events in a layer is causally related to at least one other event in the layer; selecting an order of simulation for simulating said layers; and simulating the layers in a seriatim manner, where each step of simulating a layer completely simulates the layer by employing essentially all of the available number of processors. - View Dependent Claims (32, 33)
-
Specification