我們經常說到的多核處理器,是指一個處理器(CPU)上有多個處理核心(CORE),共享內存多核系統我們可以將CPU想象為一個密封的包,在這個包內有多個互相連接的CORES,每個CORE共享一個主存,所有的處理核心都可以訪問主存。
分布式內存系統是由多個處理器(CPU)組成,每個處理器可以位於不同的計算機上,並且都有自己私有的內存。MPI(message passing interface)是運行在分布式計算機系統上的並行應用程序所使用的最流行的通信協議。在分布式計算機系統中,當某個處理器上的作業需要遠程數據時,這個作業需要通過通信信道與遠程處理器進行通信(此時,就用到了MPI)。因此MPI主要關注的是幫助開發在集群上運行的應用程序。
在共享內存的多核系統中,MPI會帶來沒有必要的額外開銷,因為所有的內核都可以訪問主存,所以沒有必要發送消息。