我正在研究各種並行編程模型,但我偶然發現了MPI。有幾件事我不確定。據我所知:需要對MPI進行一些說明
- MPI的主要功能是允許在集羣中並行運行相關進程之間的通信。它是否正確?
- 程序在主節點上運行,主節點又將特定任務傳遞給工作節點 - 並接收結果。不需要在每個工作節點上都有一份代碼副本。
此外,我發現的幾個更新的MPI框架似乎只支持一組受限制的語言。我正在用Java進行實驗,但是我發現的所有Java MPI庫都是過時的,或者似乎沒有C和Fortran的成熟度。這是爲什麼?我認爲消息傳遞對於編寫並行或分佈式程序的任何人來說都是一個非常有用的功能,那麼爲什麼MPI在它的利基之外更受歡迎呢?
MPI更多地用於科學編程,它有一個使用歷史,並且科學界選擇的語言(很長一段時間)一直是/ C/Fortran。 – arynaq
(1)是正確的; (2)不是。 –
*那麼爲什麼MPI在它的利基之外更受歡迎呢?可能是因爲管理MPI發展和它的用戶社區的人並不關心它在其利基之外的受歡迎程度,而是他們關心它的效率和效率它的利基。 MPI並不是唯一的消息傳遞庫,Java程序員可以使用其他選項。 –