Hi Aljoscha,

Thanks for your advice. +1 to align the config pattern.

I also agree that we need to move the long discussion to the [DISCUSS]
thread. Sorry if it bothers you.

Best,
Yangze Guo

On Thu, Apr 16, 2020 at 7:52 AM Becket Qin <becket....@gmail.com> wrote:
>
> I agree with Aljoscha. It is important to keep API the same style. And we
> probably should move the long discussion to the [DISCUSS] thread.
>
> Thanks,
>
> Jiangjie (Becket) Qin
>
> On Wed, Apr 15, 2020 at 11:27 PM Aljoscha Krettek <aljos...@apache.org>
> wrote:
>
> > Is the only really new method on the public APIs
> > getExternalResourceInfos(..) on the RuntimeContext? I'm generally quite
> > skeptical about adding anything to that interface but the method seems ok.
> >
> > Side note for the configuration keys: the pattern is similar to metrics
> > configuration. There we have "metrics.reporters" = <list of reporter
> > names> and then metrics.reporter.<foobazzle>... Your proposal is
> > slightly different in that it uses "external-resource.list". Keeping
> > this in line with metrics configuration would suggest to use
> > "external-resources", and then "external-resource.<foobazzle>...". What
> > do you think?
> >
> > Also, why is there this long discussion in a [VOTE] thread?
> >
> > Best,
> > Aljoscha
> >
> > On 15.04.20 10:32, Yangze Guo wrote:
> > > Thanks for the explanation. I do not have a strong opinion regarding
> > > this interface. So, if it is better from your perspective, I'm +1 for
> > > this. I just saying it may not help a lot regarding the type-safe.
> > >
> > > Regarding the bounded wildcard type, yes, it's the implementation
> > > detail. If it won't make a difference for user, I'm also +1 for not
> > > using bounded wildcard type there.
> > >
> > > Best,
> > > Yangze Guo
> > >
> > > On Wed, Apr 15, 2020 at 4:23 PM Till Rohrmann <trohrm...@apache.org>
> > wrote:
> > >>
> > >> I think <T extends ExternalResourceInfo> Set<T>
> > >> getExternalResourceInfos(String resourceName, Class<T>
> > >> externalResourceType) is not less flexible than the other API since you
> > can
> > >> always pass in ExternalResourceInfo.class as the second argument.
> > >>
> > >> The benefit I see for the user is that he does not have to do the
> > >> instanceof checks and type casts himself. This is admittedly not a big
> > deal
> > >> but still a better API imo.
> > >>
> > >> I think the interface of the Driver and what is returned by the
> > >> RuntimeContext don't have to have the same type because you can cast it
> > or
> > >> repack it. If the current implementation simply stores what the Driver
> > >> returns and RuntimeContext returns this map, then it might seem that
> > there
> > >> is a connection. But this should be an implementation detail rather
> > than a
> > >> necessity.
> > >>
> > >> Maybe we could also pull in someone from the SDK team to give us his
> > >> opinion on the user facing API.
> > >>
> > >> Cheers,
> > >> Till
> > >>
> > >> On Wed, Apr 15, 2020 at 10:13 AM Xintong Song <tonysong...@gmail.com>
> > wrote:
> > >>
> > >>>>
> > >>>> I agree that such an interface won't give compile time checks but I
> > think
> > >>>> that it could be easier to use from a user's perspective because
> > there is
> > >>>> no explicit casting required.
> > >>>> public interface RuntimeContext {
> > >>>>      <T extends ExternalResourceInfo> Set<T>
> > >>> getExternalResourceInfos(String
> > >>>> resourceName, Class<T> externalResourceType);
> > >>>> }
> > >>>
> > >>>
> > >>> I'm not sure how less efforts is required from users to pass in a
> > >>> `externalResourceType` compared to do an explicit type casting.
> > >>> A potential side effect of passing in a `externalResourceType` is
> > that, it
> > >>> requires user (e.g. the operator) to know which specific type should be
> > >>> returned in advance, which may limit the flexibility.
> > >>>
> > >>> E.g., we might have an operator that can work with multiple different
> > >>> implementations of `ExternalResourceInfo`. It may decide its behavior
> > based
> > >>> on the actually type returned by `getExternalResourceInfos` at runtime.
> > >>>
> > >>>
> > >>> Thank you~
> > >>>
> > >>> Xintong Song
> > >>>
> > >>>
> > >>>
> > >>> On Wed, Apr 15, 2020 at 4:09 PM Yangze Guo <karma...@gmail.com> wrote:
> > >>>
> > >>>> @Till
> > >>>> If we add "Class<T> externalResourceType" param, what if there are
> > >>>> multiple subtypes in the ExternalResourceInfos set of one external
> > >>>> resource? It seems user has to set the T to ExternalResourceInfo and
> > >>>> the mechanism is useless at this case.
> > >>>>
> > >>>> Best,
> > >>>> Yangze Guo
> > >>>>
> > >>>> On Wed, Apr 15, 2020 at 3:57 PM Till Rohrmann <trohrm...@apache.org>
> > >>>> wrote:
> > >>>>>
> > >>>>> Ok, if there can be multiple resources of the same type then we
> > >>>> definitely
> > >>>>> need the name as a differentiator.
> > >>>>>
> > >>>>> I agree that such an interface won't give compile time checks but I
> > >>> think
> > >>>>> that it could be easier to use from a user's perspective because
> > there
> > >>> is
> > >>>>> no explicit casting required.
> > >>>>>
> > >>>>> public interface RuntimeContext {
> > >>>>>      <T extends ExternalResourceInfo> Set<T>
> > >>>> getExternalResourceInfos(String
> > >>>>> resourceName, Class<T> externalResourceType);
> > >>>>> }
> > >>>>>
> > >>>>> One minor note: I think the value of the returned map does not need
> > to
> > >>>> use
> > >>>>> a bounded wildcard type because for the user it won't make a
> > >>> difference.
> > >>>>>
> > >>>>> Cheers,
> > >>>>> Till
> > >>>>>
> > >>>>> On Wed, Apr 15, 2020 at 8:20 AM Yangze Guo <karma...@gmail.com>
> > wrote:
> > >>>>>
> > >>>>>> Hi Till,
> > >>>>>>
> > >>>>>>> ExternalResourceDriver could return a Set<? extends
> > >>>>>> ExternalResourceInfo>.
> > >>>>>> It sounds good.
> > >>>>>>
> > >>>>>>> then one could make the interface type-safe by changing it to
> > >>>>>>> public interface RuntimeContext {
> > >>>>>>>     <T extends ExternalResourceInfo> Set<T>
> > >>>>>>> getExternalResourceInfo(Class<T> externalResourceType);
> > >>>>>>> }
> > >>>>>> I think it may not help.
> > >>>>>> - I think the assumption of "there is always only one resource of a
> > >>>>>> specific type" is too strong. The external resource framework should
> > >>>>>> only assume it gets a set of ExternalResourceInfo from the driver.
> > >>> The
> > >>>>>> concrete implementation is given by user. So, if we give such an
> > >>>>>> assumption, it would hurt the flexibility. There could be multiple
> > >>>>>> types in the returned externalResourceInfo set. There could also be
> > >>>>>> different types returned from different driver implementation or
> > >>>>>> version. The contract about the return type between Driver and
> > >>>>>> Operator should be guaranteed by user.
> > >>>>>> - Since the Drivers are loaded dynamically in runtime, if there is a
> > >>>>>> type mismatch, the job would fail in runtime instead of in compile
> > >>>>>> time, no matter the type extraction is done by Operator or Flink
> > >>> core.
> > >>>>>> This interface would not gain benefits for type safety.
> > >>>>>>
> > >>>>>> Best,
> > >>>>>> Yangze Guo
> > >>>>>>
> > >>>>>> On Wed, Apr 15, 2020 at 1:38 AM Till Rohrmann <trohrm...@apache.org
> > >
> > >>>>>> wrote:
> > >>>>>>>
> > >>>>>>> Thanks for updating the FLIP, Yangze.
> > >>>>>>>
> > >>>>>>> If ExternalResourceInfo is a marker interface, then
> > >>>>>> ExternalResourceDriver
> > >>>>>>> could return a Set<? extends ExternalResourceInfo>. This makes is a
> > >>>> bit
> > >>>>>>> nicer for the implementor because he can use the concrete subtype.
> > >>>>>>>
> > >>>>>>> If we assume that users will always cast the ExternalResourceInfo
> > >>>>>> instance
> > >>>>>>> into the concrete subtype and if we assume that there is always
> > >>> only
> > >>>> one
> > >>>>>>> resource of a specific type, then one could make the interface
> > >>>> type-safe
> > >>>>>> by
> > >>>>>>> changing it to
> > >>>>>>>
> > >>>>>>> public interface RuntimeContext {
> > >>>>>>>      <T extends ExternalResourceInfo> Set<T>
> > >>>>>>> getExternalResourceInfo(Class<T> externalResourceType);
> > >>>>>>> }
> > >>>>>>>
> > >>>>>>> If we want to support multiple GPU resources, then one would need
> > >>> to
> > >>>> use
> > >>>>>>> the name of the respective resource as well.
> > >>>>>>>
> > >>>>>>> Cheers,
> > >>>>>>> Till
> > >>>>>>>
> > >>>>>>> On Mon, Apr 13, 2020 at 4:19 AM Xintong Song <
> > >>> tonysong...@gmail.com>
> > >>>>>> wrote:
> > >>>>>>>
> > >>>>>>>> Thanks for updating the FLIP, Yangze.
> > >>>>>>>> The latest FLIP looks good to me.
> > >>>>>>>>
> > >>>>>>>> nit: Javadoc of `ExternalResourceDriver#retrieveResourceInfo` is
> > >>>> out of
> > >>>>>>>> sync.
> > >>>>>>>>
> > >>>>>>>>> Retrieve the information of the external resources according to
> > >>>> the
> > >>>>>>>>> resourceProfile.
> > >>>>>>>>
> > >>>>>>>>
> > >>>>>>>> Thank you~
> > >>>>>>>>
> > >>>>>>>> Xintong Song
> > >>>>>>>>
> > >>>>>>>>
> > >>>>>>>>
> > >>>>>>>> On Sat, Apr 11, 2020 at 11:04 AM Becket Qin <
> > >>> becket....@gmail.com>
> > >>>>>> wrote:
> > >>>>>>>>
> > >>>>>>>>> Good feedback form Xintong. The latest FLIP looks good to me.
> > >>>>>>>>>
> > >>>>>>>>> Thanks,
> > >>>>>>>>>
> > >>>>>>>>> Jiangjie (Becket) Qin
> > >>>>>>>>>
> > >>>>>>>>> On Sat, Apr 11, 2020 at 9:20 AM Yangze Guo <karma...@gmail.com
> > >>>>
> > >>>>>> wrote:
> > >>>>>>>>>
> > >>>>>>>>>> Hi there,
> > >>>>>>>>>> I've updated the FLIP accordingly. Please take a look. If you
> > >>>> have
> > >>>>>> any
> > >>>>>>>>>> further concerns please let me know.
> > >>>>>>>>>>
> > >>>>>>>>>> Best,
> > >>>>>>>>>> Yangze Guo
> > >>>>>>>>>>
> > >>>>>>>>>> On Fri, Apr 10, 2020 at 6:40 PM Yangze Guo <
> > >>> karma...@gmail.com
> > >>>>>
> > >>>>>> wrote:
> > >>>>>>>>>>>
> > >>>>>>>>>>> Thanks for the feedback, Xintong.
> > >>>>>>>>>>>
> > >>>>>>>>>>> - Should we have a factory interface for
> > >>>>>> `ExternalResourceDriver`,
> > >>>>>>>> that
> > >>>>>>>>>>> takes the configuration and returns a driver instance?
> > >>>>>> Otherwise, if
> > >>>>>>>> we
> > >>>>>>>>>> are
> > >>>>>>>>>>> creating the driver instance with reflection, we kind of
> > >>>>>> implicitly
> > >>>>>>>>>>> requires the driver to have a public non-argument
> > >>>> constructor.
> > >>>>>> If we
> > >>>>>>>>>>> decided to go with this approach, then we will not need
> > >>>>>>>>>>> `ExternalResourceDriver#open`.
> > >>>>>>>>>>>
> > >>>>>>>>>>> True, we could have an `ExternalResourceDriverFactory`,
> > >>> like
> > >>>>>>>>>>> interface ExternalResourceDriverFactory {
> > >>>>>>>>>>>      ExternalResourceDriver fromConfiguration(Configuration
> > >>>>>> config);
> > >>>>>>>>>>> }
> > >>>>>>>>>>> Regarding the configuration, the user should provide
> > >>>>>>>>>>> "external-resource.{resourceName}.driver-factory.class"
> > >>>> instead.
> > >>>>>>>>>>>
> > >>>>>>>>>>> - Not sure about the necessity of
> > >>>>>> `ExternalResourceDriver#close`. I
> > >>>>>>>>> would
> > >>>>>>>>>>> suggest to avoid introduce more interfaces if not
> > >>> absolutely
> > >>>>>>>> necessary.
> > >>>>>>>>>>>
> > >>>>>>>>>>> I add `ExternalResourceDriver#close` in case user needs to
> > >>>> clean
> > >>>>>> up
> > >>>>>>>>>>> internal states and any other resources. It's true that it
> > >>>> may
> > >>>>>> not
> > >>>>>>>>>>> absolutely necessary for our GPUDriver. From my side, I'm
> > >>> ok
> > >>>> to
> > >>>>>>>> remove
> > >>>>>>>>>>> it.
> > >>>>>>>>>>>
> > >>>>>>>>>>> - `ExternalResourceDriver#retrieveResourceInfo` should not
> > >>>> take
> > >>>>>>>>>>> `ResourceProfile` as argument. This exposes more
> > >>> information
> > >>>>>> than it
> > >>>>>>>>>> needs.
> > >>>>>>>>>>> In addition, it requires the runtime/core to understand how
> > >>>> to
> > >>>>>>>> properly
> > >>>>>>>>>>> wrap the external resource into `ResourceProfile`. E.g.,
> > >>>>>>>>>>> `ResourceProfile#extendedResources` takes `Resource`, which
> > >>>> is an
> > >>>>>>>>>> abstract
> > >>>>>>>>>>> class. Runtime/core has to known which implementation of
> > >>>>>> `Resource`
> > >>>>>>>> to
> > >>>>>>>>>> use.
> > >>>>>>>>>>>
> > >>>>>>>>>>> True, at the moment, I think the amount of the resource is
> > >>>>>> enough for
> > >>>>>>>>>>> the `ExternalResourceDriver#retrieveResourceInfo`. In the
> > >>>>>> future, if
> > >>>>>>>>>>> the fine-grained external resource management is supported,
> > >>>> the
> > >>>>>>>> amount
> > >>>>>>>>>>> of the resource seems to be enough either. If we want to
> > >>>> leverage
> > >>>>>>>> some
> > >>>>>>>>>>> external resources which could not be measured by a single
> > >>>> long
> > >>>>>>>> value,
> > >>>>>>>>>>> we might enrich this. But I'd like to keep it out of the
> > >>>> scope of
> > >>>>>>>> this
> > >>>>>>>>>>> FLIP.
> > >>>>>>>>>>>
> > >>>>>>>>>>> - Do we really need `ExternalResourceInfo#getInformation`?
> > >>> I
> > >>>>>> think it
> > >>>>>>>>>>> should be good enough to make `ExternalResourceInfo` an
> > >>> empty
> > >>>>>>>>> interface.
> > >>>>>>>>>>> User can define their own `ExternalResourceInfo`
> > >>>> implementation
> > >>>>>> and
> > >>>>>>>> how
> > >>>>>>>>>> it
> > >>>>>>>>>>> is used by the operator user codes.
> > >>>>>>>>>>>
> > >>>>>>>>>>> Sounds good.
> > >>>>>>>>>>>
> > >>>>>>>>>>> Best,
> > >>>>>>>>>>> Yangze Guo
> > >>>>>>>>>>>
> > >>>>>>>>>>> On Fri, Apr 10, 2020 at 6:04 PM Xintong Song <
> > >>>>>> tonysong...@gmail.com>
> > >>>>>>>>>> wrote:
> > >>>>>>>>>>>>
> > >>>>>>>>>>>> Sorry to pull this back. I have some concerns about the
> > >>>> recent
> > >>>>>>>>> updated
> > >>>>>>>>>>>> interface details.
> > >>>>>>>>>>>>
> > >>>>>>>>>>>> - Should we have a factory interface for
> > >>>>>> `ExternalResourceDriver`,
> > >>>>>>>>> that
> > >>>>>>>>>>>> takes the configuration and returns a driver instance?
> > >>>>>> Otherwise,
> > >>>>>>>> if
> > >>>>>>>>>> we are
> > >>>>>>>>>>>> creating the driver instance with reflection, we kind of
> > >>>>>> implicitly
> > >>>>>>>>>>>> requires the driver to have a public non-argument
> > >>>> constructor.
> > >>>>>> If
> > >>>>>>>> we
> > >>>>>>>>>>>> decided to go with this approach, then we will not need
> > >>>>>>>>>>>> `ExternalResourceDriver#open`.
> > >>>>>>>>>>>> - Not sure about the necessity of
> > >>>>>> `ExternalResourceDriver#close`. I
> > >>>>>>>>>> would
> > >>>>>>>>>>>> suggest to avoid introduce more interfaces if not
> > >>>> absolutely
> > >>>>>>>>> necessary.
> > >>>>>>>>>>>> - `ExternalResourceDriver#retrieveResourceInfo` should
> > >>> not
> > >>>> take
> > >>>>>>>>>>>> `ResourceProfile` as argument. This exposes more
> > >>>> information
> > >>>>>> than
> > >>>>>>>> it
> > >>>>>>>>>> needs.
> > >>>>>>>>>>>> In addition, it requires the runtime/core to understand
> > >>>> how to
> > >>>>>>>>> properly
> > >>>>>>>>>>>> wrap the external resource into `ResourceProfile`. E.g.,
> > >>>>>>>>>>>> `ResourceProfile#extendedResources` takes `Resource`,
> > >>>> which is
> > >>>>>> an
> > >>>>>>>>>> abstract
> > >>>>>>>>>>>> class. Runtime/core has to known which implementation of
> > >>>>>> `Resource`
> > >>>>>>>>> to
> > >>>>>>>>>> use.
> > >>>>>>>>>>>> - Do we really need
> > >>> `ExternalResourceInfo#getInformation`?
> > >>>> I
> > >>>>>> think
> > >>>>>>>> it
> > >>>>>>>>>>>> should be good enough to make `ExternalResourceInfo` an
> > >>>> empty
> > >>>>>>>>>> interface.
> > >>>>>>>>>>>> User can define their own `ExternalResourceInfo`
> > >>>>>> implementation and
> > >>>>>>>>>> how it
> > >>>>>>>>>>>> is used by the operator user codes.
> > >>>>>>>>>>>>
> > >>>>>>>>>>>> Thank you~
> > >>>>>>>>>>>>
> > >>>>>>>>>>>> Xintong Song
> > >>>>>>>>>>>>
> > >>>>>>>>>>>>
> > >>>>>>>>>>>>
> > >>>>>>>>>>>> On Thu, Apr 9, 2020 at 2:25 PM Becket Qin <
> > >>>>>> becket....@gmail.com>
> > >>>>>>>>>> wrote:
> > >>>>>>>>>>>>
> > >>>>>>>>>>>>> +1
> > >>>>>>>>>>>>>
> > >>>>>>>>>>>>> Thanks for driving this effort, Ynagze. The latest FLIP
> > >>>> wiki
> > >>>>>>>> looks
> > >>>>>>>>>> good to
> > >>>>>>>>>>>>> me.
> > >>>>>>>>>>>>>
> > >>>>>>>>>>>>> Cheers,
> > >>>>>>>>>>>>>
> > >>>>>>>>>>>>> Jiangjie (Becket) Qin
> > >>>>>>>>>>>>>
> > >>>>>>>>>>>>> On Wed, Apr 8, 2020 at 4:10 PM Yangze Guo <
> > >>>>>> karma...@gmail.com>
> > >>>>>>>>>> wrote:
> > >>>>>>>>>>>>>
> > >>>>>>>>>>>>>> Edit: RuntimeContext interface
> > >>>>>>>>>>>>>> From: Map<String, Set<ExternalResourceInfo>>
> > >>>>>>>>>>>>>> getExternalResourceInfo(ResourceSpec resourceSpec);
> > >>>>>>>>>>>>>> To: Map<String, Set<ExternalResourceInfo>>
> > >>>>>>>>>> getExternalResourceInfo();
> > >>>>>>>>>>>>>>
> > >>>>>>>>>>>>>> Best,
> > >>>>>>>>>>>>>> Yangze Guo
> > >>>>>>>>>>>>>>
> > >>>>>>>>>>>>>>
> > >>>>>>>>>>>>>> On Wed, Apr 8, 2020 at 11:36 AM Yangze Guo <
> > >>>>>> karma...@gmail.com
> > >>>>>>>>>
> > >>>>>>>>>> wrote:
> > >>>>>>>>>>>>>>>
> > >>>>>>>>>>>>>>> Hi, there
> > >>>>>>>>>>>>>>>
> > >>>>>>>>>>>>>>> I have updated the FLIP, mainly target to make it
> > >>>> more
> > >>>>>>>> detailed
> > >>>>>>>>>> and
> > >>>>>>>>>>>>>>> clear. The general design is not changed, but there
> > >>>> are
> > >>>>>> still
> > >>>>>>>>>> some
> > >>>>>>>>>>>>>>> changes need to be notified here:
> > >>>>>>>>>>>>>>>
> > >>>>>>>>>>>>>>> - Change the `ExternalResourceDriver` from abstract
> > >>>>>> class to
> > >>>>>>>>>>>>>>> interface, since it does not have an abstract
> > >>>>>> implementation.
> > >>>>>>>>>> Add life
> > >>>>>>>>>>>>>>> cycle method `open` and `close`.
> > >>>>>>>>>>>>>>>
> > >>>>>>>>>>>>>>> - Specify the method added to the RuntimeContext
> > >>> from
> > >>>>>> which
> > >>>>>>>>> user
> > >>>>>>>>>> get
> > >>>>>>>>>>>>>>> the information of external resources.
> > >>>>>>>>>>>>>>>          Map<String, Set<ExternalResourceInfo>>
> > >>>>>>>>>>>>>>> getExternalResourceInfo(ResourceSpec resourceSpec);
> > >>>>>>>>>>>>>>>
> > >>>>>>>>>>>>>>> - Add "String getInformation()" method to
> > >>>>>>>>> `ExternalResourceInfo`
> > >>>>>>>>>>>>>> interface.
> > >>>>>>>>>>>>>>>
> > >>>>>>>>>>>>>>> - Treat adding external resource info to
> > >>>> RestAPI/WebUI
> > >>>>>> as a
> > >>>>>>>>>> future
> > >>>>>>>>>>>>> work.
> > >>>>>>>>>>>>>>>
> > >>>>>>>>>>>>>>> If you have any new concerns after that change,
> > >>>> please
> > >>>>>>>>> mentioned
> > >>>>>>>>>> here.
> > >>>>>>>>>>>>>>> Sorry for disturbing you.
> > >>>>>>>>>>>>>>>
> > >>>>>>>>>>>>>>> Best,
> > >>>>>>>>>>>>>>> Yangze Guo
> > >>>>>>>>>>>>>>>
> > >>>>>>>>>>>>>>> On Wed, Apr 8, 2020 at 9:55 AM Yang Wang <
> > >>>>>>>>> danrtsey...@gmail.com>
> > >>>>>>>>>>>>> wrote:
> > >>>>>>>>>>>>>>>>
> > >>>>>>>>>>>>>>>> Thanks Yangze for the efforts to support GPU
> > >>>> extended
> > >>>>>>>>>> resources.
> > >>>>>>>>>>>>>>>>
> > >>>>>>>>>>>>>>>> +1 for this FLIP
> > >>>>>>>>>>>>>>>>
> > >>>>>>>>>>>>>>>>
> > >>>>>>>>>>>>>>>> Best,
> > >>>>>>>>>>>>>>>> Yang
> > >>>>>>>>>>>>>>>>
> > >>>>>>>>>>>>>>>> Till Rohrmann <trohrm...@apache.org>
> > >>> 于2020年4月2日周四
> > >>>>>>>> 下午11:10写道:
> > >>>>>>>>>>>>>>>>
> > >>>>>>>>>>>>>>>>> Thanks for driving this effort Yangze.
> > >>>>>>>>>>>>>>>>>
> > >>>>>>>>>>>>>>>>> +1
> > >>>>>>>>>>>>>>>>>
> > >>>>>>>>>>>>>>>>> Cheers,
> > >>>>>>>>>>>>>>>>> Till
> > >>>>>>>>>>>>>>>>>
> > >>>>>>>>>>>>>>>>> On Wed, Apr 1, 2020 at 12:41 PM Canbin Zheng <
> > >>>>>>>>>>>>> felixzhen...@gmail.com
> > >>>>>>>>>>>>>>>
> > >>>>>>>>>>>>>>>>> wrote:
> > >>>>>>>>>>>>>>>>>
> > >>>>>>>>>>>>>>>>>> Thanks Yangze for driving the initial CPU
> > >>>> support!
> > >>>>>>>>>>>>>>>>>> +1 (non-binding) from my side.
> > >>>>>>>>>>>>>>>>>>
> > >>>>>>>>>>>>>>>>>>
> > >>>>>>>>>>>>>>>>>> Xintong Song <tonysong...@gmail.com>
> > >>>> 于2020年4月1日周三
> > >>>>>>>>>> 下午6:36写道:
> > >>>>>>>>>>>>>>>>>>
> > >>>>>>>>>>>>>>>>>>> Thanks Yangze, the FLIP looks good to me.
> > >>>>>>>>>>>>>>>>>>> +1 (non-binding) from my side.
> > >>>>>>>>>>>>>>>>>>>
> > >>>>>>>>>>>>>>>>>>> Thank you~
> > >>>>>>>>>>>>>>>>>>>
> > >>>>>>>>>>>>>>>>>>> Xintong Song
> > >>>>>>>>>>>>>>>>>>>
> > >>>>>>>>>>>>>>>>>>>
> > >>>>>>>>>>>>>>>>>>>
> > >>>>>>>>>>>>>>>>>>> On Wed, Apr 1, 2020 at 5:22 PM Yangze Guo <
> > >>>>>>>>>> karma...@gmail.com>
> > >>>>>>>>>>>>>> wrote:
> > >>>>>>>>>>>>>>>>>>>
> > >>>>>>>>>>>>>>>>>>>> Hi everyone,
> > >>>>>>>>>>>>>>>>>>>>
> > >>>>>>>>>>>>>>>>>>>> I'd like to start the vote of FLIP-108
> > >>> [1],
> > >>>>>> which
> > >>>>>>>>> adds
> > >>>>>>>>>> GPU
> > >>>>>>>>>>>>>> support in
> > >>>>>>>>>>>>>>>>>>>> Flink. This FLIP is discussed in the
> > >>>> thread[2].
> > >>>>>>>>>>>>>>>>>>>>
> > >>>>>>>>>>>>>>>>>>>> The vote will be open for at least 72
> > >>>> hours.
> > >>>>>> Unless
> > >>>>>>>>>> there is
> > >>>>>>>>>>>>> an
> > >>>>>>>>>>>>>>>>>>> objection,
> > >>>>>>>>>>>>>>>>>>>> I will try to close it by April 4, 2020
> > >>>> 10:00
> > >>>>>> UTC
> > >>>>>>>> if
> > >>>>>>>>>> we have
> > >>>>>>>>>>>>>> received
> > >>>>>>>>>>>>>>>>>>>> sufficient votes.
> > >>>>>>>>>>>>>>>>>>>>
> > >>>>>>>>>>>>>>>>>>>> [1]
> > >>>>>>>>>>>>>>>>>>>>
> > >>>>>>>>>>>>>>>>>>>
> > >>>>>>>>>>>>>>>>>>
> > >>>>>>>>>>>>>>>>>
> > >>>>>>>>>>>>>>
> > >>>>>>>>>>>>>
> > >>>>>>>>>>
> > >>>>>>>>>
> > >>>>>>>>
> > >>>>>>
> > >>>>
> > >>>
> > https://cwiki.apache.org/confluence/display/FLINK/FLIP-108%3A+Add+GPU+support+in+Flink
> > >>>>>>>>>>>>>>>>>>>> [2]
> > >>>>>>>>>>>>>>>>>>>>
> > >>>>>>>>>>>>>>>>>>>
> > >>>>>>>>>>>>>>>>>>
> > >>>>>>>>>>>>>>>>>
> > >>>>>>>>>>>>>>
> > >>>>>>>>>>>>>
> > >>>>>>>>>>
> > >>>>>>>>>
> > >>>>>>>>
> > >>>>>>
> > >>>>
> > >>>
> > http://apache-flink-mailing-list-archive.1008284.n3.nabble.com/DISCUSS-FLIP-108-Add-GPU-support-in-Flink-td38286.html
> > >>>>>>>>>>>>>>>>>>>>
> > >>>>>>>>>>>>>>>>>>>> Best,
> > >>>>>>>>>>>>>>>>>>>> Yangze Guo
> > >>>>>>>>>>>>>>>>>>>>
> > >>>>>>>>>>>>>>>>>>>
> > >>>>>>>>>>>>>>>>>>
> > >>>>>>>>>>>>>>>>>
> > >>>>>>>>>>>>>>
> > >>>>>>>>>>>>>
> > >>>>>>>>>>
> > >>>>>>>>>
> > >>>>>>>>
> > >>>>>>
> > >>>>
> > >>>
> >
> >

Reply via email to