看你是干什么用的。
总体而言linux 的cluster 要比windows 的cluster性能好一些。
如果你们实验室的总体开发实力比较强,那么你可以搭建linux的并行cluster。
如果你们对linux不太熟那么建一个linux cluster只是一个痛苦的开始。应为从开发调试到版本管理,配置布置都是麻烦事。好处是锻炼人。
另外一个选择是搭建基于windows的并行环境。我们当时就是使用windows MPI 搭建的并行环境。因为大多人对windows下的开发环境比较熟悉。为了项目的进度牺牲一点性能也是可以的。
下面我提供一些我做并行时知道的和用到的资源,希望有用。
windows 下的并行环境搭建
1. Download MPICh2
http://www-unix.mcs.anl.gov/mpi/mpich/
有两个版本可以下载一个是MPICH.nt.1.2.5
另外一个版本是MPICH2.0
建议下载mpich2较前面一个版本稳定一些。
1.1运行配置实例:
winxp+mpich2
1. 各台机器上要有相同帐户和密码,且大小写正确,不能是空密码,最好不是guest权限
2. 关各机防火墙
3. wmpiregister.exe 注册那个各机相同的账号
////////////////////////////
Sample 测试
1.单机测试 只需要一台机器即可
mpiexec -np -localonly 4 cpi.exe
2.联机测试
设自己的机器叫node1设个共享目录sharefolder权限设置为允许 everyone 完全控制
sharefolder含cpi.exe文件
mpiexec -hosts 2 node1 2 node2 2 \\node1\sharefolder\cpi.exe
这个测试是在node1 node2 上分别开2个进程运行 \\node1\sharefolder\cpi.exe
mpiexec -hosts 2 node1 2 node2 2 -map z:\\node1\sharefolder z:\cpi.exe
这个测试是在 把 node1 的 sharefolder 目录映射成网络硬盘 z: 然后再在node1 node2 上分别开2个进程运行 cpi.exe ,程序运行完毕后取消网络硬盘 z: 映射网络硬盘的方法对mpi里文件操作有好处
使用 configfile
mpich2_config.txt 文件内容为 -hosts 2 node1 2 node2 2 \\node1\sharefolder\cpi.exe
mpiexec -configfile mpich2_config.txt
wmpiexec.exe比以前的图形界面稳定多了
1.2具体的开发环境的配置见《MPICH 并行程序设计环境简介.pdf》
Linux 下的并行环境搭建
1.下载MPI
LAM-MPI是一个比较好的MPI实现你装redhat 或者federal 或者SUSE的时候,full install的时候都已经安装了。
如果没有安装去下面下载
2.配置cluster
Using Linux to build a typical Cluster System for High Performance Computing
http://web.csie.chu.edu.tw/~cs87668/cluster.htm
只不过这篇文章使用Linux下的MPICH进行配置的。一般来说MPICH Linux的性能略微逊于LAM-MPI
3.配置开发环境
配置Linux下的开发环境就比较麻烦了。
建议使用Eclipse +Total View
http://www.etnus.com/TotalView/MPI.html
论坛
http://www.lasg.ac.cn/cgi-bin/forum/forums.cgi?forum=4
工具
http://www.intel.com/cd/software/products/asmo-na/eng/cluster/index.htm
http://www.intel.com/cd/software/products/asmo-na/eng/cluster/mpi/index.htm
http://www.lsc.nd.edu/research/PIPT/
并行的调试如果是windows下的调试建议使用windbg remote 或者vs2003或者2005进行。
2. 一篇很好的 在Windows 环境下 安装 MPICH 的文章。“MPICH 并行程序设计环境简介”
3. Windows Cluster Server 2003是一款支持并行的 操作系统,但需要 硬件是 64位CPU