Feedback edges with zero summary
Closed this issue · 2 comments
Adapting Megaphone, branch event_driven to event-driven timely, we need a scheduling-aware back-edge to express to timely's scheduling when a migration can be performed. I think an obvious choice is to use the Feedback
operator, but that doesn't work with zero summaries:
thread 'worker thread 0' panicked at 'Cannot use default summary for a loop variable', /home/moritz/.cargo/git/checkouts/timely-dataflow-4c0cc365061cd263/ca40906/src/dataflow/operators/feedback.rs:74:13
I guess the requirement for a non-zero summary is to prevent feedback edges that block the computation. However, here we explicitly block progress from the feedback edge to propagate anywhere else. Is the solution to get rid of the check in feedback.rs:74
?
This sounds like a great idea! A related thing I should do is to add to reachability_neu.rs
a cycle detector, so at the time you build your graph it can report whether you've installed what appears to be a non-incrementing cycle.
Not sure what to do if you do this, but that is probably the right place to detect and report it.