| version 1.4, 2003/12/10 08:50:28 |
version 1.5, 2003/12/11 06:40:10 |
| Line 138 $0$ $B$r%9%?%C%/$KCV$/(B. $peer$ $B$O(B, $BAj<j$N |
|
| Line 138 $0$ $B$r%9%?%C%/$KCV$/(B. $peer$ $B$O(B, $BAj<j$N |
|
| |
|
| \end{enumerate} |
\end{enumerate} |
| |
|
| \section{server $B4V$NDL?.(B} |
\section{server $B4V$NDL?.(B, broadcast $B$*$h$S(B reduction} |
| |
|
| 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. |
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. |
| $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 |
$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 |
| Line 148 RFC-102 $B2<$G$N%W%m%0%i%_%s%0%9%?%$%k$O(B, $B4pK\E |
|
| Line 148 RFC-102 $B2<$G$N%W%m%0%i%_%s%0%9%?%$%k$O(B, $B4pK\E |
|
| $BAw?.$9$k5!G=(B, $B$^$?!"(Bserver $B4VDL?.O)$+$i(B OX $B%G!<%?$r<u?.$9$k5!G=$r(B |
$BAw?.$9$k5!G=(B, $B$^$?!"(Bserver $B4VDL?.O)$+$i(B OX $B%G!<%?$r<u?.$9$k5!G=$r(B |
| $BDs6!$7$J$1$l$P$J$i$J$$(B. |
$BDs6!$7$J$1$l$P$J$i$J$$(B. |
| |
|
| \subsection{broadcast $B$*$h$S(B reduction} |
|
| |
|
| server $B4VDL?.$rMxMQ$9$k:G$bE57?E*$JNc$H$7$F(B broadcast $B$,$"$k(B. |
server $B4VDL?.$rMxMQ$9$k:G$bE57?E*$JNc$H$7$F(B broadcast $B$,$"$k(B. |
| |
|
| \begin{enumerate} |
\begin{enumerate} |
| Line 190 server $B$NAm?t$r(B $nserver$ $B$H$9$k$H$-(B, $B9 |
|
| Line 188 server $B$NAm?t$r(B $nserver$ $B$H$9$k$H$-(B, $B9 |
|
| $B0J2<$K(B, {\tt ox\_asir} $B$K$*$1$k<BAu$r<($9(B. |
$B0J2<$K(B, {\tt ox\_asir} $B$K$*$1$k<BAu$r<($9(B. |
| |
|
| \begin{verbatim} |
\begin{verbatim} |
| void ox_bcast_102(int root,Obj *rp) |
void ox_bcast_102(int root) |
| { |
{ |
| Obj data; |
Obj data; |
| int r,mask,id,src,dst; |
int r,mask,id,src,dst; |
| |
|
| data = *rp; |
|
| r = myrank_102-root; |
r = myrank_102-root; |
| |
if ( r == 0 ) |
| |
data = (Obj)asir_pop_one(); |
| if ( r < 0 ) r += nserver_102; |
if ( r < 0 ) r += nserver_102; |
| for ( mask = 1; mask < nserver_102; mask <<= 1 ) |
for ( mask = 1; mask < nserver_102; mask <<= 1 ) |
| if ( r&mask ) { |
if ( r&mask ) { |
| Line 211 void ox_bcast_102(int root,Obj *rp) |
|
| Line 210 void ox_bcast_102(int root,Obj *rp) |
|
| if ( dst >= nserver_102 ) dst -= nserver_102; |
if ( dst >= nserver_102 ) dst -= nserver_102; |
| ox_send_data_102(dst,data); |
ox_send_data_102(dst,data); |
| } |
} |
| *rp = data; |
asir_push_one(data); |
| } |
} |
| \end{verbatim} |
\end{verbatim} |
| |
|
| Line 233 server $B$NAm?t$r(B $nserver$ $B$H$9$k$H$-(B, $B9 |
|
| Line 232 server $B$NAm?t$r(B $nserver$ $B$H$9$k$H$-(B, $B9 |
|
| $B%9%F%C%W8e$K$O<jB3$-$,=*N;$9$k(B. |
$B%9%F%C%W8e$K$O<jB3$-$,=*N;$9$k(B. |
| |
|
| \begin{verbatim} |
\begin{verbatim} |
| void ox_reduce_102(int root,void (*func)(),Obj data,Obj *rp) |
void ox_reduce_102(int root,void (*func)()) |
| { |
{ |
| Obj data0,t; |
Obj data,data0,t; |
| int r,mask,id,src,dst; |
int r,mask,id,src,dst; |
| |
|
| r = myrank_102-root; |
r = myrank_102-root; |
| if ( r < 0 ) r += nserver_102; |
if ( r < 0 ) r += nserver_102; |
| |
data = (Obj)asir_pop_one(); |
| for ( mask = 1; mask < nserver_102; mask <<= 1 ) |
for ( mask = 1; mask < nserver_102; mask <<= 1 ) |
| if ( r&mask ) { |
if ( r&mask ) { |
| dst = (r-mask)+root; |
dst = (r-mask)+root; |
| Line 255 void ox_reduce_102(int root,void (*func)(),Obj data,Ob |
|
| Line 255 void ox_reduce_102(int root,void (*func)(),Obj data,Ob |
|
| (*func)(CO,data,data0,&t); data = t; |
(*func)(CO,data,data0,&t); data = t; |
| } |
} |
| } |
} |
| if ( !r ) |
asir_push_one(r?0:data); |
| *rp = data; |
|
| else |
|
| *rp = 0; |
|
| } |
} |
| \end{verbatim} |
\end{verbatim} |
| |
|
| |
$BBP1~$9$k(B SM $B%3%^%s%I$O0J2<$NDL$j$G$"$k(B. |
| |
|
| |
\begin{enumerate} |
| |
\item |
| |
\begin{verbatim} |
| |
SM_bcast_102 |
| |
\end{verbatim} |
| |
|
| |
Request: |
| |
\begin{tabular}{|c|c|c|} \hline |
| |
{\tt int32 OX\_COMMAND} & {\tt int32 SM\_bcast\_102} & {\tt int32 $root$} \\ \hline |
| |
\end{tabular} |
| |
|
| |
Output: none. |
| |
|
| |
Stack after the request: |
| |
\begin{tabular}{|c|c|} \hline |
| |
{\tt int32 OX\_DATA} & {\tt $CMObject$} \\ \hline |
| |
\end{tabular} |
| |
|
| |
\item |
| |
\begin{verbatim} |
| |
SM_reduce_102 |
| |
\end{verbatim} |
| |
|
| |
Request: |
| |
\begin{tabular}{|c|c|} \hline |
| |
{\tt int32 OX\_COMMAND} & {\tt int32 SM\_reduce\_102} \\ \hline |
| |
{\tt int32 $root$} & {\tt int32 CMO\_String} {$opname$} \\ \hline |
| |
\end{tabular} |
| |
|
| |
Stack after the request: |
| |
\begin{tabular}{|c|c|} \hline |
| |
{\tt int32 OX\_DATA} & {\tt $CMObject$} \\ \hline |
| |
\end{tabular} |
| |
|
| |
Output: none. |
| |
\end{enumerate} |
| |
|
| \section{$B%(%i!<=hM}(B} |
\section{$B%(%i!<=hM}(B} |
| |
|
| 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, |
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, |
| Line 346 $Server$ $B$KBP$7DL?.O)%j%;%C%HF0:n$r;X<($9$k(B. $B |
|
| Line 381 $Server$ $B$KBP$7DL?.O)%j%;%C%HF0:n$r;X<($9$k(B. $B |
|
| $B<1JL;R(B $Rank$ $B$N(B server $B$+$i(B OX $B%G!<%?$r<u?.$9$k(B. |
$B<1JL;R(B $Rank$ $B$N(B server $B$+$i(B OX $B%G!<%?$r<u?.$9$k(B. |
| $B<1JL;R(B $Rank$ $B$N(B server $B$OBP1~$9$kAw?.$r3+;O$7$J$1$l$P$J$i$J$$(B. |
$B<1JL;R(B $Rank$ $B$N(B server $B$OBP1~$9$kAw?.$r3+;O$7$J$1$l$P$J$i$J$$(B. |
| |
|
| \item {\tt ox\_bcast\_102($Rank$[,$Data$])} |
\item {\tt ox\_bcast\_102($Root$[,$Data$])} |
| |
|
| $B<1JL;R(B $Rank$ $B$N(B server $B$r(B root $B$H$7$F(B, $B%0%k!<%WFb$G(B broadcast $B$9$k(B. |
$B<1JL;R(B $Root$ $B$N(B server $B$r(B root $B$H$7$F(B, $B%0%k!<%WFb$G(B broadcast $B$9$k(B. |
| $Root$ $B$N$_(B $Data$ $B$r;XDj$9$kI,MW$,$"$k(B. $B3F(B server $B$G$NLa$jCM$O(B |
$Data$ $B$,;XDj$5$l$?>l9g(B, $B%9%?%C%/$K%W%C%7%e$5$l$k(B. |
| $Data$ $B$G$"$k(B. |
$B$r;XDj$9$kI,MW$,$"$k(B. $B<1JL;R$,(B $Root$ $B$KEy$7$$(B server $B$G(B, $B%9%?%C%/(B |
| |
$B$+$i%G!<%?$,%]%C%W$5$l(B, $B$=$N%G!<%?$,(B, $B3F8F$S=P$7$NLa$jCM$H$J$k(B. |
| |
|
| |
\item {\tt ox\_reduce\_102($Root$,$Operation$[,$Data$])} |
| |
|
| |
$B%0%k!<%WFb$N3F(B server $B$N%9%?%C%/$+$i%]%C%W$7$?%G!<%?$KBP$7(B |
| |
$Operation$ $B$G;XDj$5$l$kFs9`1i;;$r9T$$(B, |
| |
$B7k2L$r(B $Root$ $B$G;XDj$5$l$k(B server $B$G$N4X?t8F$S=P$7$NLa$jCM$H$7$F(B |
| |
$BJV$9(B. |
| |
$Data$ $B$,;XDj$5$l$?>l9g(B, $B%9%?%C%/$K%W%C%7%e$7$F$+$i>e5-$NA`:n$r(B |
| |
$B<B9T$9$k(B. $Root$ $B0J30$N(B server $B$G$NLa$jCM$O(B 0 $B$G$"$k(B. |
| |
|
| \end{itemize} |
\end{itemize} |
| |
|
| \begin{thebibliography}{99} |
\begin{thebibliography}{99} |