cIdealSimulationProtocol Class Reference

Parallel Simulation API: cIdealSimulationProtocol Class Reference
Parallel Simulation API
cIdealSimulationProtocol Class Reference
Inheritance diagram for cIdealSimulationProtocol:
[legend]

Public Member Functions

 cIdealSimulationProtocol ()
virtual ~cIdealSimulationProtocol ()
virtual void startRun () override
virtual void endRun () override
virtual cEvent * takeNextEvent () override
virtual void putBackEvent (cEvent *event) override
Public Member Functions inherited from cParsimProtocolBase
 cParsimProtocolBase ()
virtual ~cParsimProtocolBase ()
virtual void processOutgoingMessage (cMessage *msg, const SendOptions &options, int procId, int moduleId, int gateId, void *data) override
Public Member Functions inherited from cParsimSynchronizer
 cParsimSynchronizer ()
virtual ~cParsimSynchronizer ()
virtual std::string str () const override
virtual void setContext (cSimulation *sim, cParsimPartition *seg, cParsimCommunications *co)
virtual cEvent * guessNextEvent () override

Description

Implements the Ideal Simulation Protocol, described in the paper "Performance Evaluation of Conservative Algoritms in Parallel Simulation Languages" by Bagrodia et al.

This is not a real synchronization protocol, but rather a research tool to measure efficiency of other synchonization protocols like the null message algorithm.

Constructor & Destructor Documentation

◆ cIdealSimulationProtocol()

Constructor.

◆ ~cIdealSimulationProtocol()

virtual ~cIdealSimulationProtocol ( )
virtual

Destructor.

Member Function Documentation

◆ startRun()

virtual void startRun ( )
overridevirtual

Called at the beginning of a simulation run.

Implements cParsimSynchronizer.

◆ endRun()

virtual void endRun ( )
overridevirtual

Called at the end of a simulation run.

Implements cParsimSynchronizer.

◆ takeNextEvent()

virtual cEvent * takeNextEvent ( )
overridevirtual

Scheduler function.

Implements cParsimSynchronizer.

◆ putBackEvent()

virtual void putBackEvent ( cEvent * event)
overridevirtual

Undo takeNextEvent() – it comes from the cScheduler interface.