
                               Beowulf HOWTO

Jacek Radajewski and Douglas Eadline

   v1.1.1, 22 November 1998
     _________________________________________________________________

   o󤶲BeowulfWŹq[cMＶg{Ѥ@ǭIѡAå]
   A@Ǧ쪺MsC
     _________________________________________________________________

1. e

     * 1.1 n
     * 1.2 v
     * 1.3 oHOWTO
     * 1.4 oǧ@
     * 1.5 

2. ²

     * 2.1 ֻݭn\ŪoHOWTOH
     * 2.2 OBeowulfH
     * 2.3 

3. [c²

     * 3.1 ˡH
     * 3.2 p󦳮ħQΨL`IH
     * 3.3 BeowulfpPCOWPH

4. tγ]p

     * 4.1 p⪺I
     * 4.2 p⪺k
     * 4.3 p⪺[c
     * 4.4 XAʡ]Suitability^
     * 4.5 gMӥn

5. Beowulf귽

     * 5.1 _I
     * 5.2 
     * 5.3 פ
     * 5.4 n
     * 5.5 Beowulf
     * 5.6 L쪺
     * 5.7 v

6. lX

     * 6.1 sum.c
     * 6.2 sigmasqrt.c
     * 6.3 prun.sh
     _________________________________________________________________

1. e

1.1 n

   ڭ̱N糧󤤤TTAΪ̷ϥΫyltdC

1.2 v

   o󪺪vCopyright (c) 1997 - 1998ݩJacek RadajewskiMCouglas
   EadlineCæbGNU General Public Licence\UGMק糧C

1.3 oHOWTO

   Jacek Radajewskib1997~Q@}lsgoAܧ֦aDouglas Eadline
   ][JCAXӤBeowulf HOWTOܦgAæb1998~KT
   ABeowulf HOWTOBBeowulf [c]pHOWTO MBeowulfw˺޲z HOWTOC1998
   ~Q@Q@Beowulf HOWTO 1.0.0bLinux peWoGAڭ̧Ʊ
   ouO㪺Beowulf peĤ@BC

1.4 oǧ@

     * Jacek Radajewski ޤHA{bDwnhjǧŪqǡC
       Jacek1995~Ĥ@ĲLinuxN`lޡALb1997~إߥLۤvĤ@
       M BeowulfqsAqɰ_}lsAg`QsMnk[]
       tΡC piHzLqllPLpô [1]jacek@usq.edu.auC
     * Douglas Eadline դhA]OParalogicqƪMDnǮaC
       DתzΤRƾǡA1978~إ߭ӤHĤ@xqΦbƾǻWA o
       ~}liJqAEadlineդh{b]ALinuxABeowulfqs
       M algorithmsApiHzLqllPLpô [2]
       deadline@plogic.com

1.5 

   gLɴgA̫ש󧹦ASOP¥HUB͹糧M^mC

     * Becky RBM̸ѡC
     * Tom Sterling, Don Becker, MbNASA ѻPBeowulfpeB͡C
     * Thanh Tran-Cong M[]topcat Beowulf q¾C
     * ѳ\hĳɦѮvChristopher VanceC
     * ڪB Russell Waldron ѵ{譱IlMLߪѻPΤC
     * ڪB David Smith սZC
     * \hbBeowulf mailing listWBʹѪΫĳC
     * ҦtdLinux@~tΩMbtopcatΨLBeowulfWϥγnM󪺪B
       ͡C

2. ²

   eoqMw骺įണɡAåB椣_ƸAQγoǥc
   ⪺qո˦qNܱoD`iAӤݭnb氪WŹq
   WCƹWBeowulfqįOǲζWŹqTQABeowulf[
   cbscaleW]AܮeظmAAuݭtw]ƪOΡAӤt
   n骺OΡC

