version 1.2, 1999/12/21 02:47:31 |
version 1.4, 2000/01/13 08:29:56 |
|
|
@comment $OpenXM$ |
@comment $OpenXM: OpenXM/src/asir-doc/parts/process.texi,v 1.3 1999/12/24 04:38:04 noro Exp $ |
\BJP |
\BJP |
@node $BJ,;67W;;(B,,, Top |
@node $BJ,;67W;;(B,,, Top |
@chapter $BJ,;67W;;(B |
@chapter $BJ,;67W;;(B |
|
|
$B$?$a$N5,Ls$G$"$k(B. @b{OpenXM} $B$K$*$$$F$O(B |
$B$?$a$N5,Ls$G$"$k(B. @b{OpenXM} $B$K$*$$$F$O(B |
\E |
\E |
\BEG |
\BEG |
In @b{Asir} distributed computations are done under @b{OpenXM} |
On @b{Asir} distributed computations are done under @b{OpenXM} |
(Open message eXchange protocol for Mathematics), which |
(Open message eXchange protocol for Mathematics), which |
is a protocol for exchanging mainly mathematical objects |
is a protocol for exchanging mainly mathematical objects |
between processes. |
between processes. |
|
|
@item @code{ox_push_cmo()} |
@item @code{ox_push_cmo()} |
|
|
\JP $B%G!<%?$r(B server $B$N%9%?%C%/$K@Q$`(B |
\JP $B%G!<%?$r(B server $B$N%9%?%C%/$K@Q$`(B |
\EG It requests a server to push an object to the stack of the server. |
\EG It requests a server to push an object to the stack of a server. |
|
|
@item @code{ox_pop_cmo()} |
@item @code{ox_pop_cmo()} |
\JP $B%G!<%?$r(B server $B$N%9%?%C%/$+$i<h$j=P$9(B. |
\JP $B%G!<%?$r(B server $B$N%9%?%C%/$+$i<h$j=P$9(B. |
\EG It request a server to pop an object from the stack of the server. |
\EG It request a server to pop an object from the stack of a server. |
|
|
@item @code{ox_cmo_rpc()} |
@item @code{ox_cmo_rpc()} |
|
|
Line 191 Mathcap is also defined as a @b{CMO} and the elements |
|
Line 191 Mathcap is also defined as a @b{CMO} and the elements |
|
or strings. |
or strings. |
The format of mathcap is as follows. |
The format of mathcap is as follows. |
|
|
[[version number, server name],@b{SM}taglist,[@b{OX}taglist,@b{CMO}taglist, @b{CMO}taglist,...]] |
[[version number, server name],@b{SM}taglist, |
[[version number, server name],@b{SM}taglist,[[@b{OX}tag,@b{CMO}taglist], |
[[@b{OX}tag,@b{CMO}taglist],[@b{OX}tag,@b{CMO}taglist],...]] |
[@b{OX}tag,@b{CMO}taglist],...]] |
|
|
|
[@b{OX}tag,@b{CMO}taglist] indicates that available object tags for |
[@b{OX}tag,@b{CMO}taglist] indicates that available object tags for |
a category of data specified by @b{OX}tag. |
a category of data specified by @b{OX}tag. |
Line 501 input @code{quit}. |
|
Line 500 input @code{quit}. |
|
* ox_push_cmd ox_sync:: |
* ox_push_cmd ox_sync:: |
* ox_get:: |
* ox_get:: |
* ox_pops:: |
* ox_pops:: |
* ox_reset register_handler:: |
* ox_reset ox_intr register_handler:: |
* ox_select:: |
* ox_select:: |
* ox_flush:: |
* ox_flush:: |
* ox_get_serverinfo:: |
* ox_get_serverinfo:: |
Line 588 UNIX $BHG$K$*$$$F$O(B, @code{ox_launch()} $B$O(B, |
|
Line 587 UNIX $BHG$K$*$$$F$O(B, @code{ox_launch()} $B$O(B, |
|
|
|
@enumerate |
@enumerate |
@item |
@item |
$B%[%9%H(B @code{B} $B$N(B @code{csh} $B$N%5!<%A%Q%9$K5/F0$5$l$k%W%m%0%i%`(B |
|
$B$N$"$k%G%#%l%/%H%j$r$$$l$k(B. $B%W%m%0%i%`$O(B @code{rsh} $B$G5/F0$5$l$k(B. $B$7$?(B |
|
$B$,$C$F(B, $B%[%9%H(B @code{B} $B$N%5!<%A%Q%9$K(B $B$=$N%W%m%0%i%`$,F~$C$F$$$J$$>l(B |
|
$B9g$K$O5/F0$G$-$J$$(B. $B$3$N>l9g@dBP%Q%9$rM?$($k$+(B, @samp{~/.cshrc} $B$N%5!<(B |
|
$B%A%Q%9$K$=$N%W%m%0%i%`$N$"$k%G%#%l%/%H%j$rDI2C$9$kI,MW$,$"$k(B. $B$=$N:](B, |
|
$BAj<j@h%[%9%H$K$*$1$k%G%#%l%/%H%j$G$"$k$3$H$rK:$l$J$$$h$&$K$9$k$3$H(B. |
|
|
|
@item |
|
$B%[%9%H(B @code{B} $B$N(B @samp{~/.rhosts} $B$K(B, $B%[%9%H(B @code{A} $B$N%[%9%H(B |
$B%[%9%H(B @code{B} $B$N(B @samp{~/.rhosts} $B$K(B, $B%[%9%H(B @code{A} $B$N%[%9%H(B |
$BL>$rEPO?$9$k(B. |
$BL>$rEPO?$9$k(B. |
|
|
Line 653 is invoked on @var{host}. Then @samp{ox_launch} invoke |
|
Line 644 is invoked on @var{host}. Then @samp{ox_launch} invoke |
|
If @var{host} is equal to 0, all the commands are invoked |
If @var{host} is equal to 0, all the commands are invoked |
on the same machine as the @b{Asir} is running. |
on the same machine as the @b{Asir} is running. |
If no arguments are specified, @var{host}, @var{dir} and @var{command} |
If no arguments are specified, @var{host}, @var{dir} and @var{command} |
are regarded as 0, the value of @code{get_rootdir()} and @samp{ox_dir} in |
are regarded as 0, the value of @code{get_rootdir()} and @samp{ox_asir} in |
the same directory respectively. |
the same directory respectively. |
|
|
@item |
@item |
Line 692 Here, Let @code{A} be the host on which @b{Asir} is ru |
|
Line 683 Here, Let @code{A} be the host on which @b{Asir} is ru |
|
|
|
@enumerate |
@enumerate |
@item |
@item |
Set the command search path of @code{csh} on the remote host @code{B} |
|
so that your program, say @code{P}, can run on @code{B}. |
|
This is done by putting the directory of @code{P} to the command search |
|
path of @code{csh} on @code{B}. |
|
The program @code{P} is invoked by @code{rsh} or @code{remsh}. |
|
Thus, invocation of |
|
the program @code{P} shall fail unless it is found within the search |
|
path on the host @code{B}. |
|
For such a case, you can run the program @code{P} by either giving |
|
the absolute path or adding the directory of the program @code{P} to |
|
the search path description in your @samp{~/.cshrc}. |
|
Note that the the `directory' means the directory on the remote host |
|
@code{B}. |
|
|
|
@item |
|
Register the hostname of the host @code{A} to the @samp{~/.rhosts} of |
Register the hostname of the host @code{A} to the @samp{~/.rhosts} of |
the host @code{B}. |
the host @code{B}. |
That is, you should be allowed to access the host @code{B} from @code{A} |
That is, you should be allowed to access the host @code{B} from @code{A} |
Line 1203 The result is pushed to the stack. |
|
Line 1179 The result is pushed to the stack. |
|
@fref{ox_pop_cmo ox_pop_local} |
@fref{ox_pop_cmo ox_pop_local} |
@end table |
@end table |
|
|
\JP @node ox_reset register_handler,,, $BJ,;67W;;$K4X$9$k4X?t(B |
\JP @node ox_reset ox_intr register_handler,,, $BJ,;67W;;$K4X$9$k4X?t(B |
\EG @node ox_reset register_handler,,, Functions for distributed computation |
\EG @node ox_reset ox_intr register_handler,,, Functions for distributed computation |
@subsection @code{ox_reset},@code{register_handler} |
@subsection @code{ox_reset},@code{ox_intr},@code{register_handler} |
@findex ox_reset |
@findex ox_reset |
@findex register_handler |
@findex register_handler |
|
|
Line 1213 The result is pushed to the stack. |
|
Line 1189 The result is pushed to the stack. |
|
@item ox_reset(@var{number}) |
@item ox_reset(@var{number}) |
\JP :: $B%W%m%;%9$N%j%;%C%H(B |
\JP :: $B%W%m%;%9$N%j%;%C%H(B |
\EG :: Resets an OpenXM server |
\EG :: Resets an OpenXM server |
|
@item ox_intr(@var{number}) |
|
\JP :: $B%W%m%;%9$N$K(B @code{SIGINT} $BAwIU(B |
|
\EG :: Sends @code{SIGINT} to an OpenXM server |
@item register_handler(@var{func}) |
@item register_handler(@var{func}) |
\JP :: $B%W%m%;%9$N%j%;%C%H$N$?$a$N4X?tEPO?(B |
\JP :: $B%W%m%;%9$N%j%;%C%H$N$?$a$N4X?tEPO?(B |
\EG :: Registers a function callable on a keyboard interrupt. |
\EG :: Registers a function callable on a keyboard interrupt. |
Line 1247 The result is pushed to the stack. |
|
Line 1226 The result is pushed to the stack. |
|
$B7W;;ESCf$G$N6/@)CfCG$KMQ$$$k(B. |
$B7W;;ESCf$G$N6/@)CfCG$KMQ$$$k(B. |
|
|
@item |
@item |
|
@code{ox_intr()} $B$O(B, $B<1JL;R(B @var{number} $B$N%W%m%;%9$r$KBP$7$F(B |
|
@code{SIGINT} $B$rAwIU$9$k(B. @code{SIGINT} $B$KBP$9$k%W%m%;%9$NF0:n$O(B |
|
$B5,Dj$5$l$F$$$J$$$,(B, @samp{ox_asir} $B$N>l9g(B, $B$?$@$A$K(B debug mode $B$K(B |
|
$BF~$k(B. X $B>e$GF0:n$7$F$$$k>l9g(B, $B%G%P%C%0%3%^%s%IF~NOMQ$N%&%#%s%I%&$,(B |
|
$B%]%C%W%"%C%W$9$k(B. |
|
|
|
@item |
@code{register_handler()} $B$O(B, @kbd{C-c} $B$J$I$K$h$k3d$j9~$_$N:]$K(B, |
@code{register_handler()} $B$O(B, @kbd{C-c} $B$J$I$K$h$k3d$j9~$_$N:]$K(B, |
@kbd{u} $B$r;XDj$9$k$3$H$G(B, $BL50z?t%f!<%6Dj5A4X?t(B @var{func()} $B$,8F$S=P$5$l$k(B |
@kbd{u} $B$r;XDj$9$k$3$H$G(B, $BL50z?t%f!<%6Dj5A4X?t(B @var{func()} $B$,8F$S=P$5$l$k(B |
$B$h$&$K@_Dj$9$k(B. $B$3$N4X?t$K(B, @code{ox_reset()} $B$r8F$S=P$5$;$k$3$H$G(B, |
$B$h$&$K@_Dj$9$k(B. $B$3$N4X?t$K(B, @code{ox_reset()} $B$r8F$S=P$5$;$k$3$H$G(B, |
Line 1273 Even if a process is running, the execution is safely |
|
Line 1259 Even if a process is running, the execution is safely |
|
It can be also used to interrupt a distributed computation. |
It can be also used to interrupt a distributed computation. |
|
|
@item |
@item |
|
@code{ox_intr()} sends @code{SIGINT} to a process whose identifier is |
|
@var{number}. The action of a server against @code{SIGINT} is not |
|
specified in @b{OpenXM}. @samp{ox_asir} immediately enters the debug |
|
mode and pops up an window to input debug commands on X window system. |
|
|
|
@item |
@code{register_handler()} registers a function @var{func()}. |
@code{register_handler()} registers a function @var{func()}. |
If @kbd{u} is specified on a keybord interrupt, @var{func()} |
If @kbd{u} is specified on a keybord interrupt, @var{func()} |
is executed before returning the toplevel. |
is executed before returning the toplevel. |
Line 1507 Usually @b{OX_SYNC_BALL} will be ignored by the peer. |
|
Line 1499 Usually @b{OX_SYNC_BALL} will be ignored by the peer. |
|
@table @t |
@table @t |
\JP @item $B;2>H(B |
\JP @item $B;2>H(B |
\EG @item References |
\EG @item References |
@fref{ox_rpc ox_cmo_rpc ox_execute_string}, @fref{ox_reset register_handler} |
@fref{ox_rpc ox_cmo_rpc ox_execute_string}, @fref{ox_reset ox_intr register_handler} |
@end table |
@end table |
|
|
\JP @node ox_get,,, $BJ,;67W;;$K4X$9$k4X?t(B |
\JP @node ox_get,,, $BJ,;67W;;$K4X$9$k4X?t(B |
Line 2166 plot*form*ydone*background:white |
|
Line 2158 plot*form*ydone*background:white |
|
@table @t |
@table @t |
\JP @item $B;2>H(B |
\JP @item $B;2>H(B |
\EG @item References |
\EG @item References |
@fref{ox_launch ox_launch_nox ox_shutdown}, @fref{ox_reset register_handler} |
@fref{ox_launch ox_launch_nox ox_shutdown}, @fref{ox_reset ox_intr register_handler} |
@end table |
@end table |