Made cDynamicExpression::evaluate (and therefore cPar::doubleValue) thread-safe
Problem: cDynamicExpression::evaluate was not thread-safe (also noted in thecomment), but used by cPar::doubleValue from a threaded context. Thiscaused using par() for random variables to yield wrong results in rare...
Moved context switching in main loop
Problem: The context was set in the main loop just prior to the eventoffloading. This yielded the problem that it was not set correctlyduring determination of event durations thus picking the duration fromwrong RNGs....
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...
Fixed bug in seed generation
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....
Renamed duration -> eventDuration
Problem: We had a variable cMessage::duration for Horizon and avariable cPacket::duration from OMNeT++ itself while cPacket inheritsfrom cMessage. This might lead to the wrong variable being accessedby packets.
Solution: Renamed the Horizon variable cMessage::duration in...
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....
Moved inheritance of cNumberGenerator from cAsyncModule to cSimpleModule
We are about to eliminate 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] correctly printing measured runtimes to logfile
[master] enable endSimulation() from threaded context
[master] streamlined templated implementation of locks
[master] fixed compile error due to missing class identifier
[master] simple fix for akaroa RNGsFixed compile error involving Akaroa due to changed RNG interfaces ofHorizon. However, Akaroa is not supported by Horizon.
[master] updated ignores
[master] fixed division by zero in corner cases
[master] updating 32-bin nativelibs to newest version
[master]- added two MMN Queueing sample traces
[master]- adding new binaries: JARs for nativelib and sequencechart and 64bit libopplibs.so- still missing: 32bit libopplibs.so
Merge branch 'sequencechart'
Conflicts: src/eventlog/ievent.h src/eventlog/sequencechartfacade.cc
[sequencechart]merging sequencechart branch into master branch
[sequencechartfacade]- better zooming behaviour, when switching timelinemodes
[sequencechart]- fixing hopefully last bugs with the new event order: events are drawn correctly and now, only those events are drawn that are actually visible
[sequencechart] -implementing second event order - fixing bugs introduced due to second event order
[sequencechart]-started to use new ordering in some methods
[sequencechart]- implemented second ordering for the events (getNextEventRealTime / getPreviousEventRealTime) for better performance
[sequencechart]- changed bottleneck finding buttons to look for bottlenecks on the critical path and according to overlapping coefficient
[sequencechart]- implemented the overlapping indication now also for the REAL TIME domain
[sequencechart] added new critical path show colors icon and updated colors for critical path icon
[sequencechart]Implemented visualization of parallelism on the critical path:The overlapping CPU time for each event is counted and visualized via color information
[sequencechart]- fixed behaviour of eventLenghtMode Toggle: when switching from REAL_TIME to SIMULATION_TIME, the event length mode is switched to DURATION
[sequencechart]- fixed many bugs that were introduced due to potentially different ordering of events in REAL_TIME mode, and due to calculation of the simulation end timestamp when durations are turned on.- ticks are now drawn correctly
[sequencechart]- various bugfixes
[sequencechart]- fixed bug in critical path calculation
[sequencechart]- further work on REAL TIME Visualization
[sequencechart]- further work on REAL TIME timeline mode- fixed bug in critical path computation (see wiki)
[sequencechart] first steps towards REAL_TIME visualization.
[sequencechart] added 32bit nativelibs
[sequencechart] added binaries and build system additions
- added binaries of GUI enhancements - nativelibs Linux64 and jar - sequencechart jar- added build target install-plugins for copying binaries to target dirs- updated .gitignore
Merge branch 'sequencechart' of ssh://login.nets.rwth-aachen.de/projects/horizon/git/horizon-4 into sequencechart
[sequencechart] build system upate
Added a make target nativelibs to the root Makefile. Updated READMEaccordingly.
[sequencechart]- fixed a bug in critical path visualization
[sequencechart] added icon for critical path and updated icon for illustration of overlapping
[sequencechart] visualize the critical path
- draw red and thicker arrows for the critical path- draw orange event marker- modifications to increase the size of events (commented, just used for taking screenshots)
[sequencechartfacade] fixed another bug with predecessor relation
[sequencechartfacade]- antecessor now considers module ID.- Fixed bug with critical path calculation resulting in endless loop
[sequencechart] added missing file and adjusted .gitignore accordingly
[sequencechart] updated README
[sequencechart] added methods for displaying the critical path - TODO: Discuss the antecessor relation
[sequencechart] fixed overlapping selection to show the largest set
Merge branch 'sequencechart' of login.nets.rwth-aachen.de:/projects/horizon/git/horizon-4 into sequencechart
[sequencechart] added methods for efficient parallel set
[sequencechart] moved location and renamed nativelibs and sequencechart dirs to ide directory
[sequencechart updated .gitignore]
[sequencechart] updated meta-data
- added plugin-xml for correct initialization of plugin- updated build.properties
[sequencechart] permanently setting custom build flag
set this flag to include rwlock.cc in the common-lib. Avoid undefinedreferences when building the nativelibs from source on Ubuntu 11.0432-bit
[sequencechart] importing sequence chart sources
[sequencechart] fixed overlapping highlighting
[sequencechart] fixed bug in MANIFEST.MF of nativelibs
- a wrong version string prevented correct initialization of the OMNeT++ plugins
[sequencechart] added methods for correctly displaying blue arrows at the end of events
[sequencechart] update of README
[sequencechart] manual and sample trace file
[sequencechart] legacy trace detection
- moved legacy trace detection from plugin to parsing lib
[sequencechart] sequencechartfacade methods for color coding (event lenght percentages)
[sequencechartfacade] added methods for automatic bottleneck search
[sequencechart] correctly skip eventEndEntries
- we do not include our need eventEndEntries in the logentries during parsing for backwards compatibility- a mismatch between meta-data (index) and actual data (logentries) caused the index to be out of bounds
[sequencechart] fixed crash due to missing initialization
[sequencechart]- fixed one bug with eventlogtable (however, still bugs are present)- added backwards compatibility (still some issues with the buttons present)
[sequencechart] added nativelib interfaces and makefile to horizon
[sequencechart]- fixing many small glitches- adding functions to sequencechartfacade (getSmallestComplexity / getLargestCompexity)- using colors to display complexity
[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
[master] fixed build system for Ubuntu 11.04
added --no-as-needed to Makefile to avoid "no user interface" errors.
Merge branch 'nullduration'
[build-system] make Horizon 4 build on Ubuntu 11.10
[horizon-4] fixed segfault that appeared when record-eventlog=true was set
[omnet4] fixed bug in smaller operator of spinningthreadpool
[random number generator] clean up: removing unused wrapper methods from cAsyncmodule
[random number generator] made cAsyncmodule inherit from cNumbergenerator as well.
[nullduration] cosmetic changes
[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....
[numGen] overloaded method calls in casyncmodule to make numGen-> referenciations unnecessary[nullduration] the barriermessage is now scheduled BEFORE the children of an event
[nullduration] bugfix: correcty insert barriermsgs with their parentID and parentArrivalTime being that of the corresponding event.
[nullduration] added- runtimeexception when wrong priority is scheduled- NOBARRIER-threadstate now uses UINT_MAX for barriers
[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:...
[nullduration] BARRIER: the additional barrier information is now always set in the scheduler, although this might not be necessary everytime.
[nullduration] added insertOrder comparison to the NOBARRIER comparison operators in the threadpool. These are necessary because during initialization, the rest of the parameters dont provide an unambigious ordering
[nullduration]- implemented rest of nullduration algorithm for both barrier based approach as well as NOBARRIER.-- barrier based approach: the barriers are now placed according to ordering-- nobarrier: the comparison operators have been extended
- hopefully fixed cache line size alignment
[nullduration] fixed the Bugs, Daniel mailed:-- (hoch) INSTALL behauptet NOBARRIER wäre default. in meinem checkoutist dies nicht wahr.
-- (unwichtig) include/cthreadpool.h beginnt mit einer forwarddeclaration von cthreadpool - direkt vor der definition...
Merge branch 'master' of login.nets.rwth-aachen.de:/projects/horizon/git/horizon-4
[master] cosmetic changes
[master] use locally stored simtime during messenge sending
We now store the local time of the module in a member variable beforeactually handling the event. During sending, we use this variable toavoid calls to the thread local storage to retrieve the time.
[master] thread safe event ordering for EEF scheduler
[core] updated documentation
[core] fixed comparison operator of thread-safe cmessageheap
- Corrected inverted comparisons of newly added message properties- re-introduced formaly removed use of insertOrder. This is still needed to sort messages which are being inserted during initialization
[core] added missing updates of message meta data