1.1.1 共享内存多核系统与分布式内存系统之间的区别
分布式内存的计算机系统由很多微处理器组成,每个微处理器都有自己私有的内存,如图1-2所示。每个微处理器都可以位于不同的计算机上,而且计算机之间可以有不同类型的通信信道。例如,有线网络和无线网络都可以是通信信道。如果运行在一个微处理器上的作业需要远程数据,那么这个作业就必须通过通信信道与远程微处理器进行通信。消息传递接口(Message Passing Interface,MPI)是运行在分布式内存计算机系统上的并行应用程序所使用的最流行的通信协议。使用C#和.NET?Framework时,可以配合MPI来充分发挥共享内存多核系统的特性。不过,MPI主要关注的是帮助开发在集群上运行的应用程序。因此,在共享内存的多核系统中,MPI会带来没有必要的额外开销,因为所有的内核都可以访问内存,所以没必要发送消息。