Parallel simulation support¶
|
Parallel Simulation API
|
Parallel simulation support
Classes | |
| class | cAdvancedLinkDelayLookahead |
| Lookahead calculation based on inter-partition link delays only. More... | |
| class | cFileCommunications |
| Implementation of the communications layer which works via files. Every message is created as a file in a communications directory. More... | |
| class | cIdealSimulationProtocol |
| Implements the Ideal Simulation Protocol, described in the paper "Performance Evaluation of Conservative Algoritms in Parallel
Simulation Languages" by Bagrodia et al. More... | |
| class | cISPEventLogger |
| Implements phase one for the Ideal Simulation Protocol (ISP), namely, creating the log of "external" events. That log will be used as by the ISP synchromization mechanism (cIdealSimulationProtocol). More... | |
| class | cLinkDelayLookahead |
| Lookahead calculation based on inter-partition link delays only. More... | |
| class | cNamedPipeCommunications |
| Implementation of the communications layer which uses named pipes. Pipes are created at initialization time, and are used throughout the whole simulation. More... | |
| class | cNMPLookahead |
| Base class of lookahead calculations for cNullMessageProtocol which implements the "null message algorithm". More... | |
| class | cNoSynchronization |
| "Dummy" implementation – just pass messages between partitions, without any synchronization. Of course incausalities may occur which terminate the simulation with error, so this class is only useful as a base "template" for implementing "real" synchronization protocols. More... | |
| class | cNullMessageProtocol |
| Implements the "null message algorithm". Lookahead calculation is encapsulated into a separate object, subclassed from cNMPLookahead. More... | |
| class | cParsimPartition |
| Represents one partition in a parallel simulation. Knows about partitions and the links between this partition and its neighbors. More... | |
| class | cParsimProtocolBase |
| Contains utility functions for implementing parallel simulation protocols. More... | |
| class | cParsimSynchronizer |
| Abstract base class for parallel simulation algorithms. Subclasses implement the "null message algorithm" and others. More... | |
| class | cPlaceholderModule |
| In distributed parallel simulation, modules of the network are distributed across partitions. More... | |
| class | cProxyGate |
| A gate that belongs to a cross-partition link and represents the remote gate on the local partition. cProxyGate's belong to cPlaceholderModule objects, which represent a "remote" module in the local partition. More... | |
| class | cReceivedException |
| Represents an exception that has been received from other partitions. More... | |
| class | cReceivedTerminationException |
| Represents a termination exception that has been received from other partitions. More... | |
Description
Parallel simulation support has a layered architecture, with the following layers:
- Communications layer, represented by cParsimCommunications. This encapsulates all details of message passing between parts of a program that executes in parallel, and hides details of the communications library (MPI, PVM, ...). Subclasses implemented here are cMPICommunications, cNamedPipeCommunications, cFileCommunications.
- Partition layer, represented by cParsimPartition. This encapsulates the task of distributing the simulation model over several partitions, and handles messaging between these partitions. It relies on layer 1 for this.
- Synchronization layer, represented by cParsimSynchronizer. It encapsulates the different parallel simulation algorithms like the conservative null message algorithm. This layer heavily cooperates with the message scheduler of the simulation.
See corresponding classes for more information.
Generated on for Parallel Simulation API by