云計算并行計算MPI點對點四種通信模式有以下這些:
標準通信模式:進程可以隨意地發送和接收消息,與是否存在匹配的消息接收或發送進程無關。MPI自身決定是否對發送的數據進行緩存,而不是由程序員決定。由于緩存要付出代價,會延長數據通信的時間,而且緩沖區也并不總是可以得到,這樣 MPI 可以不緩存將要發出的數據,只有當相應的接收調用被執行后,并且發送數據完全到達接收緩沖區后,發送操作才算完成。標準模式可以分為兩類:阻塞式和非阻塞式。在阻塞式中,消息發送函數返回,用戶可以對消息緩沖區進行處理,不會影響已經發送的消息;接收函數返回,用戶就可以使用接收到的消息數據,主要的函數有MPI_Send( )和MPI_Recv( )。對于非阻塞通信,發送和接收函數返回后,必須調用另一類函數確保它們的正確完成,在確定發送或者接收成功前,緩沖區內的數據不一定正確,但是可以執行其他與讀取緩沖區無關的操作,因此比阻塞式通信節省時間,其主要的函數有MPI_Isend( )、MPI_lrecv( )和MPI_Wait()。
緩存通信模式:這種模式下,由用戶直接對通信緩沖區進行申請、使用和釋放,因此,緩存模式下對通信緩沖區的合理與正確性使用是由程序設計人員自己保證的。用戶可以首先申請緩沖區,然后把它提交給 MPI 作為發送緩存,用于支持發送進程的緩存通信模式。這樣,當緩存通信方式發生時,MPI就可以使用這些緩沖區對消息進行緩存,不使用這些緩沖區時,可以將緩沖區釋放。
同步通信模式:同步通信模式的開始并不依賴于接收進程相應的接收操作是否已經啟動,但是同步發送卻必須等到相應的接收進程開始后才可以正確返回。因此,同步發送返回后,意味著發送緩沖區中的數據已經全部被系統緩沖區緩存,并且已經開始發送。這樣當同步發送返回后,發送緩沖區可以被釋放或者被重新使用。
就緒通信模式:這種模式下,要求接收操作先于發送操作啟動,只有當接收進程的接收操作已經啟動,才可以在發送進程中啟動發送操作:否則,發送操作將出錯。對于非阻塞發送操作的正確返回,并不意味著發送已完成,但是對于阻塞發送的正確返回,發送緩沖區可以重復使用,不需要同步方式的等待。
回答所涉及的環境:聯想天逸510S、Windows 10。
云計算并行計算MPI點對點四種通信模式有以下這些:
標準通信模式:進程可以隨意地發送和接收消息,與是否存在匹配的消息接收或發送進程無關。MPI自身決定是否對發送的數據進行緩存,而不是由程序員決定。由于緩存要付出代價,會延長數據通信的時間,而且緩沖區也并不總是可以得到,這樣 MPI 可以不緩存將要發出的數據,只有當相應的接收調用被執行后,并且發送數據完全到達接收緩沖區后,發送操作才算完成。標準模式可以分為兩類:阻塞式和非阻塞式。在阻塞式中,消息發送函數返回,用戶可以對消息緩沖區進行處理,不會影響已經發送的消息;接收函數返回,用戶就可以使用接收到的消息數據,主要的函數有MPI_Send( )和MPI_Recv( )。對于非阻塞通信,發送和接收函數返回后,必須調用另一類函數確保它們的正確完成,在確定發送或者接收成功前,緩沖區內的數據不一定正確,但是可以執行其他與讀取緩沖區無關的操作,因此比阻塞式通信節省時間,其主要的函數有MPI_Isend( )、MPI_lrecv( )和MPI_Wait()。
緩存通信模式:這種模式下,由用戶直接對通信緩沖區進行申請、使用和釋放,因此,緩存模式下對通信緩沖區的合理與正確性使用是由程序設計人員自己保證的。用戶可以首先申請緩沖區,然后把它提交給 MPI 作為發送緩存,用于支持發送進程的緩存通信模式。這樣,當緩存通信方式發生時,MPI就可以使用這些緩沖區對消息進行緩存,不使用這些緩沖區時,可以將緩沖區釋放。
同步通信模式:同步通信模式的開始并不依賴于接收進程相應的接收操作是否已經啟動,但是同步發送卻必須等到相應的接收進程開始后才可以正確返回。因此,同步發送返回后,意味著發送緩沖區中的數據已經全部被系統緩沖區緩存,并且已經開始發送。這樣當同步發送返回后,發送緩沖區可以被釋放或者被重新使用。
就緒通信模式:這種模式下,要求接收操作先于發送操作啟動,只有當接收進程的接收操作已經啟動,才可以在發送進程中啟動發送操作:否則,發送操作將出錯。對于非阻塞發送操作的正確返回,并不意味著發送已完成,但是對于阻塞發送的正確返回,發送緩沖區可以重復使用,不需要同步方式的等待。
回答所涉及的環境:聯想天逸510S、Windows 10。