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