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/>>