消息传递,并行计算机中各台处理机通过传递消息包来实现
通信和同步的机制。
在消息传递多处理机系统中,每台处理机有各自的局部存储器和高速缓冲存储器,每台处理机只能访问自己的局部存储器,处理机间的通信通过消息传递来进行。与消息传递对应的是共享存储。
④可扩展性好。从几个或几十个结点的机群到成千上万个结点的超大型计算机,体现了消息传递的可扩展性。消息传递的主要缺点是需要编程人员进行细致的数据分布和负责消息传递的进行。编程人员必须显式实现数据分布,进程间通信和同步;解决数据依赖,避免死锁和竞争,编程复杂度比共享存储要大得多。为了获得良好的并行性能,首先要求避免或减少通信,增加数据局部性,减少不必要的同步,加细并行粒度;其次尽量保持通信与计算的交叠(部分重叠)来容忍通信,如采用非阻塞或异步的消息传递例程;最后还须减小通信的开销,如减少缓冲区拷贝次数,采用精简的通信协议等。