[BACK]Return to OX-RFC-102.tex CVS log [TXT][DIR] Up to [local] / OpenXM / doc / OpenXM-specs

Annotation of OpenXM/doc/OpenXM-specs/OX-RFC-102.tex, Revision 1.1

1.1     ! noro        1: \documentclass[12pt]{jarticle}
        !             2: \IfFileExists{my.sty}{\usepackage{my}}{}
        !             3: \IfFileExists{graphicx.sty}{\usepackage{graphicx}}{}
        !             4: \IfFileExists{epsfig.sty}{\usepackage{epsfig}}{}
        !             5: \title{OpenXM-RFC102 (Draft)}
        !             6: \author{$BLnO$(B $B@59T(B \\ ($B?@8MBgM}(B)}
        !             7: \date{}
        !             8: \begin{document}
        !             9: \maketitle
        !            10: \def\gr{Gr\"obner $B4pDl(B}
        !            11: \def\st{\, s.t. \,}
        !            12: \def\noi{\noindent}
        !            13: \def\ve{\vfill\eject}
        !            14:
        !            15: \section{server $B4VDL?.$NF3F~(B}
        !            16:
        !            17: OpenXM-RFC-100, OpenXM-RFC-101 ($B0J2<(B RFC-100,RFC-101) $B$G$O(B, $B7W;;$O(B
        !            18: client (master) $B$H(B server $B4V$N(B RPC (remote procedure call) $B$H$7$F9T$o$l$k(B.
        !            19: $B$3$N7ABV$G9T$&$3$H$,$G$-$kJ,;6JBNs7W;;$H$7$F$O(B
        !            20:
        !            21: \begin{itemize}
        !            22: \item master $B$,;E;v$rJ,3d$7$F!"3F(B server $B$K0MMj$9$k(B.
        !            23: \item $B0l$D$N7W;;$K$$$/$D$+J}K!$,$"$k>l9g$K(B, $B$=$l$>$l$NJ}K!$r(B
        !            24: $BJL!9$N(B server $B$K0MMj$9$k(B.
        !            25: \end{itemize}
        !            26:
        !            27: $B$J$I$,9M$($i$l(B, $B<B:]$KM-8z$G$"$k$3$H$r<B>Z$7$?(B \cite{OpenXM}.
        !            28: $B$7$+$7(B, $B$5$i$KJ#;($JJ,;6JBNs7W;;%"%k%4%j%:%`$G$O(B,
        !            29: server $B4V$NDL?.$,I,MW$K$J$k>l9g$,$"$k(B. $B8=>u$N(B RFC-100,101 $B$G$b(B,
        !            30: server $B$,(B tree $B>u$K7k9g$7$FJ,;67W;;$r9T$&$3$H$O$G$-$k$,(B,
        !            31: $B$3$N>l9g$"$/$^$G0lJ}$,(B client, $BB>J}$,(B server $B$H$7$FF0:n$7$F$$$k(B.
        !            32: $BNc$($P(B, ScaLAPACK $B$N$h$&$K(B, $B3F(B process $B$,9TNs$N(B
        !            33: $B0lIt$rJ];}$7$F(B, $BF10l$N%W%m%0%i%`$r<B9T$7$J$,$i(B LU $BJ,2r$r$7$F(B
        !            34: $B$$$/(B, $B$H$$$C$?JBNs%"%k%4%j%:%`$r<BAu$9$k$N$OFq$7$$(B.
        !            35: $B$3$N>l9g(B, pivot $BA*Br$N$?$a$K(B, $BJ#?t(B process $B4V$GJ];}$5$l$F$$$k(B
        !            36: $BCM$N:GBgCM$r7hDj$7$?$j(B, $B9T$NF~$l49$($r9T$C$?$j$9$k$?$a$K(B,
        !            37: process $B4V$G$N%G!<%?$N$d$j$H$j$,I,MW$H$J$k(B.
        !            38:
        !            39: $B$5$i$KC1=c$JNc$H$7$F$O(B broadcast $B$,$"$k(B. $BNc$($P(B, $B$"$kB?9`<0=89g(B $G$
        !            40: $B$,%0%l%V%J!<4pDl$+$I$&$+%A%'%C%/$9$k$K$O(B, $G$ $B$+$i:n$i$l$kA4$F$N(B S-$BB?9`<0$,(B
        !            41: $G$ $B$K$h$j(B 0 $B$K4JLs$5$l$k$3$H$r<($;$P$h$$!#8D!9$N4JLsA`:n$OFHN)$J$N$G(B,
        !            42: $BE,Ev$KJ,3d$7$FJBNs7W;;$G$-$k$,(B, $B$^$:(B $G$ $B$r3F(B server $B$KAw$kI,MW$,$"$k(B.
        !            43: $B$3$l$O(B, RFC-100 $B$N$b$H$G$O(B master $B$,3F(B server $B$K=g$KAw$k$N$G(B, server $B$N(B
        !            44: $B?t(B $N$ $B$KHfNc$7$?<j4V$,$+$+$k$,(B, server $B4VDL?.$,;H$($l$P(B, $\log N$ $B$K(B
        !            45: $BHfNc$7$?<j4V$GAw$k$3$H$b$G$-$k(B.
        !            46:
        !            47: $B$3$l$i$O$4$/8B$i$l$?Nc$G$"$k$,(B, $B=EMW$J$3$H$O(B,
        !            48: $B$h$j9bEY$JJ,;6JBNs7W;;$,<B83$G$-$k$h$&$J5!G=$rDs0F$7(B, $B<BAu$9$k$3$H$G$"$k(B.
        !            49: $B0J2<$G$O(B MPI-2 $B$GDj5A$5$l$?F0E*%W%m%;%9@8@.(B, $B%W%m%;%9%0%k!<%W4V$G$N(B
        !            50: broadcast $B$N;EMM$r;29M$K(B, OpenXM $B$K$*$1$k(B server $B4VDL?.$K$D$$$F(B
        !            51: $B=R$Y$k(B.
        !            52:
        !            53: \section{server $B$N5/F0$H(B server $B4VDL?.O)$N3+@_(B}
        !            54:
        !            55: server $B$O(B RFC-100, 101 $B$K$h$j5/F0$5$l$k$H$9$k(B. server $B$O5/F0$5$l$?(B
        !            56: $B;~E@$G$O(B master $B$H$NDL?.O)$N$_$r;}$D(B. server-server $B4V$NDL?.O)$O(B,
        !            57: master $B$+$i(B SM $B%3%^%s%I$K$h$j3+@_$5$l$k(B. RFC-100, 101 $B$G$O(B,
        !            58: master-server $B4V$NDL?.O)$O(B, server $B$,5/F0$7$?;~E@$G$9$G$KB8:_$7$F(B
        !            59: $B$$$?$,(B, RFC-102 $B$KBP1~$9$k$?$a$K$O(B server $B$,B>$N%W%m%;%9$N(B
        !            60: $BDL?.O)$r3+@_$9$k$?$a$N;EAH$_$r<BAu$7$F$$$kI,MW$,$"$k(B.
        !            61:
        !            62: \begin{enumerate}
        !            63: \item
        !            64: \begin{verbatim}
        !            65: SM_set_rank
        !            66: \end{verbatim}
        !            67:
        !            68: server $B4V$N(B broadcast $B$O(B, $B$$$/$D$+$N(B server $B$r%0%k!<%W2=$7$F9T$&$N$,(B
        !            69: $B<+A3$G$"$k(B. $B4JC1$N$?$a(B, $B3F(B server $B$O(B, $B$?$@0l$D$N%0%k!<%W$KB0$9$k$H$9$k(B.
        !            70: master $B$O(B, $B3F(B server $B$K(B, $B$=$N(B server $B$,B0$9$k%0%k!<%W$N%a%s%P!<$NAm?t(B
        !            71: $nserver$ $B$H(B, $B$=$N%0%k!<%WFb$G$N<1JL;R(B $rank$ ($0\le rank \le nserver-1$)
        !            72: $B$rDLCN$9$k(B.
        !            73:
        !            74: Request:
        !            75: \begin{tabular}{|c|c|}  \hline
        !            76: {\tt int32 OX\_COMMAND} & {\tt int32 SM\_set\_rank} \\ \hline
        !            77: {\tt int32 $nproc$} & {\tt int32 $rank$} \\
        !            78: \hline
        !            79: \end{tabular}
        !            80:
        !            81: Output: none.
        !            82:
        !            83: \item
        !            84: \begin{verbatim}
        !            85: SM_tcp_accept
        !            86: \end{verbatim}
        !            87:
        !            88: Request:
        !            89: \begin{tabular}{|c|c|}  \hline
        !            90: {\tt int32 OX\_COMMAND} & {\tt int32 SM\_accept} \\ \hline
        !            91: {\tt int32 $port$} & {\tt int32 $peer$} \\
        !            92: \hline
        !            93: \end{tabular}
        !            94:
        !            95: Stack after the request:
        !            96: \begin{tabular}{|c|c|}  \hline
        !            97: {\tt int32 OX\_DATA} & {\tt int32 $status$} \\
        !            98: \hline
        !            99: \end{tabular}
        !           100:
        !           101: Output: none.
        !           102:
        !           103: $B<!9`$N(B {\tt SM\_tcp\_connect} $B$H%Z%"$G(B, $B4{$KB8:_$7$F$$$k(B 2 $B$D$N(B server
        !           104: $B$N4V$N(B TCP/IP $B$K$h$kDL?.O)$r3+@_$9$k(B. $port$ $B$O(B, master $B$,(B ($B%i%s%@%`$K(B) $BA*$s$@(B
        !           105: TCP $B$N%]!<%HHV9f$G$"$k(B. $B$3$N%j%/%(%9%H$r<u$1<h$k$H(B, server $B$O(B,
        !           106: bind, listen, accept $BF0:n$r<B9T$7(B, connect $BBT$A>uBV$KF~$k(B. $B$$$:$l$+$NF0:n(B
        !           107: $B$K$*$$$F%(%i!<$r@8$8$?>l9g$K$O(B $status$ $B$H$7$F(B $-1$, $B@.8y$7$?>l9g$K$O(B
        !           108: $0$ $B$r%9%?%C%/$KCV$/(B. $peer$ $B$O(B, $BAj<j$N(B server $B$N%0%k!<%WFb$G$N<1JL;R(B
        !           109: $B$G$"$k(B.
        !           110:
        !           111: \item
        !           112: \begin{verbatim}
        !           113: SM_tcp_connect
        !           114: \end{verbatim}
        !           115:
        !           116: Request:
        !           117: \begin{tabular}{|c|c|}  \hline
        !           118: {\tt int32 OX\_COMMAND} & {\tt int32 SM\_tcp\_connect} \\ \hline
        !           119: {\tt int32 CMO\_String} & {$hostname$} \\ \hline
        !           120: {\tt int32 $port$} & {\tt int32 $peer$} \\
        !           121: \hline
        !           122: \end{tabular}
        !           123:
        !           124: Stack after the request:
        !           125: \begin{tabular}{|c|c|}  \hline
        !           126: {\tt int32 OX\_DATA} & {\tt int32 $status$} \\
        !           127: \hline
        !           128: \end{tabular}
        !           129:
        !           130: Output: none.
        !           131:
        !           132: $BA09`$N(B {\tt SM\_tcp\_accept} $B$H%Z%"$G(B, $B4{$KB8:_$7$F$$$k(B 2 $B$D$N(B server
        !           133: $B$N4V$N(B TCP/IP $B$K$h$kDL?.O)$r3+@_$9$k(B. $host$ $B$OAj<j$N(B server $B$,F0:n$7$F(B
        !           134: $B$$$k%[%9%HL>$G$"$k(B. $host$ $B>e(B, $B%]!<%HHV9f(B $port$ $B$G(B accept $B$7$F$$$k(B server $B$KBP$7(B,
        !           135: connect $B$9$k(B.
        !           136: $B%(%i!<$r@8$8$?>l9g$K$O(B $status$ $B$H$7$F(B $-1$, $B@.8y$7$?>l9g$K$O(B
        !           137: $0$ $B$r%9%?%C%/$KCV$/(B. $peer$ $B$O(B, $BAj<j$N(B server $B$N%0%k!<%WFb$G$N<1JL;R$G$"$k(B.
        !           138:
        !           139: \end{enumerate}
        !           140:
        !           141: \section{server $B4V$NDL?.(B}
        !           142:
        !           143: RFC-102 $B2<$G$N%W%m%0%i%_%s%0%9%?%$%k$O(B, $B4pK\E*$K$O(B RFC-100,101 $B$HJQ$o$i$J$$(B.
        !           144: $B$9$J$o$A(B, master $B$G$"$k%W%m%0%i%`$,<B9T$5$l(B, $BI,MW$K1~$8$F(B server $B$K(B
        !           145: $B;E;v$,0MMj$5$l(B, master $B$O$=$N7k2L$r;H$C$F<+$i$N;E;v$rB39T$9$k(B.
        !           146: $B$3$l$K2C$($F(B, RFC-102 $B$G$O(B, server $B$I$&$7$,!V<+N'E*!W$K%G!<%?$NAw<u?.(B
        !           147: $B$r9T$&$3$H$,$G$-$k(B. $B$3$N$?$a(B, server $B$O(B, server $B4VDL?.O)$K(B CMO $B%G!<%?$r(B
        !           148: $BAw?.$9$k5!G=(B, $B$^$?!"(Bserver $B4VDL?.O)$+$i(B CMO $B%G!<%?$r<u?.$9$k5!G=$r(B
        !           149: $BDs6!$7$J$1$l$P$J$i$J$$(B. $BDL>o(B, server $B$O8GM-$N8@8l$r;}$D$N$G(B, $B$3$N5!G=(B
        !           150: $B$O(B server $B$NAH$_9~$_4X?t$H$7$F<B8=$9$k$N$,<+A3$G$"$m$&(B. $BNc$($P(B {\tt asir}
        !           151: ({\tt ox\_asir}) $B$N>l9g(B
        !           152:
        !           153: \begin{enumerate}
        !           154: \item {\tt ox\_send\_cmo\_102($Rank$,$Data$)}
        !           155:
        !           156: $B<1JL;R(B $Rank$ $B$N(B server $B$K(B $Data$ $B$r(B CMO $B$H$7$FAw?.$9$k(B.
        !           157: \item {\tt ox\_recv\_cmo\_102($Rank$)}
        !           158:
        !           159: $B<1JL;R(B $Rank$ $B$N(B server $B$+$i(B CMO $B%G!<%?$r<u?.$9$k(B.
        !           160: \end{enumerate}
        !           161: $B$H$7$F<B8=$5$l$F$$$k(B.
        !           162:
        !           163: \subsection{broadcast}
        !           164:
        !           165: server $B4VDL?.$rMxMQ$9$k:G$bE57?E*$JNc$H$7$F(B broadcast $B$,$"$k(B.
        !           166:
        !           167: \begin{enumerate}
        !           168: \item $B%0%k!<%WFb(B broadcast
        !           169:
        !           170: $B%0%k!<%WFb$N(B broadcast $B$O(B, $B$$$o$f$k(B collective operation $B$H$7$F<B9T$5(B
        !           171: $B$l$k(B. $B$9$J$o$A(B, $B%0%k!<%WFb$N3F(B server $B$G$=$l$>$lFHN)$K<B9T$5$l$F$$$k%W(B
        !           172: $B%m%0%i%`$K$*$$$F(B, $B0l@F$K$"$k4X?t$r8F$S=P$9$3$H$K$h$j(B, $B$=$N4X?t$+$iI|5"(B
        !           173: $B$7$?$H$-$K(B, broadcast $B$5$l$?%G!<%?$,JV$5$l$k(B, $B$H$$$&7A$r$H$k(B. $B$3$N>l9g(B
        !           174: $B$K%G!<%?$NH/?.85(B (root)$B$N<1JL;R$O3F(B server $B$,$"$i$+$8$aCN$C$F$*$/I,MW$,$"$k(B.
        !           175:
        !           176:
        !           177: \item master $B$+$i(B server $B%0%k!<%W$X$N(B broadcast
        !           178:
        !           179: master $B$+$i(B server $B%0%k!<%W$X$N(B broadcast $B$O(B, $B%0%k!<%WFb$N(B
        !           180: server $B$,%9%?%C%/%3%^%s%IBT$A>uBV$K9T$&$3$H$,$G$-$k$H$9$k(B.
        !           181: $B$3$N>l9g(B, master $B$O$"$k0l$D$N(B server $B$K(B data $B$r(B push $B$9$k(B.
        !           182: $B$3$N(B server $B$N<1JL;R$r(B $root$ $B$H$9$k(B.
        !           183: $B$=$N8e(B, $B%0%k!<%WFb$NA4(B server $B$K(B, $root$ $B$rH/?.85$H$9$k(B
        !           184: broadcast $B$r<B9T$5$;$k$?$a$N%3%^%s%I$rC`<!Aw?.$9$k(B.
        !           185: \end{enumerate}
        !           186:
        !           187: $B0J2<$G$O(B, $B%0%k!<%WFb$G(B broadcast $B$r9T$&<jB3$-$r(B, MPI $B$G$N<BAu$K(B
        !           188: $B$7$?$,$C$F@bL@$9$k(B. $B4JC1$N$?$a(B $root$ $B$,(B $0$ $B$G$"$k$H$7$F(B,
        !           189: $B<1JL;R$,(B $b2^k$ ($b$ $B$O4q?t(B) $B$G$"$k(B server $B$NF0:n$r@bL@$9$k(B.
        !           190:
        !           191: \begin{enumerate}
        !           192: \item $B<1JL;R$,(B $(b-1)2^k$ $B$G$"$k(B server $B$+$i%G!<%?$r<u?.$9$k(B.
        !           193: \item $B<1JL;R$,(B $b2^k+2^i$ $(i=k-1,\ldots,0)$ $B$N(B server $B$K%G!<%?$rAw?.$9$k(B.
        !           194: \end{enumerate}
        !           195:
        !           196: $B$3$NJ}K!$K$h$l$P(B,
        !           197: $B2<0L$K$h$jD9$/O"B3$7$F(B 0 $B$,8=$o$l$k<1JL;R$r;}$D(B server $B$[$I(B
        !           198: $B@h$K%G!<%?$rAw?.$7;O$a$k$?$a(B, $B%G%C%I%m%C%/$K$O$J$i$J$$(B. $B$^$?(B,
        !           199: $BFHN)$J%Z%"$I$&$7$NDL?.$,F1;~$K9T$($k$H$9$l$P(B, $B%0%k!<%WFb$N(B
        !           200: server $B$NAm?t$r(B $nserver$ $B$H$9$k$H$-(B, $B9b!9(B $\lceil \log_2 nserver\rceil$
        !           201: $B%9%F%C%W8e$K$OA4$F$N(B server $B$K%G!<%?$,9T$-EO$k(B.
        !           202:
        !           203:
        !           204:
        !           205:
        !           206: \section{$B%(%i!<=hM}(B}
        !           207:
        !           208: server $B$O(B RFC-100,101 $B$N(B $B%j%;%C%H%W%m%H%3%k$r<BAu$7$F$$$l$P(B,
        !           209: master $B$+$i(B server $B$r%j%;%C%H$7(B, master-server $B4V$NDL?.O)$r(B
        !           210: $B%j%;%C%H$9$k$3$H$O$G$-$k(B.
        !           211:
        !           212: \section{API}
        !           213:
        !           214:
        !           215: \end{document}

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>