The Java bindings were added specifically to support the Spark/Hadoop 
communities, so I see no reason why you couldn't use them for Akka or whatever. 
Note that there are also Python wrappers for MPI at mpi4py that you could build 
upon.

There is plenty of evidence out there for a general migration to higher-level 
programming blocks built on top of MPI, so I wouldn't call it a "pipe dream" at 
all.


> On Aug 7, 2020, at 5:26 AM, Oddo Da via users <users@lists.open-mpi.org> 
> wrote:
> 
> Hello,
> 
> This may be a bit of a longer post and I am not sure if it is even 
> appropriate here but I figured I ask. There are no hidden agendas in it, so 
> please treat it as "asking for opinions/advice", as opposed to judging or 
> provoking.
> 
> For the period between 2010 to 2017 I used to work in (buzzword alert!) "big 
> data" (meaning Spark, HDFS, reactive stuff like Akka) but way before that in 
> the early 2000s I used to write basic multithreaded C and some MPI code. I 
> came back to HPC/academia two years ago and what struck me was that (for lack 
> of better word) the field is still "stuck" (again, for lack of better word) 
> on MPI. This itself may seem negative in this context, however, I am just 
> stating my observation, which may be wrong.
> 
> I like low level programming and I like being in control of what is going on 
> but having had the experience in Spark and Akka, I kind of got spoiled. Yes, 
> I understand that the latter has fault-tolerance (which is nice) and MPI 
> doesn't (or at least, didn't when I played with in 1999-2005) but I always 
> felt like MPI needed higher level abstractions as a CHOICE (not _only_ 
> choice) laid over the bare metal offerings. The whole world has moved onto 
> programming in patterns and higher level abstractions, why is the 
> academic/HPC world stuck on bare metal, still? Yes, I understand that 
> performance often matters and the higher up you go, the more performance loss 
> you incur, however, there is also something to be said about developer time 
> and ease of understanding/abstracting etc. etc.
> 
> Be that as it may, I am working on a project now in the HPC world and I 
> noticed that Open MPI has Java bindings (or should I say "interface"?). What 
> is the state of those? Which JDK do they support? Most importantly, would it 
> be a HUGE pipe dream to think about building patterns a-la Akka (or even 
> mixing actual Akka implementation) on top of OpenMPI via this Java bridge? 
> What would be involved on the OpenMPI side? I have time/interest in going 
> this route if there would be any hope of coming up with something that would 
> make my life (and future people coming into HPC/MPI) easier in terms of 
> building applications. I am not saying MPI in C/C++/Fortran should go away, 
> however, sometimes we don't need the low-level stuff to express a concept 
> :-). It may also open a whole new world for people on large clusters...
> 
> Thank you!


Reply via email to