1.1.1 共享內(nèi)存多核系統(tǒng)與分布式內(nèi)存系統(tǒng)之間的區(qū)別
分布式內(nèi)存的計(jì)算機(jī)系統(tǒng)由很多微處理器組成,每個(gè)微處理器都有自己私有的內(nèi)存,如圖1-2所示。每個(gè)微處理器都可以位于不同的計(jì)算機(jī)上,而且計(jì)算機(jī)之間可以有不同類型的通信信道。例如,有線網(wǎng)絡(luò)和無線網(wǎng)絡(luò)都可以是通信信道。如果運(yùn)行在一個(gè)微處理器上的作業(yè)需要遠(yuǎn)程數(shù)據(jù),那么這個(gè)作業(yè)就必須通過通信信道與遠(yuǎn)程微處理器進(jìn)行通信。消息傳遞接口(Message Passing Interface,MPI)是運(yùn)行在分布式內(nèi)存計(jì)算機(jī)系統(tǒng)上的并行應(yīng)用程序所使用的最流行的通信協(xié)議。使用C#和.NET?Framework時(shí),可以配合MPI來充分發(fā)揮共享內(nèi)存多核系統(tǒng)的特性。不過,MPI主要關(guān)注的是幫助開發(fā)在集群上運(yùn)行的應(yīng)用程序。因此,在共享內(nèi)存的多核系統(tǒng)中,MPI會(huì)帶來沒有必要的額外開銷,因?yàn)樗械膬?nèi)核都可以訪問內(nèi)存,所以沒必要發(fā)送消息。