当前位置:Linux教程 - Linux资讯 - Beowulf 中文HOWTO

Beowulf 中文HOWTO

被平行化的标准程式库。无论如何要将可携性和效能之间的平衡牢记心中。  从历史上的理由,大多数数值计算的程式是用Fortran语言所写的,因此在平行计算中,Fortran是受最大的支援(工具、程式库等)。现在大多数的程式设计者都是用C语言,或是认为C语言可以执行地更快,而用C语言重新改写现存的Fortran应用程式。由於C语言最接近通用的机器语言,C语言较快可能是正确的,但是它也有一些重要的缺陷。C语言使用指标(pointer)会让资料相关性的决定极度困难,自动分析指标也是极度困难,假如□有现成的Fortran程式,并且未来想要变成平行程式□千万不要把它转成C语言。  隐含的方法 隐含方法是使用者放弃一些或全部放弃自行平行,改用编译器的一种方法,例如 FORTRAN 90, 高效能Frotran (High Performance Fortran,HPF), 大量协同平行(Bulk Synchronous Parallel,BSP)还有许多正在发展当中。  隐含方法仍要求使用者对於程式同时的特性提供一些资讯,但是编译器必须对如何平行地执行同时性做出许多决定,这些方法提供某种程度的可携性和效能,但是对一个平行编译器,仍然没有一个最好的方法来描述同时性的问题。  --------------------------------------------------------------------------------      -------------------------------------------------------------------------------- 5. Beowulf资源 5.1 起点  Beowulf mailing list. 只要电子邮件寄到 [email protected] ,在邮件内容填上 subscribe 。  Beowulf 网页 http://www.beowulf.org  Extreme Linux http://www.extremelinux.org  在RedHat网站上的Extreme Linux 软体 http://www.redhat.com/extreme  5.2 文件  Beowulf HOWTO最新版本 http://www.sci.usq.edu.au/staff/jacek/beowulf.  架设一个Beowulf系统 http://www.cacr.caltech.edu/beowulf/tutorial/building.Html  Jacek的 Beowulf 连结 http://www.sci.usq.edu.au/staff/jacek/beowulf.  Beowulf安装维护HOWTO http://www.sci.usq.edu.au/staff/jacek/beowulf.  Linux平行计算HOWTO 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. 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. 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. 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. 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. http://www.beowulf.org/papers/ICPP95/icpp95.html  Papers at the Beowulf site http://www.beowulf.org/papers/papers.html  5.4 软体  PVM - Parallel Virtual Machine http://www.epm.ornl.gov/pvm/pvm_home.html  LAM/MPI (Local Area Multicomputer / Message Passing Interface http://www.mpi.nd.edu/lam  BERT77 - FORTRAN conversion tool http://www.plogic.com/bert.html  Beowulf software from Beowulf Project Page http://beowulf.gsfc.nasa.gov/software/software.html  Jacek's Beowulf-utils FTP://ftp.sci.usq.edu.au/pub/jacek/beowulf-utils  bWatch - cluster monitoring tool http://www.sci.usq.edu.au/staff/jacek/bWatch  5.5 Beowulf机器  Avalon 是由 140台Alpha 处理器组成,36GB记忆体,可能是最快的Beowulf机器,计算速度高达47.7Gflops,在全世界前五百快的机器中排名第114。 http://swift.lanl.gov/avalon/  Megalon-A Massively PArallel CompuTer Resource (MPACTR)由14台个人电脑组成,每台电脑内有四颗Pentium Pro200处理器,总共有14GB记忆体 http://megalon.ca.sandia.gov/description.html  HIVE - Highly-parallel Integrated Virtual Environment 是另一套高速的Beowulf超级电脑,有64个计算节点,共计128颗处理器,4GB记忆体。 http://newton.gsfc.nasa.gov/thehive/  Topcat 是一套比较小型的机器,总共有16颗处理器和1.2GB记忆体。 http://www.sci.usq.edu.au/staff/jacek/topcat  MAGI cluster 是个有趣的网站,内有许多有趣的连结。 http://noel.feld.cvut.cz/magi/  5.6 其他有趣的网站  SMP Linux http://www.linux.org.uk/SMP/title.html  Paralogic - Buy a Beowulf http://www.plogic.com  5.7 历史  Legends - Beowulf http://legends.dm.net/beowulf/index.html  The Adventures of Beowulf http://www.lnstar.com/literature/beowulf/beowulf.html         -------------------------------------------------------------------------------- 6. 原始码 6.1 sum.c  /* Jacek Radajewski [email protected] */ /* 21/08/1998 */ #include  #include  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 [email protected] */ /* 21/08/1998 */ #include  #include  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 [email protected] # 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& --------------------------------------------------------------------------------
[1] [2] 下一页 

(出处:http://www.sheup.com)


上一页 [1] [2]