Annotation of OpenXM/doc/Papers/rims-2003-12-16-ja-ohp.tex, Revision 1.3
1.3 ! noro 1: % $OpenXM: OpenXM/doc/Papers/rims-2003-12-16-ja-ohp.tex,v 1.2 2003/12/11 06:00:41 takayama Exp $
1.1 takayama 2: %% xdvi -paper a4r rims-2003-12-16-ja-ohp
3: %% dvips -f -t landscape rims-2003-12-16-ja-ohp| psnup -8 -r | lpr -Pxerox6
4: \documentclass{slides}
5: \usepackage{color}
6: \usepackage{rgb}
7: \usepackage{epsfig}
8: %\def\color#1{ }
9: %\def\epsffile#1{ Picture File: #1 }
10: %\def\epsfxsize{ }
11: %% Sample:
12: %% \epsfxsize=17cm
13: %% \epsffile{cz.ps}
14:
15: \textwidth 9.2in
16: \textheight 7.2in
17: \columnsep 0.33in
18: \topmargin -1in
19:
20: \def\nnn{ {\color{red} $\bullet$}\ } %% $B;v<B(B
21: \def\eee{ {\color{magenta} Example}:\ } %% $BNc(B
22: \def\ttt{ {\color{red} $\bullet$}\ } %% $BDjM}(B
23:
24: \def\pagetitle#1{ \fbox{{\color{magenta} #1 }}}
25:
26: \newenvironment{FRAME}{\begin{trivlist}\item[]
27: \hrule
28: \hbox to \linewidth\bgroup
29: \advance\linewidth by -30pt
30: \hsize=\linewidth
31: \vrule\hfill
32: \vbox\bgroup
33: \vskip15pt
34: \def\thempfootnote{\arabic{mpfootnote}}
35: \begin{minipage}{\linewidth}}{%
36: \end{minipage}\vskip15pt
37: \egroup\hfill\vrule
38: \egroup\hrule
39: \end{trivlist}}
40:
41: \begin{document}
42: \noindent
43: \begin{center}
44: {\color{magenta} OpenXM $B$N?7%5!<%P(B, $B?7%W%m%H%3%k(B}
45: \end{center}
46: %% 2003, 12/16 (Tue),
47: \begin{center}
48: {\color{SlateGray} OpenXM $B3+H/%0%k!<%W(B (committers): http://www.openxm.org }
49: \end{center}
50: \begin{enumerate}
51: \item $B?7$7$$%5!<%P(B ntl
52: \item $B?7$7$$%5!<%P(B polymake $B$H(B oxshell.
53: \item OX-RFC 103 ( 100, 101 $BJd0d(B)
54: \item OX-RFC 102 --- $BK\3JE*$J%5!<%P4VDL?.(B
55: \end{enumerate}
56: \newpage
57:
58: \noindent \quad \\
59: \nnn $B?t3X$G$NJBNs7W;;(B, \\
60: \nnn $B?t3X%=%U%H%&%(%"$NE}9g2=(B $B$^$?$O(B Conglomerate $B2=(B (A.Solomon) \\
61: \nnn $B?t3XE*CN<1$N%^%M!<%8%a%s%H(B (Mathematical Knowledge Management) \\
62: \nnn $B<B:]$K?t3X$N8&5f$d?t3X$N1~MQ$K;H$($k%Q%C%1!<%8$N3+H/(B
63:
64: \noindent \quad \\
65: \nnn OpenXM 1.1.1 (January 24, 2000): $B:G=i$N<B83HG(B. \\
66: \nnn OpenXM 1.1.2 (March 20, 2000): $B$H$j$"$($:;H$($kHG(B. \\
67: \nnn OpenXM 1.1.3 (September 26, 2000): 1.1 $B7O$N:G=*HG(B. OpenXM RFC 100 $B7A<0(B
68: $B$N%W%m%;%9LZ(B. 1077 $B8D$N?t3X4X?t$rDs6!(B.
69: $BDs6!$7$F$$$k%5!<%P$O(B {\tt ox\_asir}, {\tt ox\_sm1},
70: {\tt ox\_phc}, {\tt ox\_gnuplot}, {\tt ox\_m2}, {\tt ox\_tigers},
71: {\tt ox\_math}(ematica), {\tt OMproxy}. \\
72: \nnn OpenXM 1.2.1 (March 2, 2002): Cygwin (Windows) $B$X$NBP1~3+;O(B.
73: $B%^%K%e%"%k<+F0@8@.(B(gentexi)$B$J$I(B. \\
74: \nnn OpenXM 1.2.2 (May 13, 2003): RFC 103 ($BItJ,E*(B), autoconf\\
75: (\nnn) Digital formula book, OpenMath, tfb, CD (hypergeo*, weylalgebra*, intpath*),
76: $B?tCM7W;;(B.
77:
78: \newpage
79:
80: \noindent
81: \pagetitle{ 1. {\color{blue} $B?7$7$$%5!<%P(B ntl}}
82: http://www.shoup.net/ntl,
83: {\footnotesize
84: NTL is a high-performance, portable C++ library providing data structures and algorithms for manipulating signed, arbitrary length integers, and for vectors,
85: matrices, and polynomials over the integers and over finite fields.
86: }
87:
88: {\color{blue} ox\_toolkit $+$ NTL $B%i%$%V%i%j(B}
89: $\Rightarrow$ {\color{red} ox\_ntl}
90: {\footnotesize
91: \begin{verbatim}
92: [1145]= ox_launch_nox(0,"/home/taka/OX4/OpenXM/bin/ox_ntl");
93: [1028] F=ntl.ex_data(4)$
94: [1029] F = F * subst(F, x, x + 1)$
95: [1030] ntl.factor(PID, F); /* NTL $B$N(B knapsac factorizer */
96: [[1,1],
97: [x^16+16*x^15-16*x^14-1344*x^13-4080*x^12+32576*x^11+157376*x^10-255232*x^9-2062624*x^8-249088*x^7+10702080*x^6+9126912*x^5-18643712*x^4-24167424*x^3+2712576*x^2+10653696*x+2324736,1],
98: [x^16-136*x^14+6476*x^12-141912*x^10+1513334*x^8-7453176*x^6+13950764*x^4-5596840*x^2+46225,1]]
99: \end{verbatim}
100: }
101:
102: $B<BAu$K$h$jL@$i$+$K$J$C$?$3$H(B: \\
103: ox\_toolkit $B$NLdBjE@$N2~A1(B, LLL $B$r$h$V$?$a$K(B CMO array $B$bI,MW(B.
104:
105: \rightline{$B3+H/(B: $B4d:,(B ($B>.86(B)}
106: \newpage
107:
108:
109: \noindent
110: \pagetitle{2. {\color{blue} $B?7$7$$%5!<%P(B polymake $B$H(B oxshell}}
111:
112: {\color{red} Polymake } : $BB?LLBNMQ%=%U%H%&%(%"(B. \\
113: {\tt http://www.math.tu-berlin.de/polymake},
114: by Ewgenji Gawrilow, Michael Joswig. \\
115: % polemake logo
116: Facets, Convex hull, Triangulation, $B9=@.(B, polytope data,
117: Visualization by JavaView and Povray.
118:
119: \newpage
120: \eee
121: $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. \\
122: {\tt polymake} $B$G$O$D$.$h$&$JF~NO%U%!%$%k(B {\tt square.poly} $B$r$^$::n@.$9$k(B.
123:
124: {\footnotesize \color{blue} \begin{verbatim}
125: POINTS
126: 1 0 0
127: 1 1 0
128: 1 0 1
129: 1 1 1
130: \end{verbatim} }
131:
132: {\color{red} \verb@ polymake square.poly FACETS @ } \\
133: $B7k2L(B:
134: {\footnotesize \begin{verbatim}
135: FACETS
136: 0 0 1
137: 0 1 0
138: 1 0 -1
139: 1 -1 0
140: \end{verbatim} }
141:
142: \newpage
143:
144: \pagetitle{ Polymake $B$N(B OX 100, 101 $B%5!<%P2=$G2?$,LdBj$G$"$C$?$+(B?}
145: %todo OX 100 $B$N35N,$,I,MW$+(B?
146:
147: $B?7$7$$(B OX RFC 100 $B=`5r$N%5!<%P$r:n$k>l9g$K$O(B
148: $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
149: $B$r2C$($k:n6H$r$7$J$$$H$$$1$J$$(B.
150: $B$3$N:n6H$O%=!<%9%3!<%I$NM}2r$H$+$J$j$N<j4V$rMW$9$k(B.
151: C++ $B$G=q$+$l$?(B polymake $B$N%=!<%9$O@hC<E*$J(B C++ $B$N5!G=$r(B
152: $BMxMQ$7$F$*$j%3%s%Q%$%k$,MF0W$G$J$$(B.
153:
154:
155: Polymake $B$O$"$i$+$8$a%U%!%$%k$K%3%^%s%I$d%G!<%?$r=q$-=P$7$F$*$/$3$H$K$h$j(B
156: unix $B$N(B shell ($B$d(B Windows $B$N%3%^%s%I%W%m%s%W%H(B)
157: $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}.
158: $B%5!<%P$H$NDL?.$NIQEY$OLdBj$K$h$k$,$"$kDxEYBg$-$$7W;;$N>l9g$ODL?.;~4V$OL5;k$G$-$k(B.
159: 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.
160: $\Rightarrow$ {\tt system} $B$N6/2=HG(B {\color{blue} oxshell}
161: \newpage
162:
163: \pagetitle{ Oxshell $B$H$O(B }
164: Oxshell $B$O>e5-$N$h$&$J%P%C%A=hM}BP1~%"%W%j%1!<%7%g%s$r%=!<%9%3!<%I$N2~JQ$J$/(B
165: OX RFC 100 $B=`5r$K$9$k$?$a$N$$$o$f$k%i%C%Q!<7?$N(B OX $B%5!<%P$r=q$/$?$a$NJd=u5!G=$r(B
166: $BDs6!$9$k(B sm1 $B$X$NAH$_9~$_4X?t$G$"$k(B.
167:
168: Oxshell $B$rMQ$$$F(B OX $B%5!<%P$r<B8=$9$k$N$,E,@Z$J?t3X%=%U%H%&%(%"$O0J2<$N$h$&$JFCD'$r$b$D$b$N$G$"$m$&(B. \\
169: \nnn $B%P%C%A=hM}BP1~%"%W%j%1!<%7%g%s$G$"$k(B. \\
170: \nnn $B%=!<%9%3!<%I$NJQ99$,$G$-$J$$$+:$Fq(B. \\
171: \nnn $B%5!<%P$H$NDL?.$,IQHK$K$*$-$J$$(B. \\
172: \nnn $B%5!<%P$N7W;;$rCfCG$7$F(B, $B:FEY3+;O$9$k$J$I$NI,MW$,$J$$(B. \\
173: \nnn Windows $B$G$b(B unix $B$G$bF0$+$7$?$$(B. \\
174:
175: \pagetitle{ OX RFC 100 $B$NI|=,(B}
176:
177: $B%/%i%$%"%s%H(B-$B%5!<%P%b%G%k(B.
178: $B%5!<%P$O(B stackmachine.
179: (1) $B%9%?%C%/%^%7%s$X$N%a%C%;!<%8$rAw$k$3$H$K$h$j7W;;$,?J9T$9$k(B.
180: (2) $B7W;;$NCfCG$J$I$N%a%C%;!<%8$b$"$k(B.
181: (3) $B%5!<%P$O%(%s%8%s$H%3%s%H%m!<%k%W%m%;%9$h$j$J$k(B.
182:
183: \newpage
184:
185: \noindent OX RFC 100 $B$K$O(B\underline{$B%U%!%$%k$N35G0$,$J$$(B}. $B$7$?$,$C$F(B, \\
186: \verb@ polymake $B%U%!%$%kL>(B $BF0:n(B @ \\
187: $B$_$?$$$J%W%m%0%i%`$O(B OX $B%9%?%C%/%^%7%s$N>e$N%G!<%?$r%U%!%$%k$K=q$-=P$7$F$+$i(B
188: $B<B9T$7$F(B, $B$=$l$+$i$^$?%9%?%C%/%^%7%s$N>e$N%G!<%?$KJQ49$7$J$$$H$$$1$J$$(B.
189: ($BC1=c;E;v(B, $B$7$+$7(B, ZPG $B$N6KCW(B; unix $B$H(B windows $B0c$$(B,
190: /bin/sh $B$NB8:_(B, $B%W%m%0%i%`$,BgJQFI$_$K$/$/J]<i$b$7$K$/$$(B)
191:
192: {\tt oxshell} $B$G$O$3$N;E;v$O<!$N(B 1 $B9T$G=q$/(B. \\
193: {\color{red} \verb@[(polymake) (stringInOut://$B%9%?%C%/%^%7%sJQ?tL>(B.poly) $BF0:n(B] oxshell@}\\
194: $B%9%?%C%/%^%7%s$NJQ?t$r%U%!%$%k$r$_$J$7$F$$$k(B.
195:
196: $B$3$N$h$&$J9M$(J}$O(B, $B$J$K$b?7$7$$$b$N$G$O$J$$(B. \\
197: $BNc(B: Java $B$N(B io.StringReader ( io.InputStreamReader $B$NBe$o$j(B). \\
198: $BNc(B: $B%9%/%j%W%H8@8l$G$"$k(B Python
199: \verb@ x=os.popen("abc","r").read(); @
200:
201: \noindent
202: {\color{blue} $B?7$7$$ItJ,(B}:
203: $B$3$N9M$($r?t3X%=%U%H%&%(%"$NE}9g2=$N$?$a$K;H$&$?$a$N<BAu$OB8:_$7$F$$$J$+$C$?(B.
204: $B$3$l$,(B oxshell $B%3%^%s%I$NF3F~$K$h$C$F2r7h$5$l$kE@$N0l$D$G$"$k(B.
205: $B9M$(J}$,@0M}$5$l%W%m%0%i%`$NJ]<i@-$,BgJQ$h$/$J$j(B, $B$^$??7$7$$%P%C%A7?%"%W%j%1!<%7%g%s$N(BOX $B%5!<%P2=$,3Z$K$J$C$?(B.
206:
207: \newpage
208:
209: \eee
210: $BJ8;zNs(B {\tt S} $B$K3JG<$5$l$?C18l(B dog, cat, lion $B$r(B unix $B$N%D!<%k(B sort $B$G(B
211: $BJB$YJQ$($k$K$O<!$N$h$&$K=q$/(B.
212: $BF~NO$O(B oxshell $B$r<B9T$7$F$$$k%9%?%C%/%^%7%s$NJQ?t(B {\tt S} $B$K3JG<$5$l$F$$$k(B.
213:
214: \begin{verbatim}
215: [1163]:= S="dog\ncat\nlion\n";
216: [1164]:= oxshell.set_value("S",S);
217: [1165]:= T=oxshell.oxshell(["sort","stringIn://S"]);
218: [cat
219: dog
220: lion
221: ,]
222: \end{verbatim}
223: \newpage
224:
225: \pagetitle{ oxshell.facets() $B$N<BAu(B, $B?t3X4X?t$N<BAuNc(B }
226:
227: \nnn $B%G!<%?JQ49$K$O(B tfb/2 ($BEDB<(B)format $B$rMxMQ(B, OpenMath $B%"!<%-%F%/%A%c$rMxMQ(B.
228: {\color{blue}$B@.2L(B}: $B$=$NM-8z@-$r<B>Z$G$-$?(B.)
229: %% $B$3$l$b?7$7$$E@$G$"$m$&(B.
230: {\footnotesize \begin{verbatim}
231: [ $polymake.data(polymake.POINTS([[1,0,0],[1,1,0],[1,0,1],[1,1,1]]),
232: polymake.FACETS([[0,0,1],[0,1,0],[1,0,-1],[1,-1,0]]),
233: polymake.AFFINE_HULL())$
234: CMO tree expression of the data above
235: Outputs to stdout and stderr ]
236: \end{verbatim} }
237:
238:
239: {\color{red} taka\_ahg.b(A,Idx)}(OpenXM/src/asir-contrib/packages/src/taka\_ahg.rr)
240: oxshell $B$K$h$k(B polymake $B8F$S=P$75!G=$rMQ$$$??t3X4X?t(B.
241: $B$3$N4X?t$O(B $B9TNs(B {\tt A} $B$KIU?o$7$?(B $BJ}8~(B {\tt Idx} $B$N$"$k(B $b$ $B4X?t$r7W;;$9$k(B.
242: $B$3$l$O(B {\tt A} $B$NDj5A$9$k(B cone $B$N%U%!%;%C%H$r$"$i$o$90l<!<0$N@Q$GI=8=$5$l$k$3$H$,(B,
243: $BCN$i$l$F$$$k(B
244: (Saito, Mutsumi; Sturmfels, Bernd; Takayama, Nobuki; Hypergeometric polynomials and integer programming. Compositio Math. 115 (1999), no. 2, 185--204
245: $B$*$h$S(B
246: Saito, Mutsumi; Parameter shift in normal generalized hypergeometric systems. Tohoku Math. J. (2) 44 (1992), no. 4, 523--534
247: $B$r$_$h(B.)
248:
249: \newpage
250:
251: {\footnotesize
252: \begin{verbatim}
253: [1163]:= load("oxshell.rr");
254: [1164]:= load("taka_ahg.rr");
255: [1165]:= A=[[1,0,0],[1,1,0],[1,0,1],[1,1,1],[1,2,0]];
1.2 takayama 256: [1166]:= fctr(taka_ahg.b(A,0,[s1,s2,s3]));
257: [[1,1],[s1-s3,1],[2*s1-s2-s3,1],[2*s1-s2-s3-1,1]]
1.1 takayama 258: \end{verbatim}
259:
260: \begin{verbatim}
261: def b(A,Idx,V) {
262: F = oxshell.facets(A); /* Computing all the facets by polymake server.*/
263: F = F[1]; /* F is the set of the facets */
264: P = A[Idx];
265: Nfacets = length(F);
266: F = toPrimitive2(P,F); /* Translate into primitive supporting function */
267: Bf = 1;
268: for (I=0; I<Nfacets; I++) {
269: H = matrix_inner_product(P,F[I]);
270: if (H != 0) {
271: B = matrix_inner_product(P,V);
272: for (J=0; J<H; J++) {
273: Bf = Bf*(B-J); /* See the papers above. */
274: }
275: }
276: }
277: return(Bf);
278: }
279: \end{verbatim}
280: }
281:
282:
283: \rightline{$B3+H/(B: $B9b;3(B}
284: \newpage
285:
286:
287: \noindent
288: \pagetitle{3. {\color{blue} OX-RFC 103 ( 100, 101 $BJd0d(B)}}
289:
290: $B$3$N(B RFC $B$O(B OpenXM RFC 100 ($B$*$h$S(B 101) $B$N<BAu$K$h$jL@$i$+$K$J$C$?<o!9$NLdBjE@$r$b$H$K(B
291: RFC 100 $B%W%m%H%3%k$X$N4v$D$+$NDI2C$rDs0F$9$k(B.
292:
293: \nnn $B%U%!%$%k$X$NFI$_=q$-(B \\
294: \nnn $B?7$7$$(B CMO \\
295: \nnn $B%(%s%8%sG'>Z<jB3$-(B \\
296: \nnn $BCfCG$*$h$SJQ?t$NEAGE(B \\
297: 1. $B<+J,$N;R6!%W%m%;%9$r$9$Y$F%j%9%H$9$k(B
298: (asir$B$N>l9g(B:{\tt ox\_get\_serverinfo()}) \\
299: 2. $B;R6!%W%m%;%9$K=gHV$K(B OpenXM-RFC 100 $B$NCfCG%a%C%;!<%8$rAw$k(B.
300:
301: \noindent
302: {\color{red} ox103\_set\_shared\_variable(} CMO string {\tt Name}, CMO object {\tt
303: value}{\tt )}
304: $B%(%s%8%s%9%?%C%/%^%7%s$NJQ?t(B {\tt Name} $B$KCM(B
305: {\tt value} $B$,@_Dj(B,
306: $B$5$i$K;R$I$b$N%W%m%;%9$9$Y$F$N%(%s%8%s4X?t(B
307: {\tt ox103\_set\_shared\_variable}
308: $B$r$h$V(B.
309:
310: \rightline{$B3+H/(B: $B9b;3(B}
311: \newpage
312:
313: \noindent
314: \pagetitle{4. {\color{blue} OX-RFC 102 --- $BK\3JE*$J%5!<%P4VDL?.$rMQ$$$?J,;67W;;(B}}
1.3 ! noro 315: \parskip 5pt
! 316:
! 317: \rightline{$B3+H/(B: $BLnO$(B}
! 318:
! 319: OX-RFC-100, 101 : master-server $B4VDL?.$rMQ$$$?J,;67W;;(B
! 320:
! 321: OX-RFC-102 : server-server $B4VDL?.(B
! 322:
! 323: \underline{$BL\I8(B} : $BK\3JE*J,;6JBNs7W;;$r2DG=$K$9$k$3$H(B
! 324:
! 325: \underline{$B1~MQNc(B}
! 326: \begin{itemize}
! 327: \item broadcast $B$r8zN(2=$9$k(B
! 328:
! 329: N $B8D$N(B server $B$X$N(B broadcast $B$,(B $O(\log_2 N)$ $B$G$G$-$k(B
! 330:
! 331: \item LU $BJ,2r$NJ,;6JBNs7W;;(B
! 332:
! 333: ScaLAPACK $BIw$K(B, $B9TNs$rJ,;6J];}$7$FJBNs7W;;(B
! 334: \end{itemize}
! 335:
! 336: \underline{$B;EMM(B}
! 337:
! 338: MPI-2 $B$N(B, $BF0E*%W%m%;%9@8@.(B, $B%W%m%;%9%0%k!<%W4V(B broadcast $B$N;EMM$r(B
! 339: $B;29M$K$9$k(B
! 340: \newpage
! 341:
! 342: \noindent
! 343: \pagetitle{server $B$N5/F0(B, server $B4VDL?.O)$N3+@_(B}
! 344:
! 345: server $B$O(B OX RFC-100, 101 $B$K$h$j5/F0$9$k(B. $B$3$NDL?.O)$K0J2<$N(B SM
! 346: $B%3%^%s%I$rAw$k(B.
! 347:
! 348: \begin{itemize}
! 349: \item {\tt SM\_set\_rank\_102} $nserver$ $rank$
! 350:
! 351: server $B$K(B, $B%0%k!<%WFb$N(B server $B$NAm?t(B $nserver$ $B$H(B, $B$=$NCf$G$N(B
! 352: $B<1JL;R(B $rank$ ($0 \le rank \le nserver$) $B$rDLCN$9$k(B.
! 353:
! 354: \item {\tt SM\_tcp\_accept\_102} $port$ $peer$
! 355:
! 356: $B%]!<%HHV9f(B $port$ $B$N(B TCP $B%]!<%H$G(B, bind, listen, accept $B$r<B9T(B
! 357: $B$7$F(B connect $B$rBT$D(B. $BDL?.$,@.N)$7$?$i(B, byte order negotiation
! 358: $B$r9T$$(B, $BAj<j@h%F!<%V%k$KEPO?$9$k(B.
! 359:
! 360: \item {\tt SM\_tcp\_connect\_102} $peerhost$ $port$ $peer$
! 361:
! 362: $B%[%9%H(B $peerhost$ $B$N%]!<%HHV9f(B $port$ $B$N(B TCP $B%]!<%H$K(B connect $B$9$k(B.
! 363: $BDL?.$,@.N)$7$?$i(B, byte order negotiation $B$r9T$$(B, $BAj<j@h%F!<%V%k$KEPO?(B
! 364: $B$9$k(B.
! 365:
! 366: \end{itemize}
! 367:
! 368: \newpage
! 369:
! 370: \noindent
! 371: \pagetitle{server $B4VDL?.(B, broadcast, reduction}
! 372:
! 373: server $B4VDL?.$O(B, $BAj8_$N?.Mj$K4p$E$-9T$&(B --- $BAw$j<j$,Aw?.$7$?$i(B, $B<u$1<j$O(B
! 374: $B$A$c$s$H<u?.F0:n$KF~$k$3$H(B
! 375:
! 376: $B%G!<%?$O(B OX $B%?%0IU$-$G(B --- {\tt OX\_SYNC\_BALL} $B$K$h$kDL?.O)%j%;%C%H$KI,MW(B
! 377:
! 378: $B0J2<$N(B SM $B%3%^%s%I$O(B collective $BA`:n$G$"$k(B. $B$9$J$o$A(B, $BF10l0z?t$G(B
! 379: $B%0%k!<%WFb$NA4$F$N(B server $B$G<B9T$5$l$J$1$l$P$$$1$J$$(B.
! 380:
! 381: \begin{itemize}
! 382: \item {\tt SM\_bcast\_102} $root$
! 383:
! 384: $B<1JL;R(B $root$ $B$N(B server $B$N%9%?%C%/>e$N%G!<%?$r(B pop $B$7(B, $B%0%k!<%WFb$K(B
! 385: broadcast $B$9$k(B. $B3F(B server $B$N%9%?%C%/$K(B broadcast $B$5$l$?%G!<%?$,(B push
! 386: $B$5$l$k(B.
! 387:
! 388: \item {\tt SM\_reduce\_102} $root$ $opname$
! 389:
! 390: $B3F(B server $B$N%9%?%C%/>e$N%G!<%?$,(B pop $B$5$l(B, $opname$ $B$G;XDj$5$l$k(B
! 391: $BFs9`1i;;(B($B7k9gB'$,I,MW(B) $B$r=g$K9T$$(B, $B7k2L$r(B $root$ $B$G;XDj$5$l$k(B server
! 392: $B$N%9%?%C%/$K(B push $B$9$k(B. $BB>$N(B server $B$K$O(B $0$ $B$,(B push
! 393: $B$5$l$k(B.
! 394: \end{itemize}
! 395:
! 396: \newpage
! 397:
! 398: \noindent
! 399: \pagetitle{broadcast $B$N<jB3$-(B}
! 400:
! 401: {SM\_bcast\_102} $B$N<B9T(B : $root=0$ $B$G(B, $B<1JL;R$,(B $b2^k$ ($b$ $B$O4q?t(B) $B$N(B server $B$N>l9g(B
! 402:
! 403: \begin{enumerate}
! 404: \item $B<1JL;R$,(B $(b-1)2^k$ $B$G$"$k(B server $B$+$i%G!<%?$r<u?.(B.
! 405: \item $B<1JL;R$,(B $b2^k+2^i$ ($i=k-1,\ldots,0$) $B$N(B server $B$K=g$K%G!<%?$rAw?.(B.
! 406: \end{enumerate}
! 407:
! 408: 2 $B$G3d$j@Z$l$k2s?t$,B?$$<1JL;R$r;}$D(B server $B$,@h$K%G!<%?Aw?.(B
! 409:
! 410: $\Rightarrow$ $B%G%C%I%m%C%/$K$J$i$J$$(B
! 411:
! 412: $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
! 413: ($N$ $B$O(B server $B$NAm?t(B) $B$G(B broadcast $B40N;(B.
! 414: \newpage
! 415:
! 416: \noindent
! 417: \pagetitle{$B%(%i!<=hM}(B}
! 418:
! 419: master-server $B4VDL?.O)$O(B, OX RFC-100 $B$G5,Dj$5$l$F$$$k(B.
! 420:
! 421: 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
! 422:
! 423: \begin{tabbing}
! 424: for \= $j = 0$ \= to $i-1$ do\\
! 425: \> do\\
! 426: \> \>$data$ $\leftarrow$ $B<1JL;R(B $j$ $B$N(B server $B$+$i$N(B OX $B%G!<%?(B\\
! 427: \> while $data \neq$ {\tt OX\_SYNC\_BALL}\\
! 428: end for\\
! 429: for $j = i+1$ to $nserver-1$ do\\
! 430: \> {\tt OX\_SYNC\_BALL} $B$r(B $B<1JL;R(B $j$ $B$N(B server $B$KAw?.(B\\
! 431: end for
! 432: \end{tabbing}
! 433:
! 434: master-server $B%j%;%C%H8e(B : $B3F(B server $B$O%3%^%s%IBT$A>uBV(B
! 435:
! 436: $\Rightarrow$ $B<!$N(B SM $B%3%^%s%I$r3F(B server $B$KAw?.$9$l$P$h$$(B
! 437:
! 438: \begin{itemize}
! 439: \item {\tt SM\_reset\_102} ($B0z?t$J$7(B, collective)
! 440: \end{itemize}
! 441:
! 442: \newpage
! 443:
! 444: \noindent
! 445: \pagetitle{Asir (master) $B>e$G$N(B API}
! 446:
! 447: \begin{itemize}
! 448: \item {\tt ox\_set\_rank\_102($Server$,$Nserver$,$Rank$)}
! 449:
! 450: $Server$ $B$K(B {\tt SM\_set\_rank\_102} $B$rAw$k(B.
! 451:
! 452: \item {\tt ox\_tcp\_accept\_102($Server$,$Port$,$Rank$)}
! 453:
! 454: $Server$ $B$K(B {\tt SM\_tcp\_accept\_102} $B$rAw$k(B.
! 455:
! 456: \item {\tt ox\_tcp\_connect\_102($Server$,$Host$,$Port$,$Rank$)}
! 457:
! 458: $Server$ $B$K(B {\tt SM\_tcp\_connect\_102} $B$rAw$k(B.
! 459:
! 460: \item {\tt ox\_reset\_102($Server$)} (collective)
! 461:
! 462: $Server$ $B$K(B {\tt SM\_reset\_102} $B$rAw$k(B
! 463:
! 464: \end{itemize}
! 465:
! 466: \newpage
! 467:
! 468: \noindent
! 469: \pagetitle{Asir (server) $B>e$G$N(B API}
! 470:
! 471: \begin{itemize}
! 472: \item {\tt ox\_send\_102($Rank$,$Data$)}
! 473:
! 474: $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.
! 475: $B<1JL;R(B $Rank$ $B$N(B server $B$OBP1~$9$k<u?.$r3+;O$7$J$1$l$P$J$i$J$$(B.
! 476:
! 477: \item {\tt ox\_recv\_102($Rank$)}
! 478:
! 479: $B<1JL;R(B $Rank$ $B$N(B server $B$+$i(B OX $B%G!<%?$r<u?.$9$k(B.
! 480: $B<1JL;R(B $Rank$ $B$N(B server $B$OBP1~$9$kAw?.$r3+;O$7$J$1$l$P$J$i$J$$(B.
! 481:
! 482: \item {\tt ox\_bcast\_102($Root$[,$Data$])} (collective)
! 483:
! 484: $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.
! 485: $Data$ $B$,;XDj$5$l$?>l9g(B, $B%9%?%C%/$K%W%C%7%e$5$l$k(B.
! 486: $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
! 487: $B$+$i%G!<%?$,%]%C%W$5$l(B, $B$=$N%G!<%?$,(B, $B3F8F$S=P$7$NLa$jCM$H$J$k(B.
! 488:
! 489: \item {\tt ox\_reduce\_102($Root$,$Operation$[,$Data$])} (collective)
! 490:
! 491: $B%0%k!<%WFb$N3F(B server $B$N%9%?%C%/$+$i%]%C%W$7$?%G!<%?$KBP$7(B
! 492: $Operation$ $B$G;XDj$5$l$kFs9`1i;;$r9T$$(B,
! 493: $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
! 494: $BJV$9(B.
! 495: $Data$ $B$,;XDj$5$l$?>l9g(B, $B%9%?%C%/$K%W%C%7%e$7$F$+$i>e5-$NA`:n$r(B
! 496: $B<B9T$9$k(B. $Root$ $B0J30$N(B server $B$G$NLa$jCM$O(B 0 $B$G$"$k(B.
! 497: \end{itemize}
1.1 takayama 498:
499:
500: \newpage
501:
1.3 ! noro 502: \noindent
! 503: \pagetitle{$B%Q%U%)!<%^%s%9(B}
! 504:
1.1 takayama 505: \end{document}
506:
1.3 ! noro 507: %%$Id: rims-2003-12-16-ja-ohp.tex,v 1.4 2003/12/11 05:40:59 taka Exp $ at misc-2003/12/RIMS
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>