(1) MS MPI MPI 2 标准的一个实现

(2) MS MPI 尽可能地做到了与 MPICH2 的兼容

(3) 使用 WCCS 的时候不一定非得使用 MS MPI, 可以使用任何 MPI stack ,但是那样就不能使用 MS MPI 的安全功能了。

a. 我对文档中的所谓的 U can use any MPI stack U choose 表示怀疑 .

b. 这里提到的 MS MPI 的安全功能是指 WCCS 可以提供加密的通信 channel, 和对发送接收的数据进行加密的功能

c. 这样的加密算法必然是可逆的,哈

2. MS MPI Features

(1) MS MPI 包括了 160+ API 和用来执行程序的 mpiexec.

(2) 支持 C, Fortran77 Fortran90 (But how about C++??)

(3) Visual Studio 2005 可以提供 MS MPI 的并行编程 / 运行 / 调试环境。

注:据说这个调试环境可以自动连接每个节点的进程进行单独操作和观察。 //admire. 当然调试环境的 VS 要能直接访问计算节点。

(4) 支持通信域和用户自定义的通信域 ( 后者在 MPI 1 中是不支持的 )

(5) 支持 collective 操作

(6) MPI 对通信的 buffer 支持得很好,支持内建的数据类型和组合数据类型 ( 包括连续的和非连续的 ) ,不知道是不是说 MS MPI 在这些方面也做得很好。

(7) Mpiexec 使用类似 job submit /numprocessors:x /runtime:x:x mpiexec a.exe 这样的命令来提交任务。

(8) MS MPI MPICH2 多了对任务进行安全管理的功能。

(9) 易于从别的 MPI 实现的并行程序移植到 MS MPI 环境,无需重写代码。

3. MPI 实现

最初为分布式系统设计的 MS-MPI, 现在也支持共享内存的系统。

(1) 硬件与协议

MS MPI 使用了 MS WinSock Direct 协议。 MS MPI 可以使用 Windows 2003 Server 支持的任何以太网互联协议,也支持 InfiniBand Myrinet

GigE 使用 RDMA Remote Direct Memory Access , InfiniBand 有自己的 WinSock Provider Ethernet 则使用 TCP/IP 协议栈。但最终都要统一到 WinSock 的接口而被 MPI 调用。

(2) 支持的网络拓扑结构 ( / 多网卡,比较无聊的描述 )

a. 每个节点上三块网卡: public, private; high-speed MPI network.

b. head 节点上三块,其他节点上两块网卡: head 节点提供 NAT, 计算节点拥有 private high-speed MPI network.

c. 每个节点上两块网卡 : public; private network.

d. head 节点上两块网卡,计算节点上一块网卡:头节点提供 NAT

e. 每个节点一块网卡: 所有节点以 public network 连接。不支持远程安装。

4. 安全性问题

(1) MS MPI 使用了 MS Active Directory 来进行用户验证,而 MPICH2 要求使用 root 用户来运行作业 ( 区别于提交,但我对这点还是有疑问 )

(2) 数据和用户验证通过加密的可信的通道进行。 head 节点监控所有的进程。

[@more@] 来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/9650775/viewspace-923208/,如需转载,请注明出处,否则将追究法律责任。

广播电视节目制作经营许可证(京) 字第1234号 中国互联网协会会员