History | View | Annotate | Download (29.4 KB)
Fixed bug with not-removed events
Problem: With Horizon the semantics of cScheduler::getNextEvent() andcSimulator::doOneEvent() where changed. Without Horiozn, getNextEvent()peeked the event in the FES, and doOneEvent() removed it. This waschanged for Horizon, but the cParsimScheduler::getNextEvent() function...
Modified random number genaration
Instead of deriving from cNumberGenerator, models now use a distinct RNGin the global RNG array. This ignores the user specific mapping, butintroduces a mapping that creates <num-rngs> RNGs per module and mapsthem accordingly....
Moved cAsyncModule functionality to cSimpleModule, dropped cAsyncModule
We eliminated the need for special cAsyncModule objectssince it is more convenient to just stick to cSimpleModule in themodel implementation and active Horizon through omnetpp.ini switches....
[master] enable endSimulation() from threaded context
[sequencechart] implemented functionality to- write event duration into eventlog- measure event complexity- write event complexity into eventlog- parse complexity in eventlog interface from ievent java JNI
- added EventEndEntry into eventlog data format
[horizon-4] fixed segfault that appeared when record-eventlog=true was set
[nullduration] moved asyncModuleLocks to earlier position and added getProcessingDelay return value that makes the event get handled sequentially:We have to lock before getProcessingDelay is called, and must only be released, once the corresponding event has been handled. This is because in the meantime, other events could alter the module and therefore change the outcome of getProcessingDelay nondeterministically....
[nullduration] bugfix: correcty insert barriermsgs with their parentID and parentArrivalTime being that of the corresponding event.
[random-number-generator] cAsyncModules now take ini input for RNG seeding- the parameter number-local-rngs specifies how many local random number generators are beeing created for the module- the parameter local-rng-seed takes a string of whitespace-seperated seeds, that are beeing used to seed the corresponding RNG. Example:...
[core] implemented thread-safe(r) FES ordering
[eefscheduler] added changes from codereview (minor stuff) and moved scheduler call again from cSimulation to Tkenv and Cmdenv respectively
[eefscheduler] code cleanup
[eefscheduler] the eefscheduler may not be used in the unthreaded case
[eefscheduler] encapsulated getProcessingDelay-call in the getEventDuration() of cMessageThe duration of a message is invalidated in scheduleAt and sendDirect/Delayed
[eefscheduler] moved barrierMin from cSimulation to cSpinningthreadpool
[eefscheduler] added eefscheduler support for NOBARRIER, fixed bug with duration:- one has to make sure that getProcessingDelay() is only called exactly once per simulation of an event. Otherwise timings with random processing delays get mixed up.
[eefscheduler] made cSequentialScheduler work again with NOBARRIER
[eefscheduler] further code cleanup of doOneEvent
[eefscheduler] moved barrierwaiting to scheduler- now the scheduler always returns a non barrier event
- added some debug output- fixed taskheap: made operators static, otherwise the wrong operators would be used- fixed t_start assignment in scheduleAt
[eefscheduler] solved initialization bug of t_start- now using delivd instead of t_start (t_start was redundant to delivd)- removed t_start from code- some code cleanup (some debug output removed..)
[eefscheduler] some more code cleanup
[eefscheduler] fixed correct advancing of simtimemoved time advancing from getnextmodule to dooneevent
[eefscheduler] restructured doOneEvent-doOneEvent now has no parameter-getNextEvent now removes elements from the FES/IES-still getting deadlock when IES runs empty
working on EEFScheduler:added EEFScheduler
[eefscheduler] made EEFScheduler work with NOBARRIER disabled
Autobuild script for nightly builds
Initial import of Horizon 4 release.