商品网络(以太网,ATM,etc.)
Google云计算数据中心
并行计算机发展食物链
并行计算的性能分析
2、并行效率
MPI产生背景
• 并行程序设计方式:
设计全新的并行语言 扩展串行语言语法,使其支 持并行特征 为串行语言提供可调用的并 行库
实 现 难 度
• MPI(Message
Passing
• 并行算法设计(略) • 并行编程环境
系统环境:常见主流Unix/Linux操作系统 编程语言:Fortran 77/90/9, C/C++
并行计算机的分类
并行计算科学中主要研究的是空间上的并行问题。 空间上的 并行导致了两类并行机的产生,按照Flynn的说法分为:单 指令流多数据流(SIMD)和多指令流多数据流(MIMD)。 我们常用的串行机也叫做单指令流单数据流(SISD)。
… 并行代码; …
MPI_Fainalize();
只能有串行代码;
一个简单的MPI程序 — Hello.c
运行: • 启动机器集群中的3个机器节点: • 编译Hello.c程序: • 执行Hello程序:
注意:可执行程序Hello.o必须同时位于3个机器节点的test3目录下。
MPI消息
• 消息(message): MPI程序中在进程间通信所传送 的所有信息称为消息。
简单消息发送与接收案例— HelloWord.c
#include “mpi.h” main(int argc, char* argv[]) { int p; int my_rank; MPI_Status status; char message[100]; MPI_Init(&argc, &argv); /*进程数,该变量为各处理器中的同名变量 */ /*我的进程ID,存储也是分布的 */ /*消息接收状态变量,存储也是分布 */ /*消息buffer,存储也是分布的 */ /*初始化MPI*/