warped update


Subject: warped update
From: Jorgen Dahl (dahlj@ECECS.UC.EDU)
Date: Tue Mar 13 2001 - 13:21:42 MST


Update of /home/paw/CVS/warped/kernel/src
In directory viking.ececs.uc.edu:/work/dahlj/warped/kernel/src

Modified Files:
        GVTManagerImplementationBase.cpp MatternGVTManager.cpp
Log Message:
Fixed a GVT problem.

Some time back we were having problems with GVT. When debugging the early-
termination problem I noticed another GVT problem when running phold.
Once in a while gvt will skip backwards in time for one calculation
period. The reason for this is that it was previously assumed that
lastScheduledEventTime could be conservatively used as the sendTime of the
next event. Well, this seems to be what caused these leaps back in time.
It would work fine before, except after some rollbacks.

To solve this I modified the interfaces (ouch) from:
ostrstream*
MatternGVTManager::getGVTInfo(unsigned int srcSimMgr,
                              unsigned int destSimMgr);

to:
ostrstream*
MatternGVTManager::getGVTInfo(unsigned int srcSimMgr,
                              unsigned int destSimMgr,
                              const VTIME &sendTime);

I.e. I added an extra parameter - sendTime.

The modifications in getGVTInfo are from:
     VTIME minimumTime =
       MIN_FUNC(objectRecord.getMinTimeStamp(),
                myScheduler->getLastEventScheduledTime());

to:
     VTIME minimumTime =
       MIN_FUNC(objectRecord.getMinTimeStamp(),
                sendTime);

Please let me know if you see any inconsistency with this change. It hurts
to change the interface at this point, but I didn't see any other way out.



This archive was generated by hypermail 2b25 : Mon Mar 18 2002 - 13:00:09 MST