MIMD系统
多指令多数据流(MIMD)系统:同时支持多个指令流在多个数据流上操作.MIMD系统包括一组完全独立的核,每个核都有自己的控制单元。
MIMD系统有两种主要的类型:共享内存系统和分布式内存系统。
分布式内存系统:每个处理器有自己私有的内存空间,通过互连网络通信(显式通信);
共享内存系统:处理器通过互连网络与内存连接,处理器之间隐式通信,共享内存。
分布式内存
分布式内存编程API最广泛使用的是消息传递;分布式内存程序通常执行多个进程而不是多个线程。
消息传递的API(至少)要提供一个发送(send)和一个接收(receive)函数,进程之间通过它们的序号(rank)相互识别。
当并行程序需要输入输出时,遵循以下规则:
1.只有进程0可以访问stdin;
2.所有进程都能够访问stdout和stderr;
3.只有一个进程