Open MPI logo

Open MPI User's Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Open MPI User's mailing list

Subject: Re: [OMPI users] Java binding requirements
From: Ralph Castain (rhc_at_[hidden])
Date: 2012-10-25 00:08:47

On Oct 24, 2012, at 7:58 PM, Yoshiki SATO <yoshiki_at_[hidden]> wrote:

> Thanks for you comments.
>>> If so, my question is if I need NOT to install JDK to the all nodes. In other words is it possible to have a machine used as a worker without JDK installed?
>> You do not need JDK installed on worker nodes - it only has to be on the node where you compile your code. However, we launch a JVM for each process, so you must at least have the JVM installed on each worker. This is typically included in a base Linux installation (just look for the "java" command, usually in /usr/bin), so you usually don't have to do anything special (as opposed to installing the JDK, which doesn't usually come in the base install)
> Ok, but I meant to say about JVM, because my requirement is to leverage such nodes as have no JVM supported, for example, Gentoo Linux/SPARC64 as workers. I thought that the Java binding implementation wraps Open MPI only on the rank zero side.

No, every process executes in Java - your application code IS, after all, in Java. What we mean by the FAQ is that the processes access the underlying MPI operations via a JNI module that translates from Java to the native C implementation. So you must have JVM support on each machine.

> This is because the FAQ says:
>> 8. Do the Java bindings impact performance of my non-Java application?
>> The Java bindings in Open MPI are completely transparent to all other Open MPI users and have zero performance impact on the rest of the code/bindings.

That statement is intended to reassure all non-Java users that the Java bindings will in no way impact them.

> But I realize that this perhaps mentions about the Open MPI applications that use a Java-enabled Open MPI build. Meantime, the next FAQ is specifying the possibility of performance penalties for Java applications that use Open MPI.

That is correct - as the statement says, *non-Java* applications will see no impact of having Java enabled in the build. Java-based applications see a performance penalty relative to a C-based application.


> Regards,
> --yoshiki
> _______________________________________________
> users mailing list
> users_at_[hidden]