ignite-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Vladimir Ozerov <voze...@gridgain.com>
Subject Re: Ignite and non-Java languages
Date Tue, 05 May 2015 08:23:28 GMT

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.


On Tue, May 5, 2015 at 4:14 AM, Dmitriy Setrakyan <dsetrakyan@apache.org>

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

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