2.1 ֻݭn\ŪoHOWTOH

   oHOWTOO]pLinux@~tΦǻ{ѪHABeowulf޳NB@~t
   Φ`J{ѩMFѳOݪAO省p⦳ǸgO
   靈nB]A`ݭnǤf\Ūo^CoHOWTOLk^
   BeowulfҦDAOƱണѤ@ǷQkAåBɧAVT
   VAo󪺥تOѬIѡAM@ǧ`JѦҤC

2.2 OBeowulfH

   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 an earl have honor in every clan. BeowulfOέ^
   g̦v֡Ayz@Ӿ֦OMi𪺭^HX_ڪZҡAMLOԩ
   ~GrendelGơA Ѩ [3]History iHh_ڪZҪݡC

   BeowulfwqiMسy̩BeowulfWŹqϥΪ̤@˦hAǫźٰߦ
   MNASA쫬ۦP~٬BeowulfA]H{unb@su@W業{
   NiH٬BeowulfCڹBeowulfwqOG̤ADnھBeowulf
   mailing listW@ǱiKlC

   BeowulfO@إΨӧ@p⪺qs[cAq`OѤ@xAݩM@xHW
   ΤݳzLAӺΨLstΡAOΥc⪺w]O
   LinuxӤHq^BзǤAӺdM洫uA]tS
   w]ơAOiHssyCBeowulfåBϥήeonApLinux@~t
   ΡBPVM(Parallel Virtual Machine)MMPI(Message Passing Interface^C
   AݱӹqsAѥΤɮתAȡAåB]OqsxMqT
   hAѹ~sXfCjBeowulfqsiणu@xAݡAi঳
   ǹqSwγ~AҦpxκʵAΤݦbjhƱpUOB~
   ƱAB~ƱVֶVnCΤݬOѦAݳWMAu̳Q
   u@Cb@ӵLwХΤݪ[cAΤݬƦܤDU۪IP}ΦW
   A@AݧiCBeowulfMu@s̤jtIbBeowulfݰ_
   @xAӤO\hxu@CbjΥΤݤݭnƦLM
   ùAuݭnzLݵnJΧǦC׺ݿùnJABeowulfΤݥiB
   zMO骺զXAOJ@ӹqsANBzΰOҲճQOJD
   OWC

   BeowulfݩSwnMBsݼάO̷s֤bȡABeowulfO
   @MsLinuxqWŵq޳NAM\hnMA
   pקL֤ߡBPVMMMPI{wHγWu]iHBeowulf[cֳtB
   KaWtΡ^AH]iHuaLinuxзǮMAݭnB~UN
   iHإߤ@MзǪBeowulfCpAGxwgWLinuxqAåBi
   HzLNFS@/home ɮרtΩMrsh]remote shells^OAo˧AiH
   O֦@x²檺`IBeowulfC

2.3 

   BeowulftΤwgѦUؤPզAFį઺ҶqA@ǫDӫ~ƩP]
   ơ]uѤ@asyӥͲ^wgݥ@AFѻMQצUؤPt
   Aڭ̴XUC²檺覡:

   Ĥ@BEOWULF:

   oѰӫ~ơBqWc⪺sҲզAڭ̥ιqʶR
   ]Computer Shopper^{wзǨөwqӫ~ơBqWc⪺s]q
   ʶR̬O@بCXxA@^TpAeЦUعqtΩMsؿ
   ^A{wзǦpU:

   A Ĥ@BeowulfO@ؾAզsܤ֥bTذکʩΥyʰ
   ~ؿWC

   Ĥ@tΪnB:
     * w]Ʀܦhӷ]CBe@^
     * |̿Sw@aw
     * Linux䴩Xʵ{
     * q`@зǰ¦]pSCSIBEthernet^

   Ĥ@tΪI:
     * ݭnĤGtΪw~nį

   ĤGBEOWULF

   SqLqʶR̻{wзǪ٤Coä@wOaơAuO
   @ءC

   ĤGtΪnB:
     * į۷an

   ĤGtΪI :
     * Xʵ{g`
     * ̿Sw@aw
     * iĤ@tΩQ

   S@OLuqĄϥΪ̪ݨDMwAoؤºƱ
   UӪQק[²AYtγ]p`N|UAMw@بtγ̲ŦXA
   nDC

3. [c²

3.1 ˡH

   ڻ{yzBeowulfWŹq[c̦XAkO|@ӯuꪺdҡAåBOj
   hƨtκ޲z̩ҼxCNO@UNIXDǡA@xAݩM@s
   ΤݡAǦaAڷ||bnhjǲzǰ|DEC Alphajǳp
   ǬҡAAQ٬ beldin ΤݾO٬ scilab01, scilab02,
   scilab03, @ scilab20. CxΤݤwDigital Unix 4.0@~t
   ΡAOϥΪɮתŶ]/home^M /usr/local OzLNFS]ɮרt
   ^qAݤWoACӥΤݳiHiJAݡAåBҦLΤݳ|
   Ob /etc/hosts.equiv ɮפA]CӥΤݳiHλݾާ@ߡ]rsh
   ^CAݤ]OӹǪNISAA]ҦۦPb
   AYHiHbscilab02xenJANLnJAݩscilab15. @
   ۦPҡAҦΤݦۦPҪ]bҦw˩MW
   P@~tΡAåBϥΪ̪/home M /usr/local ϰWbAݤW
   AiHzLNFSiJCNISMNFSi@B TаѾ\ [4]NIS M [5]NFS
   HOWTOs.

