$B2=3X%=%U%H%&%'%"3X2q(B '01$B8&5fF$O@2q(B $BM=9F(B

$B!ZBh(B1$BF|(B 9$B7n(B29$BF|(B($BEZ(B) $B9V1iHV9f(B104$B![(B
$B1iBj(B $BJ,;RF0NO3X7W;;$N(BSMP$B%7%9%F%`$G$NMxMQ$H$=$NE83+(B
$BH/I=$B!J=jB0!K(B $B!{NS!!<#>0!";3L>0l@.!"CfLn1QI'(B ($BI1O)9)Bg(I%$B9)(B)
$BO"Mm@h(B $B")(B671-2201$B!!I1O);T=q TEL$B!!(B0792-67-4884
$B%-!<%o!<%I(B molecular simulation, SMP, MPI, OpenMP
$B3+H/0U?^(B
$BE,MQJ,Ln(B
$B4|BT8z2L(B
$BFCD'$J$I(B
$B8EE5J,;RF0NO3X%7%_%e%l!<%7%g%s$N7W;;B.EY8~>e$rL\E*$H$7!"(B $BFCJL$J%O!<%I$rMQ$$$k$3$H$J$/!"0B2A$GF~
$B4D6-(B $BE,1~5!
    (B
$B%o!<%/%9%F!<%7%g%s(B
DOS/V(AT$B8_49(B)$B5!(B
$B#O#S(B $BL>(B UNIX
$B%=!<%98@8l(B Fortran, C, MPI
$B<~JU5!4o(B
$BN.DL7ABV(B

$B1&$N$$$:$l(B
$B$+$K!{$r$D$1(B
$B$F$/$@$5$$!K(B

  • $B2=3X%=%U%H%&%'%"3X2q$N(B
    $BL5=~MxMQ%=%U%H$H$9$k(B
  • $BFH<+$KG[I[$9$k(B
  • $B%=%U%H%O%&%9!"=PHG$B%=%U%H$NHRI[$O9T$o$J$$(B
  • $B$=$NB>(B
  • $B!{L$Dj(B
$B6qBNE*J}K!(B

1. $B$O$8$a$K(B

$B!!J,;R%7%_%e%l!<%7%g%s$H$O!"BP>]7O$d$=$N8=>]$J$I$r?tCM%b%G%k2=$7!"(B $B$3$l$r7W;;5!$K$h$k7+$jJV$77W;;$G:BI8!&B.EY$J$I$N%_%/%m$J%G!<%?$r;;=P$7!"(B $B$=$N7k2L$h$jG.NO3XNL$dF0E*=tNL$J$I$N%^%/%m$J%G!<%?!&J*M}E*=t@- $B!!J,;RF0NO3X7W;;$G$O!"$=$NKX$s$I$N7W;;;~4V$rN3;R$K$+$+$kNO$N7W;;It$K(B $BHq$d$7$F$*$j!"07$&N3;R?t$KHfNc$7$F7W;;NL$O6KC<$KA}Bg$9$k!#(B $B$=$N$?$a(B book-keeping$BK!$dItJ,%;%kJ,3dK!$J$I$N7W;;K!$NC;=L2=$,(B $B;n$_$i$l$F$$$k$,!"BgI}$J2~A1$K$O;j$C$F$$$J$$!#(B $B$=$3$G!"FC$K$3$NItJ,$NJBNs2=$r;n$_!"(B $B6aG/0B2A$GF~

2. $BJ}K!$J$I(B

figure $B!!%^%k%A%W%m%;%C%5$H$O!"C10l%W%m%;%C%5(B(CPU)$B$@$1$G$O@.$7F@$J$$(B $B=hM}G=NO$rF@$k$?$a$K!"J#?t$N%W%m%;%C%5$rMQ$$$F=hM}$r8zN(NI$/(B $B'$5$l$?Cf!"(B $B%a%$%s%U%l!<%`$H$b8F$P$l$k=i4|$N%9!<%Q!<%3%s%T%e!<%?$+$i!"(B $BC1BN$GJ#?t$N%W%m%;%C%5$r7k9g$7$?(B MPP (Massively Parallel Processor)$B$G!"(B $BJ,;6%3%s%T%e!<%F%#%s%0$dJBNs=hM}$r9T$J$&$b$N$,$"$C$?!#(B $B$=$N$&$A!"J#?t$N(B CPU $B$,(B1$B$D$N%a%b%j%"%I%l%9$r6&M-$9$k!"E57?E*$J(B UMA (Uniformed Memory Access) $B$G$"$k(B SMP (Symmectic Multi Processor)$B$O!"(B $B:G$b@.8y$7$?J}<0$N0l$D$G$"$j!"MF0W$K9=C[$G$-$k%7%9%F%`$G$"$k!#(B

$B$5$i$K6aG/!"%Q!<%=%J%k%3%s%T%e!<%?<+BN$r%/%i%9%?%j%s%05;=Q$rJ;MQ$7!"(B $B0lAX9b@-G=$J%7%9%F%`$r9=C[$9$k$3$H$,2DG=$H$J$C$?!#(B $B$3$l$O%Y%*%&%k%U7?$H8F$P$l!"(B1994$BG/$K(BT.Sterling$B$H(BD.Becker$B$i$K$h$jDs>'$5$l$?!#(B $B;THN$N%Q%=%3%s$d0lHLE*$J%Q%=%3%s%Q!<%D$rMxMQ$9$k(B(COTS)$B$b$N$G!"(B $B9=@.$N<+M3EY$b9b$$!#(B $B9b%P%s%II}$N(B Myrinet $B$J$I$N9b@-G=DL?.%7%9%F%`$rMQ$$$kEy!"(B $B@lMQ%O!<%I%&%'%"$rI,MW$H$;$:!"(B $B%*!<%W%s%=!<%9(BUnix$B7O(BOS$B>e$G!"JBNs7W;;$N%a%C%;!<%8%Q%C%7%s%0(B(MP)$B%b%G%k$r(B $B:NMQ$7$F$*$j!"(B TCP/IP$B>e$N%U%j!<%=%U%H%&%'%"$rAH$_9g$o$;$k$3$H$G9=C[=PMh$k$H$$$&FC?'$r;}$D!#(B $B$3$N$h$&$JJ}<0$N%^%k%A%W%m%;%C%7%s%0%7%9%F%`$r9=C[$9$k>l9g$G$b!"(B SMP $B$O$=$N4pK\9=@.MWAG$H$7$FMxMQ$5$l$&$k!#(B

$B!!$=$3$G:#2s$O!"%Y%*%&%k%U7?$X$N3HD%$b9MN8$7!"(B $BJ#;($J%7%9%F%`$r9=C[$9$k$3$H$J$/!"(B $BF~e$G%U%j!<$KDs6!$5$l$F$$$k(B MPI (Message Passing Interface) $B%i%$%V%i%j$J$I$r;HMQ$7!"(B $BJ,;RF0NO3X7W;;$N7k2L$J$I$+$i!"8&5f<<$R$$$F$O%Q!<%=%J%k%l%Y%k$G$N(BSMP$B%7%9%F%`(B $B$K$h$kJ,;R2J3X7W;;$N2DG=@-$K$D$$$FO@$8$k!#(B

$B4pK\%W%m%0%i%`$O(B Fortran $B$b$7$/$O(B C $B$G%3!<%G%#%s%0$5$l$F$*$j!"(B OpenMP $B$N;EMM$K=>$C$?!"(B $B?7>pJs=hM}3+H/5!9=$N(B Omni OpenMP Compiler $B$J$I$r;HMQ$7!"(B $B

$B;29MJ88%(B

[1] M.P.Allen and D.J.Tildesley, ``Computer Simulation of Liquids'', Oxford (1987).
[2] P.S.Pacheco, ``Parallel Programming with MPI'', Morgan Kaufmann Pub. (1997).
[3] B.Wilkinson and M.Allen, ``Parallel Programming'', Prentice-Hall (1999).
[4] $B!V$O$8$a$F$NJBNs%W%m%0%i%_%s%0!W(B $BEr@uB@0l(B $BB>JT(B $B6&N)=PHG(B (1999).
[5] T.L.Sterling, D.J.Becker et al, ``How to Build a Beowulf'', MIT Press (1999).
[6] $B!VBP>N7?%^%k%A%W%m%;%C%7%s%05;=Q!W(B $B1'Ln=SIW(B $B%(!<%"%$=PHG(B (2001).
[7] OpenMP$B!D(B www.openmp.org, Omni OpenMP Compiler$B!D(B pdplab.trc.rwcp.or.jp/pdperf/home.ja.html
----------------------------------------

$B$O$d$7(B $B$O$k$R$5(B hayashi $B$
home