Open MPI logo

Open MPI User's Mailing List Archives

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

Subject: Re: [OMPI users] Embedding MPI program into a webservice ?
From: Ashika Umanga Umagiliya (aumanga_at_[hidden])
Date: 2009-07-27 23:05:45

Greetings all,

Please refer to the image at :

As mentioned in Lisandro's reply, my webservice is acting as a proxy to
the MPI application.
In the webservice, the SOAP parameters are bind into C++ object model.

But I have several questions:

(1) It seems MPI_Comm_spawn() command just execute the MPI programm like
an external application.
So, the C++ object-model created in webservice, is not accessible in my
MPI application.(illustrated in blue line)
If thats the case,to pass the input parameters, I have to marshal my
object-model into an XML file , then call MPI_Comm_spawn() with the
filename as an argument,so that MPI programm can read the values from
the XML file.(illustrated in red lines)
Is there any other way to do this?

(2) Before calling MPI_Comm_spawn() in my webservice,I have to
initialize MPI by calling, MPI_Init(),MPI_Comm_get_parent()..etc.
So do I have to initialize MPI in my webservice logic.
If thats the case,I can't start my webservice in standard way like:


but in MPI way:
#mpirun -np 100 -hostfile ~./hosts svmWebservice
??? which is confusing ??

Any tips?
Thanks in advance,

Lisandro Dalcin wrote:
> I do not know anything about implementing webservices, but you should
> take a look at MPI-2 dynamic process management. This way, your
> webservice can MPI_Comm_spawn() a brand-new set of parallel processes
> doing the heavy work. This way, your webservice will act as a kind of
> proxy application between the request coming from the outside world
> and your parallel computing resources...
> On Fri, Jul 17, 2009 at 12:44 AM, Ashika Umanga
> Umagiliya<aumanga_at_[hidden]> wrote:
>> Greetings all,
>> I am in the design level of parallizing an SVM algorithm.We need to expose
>> this as a webservice.I have decided to go with Axis2/C implementation.
>> Please refer to :
>> As can be seen in the Figure1 , can I embedd my MPI logic in side my
>> Webservice ? I guess that its not possible because the webservice is
>> packaged as a static library ( and can not execute the
>> "mpirun".
>> In Figure2, I have illustrated another alternative.In my Webservice, I
>> invoke my parallel program (myParallelProg) using "mpirun" and other
>> parameters.
>> Is there any good design to accomplish what I am trying to do?I think the
>> second is not a good design ?
>> Thanks in advance,
>> umanga
>> _______________________________________________
>> users mailing list
>> users_at_[hidden]