ignite-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Dmitriy Setrakyan <dsetrak...@apache.org>
Subject Re: Ignite and non-Java languages
Date Tue, 05 May 2015 19:52:53 GMT
On Tue, May 5, 2015 at 12:48 PM, Konstantin Boudnik <cos@apache.org> wrote:

> In other words, it is quite different from what we were discussing earlier,
> right? IDLs (or else) would give Ignite a way to communicate to-n-from 3rd
> party applications written in non-JVM languages.
>
> What's proposed here is a way to reuse existing code written in non-JVM
> languages from Ignite. it's a different and smaller scope if I reading it
> right?
>

Correct.


>
> Cos
>
> On Tue, May 05, 2015 at 01:33AM, Dmitriy Setrakyan wrote:
> > Vladimir,
> >
> > I think you misunderstood me. I was not suggesting that users access our
> > API from Python. I was suggesting that users use our Java API to execute
> > Python tasks. For Python, we should have a PythonTask which will have
> > enough information to execute an appropriate Python program out of
> process.
> >
> > D.
> >
> > On Tue, May 5, 2015 at 1:23 AM, Vladimir Ozerov <vozerov@gridgain.com>
> > wrote:
> >
> > > Dima,
> > >
> > > The most complex part of task execution is master-node side. We assume
> that
> > > user starts job execution from some Python/Ruby/etc. application. To
> > > implement the same API as we have in Java, we must establish a link
> between
> > > Java master node and external platform so that not only other platform
> > > invokes Java, but Java is able to invoke the platform as well (e.g. to
> pass
> > > job results). This is where we have to start JVM in the same process
> (or
> > > use some other mechanisms like shmem).
> > >
> > > On the other hand, remote job execution and cache operations are
> trivial to
> > > implement given that "JVM-in-the-same-process" is done - these are
> single
> > > "Java -> platform" or "platform -> Java" calls
> > > Memcached and external process start could make our live easier for a
> while
> > > (at the cost of more complex and less consistent API), but we will
> have to
> > > implement the most difficult part still.
> > >
> > > Vladimir.
> > >
> > >
> > > On Tue, May 5, 2015 at 4:14 AM, Dmitriy Setrakyan <
> dsetrakyan@apache.org>
> > > wrote:
> > >
> > > > In continuation of previous discussions on multi-language support in
> > > > Ignite, I have been thinking on how to make Ignite available to other
> > > > languages with minimal effort and think there is a very elegant way
> to do
> > > > it.
> > > >
> > > > Even though Ignite tasks are written in Java, they can be used only
> as a
> > > > distribution engine for tasks that are written in Python, Ruby, or
> any
> > > > other language. For example, Ignite task can receive job coordinates
> for
> > > > Python task (task name, class name, etc.) and spawn of jobs. When
> jobs
> > > > arrive to remote nodes, they can start another process which in turn
> will
> > > > execute a Python, Ruby, or any other program.
> > > >
> > > > The way we can make Ignite data available to Python or Ruby jobs is
> via
> > > > Memcached API that we already support and that is available on every
> > > > language out there.
> > > >
> > > > Here is a Jira ticket for this (I will cross link it with this
> > > discussion):
> > > > https://issues.apache.org/jira/browse/IGNITE-859
> > > >
> > > > Thoughts?
> > > >
> > > > D.
> > > >
> > >
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message