help-octave
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: octave server ?


From: Daniel Heiserer
Subject: Re: octave server ?
Date: Wed, 15 Nov 2000 11:08:52 +0100

address@hidden schrieb:
> 
> >>>>> "Daniel" == Daniel Heiserer <address@hidden> writes:
> 
>     Daniel> Hi, has anybody ever run octave as a server (or as a
>     Daniel> client) in a network tcp/ip based client/sever concept?
> 
> Hi Daniel,
> 
>    Yes, this has been done in a fashion.  The solution uses MPI calls
>    to send data and commands to and from a master octave process to
>    any number of clients.  I recently posted patches against octave
>    2.1.31 to the octave-sources email list which enable this
>    parallelization of octave.  The patches include an example script
>    which operates in client-server fashion.  Whether or not this
>    solution is appropriate for your problem I cannot say.
> 

Is this MPI dynamic in the case that octave can start clients on
different hosts "on demand" or do you have to tell this  octave when 
you launch it?
What happens if a client dies? Will the master die as well?
Do you have to take care of data transfer to a client or is that done
automatically by the MPI library?
Can you control what a client does or is that done by the program?

I dont know too much about mpi, I just know some commercial codes
which have their problems with it.

I see many applications for this kind:

1) more or less seemless parallelization
I have a loop in my script, which does not change data of the loop
for j=1:1000
        a(j)=max(max(inv(rand(1000))));
end
this could be done by octave _automatically_ on 1000 clients or as many 
as I have started/allowed.

2) More a real talk, not automatic:
My basic concpet idea was to have one master and different clients,
where the master tells a server in detail what he has to do.
They dont have to share the same data. This would even be better,
because I would like to have for  each server a lot of different data
in memory. 

Once it is necessary I would start a octave-server from my octave-master
or any other application like perl.

e.g. server_no(1)=launch_server(hostname,portname,startup_init_script);

octave starts on that host, opens the port there, which takes care of
stdio/err,
runs the startup_init_script and then listens to this port (the
startup_init_script
might tell octave where to get and load some data).

then I can launch from my application (perl or octave itself) a request
like talk_to_server(1,"f=inv(rand(1000));");
All the data is still local to server_no(1);
I just would need some function then to transfer data like
(get_server_data and 
put_server_data):
f_at_master=get_server_data(1,"f");

It also could be possible for one server to start other servers as well
(like a
filesystem-tree .....)

thanks, daniel



-------------------------------------------------------------
Octave is freely available under the terms of the GNU GPL.

Octave's home on the web:  http://www.octave.org
How to fund new projects:  http://www.octave.org/funding.html
Subscription information:  http://www.octave.org/archive.html
-------------------------------------------------------------



reply via email to

[Prev in Thread] Current Thread [Next in Thread]