=================================================================== RCS file: /home/cvs/OpenXM/doc/Papers/rims-2003-12-16-ja-ohp.tex,v retrieving revision 1.2 retrieving revision 1.10 diff -u -p -r1.2 -r1.10 --- OpenXM/doc/Papers/rims-2003-12-16-ja-ohp.tex 2003/12/11 06:00:41 1.2 +++ OpenXM/doc/Papers/rims-2003-12-16-ja-ohp.tex 2003/12/13 02:09:30 1.10 @@ -1,6 +1,7 @@ -% $OpenXM: OpenXM/doc/Papers/rims-2003-12-16-ja-ohp.tex,v 1.1 2003/12/11 05:43:37 takayama Exp $ +% $OpenXM: OpenXM/doc/Papers/rims-2003-12-16-ja-ohp.tex,v 1.9 2003/12/12 08:34:10 noro Exp $ %% xdvi -paper a4r rims-2003-12-16-ja-ohp %% dvips -f -t landscape rims-2003-12-16-ja-ohp| psnup -8 -r | lpr -Pxerox6 +%% dvipdfm -l rims-2003-12-16-ja-ohp \documentclass{slides} \usepackage{color} \usepackage{rgb} @@ -20,6 +21,7 @@ \def\nnn{ {\color{red} $\bullet$}\ } %% $B;v.86(B)} @@ -121,13 +125,19 @@ Visualization by JavaView and Povray. $BE@(B $(1,0,0)$, $(1,1,0)$, $(1,0,1)$, $(1,1,1)$ $B>e$N(B cone $B$N(B facet $B$r5a$a$h(B. \\ {\tt polymake} $B$G$O$D$.$h$&$JF~NO%U%!%$%k(B {\tt square.poly} $B$r$^$::n@.$9$k(B. -{\footnotesize \color{blue} \begin{verbatim} -POINTS -1 0 0 -1 1 0 -1 0 1 -1 1 1 -\end{verbatim} } +\begin{minipage}{10cm} +{\footnotesize \color{blue} +\begin{verbatim} +POINTS +1 0 0 +1 1 0 +1 0 1 +1 1 1 +\end{verbatim} +} +\end{minipage} +\epsfxsize=8cm +\epsffile{rims-2003-12-16-sq.eps} {\color{red} \verb@ polymake square.poly FACETS @ } \\ $B7k2L(B: @@ -142,7 +152,8 @@ FACETS \newpage \pagetitle{ Polymake $B$N(B OX 100, 101 $B%5!<%P2=$G2?$,LdBj$G$"$C$?$+(B?} -%todo OX 100 $B$N35N,$,I,MW$+(B? +%C $B>\$7$$$3$H$O$3$3$K=q$$$F$k$3$H$rFI$s$G$b$i$&$3$H$K$7$F(B, $B0l8@$G$$$($P(B +%C C $B$N30It%W%m%0%i%`8F$S=P$7%7%9%F%`%3!<%k(B system $B$N5!G=$r6/2=$7$h$&$H$$$&$3$H(B $B?7$7$$(B OX RFC 100 $B=`5r$N%5!<%P$r:n$k>l9g$K$O(B $B%?!<%2%C%H$H$9$k?t3X%=%U%H%&%(%"%7%9%F%`$N%=!<%9%3!<%I$K(B OX RFC 100 $BBP1~ItJ,(B @@ -157,6 +168,7 @@ unix $B$N(B shell ($B$d(B Windows $B$N%3%^%s%I%W% $B$+$iMxMQ2DG=$J$h$&$K:n$i$l$F$$$k(B: {\color{red} $B%P%C%A=hM}BP1~%"%W%j%1!<%7%g%s(B}. $B%5!<%P$H$NDL?.$NIQEY$OLdBj$K$h$k$,$"$kDxEYBg$-$$7W;;$N>l9g$ODL?.;~4V$OL5;k$G$-$k(B. Polymake $B$OBPOCE*MxMQ$OA[Dj$7$F$*$i$:%5!<%P$N7W;;$rCfCG$7$F(B, $B:FEY3+;O$9$k$J$I$NI,MW$,$J$$(B. +$\Rightarrow$ {\tt system} $B4X?t(B. $BLdBjE@(B: $B%U%!%$%k(B, OS $B$N0c$$(B, $B%W%m%;%94IM}(B $\Rightarrow$ {\tt system} $B$N6/2=HG(B {\color{blue} oxshell} \newpage @@ -189,6 +201,7 @@ Oxshell $B$rMQ$$$F(B OX $B%5!<%P$r(B.poly) $BF0:n(B] oxshell@}\\ $B%9%?%C%/%^%7%s$NJQ?t$r%U%!%$%k$r$_$J$7$F$$$k(B. @@ -197,6 +210,7 @@ Oxshell $B$rMQ$$$F(B OX $B%5!<%P$rZ(B. +%C $BEv$jA0$@$,L5$/$F$O$J$i$J$$8&5f$@$C$?(B. \nnn $B%G!<%?JQ49$K$O(B tfb/2 ($BEDB<(B)format $B$rMxMQ(B, OpenMath $B%"!<%-%F%/%A%c$rMxMQ(B. {\color{blue}$B@.2L(B}: $B$=$NM-8z@-$rZ$G$-$?(B.) %% $B$3$l$b?7$7$$E@$G$"$m$&(B. @@ -235,7 +251,8 @@ lion Outputs to stdout and stderr ] \end{verbatim} } - +%C $B?t3XE*$K$Oe$N%G!<%?$r(B pop $B$7(B, $B%0%k!<%WFb$K(B +broadcast $B$9$k(B. $B3F(B server $B$N%9%?%C%/$K(B broadcast $B$5$l$?%G!<%?$,(B push +$B$5$l$k(B. + +\item {\tt SM\_reduce\_102} $root$ $opname$ + +$B3F(B server $B$N%9%?%C%/>e$N%G!<%?$,(B pop $B$5$l(B, $opname$ $B$G;XDj$5$l$k(B +$BFs9`1i;;(B($B7k9gB'$,I,MW(B) $B$r=g$K9T$$(B, $B7k2L$r(B $root$ $B$G;XDj$5$l$k(B server +$B$N%9%?%C%/$K(B push $B$9$k(B. $BB>$N(B server $B$K$O(B $0$ $B$,(B push +$B$5$l$k(B. +\end{itemize} + +\newpage + +\noindent +\pagetitle{broadcast $B$N $B<1JL;R$,(B $b2^k+2^i$ $B$N(B server $B$K(B $data$ $B$rAw?.(B\\ +end for +\end{tabbing} +\vskip\baselineskip +2 $B$G3d$j@Z$l$k2s?t$,B?$$<1JL;R$r;}$D(B server $B$,@h$K%G!<%?Aw?.(B + +$\Rightarrow$ $B%G%C%I%m%C%/$K$J$i$J$$(B + +$BFHN)$J%Z%"$I$&$7$NDL?.$,F1;~$K9T$($k$J$i!"9b!9(B $\lceil \log_2 N\rceil$ $B%9%F%C%W(B +($N$ $B$O(B server $B$NAm?t(B) $B$G(B broadcast $B40N;(B. + +\newpage + +%C $B:YIt$O>JN,(B. $B$"$H$G(B 16 $B8D$N%5!<%P$N if \= ( $b$ $B$K(B $2^i$ $B$N(B bit $B$,$"$k(B) then\\ + \> \> $B<1JL;R(B $b-2^i$ $B$N(B server $B$K(B $data$ $B$rAw?.$7$F=*N;(B\\ + \> else if ( $b+2^i < N$ ) then \\ + \> \> $data_0 \leftarrow$ $B<1JL;R(B $b+2^i$ $B$N(B server $B$+$i$N%G!<%?(B\\ + \> \> $data \leftarrow data$ $B$H(B $data_0$ $B$NFs9`1i;;7k2L(B \\ + \> end if\\ +end for +\end{tabbing} +\vskip\baselineskip + +$B$3$N>l9g$b(B, $BFHN)$J%Z%"$I$&$7$NDL?.$,F1;~$K9T$($k$J$i!"9b!9(B $\lceil \log_2 N\rceil$ $B%9%F%C%W(B +($N$ $B$O(B server $B$NAm?t(B) $B$G(B reduction $B40N;(B. $B7k2L$O(B root $B$K;D$k(B. +\newpage + +\noindent +\pagetitle{broadcast $B;~$N%G!<%?$NN.$l(B} + + +$N=16$, $root=0$ $B$N>l9g(B + +\begin{center} +\begin{tabular}{|c|c|c|c|} +step 1 & step 2 & step 3 & step 4 \\ \hline +$0\rightarrow 8$&$0\rightarrow 4$ &$0\rightarrow 2$ &$0\rightarrow 1$ \\ + &$8\rightarrow 12$&$8\rightarrow 10$ &$8\rightarrow 9$ \\ + & &$4\rightarrow 6$ &$4\rightarrow 5$ \\ + & &$12\rightarrow 14$&$12\rightarrow 13$ \\ + & & &$2\rightarrow 3$ \\ + & & &$10\rightarrow 11$ \\ + & & &$6\rightarrow 7$ \\ + & & &$14\rightarrow 15$ +\end{tabular} +\end{center} + +reduction $B$N>l9g(B, $B%G!<%?$NN.$l$O5U$K$J$k(B (step 4 $\rightarrow$ step 1, +$BLp0u$,5U(B) +\newpage + +%C $B$3$l$O%*%j%8%J%k(B. +\noindent +\pagetitle{$B%(%i!<=hM}(B} + +master-server $B4VDL?.O)$O(B, OX RFC-100 $B$G5,Dj$5$l$F$$$k(B. + +server-server $B4VDL?.O)$r6u$K$9$k$?$a$N(B, $B<1JL;R(B $i$ $B$N(B server $B$G$NA`:n(B + +\begin{tabbing} +for \= $j = 0$ \= to $i-1$ do\\ + \> do\\ + \> \>$data$ $\leftarrow$ $B<1JL;R(B $j$ $B$N(B server $B$+$i$N(B OX $B%G!<%?(B\\ + \> while $data \neq$ {\tt OX\_SYNC\_BALL}\\ +end for\\ +for $j = i+1$ to $nserver-1$ do\\ + \> {\tt OX\_SYNC\_BALL} $B$r(B $B<1JL;R(B $j$ $B$N(B server $B$KAw?.(B\\ +end for +\end{tabbing} + +master-server $B%j%;%C%H8e(B : $B3F(B server $B$O%3%^%s%IBT$A>uBV(B + +$\Rightarrow$ $Be$G$N(B API} + +\begin{itemize} +\item {\tt ox\_set\_rank\_102($Server$,$Nserver$,$Rank$)} + +$Server$ $B$K(B {\tt SM\_set\_rank\_102} $B$rAw$k(B. + +\item {\tt ox\_tcp\_accept\_102($Server$,$Port$,$Rank$)} + +$Server$ $B$K(B {\tt SM\_tcp\_accept\_102} $B$rAw$k(B. + +\item {\tt ox\_tcp\_connect\_102($Server$,$Host$,$Port$,$Rank$)} + +$Server$ $B$K(B {\tt SM\_tcp\_connect\_102} $B$rAw$k(B. + +\item {\tt ox\_reset\_102($Server$)} (collective) + +$Server$ $B$K(B {\tt SM\_reset\_102} $B$rAw$k(B + +\end{itemize} + +\newpage + +\noindent +\pagetitle{Asir (server) $B>e$G$N(B API} + +\begin{itemize} +\item {\tt ox\_send\_102($Rank$,$Data$)} + +$B<1JL;R(B $Rank$ $B$N(B server $B$K(B $Data$ $B$r(B OX $B%G!<%?$H$7$FAw?.$9$k(B. +$B<1JL;R(B $Rank$ $B$N(B server $B$OBP1~$9$kl9g(B, $B%9%?%C%/$K%W%C%7%e$5$l$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$])} (collective) + +$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 +$Bl9g$K$O(B, $B<+J,$G7W;;(B */ + if ( type(Procs) == -1 ) return umul(F1,F2); + if ( !var(F1) || !var(F2) ) return F1*F2; + NP = length(Procs); + /* $B0z?t$r(B server 0 $B$KAw$k(B */ + ox_push_cmo(0,[F1,F2]); + /* $B3F(B server $B$K(B, server 0 $B$r(B root $B$H$7$F;E;v$r;O$a$k$h$&0MMj(B */ + for ( I = 0; I < NP; I++ ) + ox_cmo_rpc(I,"d_mul_main",0); + /* server 0 $B$+$i7k2L$r