3.2 p󦳮ħQΨL`IH

   {bڭ̹tά[cǷAڭ̬ݬݦpϥέpǤiѨϥ
   CPUCHiHnJ@xAåBbCӤHۤvؿU{A
   L̤]iHzLݾާ@ߦbLqWҰʡ]spawn^ۦP{C|Ҩӻ
   A]ڭ̭np110ƥڪ`MAڭ̼gF²檺{W
   sigmasqrt ]аѨ [6]source code) AFo쵲GAڭ̰HUBJ
[jacek@beldin sigmasqrt]$ time ./sigmasqrt 1 10
22.468278

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

   time OiHiDڭ̰{Ҫ᪺ɶ]ڸgLɶ^Aڭ̥iH
   AoӨҤluFܵuɶ]0.029^ApڷQp11,000,000,000
   ƪ`MAڭ̸ոլݡAspҪ᪺ɶ

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

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

   o{Ҫ᪺ɶD`[A@ө㪺DNOڭ̦p[ְ檺ɶ
   Hڭ̸Ӧpܰ{覡HְҪ᪺ɶH̩㪺״NON
   Ӥu@\hpu@AåBPɦbҦqWAڭ̥iHN[ku
   @GQACӳ@q}ڸu@Aå[_ӡAҦ`Ip
   AöǦ^ӡANGQӼƥ[_ӴNo̫᪺סCb{eAڭ̻
   nӼЦOeޡAiHҦ{gU̪GC

[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

   o^ڭ̪Fj58.5AoɶOq}lҦ`IpAñNG
   geޡAoӮɶä]A̫NGQӼƥ[_ӡALӮɶD`au
   AiHpCڭ̥iHݨ쥭piHĦai{AƹWo
   u@֤F17A۹ϥΤFGQCPUƥءAįO۷XzC
   WzdҪتOniܦPɥ{²檺kAھާ@WAp²檺
   dҬOܤ֨ALޥ]PVMMMPI APIs^g`ΨӹF檺u@C

3.3 BeowulfpPCOWPH

   WzpǺO@Ӥu@s]Cluster of WorkstationsACOW^A
   Beowulf󤣦PHMCOWtHڤWG̨ShjtOALBeowulf
   ˬOǤPSCĤ@BjhƪBeowulfsΤݨSLBƹB
   ܥdMùAҦΤݪ覡OqAݡBSwݩάOǦCݸg
   LݳsnJA]ΤݦӨAqqs~nJqάOq~Yq
   nJΤݬOSnAΤݳq`OϥΨpIP}AҦpq10.0.0.0
   10.0.0.8άO192.168.0.0192.168.0.16]ѨRFC 1918 [7]
   http://www.alternic.net/rfcs/1900/rfc1918.txt.html). q`ߤ@nΨ
   Gid~sOAݡAϥγoMqs̱`kOiJ
   AݡAάOqӤHu@ϥtelnetλݵnJAݡC@iJAݡA
   Ϊ̥iHsMsĶL̪{A]iHbqsΤݤWҰʦ{Cjh
   ƱΪCOWObߤWΨӰ業pAMbH̤ϥΤu@gɶA
   ϥζmCPUCӳq`BeowulfMΨӥpAåBoǥpⰵ̨Τ
   AQΥqsեMKOnغcBeowulf]ѸnįA
   åBBeowulfH@س@tΪLHAܮeϥΪ̱NBeowulfsݧ@O@x
   pΤu@C

4. tγ]p

   bʶRw]ƤeAҦp]pAntάOD`nA򥻤Wb]
   p@MBeowulftΦⶵw]ƪĳD : ANϥΪ`IκٹqM
   s`I覡Au@سnĳD|vTAnܪw]ơANOqTε{
   wκAPIAԲӪw]ƩMqTnQױN|bYC

   ܩʤhɭԡAX˭n]pMwA]p⪺ǡ]
   κ٬N^ܦhؤ覡Ayᦳ@²ApAQݤ@ǭIơA
   iHL`AOĳAbw]Ƴ̫᪺MweA̦n\Ū [8]iA
   ʡ]Suitability^ C

