  Beowulf HOWTO
  Jacek Radajewski and Douglas Eadline
  v1.1.1, 22 November 1998
  Hisakuni NOGAMI  hisakuni@iterlink.or.jp
  1999 N 9  20 

  {ł Beowulf X[p[Rs[^A[LeN`ЉAv
  O~O̔wim񋟂܂BƏڍׂȕEFuy[Wւ
  N܂B
  ______________________________________________________________________

  ڎ

  1. O
     1.1 Ɛ
     1.2 쌠
     1.3  HOWTO ɂ
     1.4 ҂ɂ
     1.5 ӎ

  2. ͂߂
     2.1  HOWTO NǂނׂH
     2.2 Beowulf ĉH
     2.3 

  3. A[LeN`Tv
     3.1 ́AǂȕɌ܂H
     3.2 ̑̃m[hg悤ɂ@́H
     3.3 Beowulf  COW i[NXe[ṼNX^j͂ǂႤ́H

  4. VXe݌v
     4.1 vZ̔wiTv
     4.2 vZ̕
        4.2.1 Ȃȏ CPU H
        4.2.2 vẐX
           4.2.2.1 VO^XÑIy[eBOVXe
           4.2.2.2 }`^XÑIy[eBOVXe
           4.2.2.3  CPU g}`^XÑIy[eBOVXe
           4.2.2.4  CPU ̃}`^XÑIy[eBOVXeł̃Xbh
           4.2.2.5  CPU }`^XÑIy[eBOVXẽbZ[W M
     4.3 vZ̃A[LeN`
        4.3.1 n[hEFAA[LeN`
        4.3.2 \tgEFA API A[LeN`
           4.3.2.1 bZ[W
           4.3.2.2 Xbh
        4.3.3 AvP[ṼA[LeN`
     4.4 K (Suitability)
     4.5 \tgEFAƂƈڐA邱
        4.5.1 Ȃ̃vOł̕s𔻒f
        4.5.2 ̌ς
        4.5.3 Ȃ̃vÔ̕sLq
           4.5.3.1 I@
           4.5.3.2 ÖٓI@

  5. Beowulf ̏
     5.1 o_
     5.2 
     5.3 _
     5.4 \tgEFA
     5.5 Beowulf }V
     5.6 ̖̑ʔTCg
     5.7 j

  6. \[XR[h
     6.1 sum.c
     6.2 sigmasqrt.c
     6.3 prun.sh

  ______________________________________________________________________

  1.  O

  1.1.  Ɛ

  We will not accept any responsibility for any incorrect information
  within this document, nor for any damage it might cause when applied.

  iƐӂ̉F ́A{̂ǂȕsmȏɂAg
  ̂ǂȑQɂA̐ӔC܂Bj

  1.2.  쌠

  Copyright (C) 1997 - 1998 Jacek Radajewski and Douglas Eadline.
  Permission to distribute and modify this document is granted under the
  GNU General Public Licence.

  i쌠̉F Copyright (C) 1997 - 1998 Jacek Radajewski and
  Douglas Eadline.  {̔zzƉς GNU General Public Licence 
  ]ċ܂Bj

  1.3.   HOWTO ɂ

  Jacek Radajewski  1997 N 11 ɖ{n߁A Douglas
  Eadline ܂B 2 A 3 ߂āA Beowulf HOWTO ͑傫
  ɐA 1998 N 8  3 ̕ɕ܂ -  Beowulf
  HOWTO ƁA Beowulf Architecture Design HOWTO A Beowulf Installation
  and Administration HOWTO łB Version 1.0.0  Beowulf HOWTO 
  Linux Documentation Project  1998 N 11  11 Ƀ[X܂
  B͂ꂪS Beowulf Documentation Project ƂȂn߂
  ȂƎvĂ܂B

  1.4.  ҂ɂ

  o  Jacek Radajewski  Network Manager ƂēĂ܂A܂A
     University of Southern Queensland, Australia  computer science 
     honors degree ̂߂ɕ׋Ă܂B Jacek ̍ŏ Linux Ƃ̏o
      1995 NŁAڂڂłB Jacek ͍ŏ Beowulf NX^
      1997 N 5 ɍ\zAȗ̋ZpŗVłAVėǂ
     ZbgAbv@Ă܂B Jacek ɂ jacek@usq.edu.au
     ւ̓dq[ŘAł܂B

  o  Douglas Eadline, Ph.D.  Paralogic, Inc., Bethlehem, PA, USA ̎
     CȊw҂łB/͓Iw̌P󂯁Aw@Ŏg
     ̃VO{[hRs[^߂ 1978 Nɍ\zĈȗAR
     s[^ɊւĂ܂B Dr. Eadline ̂ɂ́A
     Linux ƁA Beowulf NX^AASYĂ܂BDr.
     Eadline ɂ deadline@plogic.com ւ̓dq[ŘAł܂B

  1.5.  ӎ

  Beowulf HOWTO ̂͒̂łAɊ܂A
  XɊӂ܂Bȉ̕X̏͂Ɩ{ HOWTO ւ̊^ɊӂƎv
  ܂B

  o  Becky ɂ͔ޏ̈ƃT|[gƗɁB

  o  NASA  Beowulf vWFNgJn Tom Sterling A Don Becker
     ̐lXɁB

  o  Thanh Tran-Cong  Faculty of Engineering and Surveying Ap
      topcat Beowulf }Vg悤ɂĂꂽƂɁB

  o  ̊ē Christopher Vance ̈̑ȃACfAɁB

  o  ̗Fl Russell Waldron ̈̑ȃvO~ÕACfAƁA{v
     WFNgւ̑SʓIȋƃT|[gɁB

  o  ̗Fl David Smith ̖{̍ǂɁB

  o  Beowulf [OXǵȂ吨̕X̎ւ̃tB[hobN
     ƃACfAɁB

  o  Linux Iy[eBOVXeA܂A topcat ̑ Beowulf }V
     ŎgꂽȂSẴt[\tgEFApbP[WɐӔC
     SĂ̐lXɁB

  o  i󒍁F{ɂẮA LA㓡 񑼂̂ie
     F̂wE𒸂AӂĂ܂Bj

  2.  ͂߂

  pĩRs[^Ƃlbg[Nn[hEFA̐\サA
  ȂɂāAɍȃX[p[Rs[^ CPU Ԃ𔃂
  AȒPɓł镔iŕvZVXe\ẑ܂܂pI
  ɂȂĂĂ܂BۂɁA Beowulf ^Cṽ}V̉i\́A`
  IȃX[p[Rs[^ 3 { 10 {ǍDłB Beowulf A[
  LeN`͂܂K͊g\ŁA\zeՂłAwǂ̃\tgEFA
  ͖Ȃ̂ŁAn[hEFA𔃂ł݂܂B

  2.1.   HOWTO NǂނׂH

   HOWTO ́AȂƂ Linux Iy[eBOVXeŉ̌o
  lׂ̈ɏĂ܂B Beowulf Zp̒mƂAƕGȃIy
  [eBOVXeƂlbg[NTÓ̗Asł͂܂
  BłAvZ̉̌oΗLłiǂ̂ƂA
  ͖{ǂނׂRƂ͂łjB HOWTO ́A
  Beowulf ɂĂ̋^Sɂ͓Ȃł傤AȂɃACfA
  AȂɌ铹WɂȂ邱Ƃł傤B{ HOWTO ̖
  ÍAwiƁAXɐi񂾕ւ̃NƎQl񋟂邱Ƃ
  B

  2.2.  Beowulf ĉH

  Famed was this Beowulf: far flew the boast of him, son of Scyld, in
  the Scandian lands.  So becomes it a youth to quit him well with his
  father's friends, by fee and gift, that to aid him, aged, in after
  days, come warriors willing, should war draw nigh, liegemen loyal: by
  lauded deeds shall appearl have honor in every clan.

  i󒍁F̉C̘a͈ȉ̂ƂłB́AuCMXpY
   x[IEtvEӎlYgɂ̔łAꕔ͈
  p̓sňĂ܂܂Bj

  VFȟqx[IEt́A]܂˂L܂AVFfhɂĂ
  ͉BȂ̂łBqҁÂƂAN̔݌̉ɂ
  鎞Aׂ炭{Aɂ݂Ȃ킩^ׂłB
  ΁A₪ĔNVA̎A`ȂY}́A
  ܂ł낤BȂ閯ɂĂAl͖_s
  ĉĥłB

  i󒍁F̎́AÑp xIEt 17 sڂ 25 sڂ܂ł̌
  pł낤Ǝv܂AuÑp xIEtv؏dЕҌЊ
   p68 ɂ΁A̕ Beowulf ͎̎l Beowulf Ɠ̕
  ̉AƂĂ܂BAɖ{̃e[}Ɋ֌W͂܂Bj

  Beowulf ͉pŏꂽŌÂ̏łB̘b́A Grendal ƌĂ΂
  |ȂȋƗECpY̕łB̉pY
  Beowulf Xɒm肽 ``History'' QƂ̂ƁB

  A Beowulf ̒`̐́A Beowulf X[p[Rs[^ݔ\z
  gl̐܂B NASA ̌c̃}VƓ@ō\z
  ̂ Beowulf ƌĂׂAƎ咣l܂B̑ɂA
  ̋ɒ[ɑāA[NXe[ṼVXeŕR[h𑖂点
  ̑SĂ Beowulf ƌĂԐl܂B Beowulf ̒`͂̓
  ̒Ԃ̂ǂɂ܂āA Beowulf [OXgւ̑̓e
  Â̂łB

  Beowulf ͕vZɎg镡Rs[^̃A[LeN`łB
  Beowulf ͕ʁAȏ̃NCAgm[hƁA̃T[om[h
  AC[TlbgȂǂ̃lbg[Nňꏏɐڑč\VX
  ełB Beowulf \ẑɎgíA Linux Cӂ PC 
  AWC[TlbgA_v^ƃXCb`Ȃǂ́Aӂꂽn[hEFA
  iłB Beowulf ́An[hEFASgȂŊȒPɍČł
  B܂ABeowulf Ŏg\tgEFÁA Linux Iy[eBOVXe
   PVM(Parallel Virtual Machine) A MPI(Message Passing Interface)
  Ȃǂ́Aӂꂽ\tgEFAłB̃T[om[h́ANX^Ŝ
  ƃNCAgւ̃t@C񋟂s܂i󒍁FNX^Ƃ́uЂ
  ܂vɂ́AƂӖjB܂AT[om[h́ÃNX^
  ̃R\[łAOEւ̃Q[gEFCł܂B傫
  Beowulf }V͈ȏ̃T[om[h܂񂵁AR\[
  ƂAeXe[Ṽj^́AƖp̃m[h邩
  ܂Bwǂ̏ꍇA Beowulf VXẽNCAgm[h͉ł
  ܂AłȂ΂łȂǂ̂łBNCAgm[h̓T[om
  [hɂĐݒ肳ꐧ䂳A悤ɌꂽƂs܂B
  fBXNXNCAg̐ݒł́ANCAg͎ IP AhX
  OAT[o[܂ł͒m܂B Beowulf  COW i[N
  Xe[ṼNX^ Cluster of Workstations jƂ̎ȈႢ̈
  ́Ã[NXe[VƂĂAP̃}V̂悤ɐU镑
   Beowulf ͋߂AƂłBwǂ̏ꍇɁANCAgm[h
  ̓L[{[hƂj^A[gOCiVA[
  ܂񂪁jĂANZX܂B Beowulf ̃m[h́A傤
  }U[{[h̒ɍ߂ CPU ƂW[̂悤ɁÃN
  X^ɍ߂ CPU { ̃pbP[Wƍl܂B

  Beowulf ́Aʂȃ\tgEFApbP[WłAVKlbg[Ng|W
  łAŐṼJ[lnbNł܂B Beowulf ́A Linux R
  s[^NX^āA񉼑zX[p[Rs[^`Zp
  łB Beowulf A[LeN`ƍɁAݒƊȒPɁA
  ƎgՂAJ[lCƂAPVM  MPI CuAݒc[
  ̃\tgEFApbP[W͑܂BAWI LinuxfBXg
  r[VgāÃ\tgEFAǉȂ Beowulf NX
  ̃}V\zł܂BȂlbg[Nꂽ Linux Rs[
  ^ 2 䎝ĂāAȂƂ NFS  /home LĂA
  ݂Mpłă[gVF (rsh) ŝȂAȂ͒P 2
  m[h Beowulf }VĂAƘ_ł傤B

  2.3.  

  Beowulf VXe͑lȕiō\zĂ܂B\̂߂ɁA肫
  łȂii܂AP̐Ǝ҂̐ij̗pĂ
  BVXẽ^Cvʂ肩𐔂グ邽߂ƁA}V̋c_
  ͊ȒPɂ邽߂ɁA͎̒PȃNX̘gg݂Ă܂B

  CLASS I BEOWULF

  ̃NX̃}V́ASɂ肫́uȒPɓłvp[c
  gđS\z܂B肫́uȒPɓłvp[c`
  ̂ɁAu Computer Shopper v؃eXggƂɂ܂傤i
  Computer Shopper  PC VXeƂíA 1 C`̌G/J^
  OłjB̃eXĝ͎悤Ȃ̂łB

  CLASS I Beowulf Ƃ́AȂƂ 3 ̍œł邩AEIɓ
  łAƂ̂ɊۂtꂽLJ^OŌtp[cőgݗ
  }VłB
  CLASS I VXe̗_

  o  n[hEFA̒񋟌\iቿiAeՂȕێj

  o  P̃n[hEFAx_ւ̈ˑȂ

  o  Linux R~jeB̃hCoT|[g

  o  ʂ͕Wi SCSIAC[Tlbg Xj

  CLASS I VXě_

  o  ō\ɂ CLASS II ̃n[hEFAKvȂ

  CLASS II BEOWULF

  CLASS II Beowulf ͒PɁA Computer Shopper ؃eXgpXȂ}
  VSĂłB͈Ƃł͂܂BS̓}V̕ނɂ
  ܂B

  CLASS II VXe̗_

  o  \\ǍDɂȂI

  CLASS II VXě_

  o  hCoT|[gς邩Ȃ

  o  P̃n[hEFAx_ւ̈ˑ

  o  CLASS I VXeɂȂ邩Ȃ

  ̃NX̃NXǍDƂ͌܂BSĂ͂Ȃ̃j[
  YƗ\ZɈˑ邱ƂłBVXeނ̂́A Beowulf VX
  eɂĂ̋c_኱肠̂ɂ邽߂ɂ܂BuVXe
  ݌vv̐߂́Aǂ̎ނ̃VXeȂ̃j[YɈԍ𔻒f
  ̂ɖ𗧂ł傤B

  3.  A[LeN`Tv

  3.1.  ́AǂȕɌ܂H

  Beowulf X[p[Rs[^A[LeN`𕪂Ă炤ɂ́Aۂ
  Beowulf ƔɎĂāAwǂ̃VXeǗ҂ɐg߂ȁAᎦĝ
  ԂƎ͎v܂B Beowulf }VɈԋ߂́A̃T[oƑ
  ̃NCAg Unix Rs[^łBƋ̓Iɂ́A
   DEC Alpha undergraduate computer laboratory at the Faculty of
  Sciences, USQ Ɏ܂傤B̃T[oRs[^ beldin ƌ
  ΂ANCAg}V́A scilab01A scilab02A scilab03
  Ascilab20 ܂łƌĂ΂܂BSẴNCAg Digital Unix 4.0
  Iy[eBOVXẽ[JRs[ACXg[Ă
  A[Ũt@C (/home)  /usr/local ̓T[o NFS
  (Network File System) ŎĂĂ܂BeNCAg̓T[oɃG
  gAꂼ /etc/hosts.equiv t@C̒ɂ͂̑SẴN
  CAgĂ܂BłASẴNCAg͂̑SĂɑ
  ă[gVF (rsh) sł܂B̃T[o}V͎S
   NIS T[ołASẴ}Vɂ킽AJEg͓łB
  N scilab02 ̃R\[ɍ胍OI΁AނT[oƂ
  scilab15 ɃOĈƓ܂BSẴNCAg
  g̂́ÃIy[eBOVXeCXg[
  S}Vœ̕@Őݒ肳ĂA[U /home  /usr/local 
  悪IɃT[oɂ NFS ăANZX邩łB NIS 
  NFS Xɒm肽Ȃ NIS  NFS  HOWTO ǂŉB

  3.2.  ̑̃m[hg悤ɂ@́H

  ܂łŁÃVXẽA[LeN`ɂď܂B
  Rs[^̃}V̗p\ CPU TCNAǂĎg
  悤ɂ邩Ă݂܂傤BNłCӂ̃}VɃOCłA
  ̃z[fBNg̃vO𑖂点܂APȂ郊[g
  VF̎sɂĕʂ̃}Vœ̃Wu spawn ł܂B
  ΁A 1  10 ܂ł̑SĂ̐̍̕vvZƂ܂
  B͂s sigmasqrt i ``source code'' QƂ
  jƌĂ΂ȒPȃvO܂B 1  10 ܂ł̐̕
  ̍vvZɂ́A͎s܂B

  [jacek@beldin sigmasqrt]$ time ./sigmasqrt 1 10
  22.468278

  real    0m0.029s
  user    0m0.001s
  sys     0m0.024s

   time R}hŁÃWu鎞Ԃ𒌎vioߎԁjŃ`Fb
  Nł܂BĂ̒ʂA̗͎ŝɉ\ 1 bi 0.029 bj
  ܂񂪁A 1  10 ܂ł̐̕Z
  Ƃ΂ǂł傤HĂ݂܂傤AčĂђv̎
  ԂvZ܂傤B

  [jacek@beldin sigmasqrt]$ time ./sigmasqrt 1 1000000000
  21081851083600.559000

  real    16m45.937s
  user    16m43.527s
  sys     0m0.108s

  x́ÃvO̎sԂ͑łBNłȂ^
  ́ÃWu̎sԂ邽߂ɉł邩AłB̃W
  u@ǂύX΁ÃWu钌v̎Ԃŏɂł
  ł傤HNł𓚂́ÃWu𑽐̃TuWuɕ
  āASẴRs[^ŕɂ̃TuWu𑖂点邱ƂłB
  ͈̑傫ȉZ^XN 20 ̕ɕāAem[h̏ň
  ͈̔͂̕vZčvłł傤BSẴm[hvZI
  ČʂԂɁA 20 ̐l͍včŏI𓾂܂B
  Wu𑖂点OɁASẴvZX̌ʂނ̂Ɏg
  ƂɂȂ閼OtpCv쐬܂傤B

  [jacek@beldin sigmasqrt]$ mkfifo output
  [jacek@beldin sigmasqrt]$ ./prun.sh & time cat output | ./sum
  [1] 5085
  21081851083600.941000
  [1]+  Done                    ./prun.sh

  real    0m58.539s
  user    0m0.061s
  sys     0m0.206s

  x͖ 58.5 błB̓WuX^[gĂASẴm[h
  ěvZIApCv֌ʂݏI܂ł̎ԂłB̎
  Ԃɂ 20 ̐ŌɉẐ͊܂݂܂񂪁A̎Ԃ͔ɋ
  Ȃ̂Ŗł܂B̃Wuɑ点đ̉P邱Ƃ
  ł܂BۂɁAWu͖ 17 {ɑ܂A CPU 
  ɂđS 20 {₵ꍇƂẮAƂĂIłB̗̖
  ÍAsR[h񉻂ԒPȕ@`ʂ邱ƂłBۂɂ
  ȒPȗ͂܂ŁAʂ̋Zpi PVM  PMI  API j񐫂B
  ̂Ɏg܂Bi󒍁Fs concurrent ƕ parallel ͍
  łBs̓Xbĥ悤Ƀ\tgEFAIɓ삪ŝŁA
   SMP ̂悤Ƀn[hEFAIɕ񂵂Ă̂̂悤łBɂ
  Ă``K''̐߂QƂĉBj

  3.3.  Beowulf  COW i[NXe[ṼNX^j͂ǂႤ́H

  L̃Rs[^͊SɃ[NXe[ṼNX^ (Cluster
  of Workstations (COW)) ̗łBł́A Beowulf ̉ʂŁAǂ
  Ȃӂ COW ƈႤ̂ł傤H  ^͂łAقǂ̈Ⴂ͂
  ܂A Beowulf ɂ́AȂłƎ̐iԈႢȂ
  ܂B܂n߂ɁA Beowulf NX^̃NCAgm[h́AL[{[h
  A}EXArfIJ[hAj^[Ȃ̂wǂłB̃NCA
  gm[hւ̃ANZXɂ̓[gڑāAT[om[hA
  ́ApR\[m[hAVAR\[s܂BNCA
  gm[hNX^Õ}VɃANZXKv͂܂񂵁AN
  X^Õ}VNCAg֒ڃANZXKv܂
  A 10.0.0.0/8 Ƃ 192.168.0.0/16 ̃AhX͈́i RFC 1918
  http://www.alternic.net/rfcs/1900/rfc1918.txt.html 󒍁F̃Ah
  X͖҂̓ANZXłA̓̕ANZXł܂j̃vCx[
  gAhXNCAgm[hɎgp̂悭KłB񖇖ڂ
  lbg[NJ[hgĊOEɂڑ}V̓T[om[h
  AƂ̂͂悭܂B̃VXe̎gňԂ悭̂́A
  ̃T[õR\[ɒڃANZX邩Al̃[NXe[V
  T[om[h telnet [gOĈłBUT[om[h
  ɓ΁A[Ũ͎R[hҏWăRpCłANX^
  Sm[hł̃Wu spawn ł܂Bwǂ̏ꍇɁACOW ł́AlX
  ۂɂ͓ƖɎgĂȂ̂ŃACh CPU TCNpł
  AԂƂTɁAvZpɗp܂Bɑ΂ Beowulf 
  ʂ͕vZp̃}VŁA̖ړIɍœKĂ܂B܂
  Beowulf ͂ɓł镔iō\zĂAɃt[̃\tgEF
  A𑖂点܂̂ŁA荂i\𓾂܂B܂A Beowulf N
  X^P̌vZ[NXe[VAƃ[U猩̂ɖ𗧂A
  PVXeC[W̋@\ Beowulf ͂葽܂B

  4.  VXe݌v

  n[hEFAwOɁAȂ̃VXe݌vl@Ăǂ
  ł傤B Beowulf VXe̐݌vŊ{Iȃn[hEFA 2 
  ܂ - ȂgƂm[hƂRs[^̃^CvARs[
  ^m[hɐڑ@łBn[hEFAIɉe邩Ȃ\t
  gEFA܂ - ʐMCuƂ API łBn[hEFA
  ƒʐM\tgEFAɂẮAƏڍׂɋc_܂B

  I͑܂񂪁A Beowulf VXe\ző厖Ȑ݌v
  ̌肪܂BuvZv̉Ȋwi܂͋Z@jɂ͂
  Ⴄ߂܂̂ŁAȉɏЉ܂Bwiǂނ̂D
  łȂȂA{߂͔΂܂AȂŏIIȃn[hEFA肷
  O ``K''̐߂ǂނ悤AAhoCXĂ܂B

  4.1.  vZ̔wiTv

  {߂͕vZƂTO̔wi܂B͌āAvZ̉Ȋw
  ƂZp̖ԗIŊSȐł͂܂B Beowulf ̐݌v҂
  [Uɂ͑؂Ǝv鎖̊Tv̂łB
  Ȃ Beowulf ̐݌vƍ\z̍ۂɁAȉŐ鎖̑͂Ȃ
  ̌vZXŏdvɂȂ邱Ƃł傤B Beowulf ͖{IɎI
  ō\̂łA Beowulf X[p[Rs[^̗̑vf
  Ӑ[lKv܂BʓIɁAvZɊ܂܂鎖
  𗝉̂͌ē͂܂B{ɁAU̎
  ΁AȂ̗\z͂ɌIɂȂA͂ɊmɂȂ
  BvZbT̑xBōŏdv̗vfƍluIEi
  sequential world jvƂ͈āAu̐Ei parallel world jv
  vZbT̑x́AVXeŜ̐\ƌ肷̗v
  f̒̈ɂ܂B

  4.2.  vZ̕

  vZ͑̌`ԂƂ܂B[U̎_Ae̗_ƌ_
  l@̂dvłBȉ̐߂ł́AvZ̕ǂ邩
  A Beowulf }V̒łǂɓ̂łB

  4.2.1.  Ȃȏ CPU H

  ̎ւ̉𓚂͏dvłBȂ̃[hvZbT 8 CPU 𑖂点
  ̂͂Ɓu肷v̂悤ɕł傤A̒ʂłB
  ̓EFuT[oƂAf[^x[XA_OvOAvWFNg
  XPW[Ȃǂł傤H ǉ CPU 𗧂܂BGȃV
  ~[VƂA̗͊w̃R[hAf[^}CjOAvP[V
  Ȃǂł傤Ĥ悤ȏ󋵂ł͒ǉ CPU ԈႢȂ𗧂
  B{ɁA܂܂̖ɕ CPU g悤ɂȂ
  ܂B

  ̎̎͑ł傤AuȂ 2 Ƃ 4  CPU ɕKv
  Ȃ̂łH 986 ^[{nCp[`bvoĂ̂҂ɂ
  ȁvBɂ͊̗R܂B

  1. }`^XÑIy[eBOVXe̗pŁAɊs
     ł܂B́Aȏ̈ CPU ɂĊȒPɂł悤ɂ
     鎩Rȁu񐫁vłB

  2. vZbTx 18 ɔ{ĂĂ܂A RAM xƂn[
     hfBXNx͂ǂł傤HcOȂȂx CPU x
     ͑Ă܂Bwǂ̃AvP[V́uLbVȊO
     ̃ANZXvƃn[hfBXNANZXKvƂƂO
     ɒu܂傤Bɕŝ́Â悤Ȑ̊
     z̕@łB

  3. \zɂ΁A 2005 Nȍ~ 18 ̃vZbTx{͑
     ł傤B̑Xێ邽߂ɏzȂ΂ȂȂ
     Qɂ́Aɐ[Ȃ̂̂łB

  4. AvP[Vɂ܂AvZōłx́A 2 {
      500 {̊Ԃ̂ǂi̏ꍇɂ͍XɍɁjłBꂾ
     ̐\͒P̃vZbTĝł͓܂BX[pRs[
     ^łAꎞ͋ɂ߂č̓vZbTgĂ̂Ał
     ́uӂꂽɓłv CPU ō\zĂ܂B

  ȂAvZE  / ܂ o͌Ê߂ɁAx
  KvƂA񉻂ɒl܂BvZ͑lȕ@Ŏ
  ܂̂ŁAȂ̖񉻂ŉɂ͊ɑ厖Ȍ肪K
  vɂȂ܂B̌́AȂ̃AvP[V̉Ɛ\
  pɁAIɉe邩܂B

  ZpIɂȂOɁAXŒɕő҂ƂAɐg߂Ȗ
  ɂƂāAۂ́uvZv𒭂߂Ă݂܂傤B

  4.2.2.  vẐX

  X̐ʂ 8 ̃LbVWX^ꏏɒuĂ傫ȓXl
  傤BLbVWX^ꂼ CPU ŁAq񂪂ꂼ
  ̃Rs[^vOƑz肵܂B̃Rs[^vO
  ̃TCYiƖ̗ʁj́Aq񂻂ꂼ̒̃TCYłBȉ̔g
  ́AvZ̊TO`ʂ̂Ɏg܂B

  4.2.2.1.  VO^XÑIy[eBOVXe

  ̃LbVWX^I[vigp\ԁjŁAꂼ̂q
  ꎞɈlȂ΂ȂȂB

  Rs[^̗ - MS DOS

  4.2.2.2.  }`^XÑIy[eBOVXe

  ̃LbVWX^I[vłAAł͂ꂼ̒
  ̈ꕔꎞɏÂqɈڂĂ̒̊炩
  ܂Bq͊F̍sňꏏɓĂƁuv܂A̍s
  ɑɒNȂ΂̍sƑʉ߂ł傤B

  Rs[^̗ - P CPU g UNIX A NT

  4.2.2.3.   CPU g}`^XÑIy[eBOVXe

  x́AXɊ̃LbVWX^I[vĂ܂Bꂼ
  ͕ʁX̃LbVWX^ŏłāAs͂Ȃ葁ʉ߂ł
  B SMP - Symmetric Multi-processing ƌĂ΂܂Bǉ̃Lb
  VWX^I[vĂĂALbVWX^łq
  l̎sʉ߂́AĂł܂B

  Rs[^̗ -  CPU  UNIX  NT

  4.2.2.4.   CPU ̃}`^XÑIy[eBOVXeł̃X
  bh

  Ȃ̒̕iڂȂuוv΁AꎞɊ̃LbV
  WX^gƂŁAsƑʂ蔲ł傤Bŏɂ
  Ȃ̕i̕ʂʂƑz肵Ȃ΂Ȃ܂AȂȂAuȂ
  ̒̍וvł̓̃LbVWX^pŎ߂˂΂
  ȂłB_Iɂ́AȂ͈ȑOu n v{sʉ
  ł͂łÁu n v̓LbVWX^̐łBLbV
  WX^vƂKv鎞ɂ́ALbVWX^͕ʂ́u[
  JvLbVWX^SĂb肵đɏł
  BLbVWX^͕ʂ̃LbVWX^`܂āA
  Ƒd̂ɕKvȏ肳ł܂BA
  ܂A̓X̂ǂŃLbVWX^Iɐݒu
  鐔ɂ́A肪܂B

  ܂A Amdals ̖@ɂāÃAvP[V̍́Ãv
  O̍Œᑬ̒Iɐ܂B

  Rs[^̗ - }`XbhꂽvO𑖂点ĂA
  ̃}U[{[hɕ CPU  UNIX  NT

  4.2.2.5.   CPU }`^XÑIy[eBOVXe
  bZ[W M

  \̂߂ɁA̓Xł͓X̌ 8 ̃LbVWX^ǉ
  ܂B̐VLbVWX^́ȀvX̐ʂ̃Lb
  VWX^ɑM̂ɁAdb|˂΂Ȃ܂B̋̓Lb
  VWX^m̒ʐMɗ]̃I[o[wbhiԁj܂A
  ʐMŏɂꂽȂA͖ɂ͂Ȃ܂BȂAS
  ̃LbVWX^KvƂ悤ȁA{ɑ傫ȒȂA
  LƓlɓɑSẴLbVWX^gƂŁAxPł
  A]̃I[o[wbhlɓȂ΂Ȃ܂Bꍇɂ́A
  ̓X͒P̃LbVWX^i܂̓LbVWX^̓jX
  ŜɎU΂Ă邩ꂸAꂼ̃LbVWX^ij
  mAdbŒʐMȂ΂ȂȂ܂ASẴLbV
  WX^݂ɓdbŘb܂Ȁꏊ͖̐ɂȂ
  B

  Rs[^̗ -  CPU 𓯈܂͕̃}U[{[hɎA
  bZ[WĒʐM UNIX  NT ĩRs[j

  ܂ł̃ViÍAmł͂ȂƂAVXeŋN鐧
  \Ă܂BP CPU i܂LbVWX^jƂ
  āAʐMۑłB

  4.3.  vZ̃A[LeN`

  vZł悭@ƃA[LeN`ȉɐ܂BĖԗI
  Ȑɂ͂Ȃ܂񂪁A Beowulf ݌vɕKvȊ{I𗝉ɂ
  \łB

  4.3.1.  n[hEFAA[LeN`

  Rs[^̃n[hEFAɂ܂Ƃ߂ɂ́A{Iɓ@
  ܂B

  1. [J}VŃbZ[WŒʐMśi Beowulf NX
     ^j

  2. L}VŃĒʐMśi SMP }Vj

  T^I Beowulf ́AȃC[TlbggĐڑꂽP CPU }V
  ̏WłA[J}VłB 4 CPU  SMP {bNX͋
  L}VŁAvZɎg܂ - AvP|V͋L
  gĒʐM܂B傤ǁARs|^̓X̔gŁA|J
  }ViX̃LbVWX^j͑ CPU ɂ܂ŋK͊g傪\
  Ȉł́A荇̂߂ɋL}V CPU i
  ݒułLbVWX^̐jɐ񂪐邩ȂAƂ
  ƓłB

  A̋L}VڑāunCubhvL}V
  쐬ł܂B̂悤ȃnCubh}V́A[UɂƂĂ͒P
  ̑傫 SMP }V̂悤ɁuvAvO}猩đSĂ CPU 
  LO[o͈قȂ郌[eV邱ƂA
  NUMAilł͂ȂANZX non uniform memory access jƂ΂
  ΌĂ΂܂BA̃xł́A NUMA }V̓[JL
  ̃v[̑݊ԂŁubZ[W̃pXvȂ΂Ȃ܂B

  [JvZm[hƂ SMP }Vڑ̂\łBT^
  IȃNX I }U[{[h 2  4  CPU A΂΃VXe
  RXgŜ@ƂĎg܂B Linux ̃XPW[͂
   CPU L@𔻒f܂B[U͓ SMP vZbT
  Ɂi̓_ł́j̃^XN蓖Ă邱Ƃ͂ł܂BA[
  U͓̓ƗvZXƂXbhꂽvZXX^[g
  āAP CPU }V\悤Ɋ҂ł܂B
  4.3.2.  \tgEFA API A[LeN`

  {IɁA̃vOł̕su\v̂ɓ̕@
  ܂B

  1. vZbTԂőM郁bZ[W̎gp

  2. Iy[eBOVXẽXbh̎gp

  ̑̕@ԈႢȂ݂܂A͍łLg̕
  @łBs̕\́Az肷n[hEFAɕKE܂A
  ̂ƂYȂ悤ɂ̂厖łBbZ[WXbhƂ
  ɁA SMP łA NUMA-SMP łNX^łł܂AAȉ
  悤ɁAƉ厖ȎłB

  4.3.2.1.  bZ[W

  jIɁAbZ[WpbVOZṕÃ[JRs
  [^̐݌v𔽉f܂BbZ[W̓f[^Rs[Kv܂
  AXbh̓f[^KXg܂BRs[\ȃbZ[Wł̃[e
  VƑx́AbZ[WpbVOfł̐vfłBbZ[W͏\
  Pł - ̃f[^Ƒ̃vZbTłBʂ̃bZ[W
  pbVO API PVM  MPI ɂ܂BbZ[WpbVO̓Xbh
  pČIɎ\ŁA SMP }VłNX^̃}VԂł
  ܂܂BXbhƔׂāA SMP }VŃbZ[Wg_
  ́AȂNX^gSƂĂA}V̒ǉƂ
  ̃AvP[V̋K͊g傪eՂƂƂłB

  4.3.2.2.  Xbh

  L SMP iΏ̃}`vZbVOj݌vꂽ̂ŁA̃v
  Oł̕s݂̑ŁAɍ̋LʐMƓ\
  ƂȂ܂Â߂ɁAIy[eBOVXẽXbh͊J
  ܂BʐM͋L̂ŁA SMP VXẽXbh͂
  ܂B̗RɂA[U̓[Jf[^O[of[^
  uȂ΂Ȃ܂AȂ΁AvO͓KɓȂ
  傤BbZ[WƑΔ䂵āAXbhł͑ʂ̃Rs[ȗł܂A
  ̃f[^̓vZXiXbhjԂŋL邩łB Linux 
  POSIX XbhT|[g܂BXbhł̖́A SMP }V
  𒴂ẴXbh̊gƂłA܂Af[^ CPU ̊Ԃŋ
  L܂ALbV̎ѐ̖肪I[owbhɂȂ邩
  ܂B SMP ̋E𒴂ẴXbh̊gIɍsɂ́A
  Linux ŃlCeBuɃT|[gĂȂ NUMA ZpKvƂ
  BbZ[W̏ւ̃Xbh͊ɍsĂ܂i
  (http://syntron.com/ptools/ptools_pg.htm) 󒍁F҂͂̓ANZX
  ܂łjAbZ[WgẴXbh͔̎IȂƂ
  łB

  \ɂāAȉ̂Ƃ܂B

             SMP }V      }ṼNX^      g\
                \               \         i scalability j
             -----------     -------------------  -----------
  bZ[W   ǍD                ō              ō

  Xbh     ō                n            n 

    NUMA ZpKv

  4.3.3.  AvP[ṼA[LeN`

   CPU ŕɃAvP[V𑖂点邽߂ɂ́AAvP[V
  sɖmɕȂ΂Ȃ܂BWIȒP CPU Av
  P[V́AvZbTŒP CPU AvP[V
  邱Ƃ͂܂BvO𕪊łc[ƃRpC͊
  ܂AR[h񉻂̂́uvOAhvCvł͂܂
  B̃AvP[VɈˑāAR[h̕񉻂͊ȒPɂȂ΁A
  [ɓȂAASŸˑ̂߂ɕs\ɂȂꍇ邩
  ܂B

  \tgEFA̎qׂOɁAK (Suitability) ̍l𓱓
  Kv܂B

  4.4.  K (Suitability)

  vZɂĂ̖wǂ̋^͓ɂȂ܂B

  u̓AvP[VɑSĈˑ܂Bv

  ̎ɔэޑOɁAƂĂ厖ȋʂĂKv܂ -
  s (CONCURRENT)   (PARALLELL) ̈ႢłBc_i߂邽߂ɁA
  ̓̊TÔ悤ɒ`܂傤B

  s (CONCURRENT)  ̃vOŁAƗČvZ\ȕ

   (PARALLELL)   ̃vOŁAɕʌ̏vfŎs
  s

  ̋ʂ͔ɏdvłAȂȂAs͂̃vȎł
  AIȕ񐫂͂̃}V̑łBzIɂ́As
  荂̐\𐶂ނ͂łB񐫔\𐧖񂷂vf͌vZm[hԂ̒
  Mxƃ[eVłBi[eV́AXbhꂽ SMP AvP
  [VɂALbV̈ѐ̂߂ɑ݂܂Bj悭x
  `}[N̑́AxɕŁAʐMƃ[eV̓{glbNł͂
  ܂B̃^Cv̖́u炩ɕvƌĂԂƂł܂B
  ÕAvP[V͂Pł͂ȂÃvO̕s
  ɎsƁAۂɂ͒ᑬɑ点邱ƂɂȂĂ܂Â߂Ƀv
  Ȏ̕sł̐\𑊎EĂ܂܂B
  PɌƁAvZԐߖ̂߂ɒʐMԂ̔px˂΂Ȃ܂A
  ȂΕs̕s͔IɂȂ܂B

  vO}̎d́ÃvÔǂ̕sɎsׂ
  ŁAǂ̕sׂłȂ𔻒f邱ƂłB̉𓚂̓A
  vP[V̌tł傤Bȉ̃Ot͂̃vO
  }̗܂Ƃ߂Ă܂B

  AvP | *
  [V | *
  ́   | *
       | *
       |  *
       |  *
       |  *
       |  *
       |    *
       |     *
       |      *
       |        ****
       |            ****
       |                ********************
       +-----------------------------------
               ʐM / 

  SȕRs[^ł́AʐM/̔䗦͓Ȃł傤A
  s͑SĕŎłł傤BcOȂAL}V
  ތ̕Rs[^́ÃOtŕ`ꂽe󂯂܂B
  Beowulf ݌v鎞ɂ́A[ŨOtSĂ悤ɂ
  傤ÂȂǍ͓̕Rs[^̒ʐMԂƏ
  Ԃ̔䗦Ɉˑ邩łBAvP[V͕Rs[^݂̑
  ܂񂪁AقȂvbgtH[̏ŌIłۏ؂͂
  ܂B

  ʓIɁAłIȕvO݂͑܂

  ̌_L̃Otoė܂B͒ʐM/Ɉˑ
  ܂A̔䗦̈ςĂAK̃AvP[V
  Ƃ͌ȂƂłBʐMxςȂłăvZbT
  xςƁAȂ̃vOŒIɂ͕Ȃeyڂ
  ܂BႦ΁A CPU x 2 A 3 {ɂāAʐMx𓯂ɂ
  ܂傤Bx́AȑOɂȂ̃vOŌI I
  AIɎsIɂȂ邩܂B́AȑO͕
  IAx́AIɑ点AƍɂȂ邩
  ȂƂƂłBXɁAɑ点ΔIȕÃAv
  P[V̍ő呬x̒Bۂɂ͎זĂ܂ł傤B]āA
  荂̃vZbT̒ǉɂāAۂɂ͂Ȃ̃AvP[V
  Ă܂Ȃ̂łiȂ͂̃AvP[VŐV
  CPU ő呬xő̂ז̂łjB

  荂 CPU ւ̃AbvO[hۂɂ͂Ȃ̃AvP[V
  ᑬ邩ȂB

  ŁA_ƂāAȂn[hEFAg邩ۂm
  ́AȂ̃AvP[Ṽ}VɓK邩ǂA
  Kv܂BȂ́A CPU xƂARpCAbZ[WpbV
  O API Albg[NȂǂ܂ޑ̎𒲂ׂKv܂BC
  t邱Ƃ́AAvP[Ṽvt@C쐬邾ł́A
  Ŝ͕ȂƂłBȂ͂Ȃ̃vǑvZʓIɏd
  łł傤A̒̕ʐMRXg͕܂B^
  ꂽVXeɂẮAʐMRXĝŁÃR[hI
  ȂIɂȂAƂƂL蓾܂B

  悭ɂĂ̍Ō̒ӂłBuvO񉻂ꂽv
  ƌ̂Aۂɂ́ÃvO̕s̏ꏊɉ
  ȂƂ̂łB܂łɏqׂSĂ̗R̂ŁÃvO
  ͕񉻂ꂽ̂ł͂܂BIȕ񉻂͂̃}V̑Ȃ
  łB

  4.5.  \tgEFAƂƈڐA邱

  UAȂvZKvƌSA Beowulf ݌vč\z悤
  ƂȂA܂ł̋c_ɏƂ炵āAȂ̃AvP[V
  ƂԂČ̂͗ǂlłB

  ʓIɂȂł邱Ƃ͓܂B

  1. Oɐi݁ACLASS I  Beowulf \zĂAȂ̃AvP[V
     ɁuKv܂B邢́AȂ Beowulf œ
     Ă̕AvP[V𑖂点܂iA
     ŏqׂĂڐAƌ̎ɋCt悤ɁjB

  2. Ȃ Beowulf ő点KvAvP[V𒲂ׂāA
     ȂKvȃn[hEFAƃ\tgEFÃ^CvɂẮA炩
     zsƁB

  ̏ꍇłAȂ͌̎ɂāA𒲂ׂKv
  ł傤BʓIɂ́AȂ 3 sKv܂B

  1. Ȃ̃vOł̕s𔻒f

  2. ̌ς

  3. Ȃ̃vÔ̕sLq

  ̂RƒׂĂ݂܂傤B

  4.5.1.  Ȃ̃vOł̕s𔻒f

  ̃Xebv͂΂΁uȂ̃vO񉻂邱ƁvAƍl
  Ă܂B񉻂̌͑Xebvōs܂B{Xebvł̓f[
  ^ˑ𔻒fKv܂B

  pInAAvP[V͓̃^Cv̕sł傤 -
  vZiʃf[^ number crunching jƓóif[^x[XjłB
  ȀꍇAvZƓo͂̓̕s͒܂AKv
  ȃAvP[V݂܂B̃AvP[V̕s͂s
  c[ł܂B̃c[̖wǂ FORTRAN pɐ݌v
  Ă܂B FORTRAN g闝R͓܂ - jIɖwǂ̑ʃf
  [^iio[N`j̃AvP[V FORTRAN ŏĂ
  邱ƁAāA͂eՂȂƂłBǂ̃c[łȂ
  ΁ÃAvP[Vɑ΂邱̃Xebv́A⍢ɂȂ邩
  ܂B

  4.5.2.  ̌ς

  c[̏Ȃ΁A{Xebvɂ́AsƂALxȌo犄
  oKv܂BȂ̃AvP[VO
  ɒuĂ̂ȂA CPU łivZEjȂ̂An[hfBXN
  łio͌EjȂ̂𔻒fĂ݂܂傤BȂ Beowulf ̏
  v́AȂ̕KvɉđĂ邩܂BႦ΁A
  vZEɂ͏̋ɂ߂č CPU ƒ჌[eVlbg[NK
  v܂񂵁Ao͌E̖ɂ͂ƒᑬ CPU ƍȃC[
  TlbgƗǂ@\邩܂B

  łE߂Ă邱Ƃ͖wǂ̐lXT܂AȂȂAv
  ZbT͑ΑɗǂƂ̂WI\złBȂ
  ̗\ZĂ΂̗\z͐^Ȃ̂łARXg̐̌ōō
  \ڎŵ̃VXeł傤Bo͖ɂẮA\
  ܂܂mĂȂ@i Eadline-Dedkov ̖@ƌĂ΂܂j
  ܂B

  ̕Rs[^ŗݐϓI CPU \wŴ̂^ꂽ
  āAᑬ̃vZbTiđAɁAᑬ̃v
  ZbT݂̒ʐMlbg[NjAo͂xzIȃAvP[
  Vɂ͂ǂ\ƂɂȂBi󒍁F̍ CPU g
  Rs[^ƁA̒ᑬ CPU gRs[^Ƃ̓
  ƂāAvł͓ CPU \Ƃ΁Ao͂ŎԂ
  AvP[Vł͑̒ᑬ CPU gAƂ|
  悤łBj

  ̖@͖̏ؖ{͈̔͂𒴂܂AȂPerformance
  Considerations for I/O-Dominant Applications on Parallel Computers
  (Postscript format 109K ) (ftp://www.plogic.com/pub/papers/exs-
  pap6.ps) __E[h΋[ł傤Bi󒍁F̏L
  AhX(ftp://www.plogic.com/plogic/papers/exs-pap6.ps) ɕς
  悤łBj

  Ȃ̃AvP[V̕s̃^CvUfAɂ
  ǂIɂȂ邩ςKvł傤B\tgEFAc[
   ``Software'' ̐߂ĂB

  c[ȂĂAɂĖ{Xebvǂ̂͂ł܂BAv
  ZẼ[vPʂő肳āAf[^bPʂœ]ł̂
  A񉻂̗ǂɂȂ邩܂BAYȂł̂́A
  16 Ԃ郋[v 32 ̕ɕāAȂ̃f[^]e
  ƂɐbKvƂ΁A肬ɂȂ肩ĂAƂƂłB
  Ȃ͎n|CgɒBł傤B

  4.5.3.  Ȃ̃vÔ̕sLq

  Ȃ̃vO̕sLq@͊܂B

  1. Is

  2. ÖٓIs

  ̓̎ȈႢ́AI񉻂̓[UfAÖٓIs̓R
  pCf邱ƂłB

  4.5.3.1.  I@

  I@ł͊{IɁA[U\[XR[hARs[^p
  CȂ΂Ȃ܂B[U PVM  MPI păbZ[Wǉ
  邩A邢́A POSIX XbhpăXbhǉ邩Ȃ
  ΂Ȃ܂iAӂ邱Ƃ́AXbh SMP }U[{[hԂ
  ړłȂƂłjB

  I@͎ƃfobOłɂȂ肪łB[U͓T^I
  ́AW FORTRAN 77 Ƃ C/C++ \[XR[hɖI֐Ăяo
  ߍ݂܂B MPI Cuɂ́A̕WI@
  ֐ǉĂ܂iႦ΁Ascatter/gather ֐jB
  ɉāARs[^pɏĂWCug܂B
  iAӂ̂́A vs.  ̃g[hItłBj

  jIRAwǂ̑ʃf[^iio[N`j̃R[h́A
  FORTRAN ŏĂ܂B̂߁AvZł́A FORTRAN ɂ̓T|[
  gic[ACuȂjԑ܂Bł́Abł͂
  ƍsłƍlāÃvO}bgA
  FORTRAN ̃AvP[Vbɏ肵܂Bb͔ėp}VR[
  hɍł߂̂łA͐^܂񂪁A傫Ȍ_
  ܂Bbł̃|C^gp̓f[^ˑ̔ɒ[ɓ܂B
  |C^̎͂͋ɒ[ɍłBȂ FORTRAN vO
  ĂāAIɂ񉻂Ȃ邩ȂƍlĂ
  Ȃ - bɕϊĂ͂܂B
  4.5.3.2.  ÖٓI@

  ÖٓI@́A񉻂̌̊i܂͑SājRpCɂ܂
  悤Ȃ̂łB́A FORTRAN 90 ƁA High  Performance FORTRAN (HPF)
  A Bulk Synchronous Parallel (BSP) AāAĴ̑̕@AS
  ĂłB

  ÖٓI@́A[ŨAvP[V̕sIɂĉ炩̏
  [U^Kv܂A΁A̕sIɎ
  s@ɂāARpČs܂B̕@͂
  郌x̉ƌ炵܂AłRs[^̂
  ߂ɕsLquőP̕@v݂͑܂B

  5.  Beowulf ̏

  5.1.  o_

  o  Beowulf [OXgBQɂ beowulf-
     request@cesdis.gsfc.nasa.gov āAsubscribe bZ[W{ɂ
     [𑗂܂B

  o  Beowulf z[y[W http://www.beowulf.org

  o  Extreme Linux http://www.extremelinux.org

  o  Red Hat  Extreme Linux \tgEFA
     http://www.redhat.com/extreme

  5.2.  

  o  Beowulf HOWTO ̍ŐV
     http://www.sci.usq.edu.au/staff/jacek/beowulf

  o  Beowulf VXe̍\z
     http://www.cacr.caltech.edu/beowulf/tutorial/building.html

  o  Jacek's Beowulf Links
     http://www.sci.usq.edu.au/staff/jacek/beowulf.

  o  Beowulf Installation and Administration HOWTO (DRAFT)
     http://www.sci.usq.edu.au/staff/jacek/beowulf.

  o  Linux Parallel Processing HOWTO
     http://yara.ecn.purdue.edu/~pplinux/PPHOWTO/pphowto.html

  5.3.  _

  o  Chance Reschke, Thomas Sterling, Daniel Ridge, Daniel Savarese,
     Donald Becker, and Phillip Merkey A Design Study of Alternative
     Network Topologies for the Beowulf Parallel Workstation.
     Proceedings Fifth IEEE International Symposium on High Performance
     Distributed Computing, 1996.
     http://www.beowulf.org/papers/HPDC96/hpdc96.html
  o  Daniel Ridge, Donald Becker, Phillip Merkey, Thomas Sterling
     Becker, and Phillip Merkey. Harnessing the Power of Parallelism in
     a Pile-of-PCs.  Proceedings, IEEE Aerospace, 1997.
     http://www.beowulf.org/papers/AA97/aa97.ps

  o  Thomas Sterling, Donald J. Becker, Daniel Savarese, Michael R.
     Berry, and Chance Res. Achieving a Balanced Low-Cost Architecture
     for Mass Storage Management through Multiple Fast Ethernet Channels
     on the Beowulf Parallel Workstation.  Proceedings, International
     Parallel Processing Symposium, 1996.
     http://www.beowulf.org/papers/IPPS96/ipps96.html

  o  Donald J. Becker, Thomas Sterling, Daniel Savarese, Bruce Fryxell,
     Kevin Olson. Communication Overhead for Space Science Applications
     on the Beowulf Parallel Workstation.  Proceedings,High Performance
     and Distributed Computing, 1995.
     http://www.beowulf.org/papers/HPDC95/hpdc95.html

  o  Donald J. Becker, Thomas Sterling, Daniel Savarese, John E.
     Dorband, Udaya A. Ranawak, Charles V.  Packer. BEOWULF: A PARALLEL
     WORKSTATION FOR SCIENTIFIC COMPUTATION.  Proceedings, International
     Conference on Parallel Processing, 95.
     http://www.beowulf.org/papers/ICPP95/icpp95.html

  o  Beowulf TCg̘_ http://www.beowulf.org/papers/papers.html

  5.4.  \tgEFA

  o  PVM - Parallel Virtual Machine
     http://www.epm.ornl.gov/pvm/pvm_home.html

  o  LAM/MPI (Local Area Multicomputer / Message Passing Interface
     http://www.mpi.nd.edu/lam

  o  BERT77 - FORTRAN conversion tool http://www.plogic.com/bert.html

  o  Beowulf vWFNg̃y[W Beowulf \tgEFA
     http://beowulf.gsfc.nasa.gov/software/software.html

  o  Jacek's Beowulf-utils ftp://ftp.sci.usq.edu.au/pub/jacek/beowulf-
     utils

  o  bWatch - cluster monitoring tool
     http://www.sci.usq.edu.au/staff/jacek/bWatch

  5.5.  Beowulf }V

  o  Avalon  140  Alpha vZbTA 36 GB  RAM ō\A
      Beowulf }VŁA 47.7 Gflops ŏqA Top 500 Xg 114
     ԖڂłB  http://swift.lanl.gov/avalon/ i󒍁FLAhX
     http://cnls.lanl.gov/avalon/ ɂȂĂ悤łB top 500 list
     ɂ΁A 160 ʂłBȂA 129 ʂɂ CPlant Cluster 
     ܂Bj

  o  Megalon-A Massively PArallel CompuTer Resource (MPACTR)  4 CPU
     Pentium Pro 200 ̃m[h 14  14 GB  RAM ō\Ă
     B http://megalon.ca.sandia.gov/description.html i󒍁F҂̓A
     NZXł܂łBj

  o  theHIVE - Highly-parallel Integrated Virtual Environment ͂
     ̍ Beowulf X[p[Rs[^łB theHIVE  64 m[h
     128 CPU }VőS 4 GB RAM ܂B
     http://newton.gsfc.nasa.gov/thehive/

  o  Topcat ͂Əȃ}VŁA 16 CPU  1.2 GB RAM ō\
     B http://www.sci.usq.edu.au/staff/jacek/topcat

  o  MAGI cluster - ͔ɖʔTCgŗǂN񂠂
     B http://noel.feld.cvut.cz/magi/

  5.6.  ̖̑ʔTCg

  o  SMP Linux http://www.linux.org.uk/SMP/title.html

  o  Paralogic - Beowulf 𔃂http://www.plogic.com

  5.7.  j

  o  Y - Beowulf  http://legends.dm.net/beowulf/index.html

  o  Beowulf ̖`
     http://www.lnstar.com/literature/beowulf/beowulf.html

  6.  \[XR[h

  6.1.  sum.c

  /* Jacek Radajewski jacek@usq.edu.au */
  /* 21/08/1998 */

  #include <stdio.h>
  #include <math.h>

  int main (void) {

    double result = 0.0;
    double number = 0.0;
    char string[80];

    while (scanf("%s", string) != EOF) {

      number = atof(string);
      result = result + number;
    }

    printf("%lf\n", result);

    return 0;

  }

  6.2.  sigmasqrt.c

  /* Jacek Radajewski jacek@usq.edu.au */
  /* 21/08/1998 */

  #include <stdio.h>
  #include <math.h>

  int main (int argc, char** argv) {

    long number1, number2, counter;
    double result;

    if (argc < 3) {
      printf ("usage : %s number1 number2\n",argv[0]);
      exit(1);
    } else {
      number1 = atol (argv[1]);
      number2 = atol (argv[2]);
      result = 0.0;
    }

    for (counter = number1; counter <= number2; counter++) {
      result = result + sqrt((double)counter);
    }

    printf("%lf\n", result);

    return 0;

  }

  6.3.  prun.sh

  #!/bin/bash
  # Jacek Radajewski jacek@usq.edu.au
  # 21/08/1998

  export SIGMASQRT=/home/staff/jacek/beowulf/HOWTO/example1/sigmasqrt

  # $OUTPUT must be a named pipe
  # mkfifo output

  export OUTPUT=/home/staff/jacek/beowulf/HOWTO/example1/output

  rsh scilab01 $SIGMASQRT         1  50000000 > $OUTPUT < /dev/null&
  rsh scilab02 $SIGMASQRT  50000001 100000000 > $OUTPUT < /dev/null&
  rsh scilab03 $SIGMASQRT 100000001 150000000 > $OUTPUT < /dev/null&
  rsh scilab04 $SIGMASQRT 150000001 200000000 > $OUTPUT < /dev/null&
  rsh scilab05 $SIGMASQRT 200000001 250000000 > $OUTPUT < /dev/null&
  rsh scilab06 $SIGMASQRT 250000001 300000000 > $OUTPUT < /dev/null&
  rsh scilab07 $SIGMASQRT 300000001 350000000 > $OUTPUT < /dev/null&
  rsh scilab08 $SIGMASQRT 350000001 400000000 > $OUTPUT < /dev/null&
  rsh scilab09 $SIGMASQRT 400000001 450000000 > $OUTPUT < /dev/null&
  rsh scilab10 $SIGMASQRT 450000001 500000000 > $OUTPUT < /dev/null&
  rsh scilab11 $SIGMASQRT 500000001 550000000 > $OUTPUT < /dev/null&
  rsh scilab12 $SIGMASQRT 550000001 600000000 > $OUTPUT < /dev/null&
  rsh scilab13 $SIGMASQRT 600000001 650000000 > $OUTPUT < /dev/null&
  rsh scilab14 $SIGMASQRT 650000001 700000000 > $OUTPUT < /dev/null&
  rsh scilab15 $SIGMASQRT 700000001 750000000 > $OUTPUT < /dev/null&
  rsh scilab16 $SIGMASQRT 750000001 800000000 > $OUTPUT < /dev/null&
  rsh scilab17 $SIGMASQRT 800000001 850000000 > $OUTPUT < /dev/null&
  rsh scilab18 $SIGMASQRT 850000001 900000000 > $OUTPUT < /dev/null&
  rsh scilab19 $SIGMASQRT 900000001 950000000 > $OUTPUT < /dev/null&
  rsh scilab20 $SIGMASQRT 950000001 1000000000 > $OUTPUT < /dev/null&

