mindbeam / unbase

Other
39 stars 10 forks source link

Review possible simulator designs #6

Open dnorman opened 7 years ago

dnorman commented 7 years ago

@mmacfadden and @dnorman to meet up and work out the design for the network simulator.

Deliverables:

Considerations:

dnorman commented 7 years ago

Meeting findings:

  1. Simulator probably ought not take a "fate" based approach, but rather a "ray-tracing" or conditional based approach. This will allow for substantially more flexibility in terms of introducing artificial latency, failures, relativistic effects, AND the inclusion of application state conditional checking (not very efficient, but may be useful in some cases)
  2. Simulator should schedule both Memo delivery AND execution of closures, as necessary to service the needs of behavioral simulators in a manner which is consistent with the global ordering of events.
  3. Simulator shall allow scheduled events to be canceled, so as to allow for cases in which scheduled durations of processes are inappropriate given new information observed prior to the scheduled time ( presumably triggered by another party's advancement of the clock )

Proposed SystemSimulator API:

simulator.schedule(500,||{ ... }) thread_handle = simulator.block_until_event(||{ ... })