On Asir distributed computations are done under OpenXM (Open message eXchange protocol for Mathematics), which is a protocol for exchanging mainly mathematical objects between processes. In OpenXM a distributed computation is done as follows:
The server is a stack machine. That is data objects sent by the client are pushed to the stack of the server. If the server gets a command, then the data are popped form the stack and they are used as arguments of a function call.
In OpenXM, the result of a computation done in the server is simply pushed to the stack and the data is not written to the communication stream without requests from the client.
OpenXM protocol consists of two components: CMO (Common Mathematical Object format) which determines a common format of data representations and SM (StackMachine command) which specifies actions on servers. These are wrapped as OX expressions to indicate the sort of data when they are sent.
To execute a distributed computation by OpenXM,
one has to invoke OpenXM servers and to establish communications
between the client and the servers.
ox_launch()
, ox_launch_nox()
, ox_launch_generic()
are preprared for such purposes. Furthermore the following functions
are available.
ox_push_cmo()
ox_pop_cmo()
ox_cmo_rpc()
ox_execute_string()
ox_push_cmd()
ox_get()
Go to the first, previous, next, last section, table of contents.