4.1 p⪺I

   `Ѥ@ǥp[򥻪ѡAoOpǩM޳NԲӴy
   zAouOp⤤PBeowulf]p̩MϥΪ̬@²C

   An]pMغcۤvBeowulfAUCYNyz\hĳDbAMwL
   {N|ܱoD`nAF]󥦪sSʡA@BeowulfWŹqiQڭ
   ҴxA@Ǧ]NoJӦҶqA@ӻApҲo誺ĳDäF
   ѡATpA@FѳoĳDAӤHݱN|A\Ne{C
   `Ǫ@ɡABzt׬Oߤ@̭n]Ab檺@ɤABz
   tץuOMwӨtήįMįqƭӦ]@C

4.2 p⪺k

   pinXAqϥΪ[IAҼ{CuIܭnA
   UӪ`մѥpk[IAëXBeowulfOݩءC

  n@HWBz?

   ^oӰDOܭnAΤKCPU]ѳBznť_ӦGIΤ
   MXڤW]OoˡCLOweb serverBdatabaseBrendering program
   άOproject schedulerHB~CPUi঳UCƭȼSpHy
   ʤOǽXάOdata mining applicationAboǪpUAB~CPUO
   nATAhBziHΨӸѨMhDC

   UӪDq`OuڻݭnGΥ|CPUHڥiHt986X{Cv
   AUCXӭ]iH^oӰD:
    1. ѩϥΦhu@~tΡAqiHPɰܦhƱAun@HWC
       CPUNiHF̦۵MơC
    2. BztרCQKӤNW[@AOOMwЪtשOHܤ
       aA̪t׼W[aèSCPU֡Aڭ̥OoAjhƪγn鳣
       QΨcacheH~OMwСAƬOiH\oǭ@ؤk
       C
    3. wpb2005~ABztױN|ACQKӤNW[@AnF
       oش[tתͶաA٦\hêC
    4. piH2500tתɡ]ɧ֡^Aoݰ檺ε{
       CoشɬOLka@BzAYϬOg@רϥίSO]pWֳB
       zWŹqAp]OΦhBHoCPUҲզC

   pA]Jp⭭]computer bound^άOXAJ]I/O bound
   ^ӻݭntסAOȱoҼ{kA]piHܦh覡Aa
   ѨMADNnҳ\hnܡAoǧܷ|YvTε{i
   BįMAҪ᪺ɶB믫HΪC

   bڭ̤Fѥp⪺޳NeAڭ̥ݬݼxupD
   XbejƪsC

  p⪺ө

   QQݤ@dxeKxPɨϥΦȾjөA]CӦȾNO@
   CPUACӫȤHNO@ӹq{Aq{jp]u@h^NOC
   ȤHIh֡AUөҧ@񪺤覡NOnp⪺[C

  u@~t

   u@xȥx}A@uBz@ӫȤHC

   d : MS DOS

  hu@~t

   u@xȾ}AO{b@Bz@ӫȤHI@AMᲾU
   ȤHABzLI@ACӤHGPɳbʡApSLHb
   AܧִN|AC

   d : UNIXAϥγ@CPUNTC

  hCPUBhu@~t

   {bڭ̱NLȾ}ACӫȤH@xȾAȡAoɱƶ
   ʦaܧ֡Ao٬SMPX٦h{CMB~Ⱦ}AO
   Lu@xȾM@ӫȤHC

   d : UNIXAϥΦhCPUNT

  huhCPU]thread^

   pNAIة}ӡAhxȾPɨϥΰObAANiH֤@IC
   ڭ̱o]ARFܦhFA]Ab}تɶѦhxȾ
   v^ӡAzפWAAiHHeNANOȾxơCȭݭno
   LppɡAL̥iHzLͩ[LȾAܧ֦a洫L̩һݭn
   TAL̬ƦܥiHLȾAMݭnơAϱou@֨ǡC
   Lצp٬OǭA]NOoabUӦaiHĦamh֥x
   C

   Amdalswߤ]ε{W֪tױNb`ǵ{̺CC

   d GNUIXάObۦPDOWhCPUNTåiHh]multi-threaded
   ^{C

  bhu@~tΤWVLCPUǻT

   FﵽįAabYSW[FKxȾA]sbedxܻ
   AȭιqܱNppiDedxAFǻ~A٥[WB~ɶt
   AOpǻɶܵuAN|yDCppnRFܦhAݭn
   ȾAoɦbϥΩҦȾӧibtפeAB~ɶtᤴ
   Ҽ{ihCɭԡAYǰөbUӨuWm@xȾACӦȾ
   NuzLqpôAoɥ̩ҦbmNnFC

   dҡGhxUNIXΦhCPUNTAibP@iDOγ\hDOWA
   pôC

   WzMǡA省tΪӻAOyzA
   @CPUǻOĳDC

4.3 p⪺[c

   p⪺kM[cNbU`СAMyzN|ܼsxAO]HF
   Beowulf]p@ǬĳDC

  w[c

   bwWGذ򥻪qG

    1. ۦOAiH洫T]Beowulf qs^C
    2. @ɰOAzLOǻơ]SMP^C

   嫬BeowulfOѤ@sCPUզAzLtAӺsAҥH٬ۦ
   OC4 way SMPO@x@ɰOAiΨӧ@pA檺
   γnzL@ɰOǻơCHqc⩱AۦO]W
   Ȧsb^bCPUƶqWiHܦhAO@ɰOѩO骺YACPU
   ƥجOC

   Oshx@ɰOOi檺AoǲVX@ɰOϥΪ̬
   _ӴN@xjSMPAg`٧@q]NUMAAnon uniform memory accessA
   DðOnJ^A]ϥΪ̬ݨ쪺O@jOAѩҦCPU@ɡA
   ۦUؤP]latencies^CbYص{פWAqUӦۦ@
   O餧O۶ǻTC

   SMP@ۦO骺p`IAñN̳s_ӬOi઺C嫬
   Ĥ@DOiHGΥ|CPUAϥγoqq`iHC骺
   ALinuxƧǨMwp@ɳoCPUAboӶqAϥΪ̵Lkwҭn
   u@ѭCPUtdAOϥΪ̥iHPɰGӤۤz{AάO@
   {]threaded processes^AçƱį@CPUtΦnC

  nAPI[c

   򥻤WGؤ覡iHb{{XPɪSʡG
    1. bBzϥΰTǰeC
    2. ϥΨtΪ

   OؤkAOoGجO̱`ΪC@I`NANOPɤݭnѩ
   hwұATMiHbSMPBqSMPMqsWϥΡApWҭz
   AįMiʤOnĳDC

  T

   qv[IӬݡATǻ޳NXۦO饭q]pL{
   AݭnƮɡATQnDݭnATMtܦTǻ
   Ҧ]CTǻ۷²A@ǸƩMǻتa]Bz^
   C@`TǻAPI [9]PVM  [10]MPIATǻiHb@xSMP
   MqsWĦaϥκMTA۹ATǻb@xSMPWnBOA
   Ӥ@pMwnϥιqsAuݭnaW[C

  

   @~tκoiDn]@ɰO骺SMP]p\{PɪiH
   ܧ֦a@ɰOǻMOPBAbSMPtΰaAoO]ǻ
   OzL@ɰOAѩoӭ]AϥΪ̥NaƱq骺ƤW
   ߥXӡA_h{NॿTaC۹TǻA]ƬOѦ{Ҧ@
   ɡAjqƫiHקKALinux䴩POSIXADbXi@
   xSMPH~AoO]ƬOCPUҦ@ɡAְ{@PʪĳD|ytC
   NĦaXihxSMPq޳NAOqD`ӮɡAåB
   LinuxO䴩CNغcbTǻWAgHL ( [11]
   (http://syntron.com/ptools/ptools_pg.htm))AOMTǻb@_N
   oĪGΡC

   HUOMį঳T
          SMPį      qsį     ҼW[{

          ---------------     ----------------         ----------------
T          n                                

                            }*            }*

* nDQq޳NC

  γn[c

   FbhCPUUa]ε{AbPɳQ}ӡA@ӼзǪCPU
   γn餣|񥦦bhBzU]֡AǤuMsĶiHoؤu@A
   ON{ƥiOHYΡCoM{Aǵ{ܮe
   ơAǬOקxAǱΨalgorithmʦӮڥiవ쥭
   C

   bQ׳nĳDeAnЦXAʪ[C

4.4 XAʡ]Suitability^

   p⪺jhưDۦPסG

   Mε{C

   bڭ̶iJoĳDeA@ӫD`nPIݭnMXP
   ]CONCURRENT^M]PARALLEL^tʡAFKQװ_Aڭ̥
   wqoG[G

   {PɪOiHWӧOp⪺C

   {檺OǥiHbP@ɶOѤPBz檺Pɳ
   C

   G̬۲aOD`nA]PɬO{SʡAӦĪhO
   SʡAzQpUA֪įF]󥭦Aį઺]b
   p`IǻtשM]]|X{bSMPγnADnӦ۩
   ְ{]cache^@Pʡ^CjhƳqΪծM󳣦ܰʡA
   M𳣤O~VAoDiH٧@ө桧]obviously
   parallel^ALγnNS²Aa{Pɳi
   |y{]oCALPɳұo쪺įC²满AǻҪO
   ɶq٪pɶvA_hPɳ|ܤg١C

   {]p̪u@OnMw{ǦPɪӥơAǫhnCoN
   |Mwε{įAUϹ{]p̰F`C


ε{
ʤ

         | *
         | *
         | *
         | *
         |  *
         |  *
         |  *
         |  *
         |    *
         |     *
         |      *
         |        ****
         |            ****
         |                ********************
         +-----------------------------------
                     ǻɶ / pɶ

   b@ӲzQqAǻMpG̬۷APɳiHơAܤ
   aAuꪺq]]A@ɰO^WϩҥܡC]pBeowulf
   AϥΪ̥cOoϡA]@SwqAįMwǻɶMp
   ɶAε{iiHbUإqWAOOҤ@w|
   ΪįC

   @ӻASJiʤSį઺{C

   W٦LĳDAįMǻMpAܤȤY@
   ܤ@wiHįCܳBztסAܶǻtסA{iH
   SıʪĪGC|ҨӻACPUt״ɤGΤTAOǻtסAi
   ϩp{nĪGA`ǰ󦳮ġAthat is, it may now be
   faster to run the previousloy PARALLEL parts as SEQUENTIALCi@BA
   aSĲvAiHϩp{LkF̧֪tסA]Aǥ
   W[֪BzApiH{CUӡ]psCPUΥ̧֪tװ
   {^C

   ɯŨ֪CPUiϦӭCp{tסC

   ]ADpO_iHΥwҡApp{b@SwqW
   iAʦ۷{ѡApD۷hĳDA]ACPUtסBsĶBT
   ǻAPIBCЪ`NAu{ε{OApX{
   pq̭AOpDoӳǻOASwtΡA
   Ҫ᪺ɶiLk{LkĦaơC

   ̫n@Ǳ`oͪ~[Aڭ̸g`G@ӵ{QơAOuꪺ
   άO{Pɳ~QơAqHWA@ӵ{èSơA
   ƪįqOSʡC

4.5 gMӥn

   @pMwݭnpAåBQn]pM[]@MBeowulfAھڤWzQ
   ӫҤ@ǩMpε{ĳNOӫܦnDNC

   @ӨAƩpG
    1. []Ĥ@BeowulfAMQkpε{ӾAoMtΡA
       ̦bBeowulfW]@Ӳ{ε{]`NWzҴi
       ʩMį઺ĳD^C
    2. Ҥ@UpNnbpBeowulfW]ε{AMpw
       MnOpһݭnC

   رΩpnҼ{į઺ĳDA@ӨATƩpݭnG
    1. Mwp{PɳC
    2. pįC
    3. yzX{PɳC

   ڭ̤@@ԭzC

  Mwp{Pɳ

   oӨBJq`OnҼ{Np{ơAp󥭦ƱNbĤGӨBJA{bp
   nMwƪsʡC

   >qھާ@רӬݡAε{i঳GاκAPɩʡGp]Ʀrp
   ^MI/O]Ʈw^CMjΡApMI/OPɩʬOۤ檺
   ]orthogonal^AOǵ{O̳ݭnAǤu{iH{{
   PɩʪRAoǤujOFortran{y]pAϥFortrany
   زzѡGܦHӡAjƦrp{OFortranygAt
   ~FortranOܮeRCpSiQΪuAoӨBJ{sε{
   NOD`xC

  pį

   Su{UAoӨBJNݭn_aտ~AάOھ¦gӲq
   CppߥؤwgSwε{AQnMwoε{OCPU]
   p⭭^A٬OwЭ]I/O^AھکpݨDApBeowulfi|
   ܤjtC|ҨӻA@ӭp⭭Diݭn@ǫܧ֪CPUAtB
   C𪺺AO@I/ODiݭnCCPUMtAӺC

   oӫĳOjhƤHıoܳYA@몺QkOBzVֶVnAoQkMO
   TAOpnwgOAڱάOnbgOo
   ̰į઺tΡA@I/ODAw{Wh]
   @Eadline-Dedkovwߡ^iѧQΡC

   MۦPֿnCPUįƪqӨA@Ӿ֦CBz]@Ӹ
   CBzǿ^I/ODɪε{N|ΪįC

   nҩoWhN|WX󪺽dApYıoAiHUogפ I/O
   Dε{bqWįҶq]Performance Considerations for
   I/O-Dominant Applications on Parallel Computers^ (Postscript 榡
   109K ) [12](ftp://www.plogic.com/pub/papers/exs-pap6.ps)

   @pwgMw{PɩʬOاκAApNݭnp@BzܡA
   įN|pCѨ [13]Software nu㪺yzC

   YSoǤuApiHzLoӨBJAۦҶqApCpOHpA
   ƶǿhHpANOܦnHAOOAppN16p
   ɶ32AӨCƶǻݭnƬAƱNܱoYC

  yzX{Pɳ

   XؤkX{PɳG
    1. Ta
    2. ta

   oG̥DntObTaƨMϥΪ̡AtaƨMsĶ
   C

  Tk

   @ǰ򥻪kOnaϥΪ̱MqӭקlXAϥΪ̥ϥ
   [14]PVM  [15]MPIb{W[TA  OϥPOSIX]LצpncO
   ߤALkbSMPDOʡ^C

   TkbMW̬xAϥΪ̳q`bзFortran 77 C/C++
   lX[J禡CMPI{w[J@Ǩ禡Aϱo@Ǽзǥke]
   ҦpM禡^At~٥iHϥΤwgQƪзǵ{wCLצp
   nNiʩMįधŨcOߤC

   qvWzѡAjhƼƭȭp⪺{OFortranyҼgA]b
   p⤤AFortranO̤j䴩]uB{w^C{bjhƪ{]p
   ̳OCyAάO{CyiHa֡AӥCysg{s
   Fortranε{CѩCy̱qΪyACy֥iOT
   AO]@ǭnʳCCyϥΫС]pointer^|Ƭʪ
   MwקxA۰ʤRФ]OקxApp{Fortran{A
   BӷQnܦ{XdUn⥦নCyC

  tk

   tkOϥΪ̩@ǩΥۦ業AνsĶ@ؤkAҦp
   FORTRAN 90A įFrotran (High Performance FortranAHPF), jqP
   ]Bulk Synchronous ParallelABSP)٦\hboiC

   tknDϥΪ̹{PɪSʴѤ@ǸTAOsĶp
   󥭦aPɩʰX\hMwAoǤkѬYص{תiʩMįA
   O@ӥsĶAMS@ӳ̦nkӴyzPɩʪDC

5. Beowulf귽

5.1 _I

     * Beowulf mailing list. unqllH [16]
       beowulf-request@cesdis.gsfc.nasa.gov Abl󤺮eW subscribe C
     * Beowulf  [17]http://www.beowulf.org
     * Extreme Linux [18]http://www.extremelinux.org
     * bRedHatWExtreme Linux n [19]
       http://www.redhat.com/extreme

5.2 

     * Beowulf HOWTO̷s [20]
       http://www.sci.usq.edu.au/staff/jacek/beowulf.
     * []@Beowulft [21]
       http://www.cacr.caltech.edu/beowulf/tutorial/building.html
     * Jacek Beowulf s [22]
       http://www.sci.usq.edu.au/staff/jacek/beowulf.
     * Beowulfw˺@HOWTO [23]
       http://www.sci.usq.edu.au/staff/jacek/beowulf.
     * LinuxpHOWTO [24]
       http://yara.ecn.purdue.edu/~pplinux/PPHOWTO/pphowto.html

5.3 פ

     * 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. [25]
       http://www.beowulf.org/papers/HPDC96/hpdc96.html
     * 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. [26]
       http://www.beowulf.org/papers/AA97/aa97.ps
     * 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. [27]
       http://www.beowulf.org/papers/IPPS96/ipps96.html
     * 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. [28]
       http://www.beowulf.org/papers/HPDC95/hpdc95.html
     * 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. [29]
       http://www.beowulf.org/papers/ICPP95/icpp95.html
     * Papers at the Beowulf site [30]
       http://www.beowulf.org/papers/papers.html

5.4 n

     * PVM - Parallel Virtual Machine [31]
       http://www.epm.ornl.gov/pvm/pvm_home.html
     * LAM/MPI (Local Area Multicomputer / Message Passing Interface [32]
       http://www.mpi.nd.edu/lam
     * BERT77 - FORTRAN conversion tool [33]
       http://www.plogic.com/bert.html
     * Beowulf software from Beowulf Project Page [34]
       http://beowulf.gsfc.nasa.gov/software/software.html
     * Jacek's Beowulf-utils [35]
       ftp://ftp.sci.usq.edu.au/pub/jacek/beowulf-utils
     * bWatch - cluster monitoring tool [36]
       http://www.sci.usq.edu.au/staff/jacek/bWatch

5.5 Beowulf

     * Avalon O 140xAlpha BzզA36GBOAiO̧֪Beowulf
       AptװF47.7GflopsAb@ɫeʧ֪ƦW114C
       [37]http://swift.lanl.gov/avalon/
     * Megalon-A Massively PArallel CompuTer Resource (MPACTR)14xӤH
       qզACxq|Pentium Pro200BzA`@14GBO
       [38]http://megalon.ca.sandia.gov/description.html
     * HIVE - Highly-parallel Integrated Virtual Environment Ot@Mt
       BeowulfWŹqA64ӭp`IA@p128BzA4GBOC
       [39]http://newton.gsfc.nasa.gov/thehive/
     * Topcat O@MpA`@16BzM1.2GBOC [40]
       http://www.sci.usq.edu.au/staff/jacek/topcat
     * MAGI cluster OӦ쪺A\h쪺sC [41]
       http://noel.feld.cvut.cz/magi/

5.6 L쪺

     * SMP Linux [42]http://www.linux.org.uk/SMP/title.html
     * Paralogic - Buy a Beowulf [43]http://www.plogic.com

5.7 v

     * Legends - Beowulf [44]http://legends.dm.net/beowulf/index.html
     * The Adventures of Beowulf [45]
       http://www.lnstar.com/literature/beowulf/beowulf.html

6. lX

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&

References

   1. mailto:jacek@usq.edu.au
   2. mailto:deadline@plogic.com
   3. file://localhost/tmp/zh-sgmltools.19164/Beowulf-HOWTO.txt.html#history
   4. http://sunsite.unc.edu/LDP/HOWTO/NIS-HOWTO.html
   5. http://sunsite.unc.edu/LDP/HOWTO/NFS-HOWTO.html
   6. file://localhost/tmp/zh-sgmltools.19164/Beowulf-HOWTO.txt.html#sigmasqrt
   7. http://www.alternic.net/rfcs/1900/rfc1918.txt.html
   8. file://localhost/tmp/zh-sgmltools.19164/Beowulf-HOWTO.txt.html#suitability
   9. http://www.epm.ornl.gov/pvm
  10. http://www.mcs.anl.gov/Projects/mpi/index.html
  11. http://syntron.com/ptools/ptools_pg.htm
  12. ftp://www.plogic.com/pub/papers/exs-pap6.ps
  13. file://localhost/tmp/zh-sgmltools.19164/Beowulf-HOWTO.txt.html#software
  14. http://www.epm.ornl.gov/pvm
  15. http://www.mcs.anl.gov/Projects/mpi/index.html
  16. mailto:beowulf-request@cesdis.gsfc.nasa.gov
  17. http://www.beowulf.org/
  18. http://www.extremelinux.org/
  19. http://www.redhat.com/extreme
  20. http://www.sci.usq.edu.au/staff/jacek/beowulf
  21. http://www.cacr.caltech.edu/beowulf/tutorial/building.html
  22. http://www.sci.usq.edu.au/staff/jacek/beowulf
  23. http://www.sci.usq.edu.au/staff/jacek/beowulf
  24. http://yara.ecn.purdue.edu/~pplinux/PPHOWTO/pphowto.html
  25. http://www.beowulf.org/papers/HPDC96/hpdc96.html
  26. http://www.beowulf.org/papers/AA97/aa97.ps
  27. http://www.beowulf.org/papers/IPPS96/ipps96.html
  28. http://www.beowulf.org/papers/HPDC95/hpdc95.html
  29. http://www.beowulf.org/papers/ICPP95/icpp95.html
  30. http://www.beowulf.org/papers/papers.html
  31. http://www.epm.ornl.gov/pvm/pvm_home.html
  32. http://www.mpi.nd.edu/lam
  33. http://www.plogic.com/bert.html
  34. http://beowulf.gsfc.nasa.gov/software/software.html
  35. ftp://ftp.sci.usq.edu.au/pub/jacek/beowulf-utils
  36. http://www.sci.usq.edu.au/staff/jacek/bWatch
  37. http://swift.lanl.gov/avalon/
  38. http://megalon.ca.sandia.gov/description.html
  39. http://newton.gsfc.nasa.gov/thehive/
  40. http://www.sci.usq.edu.au/staff/jacek/topcat
  41. http://noel.feld.cvut.cz/magi/
  42. http://www.linux.org.uk/SMP/title.html
  43. http://www.plogic.com/
  44. http://legends.dm.net/beowulf/index.html
  45. http://www.lnstar.com/literature/beowulf/beowulf.html
