I came up with a proposal[1] for a progress model solely based off of the
backlog and that splits should be based upon the remaining backlog we want
the SDK to split at. I also give recommendations to runner authors as to
how an autoscaling system could work based upon the measured backlog. A lot
of discussions around progress reporting and splitting in the past has
always been around finding an optimal solution, after reading a lot of
information about work stealing, I don't believe there is a general
solution and it really is upto SplittableDoFns to be well behaved. I did
not do much work in classifying what a well behaved SplittableDoFn is
though. Much of this work builds off ideas that Eugene had documented in
the past[2].

I could use the communities wide knowledge of different I/Os to see if
computing the backlog is practical in the way that I'm suggesting and to
gather people's feedback.

If there is a lot of interest, I would like to hold a community video
conference between Sept 10th and 14th about this topic. Please reply with
your availability by Sept 6th if your interested.

1: https://s.apache.org/beam-bundles-backlog-splitting
2: https://s.apache.org/beam-breaking-fusion

On Mon, Aug 13, 2018 at 10:21 AM Jean-Baptiste Onofré <[email protected]>
wrote:

> Awesome !
>
> Thanks Luke !
>
> I plan to work with you and others on this one.
>
> Regards
> JB
> Le 13 août 2018, à 19:14, Lukasz Cwik <[email protected]> a écrit:
>>
>> I wanted to reach out that I will be continuing from where Eugene left
>> off with SplittableDoFn. I know that many of you have done a bunch of work
>> with IOs and/or runner integration for SplittableDoFn and would appreciate
>> your help in advancing this awesome idea. If you have questions or things
>> you want to get reviewed related to SplittableDoFn, feel free to send them
>> my way or include me on anything SplittableDoFn related.
>>
>> I was part of several discussions with Eugene and I think the biggest
>> outstanding design portion is to figure out how dynamic work rebalancing
>> would play out with the portability APIs. This includes reporting of
>> progress from within a bundle. I know that Eugene had shared some documents
>> in this regard but the position / split models didn't work too cleanly in a
>> unified sense for bounded and unbounded SplittableDoFns. It will likely
>> take me awhile to gather my thoughts but could use your expertise as to how
>> compatible these ideas are with respect to to IOs and runners
>> Flink/Spark/Dataflow/Samza/Apex/... and obviously help during
>> implementation.
>>
>

Reply via email to