Giter VIP home page Giter VIP logo

Comments (8)

JohnPJenkins avatar JohnPJenkins commented on July 23, 2024

As an interim solution in CODES, we've defined our own codes_event_new() wrapper that asserts that the absolute time of the event is < g_tw_ts_end. This isn't appropriate for ROSS since many models deliberately queue events after g_tw_ts_end; we would probably want configurable behavior there (either do nothing, print a warning, or assert).

from ross.

carns avatar carns commented on July 23, 2024

Alternatively, model writers who expect a simulation to run to g_tw_ts_end might be confused if ROSS stops because it ran out of events to process.

The minimal solution might be to just have ROSS display which stopping condition it used as part of its normal output. If it were also indicated as an output argument to tw_run() or tw_end() then model writers could add asserts in main if they wanted to make certain it ended one way or the other.

from ross.

gonsie avatar gonsie commented on July 23, 2024

ROSS jumps to g_tw_ts_end when there are no more events to process due to an optimization (ROSS GVTs jump to global minimum time, thus eliminating small, uneventful, time windows). If there are no more events in the system... there can never be any more events in the system.

Would adding clearer documentation surrounding g_tw_ts_end be helpful here?

from ross.

JohnPJenkins avatar JohnPJenkins commented on July 23, 2024

Clearer documentation is always helpful :).

Is it possible for ROSS to determine whether or not events exist past g_tw_ts_end? This knowledge is sufficient for our needs - if an event exceeds g_tw_ts_end, then we know the stopping condition of the simulation, likewise with no events exceeding g_tw_ts_end.

from ross.

gonsie avatar gonsie commented on July 23, 2024

ROSS does not schedule events with timestamps beyond g_tw_ts_end (optimization!). Would a warning at this point be useful? It will not show up when the simulation ends, rather, when the event with the bad timestamp is sent.

from ross.

JohnPJenkins avatar JohnPJenkins commented on July 23, 2024

I think a warning is not the right way to thinking about it, as we could have steady state simulations that we want to cut off after a certain time (the protocol simulations Shane has been working on is an example of this). Rather, we simply want to know whether the g_tw_ts_end threshold was passed by an event or not. Preferably this would be printed along with the other summary info ROSS prints out.

from ross.

gonsie avatar gonsie commented on July 23, 2024

I am working on this now.

Would the statistic "total events scheduled past end time" be useful? When running in optimistic mode, this number may become somewhat inflated (due to rolled back events sending events past the end time).

from ross.

JohnPJenkins avatar JohnPJenkins commented on July 23, 2024

For my purposes, a binary yes / no would be sufficient, but I understand that the concept may be loose due to rollbacks, so a count is fine.

from ross.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.