Thanks for the feedback, Andrey. I'll start the vote.
Thank you~ Xintong Song On Tue, Sep 17, 2019 at 10:09 PM Andrey Zagrebin <azagre...@apache.org> wrote: > Thanks for the update @Xintong. > I would be ok with starting the vote. > > Best, > Andrey > > On Tue, Sep 17, 2019 at 6:12 AM Xintong Song <tonysong...@gmail.com> > wrote: > > > The implementation plan [1] is updated, with the following changes: > > > > - Add default slot resource profile to > > ResourceManagerGateway#registerTaskExecutor rather than > #sendSlotReport. > > - Swap 'TaskExecutor derive and register with default slot resource > > profile' and 'Extend TaskExecutor to support dynamic slot allocation' > > - Add step for updating RestAPI / Web UI > > > > Thank you~ > > > > Xintong Song > > > > > > [1] > > > > > https://cwiki.apache.org/confluence/display/FLINK/FLIP-56%3A+Dynamic+Slot+Allocation > > > > On Tue, Sep 17, 2019 at 11:49 AM Xintong Song <tonysong...@gmail.com> > > wrote: > > > > > @Till > > > Thanks for the reminding. I'll add a step for updating the web ui. I'll > > > try to involve Lining to help us with this step. > > > > > > @Andrey > > > I was thinking that after we define the RM-TM interfaces in step 2, it > > > would be good to concurrently work on both RM and TM side. But yes, if > we > > > finish Step 4 early, then it would make step 6 easier. We can start to > > have > > > some IT/E2E tests, with the default slot resource profiles being > > available. > > > > > > Thank you~ > > > > > > Xintong Song > > > > > > > > > > > > On Mon, Sep 16, 2019 at 9:50 PM Andrey Zagrebin <and...@ververica.com> > > > wrote: > > > > > >> @Xintong > > >> > > >> Thanks for the feedback. > > >> > > >> Just to clarify step 6: > > >> If the first point is done before step 5 (e.g. as part of 4) then it > is > > >> just keeping the info about the default slot in RM's data structure > > >> associated the TM and no real change in the behaviour. > > >> When this info is available, I think it can be straightforwardly used > > >> during step 5 where we get either concrete slot requirement > > >> or the unknown one (step 6, point 2) which simply grabs some of the > > >> concrete default ones (btw not clear which one, seems just some > random?) > > >> > > >> For steps 5,7, true, it is not quite clear whether we can avoid some > > >> split, > > >> e.g. after step 5 before doing step 7. > > >> I agree that we should introduce the feature flag if we clearly see > that > > >> it > > >> would be a bigger effort without the flag. > > >> > > >> Best, > > >> Andrey > > >> > > >> On Mon, Sep 16, 2019 at 3:21 PM Till Rohrmann <trohrm...@apache.org> > > >> wrote: > > >> > > >> > One thing which was briefly mentioned in the Flip but not in the > > >> > implementation plan is the update of the web UI. I think it is worth > > >> > putting an extra item for updating the web UI to properly display > the > > >> > resources a TM has still to offer with dynamic slot allocation. I > > guess > > >> we > > >> > need to pull in some JavaScript help in order to implement this > step. > > >> > > > >> > Cheers, > > >> > Till > > >> > > > >> > On Mon, Sep 16, 2019 at 2:15 PM Xintong Song <tonysong...@gmail.com > > > > >> > wrote: > > >> > > > >> > > Thanks for the comments, Andrey. > > >> > > > > >> > > - I agree that instead of ResourceManagerGateway#sendSlotReport, > we > > >> > should > > >> > > add the default slot resource profile to > > >> > > ResourceManagerGateway#registerTaskExecutor. > > >> > > > > >> > > - If I understand correctly, the reason you suggest do default > slot > > >> > > resource profile first and then do step 3 in a way that support > both > > >> > > TaskExecutorGateway#requestSlot and > > >> TaskExecutorGateway#requestResource, > > >> > is > > >> > > to try to avoid splitting code paths with the feature option? I > > think > > >> we > > >> > > can do that, but I also want to bring it up that this can only > > reduce > > >> the > > >> > > code split by the feature option (which is good) but not eliminate > > >> it. We > > >> > > still need the feature option for the fundamental differences, > e.g. > > >> > > creating new SlotIDs on allocation vs. allocate to free slots with > > >> > existing > > >> > > SlotIDs. > > >> > > > > >> > > - I don't really think we can do step 5, 6 and 7 independently. > > >> Basically > > >> > > they are all making changes to the same component. We probably can > > do > > >> > step > > >> > > 6 and 7 independently, but I think they both depends on step 5. > > >> > > > > >> > > In general, I would say it's good to have as less as possible > codes > > >> split > > >> > > by the feature option, which makes the later clean-up easier. But > if > > >> it > > >> > > cannot be easily done, I would rather not to put too much efforts > on > > >> > having > > >> > > a good abstraction and deduplication between the new code path and > > the > > >> > > original one that we are removing soon. > > >> > > > > >> > > What do you think? > > >> > > > > >> > > Thank you~ > > >> > > > > >> > > Xintong Song > > >> > > > > >> > > > > >> > > > > >> > > On Mon, Sep 16, 2019 at 5:59 PM Andrey Zagrebin < > > and...@ververica.com > > >> > > > >> > > wrote: > > >> > > > > >> > > > Hi Xintong, > > >> > > > > > >> > > > Thanks for sharing the implementation steps. I also think they > > makes > > >> > > sense > > >> > > > with the feature option. > > >> > > > > > >> > > > I was wondering if we could order the steps in a way that each > > >> change > > >> > > does > > >> > > > not affect other components too much, always having a working > > system > > >> > > > then maybe the feature option does not always need to split the > > >> code. > > >> > > Here > > >> > > > are some thoughts. > > >> > > > > > >> > > > - We could do default slot profile firstly and include it into > the > > >> TM > > >> > > > registration. I would suggest to add > > >> > > > to ResourceManagerGateway#registerTaskExecutor, not > > sendSlotReport. > > >> > > > This way RM knows about it but does not use at this point. > > (parts > > >> of > > >> > > step > > >> > > > 4,6) > > >> > > > > > >> > > > - We could try to do step 3 firstly in a way that it also > supports > > >> the > > >> > > > current way of allocation in TaskExecutorGateway#requestSlot > with > > >> the > > >> > > > default slot profile > > >> > > > and sends reports both with available resources and with free > > >> default > > >> > > > slots which correspond to the available resources. We can just > > >> remove > > >> > > free > > >> > > > default slots later. > > >> > > > The new way of TaskExecutorGateway#requestResource could be > also > > >> > > > implemented here but not used yet. > > >> > > > > > >> > > > - Then step 5 can use the new > TaskExecutorGateway#requestResource > > >> and > > >> > the > > >> > > > default slot profile > > >> > > > > > >> > > > - Not sure, step 5 and 7 can be implemented independently > without > > >> > > > regression of what we have. Maybe if we do step 7 firstly it > will > > >> have > > >> > > only > > >> > > > default slots firstly and it will simplify step 5 later. > > >> > > > > > >> > > > Best, > > >> > > > Andrey > > >> > > > > > >> > > > On Mon, Sep 16, 2019 at 5:53 AM Xintong Song < > > tonysong...@gmail.com > > >> > > > >> > > > wrote: > > >> > > > > > >> > > > > Thanks for the comments, Till and Wenlong. > > >> > > > > > > >> > > > > @Wenlong > > >> > > > > Regarding slot sharing, the general idea is to request a slot > > with > > >> > > > > resources for tasks of the entire slot sharing group. Details > > can > > >> be > > >> > > > found > > >> > > > > in FLIP-53 [1], regarding how to decide the slot sharing > groups > > >> and > > >> > how > > >> > > > to > > >> > > > > manage task resources within the shared slots. > > >> > > > > > > >> > > > > Thank you~ > > >> > > > > > > >> > > > > Xintong Song > > >> > > > > > > >> > > > > > > >> > > > > > > >> > > > > On Mon, Sep 16, 2019 at 10:42 AM wenlong.lwl < > > >> > wenlong88....@gmail.com> > > >> > > > > wrote: > > >> > > > > > > >> > > > > > Hi, Xintong, thanks for the great proposal. big +1 for the > > >> feature! > > >> > > It > > >> > > > is > > >> > > > > > something like mapreduce-1.0 to mapreduce-2.0. > > >> > > > > > > > >> > > > > > I like the design on the whole. One point may need to be > > >> included > > >> > in > > >> > > > the > > >> > > > > > proposal:How we deal with slot share group and dynamic slot > > >> > > allocation? > > >> > > > > It > > >> > > > > > can be quite different with dynamic slot allocation. > > >> > > > > > > > >> > > > > > On Fri, 13 Sep 2019 at 16:42, Till Rohrmann < > > >> trohrm...@apache.org> > > >> > > > > wrote: > > >> > > > > > > > >> > > > > > > Thanks for the update Xintong. From a high level > perspective > > >> the > > >> > > > > > > implementation plan looks good to me. > > >> > > > > > > > > >> > > > > > > Cheers, > > >> > > > > > > Till > > >> > > > > > > > > >> > > > > > > On Thu, Sep 12, 2019 at 11:04 AM Xintong Song < > > >> > > tonysong...@gmail.com > > >> > > > > > > >> > > > > > > wrote: > > >> > > > > > > > > >> > > > > > > > Added implementation steps for this FLIP on the wiki > page > > >> [1]. > > >> > > > > > > > > > >> > > > > > > > > > >> > > > > > > > Thank you~ > > >> > > > > > > > > > >> > > > > > > > Xintong Song > > >> > > > > > > > > > >> > > > > > > > > > >> > > > > > > > [1] > > >> > > > > > > > > > >> > > > > > > > > > >> > > > > > > > > >> > > > > > > > >> > > > > > > >> > > > > > >> > > > > >> > > > >> > > > https://cwiki.apache.org/confluence/display/FLINK/FLIP-56%3A+Dynamic+Slot+Allocation > > >> > > > > > > > > > >> > > > > > > > > > >> > > > > > > > > > >> > > > > > > > On Tue, Aug 20, 2019 at 3:43 PM Xintong Song < > > >> > > > tonysong...@gmail.com> > > >> > > > > > > > wrote: > > >> > > > > > > > > > >> > > > > > > > > @Zili > > >> > > > > > > > > > > >> > > > > > > > > As far as I know, Timo is drafting a FLIP that has > taken > > >> the > > >> > > > number > > >> > > > > > 55. > > >> > > > > > > > > There is a round-up number maintained on the FLIP wiki > > >> page > > >> > [1] > > >> > > > > shows > > >> > > > > > > > > which number should be used for the new FLIP, which > > >> should be > > >> > > > > > increased > > >> > > > > > > > by > > >> > > > > > > > > whoever takes the number for a new FLIP. > > >> > > > > > > > > > > >> > > > > > > > > Thank you~ > > >> > > > > > > > > > > >> > > > > > > > > Xintong Song > > >> > > > > > > > > > > >> > > > > > > > > > > >> > > > > > > > > [1] > > >> > > > > > > > > > > >> > > > > > > > > > >> > > > > > > > > >> > > > > > > > >> > > > > > > >> > > > > > >> > > > > >> > > > >> > > > https://cwiki.apache.org/confluence/display/FLINK/Flink+Improvement+Proposals > > >> > > > > > > > > > > >> > > > > > > > > On Tue, Aug 20, 2019 at 3:28 AM Zili Chen < > > >> > > wander4...@gmail.com> > > >> > > > > > > wrote: > > >> > > > > > > > > > > >> > > > > > > > >> We suddenly skipped FLIP-55 lol. > > >> > > > > > > > >> > > >> > > > > > > > >> > > >> > > > > > > > >> Xintong Song <tonysong...@gmail.com> 于2019年8月19日周一 > > >> > 下午10:23写道: > > >> > > > > > > > >> > > >> > > > > > > > >> > Hi everyone, > > >> > > > > > > > >> > > > >> > > > > > > > >> > We would like to start a discussion thread on > > "FLIP-56: > > >> > > > Dynamic > > >> > > > > > Slot > > >> > > > > > > > >> > Allocation" [1]. This is originally part of the > > >> discussion > > >> > > > > thread > > >> > > > > > > for > > >> > > > > > > > >> > "FLIP-53: Fine Grained Resource Management" [2]. As > > >> Till > > >> > > > > > suggested, > > >> > > > > > > we > > >> > > > > > > > >> > would like split the original discussion into two > > >> topics, > > >> > > and > > >> > > > > > start > > >> > > > > > > a > > >> > > > > > > > >> > separate new discussion thread as well as FLIP > > process > > >> for > > >> > > > this > > >> > > > > > one. > > >> > > > > > > > >> > > > >> > > > > > > > >> > Thank you~ > > >> > > > > > > > >> > > > >> > > > > > > > >> > Xintong Song > > >> > > > > > > > >> > > > >> > > > > > > > >> > > > >> > > > > > > > >> > [1] > > >> > > > > > > > >> > > > >> > > > > > > > >> > > > >> > > > > > > > >> > > >> > > > > > > > > > >> > > > > > > > > >> > > > > > > > >> > > > > > > >> > > > > > >> > > > > >> > > > >> > > > https://cwiki.apache.org/confluence/display/FLINK/FLIP-56%3A+Dynamic+Slot+Allocation > > >> > > > > > > > >> > > > >> > > > > > > > >> > [2] > > >> > > > > > > > >> > > > >> > > > > > > > >> > > > >> > > > > > > > >> > > >> > > > > > > > > > >> > > > > > > > > >> > > > > > > > >> > > > > > > >> > > > > > >> > > > > >> > > > >> > > > http://apache-flink-mailing-list-archive.1008284.n3.nabble.com/DISCUSS-FLIP-53-Fine-Grained-Resource-Management-td31831.html > > >> > > > > > > > >> > > > >> > > > > > > > >> > > >> > > > > > > > > > > >> > > > > > > > > > >> > > > > > > > > >> > > > > > > > >> > > > > > > >> > > > > > >> > > > > >> > > > >> > > > > > >