Denis,

From technical point of view #3 doesn’t look so complex, but I’m not sure we 
should consider a case when Ignite is a part of Oracle database because we are 
a database.

But making Ignite a multilingual tool sounds like an interesting opportunity.

Regards,
Igor

> 22 мая 2020 г., в 01:59, Denis Magda <dma...@apache.org> написал(а):
> 
> Folks, 
> 
> I've looked into GraalVM and would like to share some observations and 
> suggestions:
> 
> 1. GridGain nodes running on Graal can execute native Node.JS, Python, LLVM 
> (C/C++) code. This feature will let Ignite developers who are not using Java 
> as their primary programming language, deploy their custom non-Java compute 
> tasks to the server nodes and execute them via the Ignite compute APIs. I see 
> a little value of adding the compute APIs to Node/Python thin clients if 
> developers need to code compute tasks in Java (the scope of IEP-42 
> <https://cwiki.apache.org/confluence/display/IGNITE/IEP-42+Thin+client%3A+compute+support>).
>  With Graal, this inconvenience goes away if our internal compute 
> implementation can detect that a node is running on Graal and load/execute 
> the code of a guest language: 
> https://www.graalvm.org/docs/reference-manual/embed/ 
> <https://www.graalvm.org/docs/reference-manual/embed/>
> 
> 2. Speaking of the compute tasks (re)deployment briefly touched here, we can 
> enhance our command-line tool to take care of this task. See how custom tasks 
> of an arbitrary language can be deployed on Oracle Database and execute: 
> https://www.graalvm.org/docs/examples/mle-oracle/ 
> <https://www.graalvm.org/docs/examples/mle-oracle/>
> 
> 3. Presently, Ignite compute APIs are the only interface for the tasks' 
> execution. At the same time, we can treat a deployed compute task as an 
> advanced stored procedure and call it from SQL. Scroll to the bottom of the 
> same Oracle DB example: https://www.graalvm.org/docs/examples/mle-oracle/ 
> <https://www.graalvm.org/docs/examples/mle-oracle/>
> 
> Should we move forward creating an IEP for Graal which goal is to enable the 
> capabilities listed above?
> 
> @Pavel Tupitsyn <mailto:ptupit...@apache.org>, @Igor Sapego 
> <mailto:isap...@apache.org>, @plehanov.a...@gmail.com 
> <mailto:plehanov.a...@gmail.com>, it would be nice to hear your perspective 
> on 1 and 2. @Igor Seliverstov <mailto:iselivers...@gridgain.com>, @Taras 
> Ledkov <mailto:tled...@gridgain.com>, @Roman Kondakov 
> <mailto:rkonda...@gridgain.com>, @Ivan Pavlukhin 
> <mailto:vololo...@gmail.com>, @Yuriy Gerzhedovich 
> <mailto:ygerzhedov...@gridgain.com> what are your thoughts on #3?
> 
> 
> -
> Denis
> 
> 
> On Wed, May 6, 2020 at 1:07 PM Stephen Darlington 
> <stephen.darling...@gridgain.com <mailto:stephen.darling...@gridgain.com>> 
> wrote:
> I just switched out OpenJDK and used GraalVM instead. Everything seemed to 
> work but I wasn’t looking terribly hard. We’d need to do some more QA but I 
> think chances are good that it’ll work just fine.
> 
> Regards,
> Stephen
> 
> >> On 6 May 2020, at 20:31, Denis Magda <dma...@apache.org 
> >> <mailto:dma...@apache.org>> wrote:
> > Stephen, that's terrific! To Ivan's first question, did you just swap
> > HotSpot with GraalVM and got the thing working? Or did it require some
> > extra work?
> > 
> > -
> > Denis
> > 
> > 
> >> On Wed, May 6, 2020 at 10:10 AM Stephen Darlington <
> >> stephen.darling...@gridgain.com <mailto:stephen.darling...@gridgain.com>> 
> >> wrote:
> >> 
> >> I’ve been playing around with it. I’ve was really impressed that I could
> >> run JavaScript on Ignite with comparatively little code:
> >> 
> >> https://github.com/sdarlington/ignite-graalvm 
> >> <https://github.com/sdarlington/ignite-graalvm> <
> >> https://github.com/sdarlington/ignite-graalvm 
> >> <https://github.com/sdarlington/ignite-graalvm>>
> >> 
> >> I’ve not been looking at performance, though.
> >> 
> >> Regards,
> >> Stephen
> >> 
> >>>>> On 6 May 2020, at 17:52, Denis Magda <dma...@apache.org 
> >>>>> <mailto:dma...@apache.org>> wrote:
> >>> I'll leave this reference here so that we have a better understanding of
> >>> why it's worthwhile to support GraalVM:
> >>> https://blogs.oracle.com/graalvm/apache-spark 
> >>> <https://blogs.oracle.com/graalvm/apache-spark>
> >>> —lightning-fast-on-graalvm-enterprise
> >>> Spark benefits from running on GraalVM, so should we. Apart from memory
> >>> usage and performance advantages, this JVM can execute Python code. With
> >>> that, we can enable compute APIs support for Python.
> >>> -
> >>> Denis
> >>> On Sun, May 13, 2018 at 12:23 PM Sven Beauprez <
> >> sven.beaup...@theglue.com <mailto:sven.beaup...@theglue.com>>
> >>> wrote:
> >>>> Thnx all for the feedback.
> >>>> Looking forward to the results of such a test run.
> >>>> Regards,
> >>>> Sven
> >>>> SVEN BEAUPREZ
> >>>> L e a d   A r c h i t e c t
> >>>> De Kleetlaan 5, B-1831 Diegem
> >>>> www.theglue.com <http://www.theglue.com/> <http://www.theglue.com/ 
> >>>> <http://www.theglue.com/>>
> >>>> On 10/05/2018, 17:44, "Petr Ivanov" <mr.wei...@gmail.com 
> >>>> <mailto:mr.wei...@gmail.com>> wrote:
> >>>>   File the ticket and specify priority — and I will start researching.
> >>>>   For test runs — we can have a copy of current test project and run
> >>>> some tests in different VMs (as you rightly remarked — right after JDK9
> >>>> task is complete).
> >>>>> On 10 May 2018, at 18:34, Dmitry Pavlov <dpavlov....@gmail.com 
> >>>>> <mailto:dpavlov....@gmail.com>>
> >>>> wrote:
> >>>>> Hi Peter,
> >>>>> It seems it is one more argument to implement selectable VM for
> >>>> existing run-all chain instead of creating one more.
> >>>>> Would it be easy to add one more option once JDK 9 run is ready?
> >>>>> Sincerely,
> >>>>> Dmitriy Pavlov
> >>>>> чт, 10 мая 2018 г. в 15:58, Dmitriy Setrakyan <dsetrak...@apache.org 
> >>>>> <mailto:dsetrak...@apache.org>
> >>>> <mailto:dsetrak...@apache.org <mailto:dsetrak...@apache.org>>>:
> >>>>> Would be nice to have a TC run on Graal, just to have an
> >>>> understanding
> >>>>> whether we support it or not.
> >>>>> D.
> >>>>> On Wed, May 9, 2018 at 4:28 PM, Denis Magda <dma...@apache.org 
> >>>>> <mailto:dma...@apache.org>
> >>>> <mailto:dma...@apache.org <mailto:dma...@apache.org>>> wrote:
> >>>>>> The performance might become better just by replacing HotSpot with
> >>>> Graal,
> >>>>>> but something suggests me that Ignite has to be adopted for this
> >>>> JVM (as
> >>>>>> well as for Azul VM) to get more benefits. Probably, someone will
> >>>> get
> >>>>>> interested and pick this task up.
> >>>>>> What stands out is that the Graal folks also see this VM as an
> >>>> opportunity
> >>>>>> to run custom code on a database side like Oracle or MySQL:
> >>>>>> https://oracle.github.io/oracle-db-mle/ 
> >>>>>> <https://oracle.github.io/oracle-db-mle/> <
> >>>> https://oracle.github.io/oracle-db-mle/ 
> >>>> <https://oracle.github.io/oracle-db-mle/>> It's a sort of their response
> >> to
> >>>>>> compute grid functionality of data grids and Hadoop ecosystem.
> >>>>>> --
> >>>>>> Denis
> >>>>>> On Wed, May 9, 2018 at 5:23 AM, sbeaupre <
> >>>> sven.beaup...@theglue.com <mailto:sven.beaup...@theglue.com> 
> >>>> <mailto:sven.beaup...@theglue.com <mailto:sven.beaup...@theglue.com>>>
> >>>>>> wrote:
> >>>>>>> This is just a thought that came out of a discussion with
> >>>> Dimitry this
> >>>>>>> morning. Recently Oracle has released GraalVM 1.0 after many
> >>>> years of
> >>>>>>> research and development, as a replacement for standard JVM.
> >>>>>>> It should come with huge improvements on several areas
> >>>> (interesting for
> >>>>>>> ignite: AOT, native compilation, remove object allocation in
> >>>> many cases,
> >>>>>>> ...)
> >>>>>>> Any interest from GG in this? Do you guys think it would give
> >>>> ignite a
> >>>>>>> performance boost (haven't tested it myself, just checking if it
> >>>> is
> >>>>>>> worthwhile in the first place, probably low on our prio list).
> >>>>>>> More info:
> >>>>>>> - GraalVM for Java:
> >>>>>>>       http://www.graalvm.org/docs/why-graal/#for-java-programs 
> >>>>>>> <http://www.graalvm.org/docs/why-graal/#for-java-programs>
> >>>> <http://www.graalvm.org/docs/why-graal/#for-java-programs 
> >>>> <http://www.graalvm.org/docs/why-graal/#for-java-programs>>
> >>>>>>> - Twitter is running GraalVM in production for a while now:
> >>>>>>>       https://www.youtube.com/watch?v=pR5NDkIZBOA 
> >>>>>>> <https://www.youtube.com/watch?v=pR5NDkIZBOA> <
> >>>> https://www.youtube.com/watch?v=pR5NDkIZBOA 
> >>>> <https://www.youtube.com/watch?v=pR5NDkIZBOA>>
> >>>>>>> - Getting started:
> >>>>>>>       http://www.graalvm.org/docs/getting-started/ 
> >>>>>>> <http://www.graalvm.org/docs/getting-started/> <
> >>>> http://www.graalvm.org/docs/getting-started/ 
> >>>> <http://www.graalvm.org/docs/getting-started/>>
> >>>>>>> regards,
> >>>>>>> Sven
> >>>>>>> --
> >>>>>>> Sent from:
> >>>> http://apache-ignite-developers.2346864.n4.nabble.com/ 
> >>>> <http://apache-ignite-developers.2346864.n4.nabble.com/> <
> >>>> http://apache-ignite-developers.2346864.n4.nabble.com/ 
> >>>> <http://apache-ignite-developers.2346864.n4.nabble.com/>>

Reply via email to