Demonstrate FrontierInterest::IfCapability#687
Demonstrate FrontierInterest::IfCapability#687frankmcsherry wants to merge 9 commits intomaster-nextfrom
FrontierInterest::IfCapability#687Conversation
|
One thought while reading through the diff is that it should be possible, and is probably worth it, to factor the core operator logic into something parameterized by a |
748b599 to
8367473
Compare
8367473 to
bb21b63
Compare
|
The big thing here is the commit |
This PR explores an alternate form of
arrange_corethat produces a trace handle that .. 1. cannot be shared across dataflows, but 2. only needs to be activated on frontier transitions if it holds a capability. At the moment, this is presented as a new method that needs to be opted in to, so .. potentially not great risk to merge.Both
TraceAgentandTraceWriterare refactored to extract the shared queue that communicates batches and progress statements, wrapped aroundInnertypes that do everything else. Without the shared queue, you have anArranged<G,Tr>that can be used in the local dataflow, just without animportmethod to bring it in to other dataflows.There is a new example
event_driven.rsborrowed from timely dataflow, in which we constructddataflows each of one input, a region containing anarrangeoperator andkfilter operators, with a probe at the end outside the region. The experiment repeatedly adds an update to one input, and ticks all inputs.Using the existing
arrange_corewhich has theAlwaysfrontier interest:Using the dataflow-local operator with the same arguments:
The "speed-up" takes the iteration time from ~360ms to 4ms.