pvm
并行計算機
并行計算機(pvm)是用於網路并行計算機上的軟體工具。設計它的目的是將異構的計算機網路連接起來,使它使用起來就像一組分散式的并行處理器。
PVM現在仍在繼續發展中,雖然隨著它的成熟與穩定意味著新版本的更新會逐漸的慢下來。可以說,正是由於它,我們向分散式計算和網格計算邁出了重要的一步。當今,它處在廣泛的應用中。而且新的結合產物也應運而生(例如perl的Parallel::PVM 模塊)。
PVM(并行虛擬機)是一個軟體包。通過它,我們可以組成一個異構的系統,它使用起來就像一個單一的但能力強大的并行計算機,而它本身可以由一些Unix或windows的計算機組成。該軟體包的移植性很強,其源碼可以通過相關研究單位的網路實驗室免費獲得。它被編譯來幾乎可以從小型移動設備到克雷大型機的應用。
PVM使得人們可以應用他們現成的計算機硬體來解決大型的問題,而花費並不會增加很多。世界上由上百的網站應用PVM技術來解決各個行業的重要問題,此外,PVM還被用作教授學習并行編程的教學工具。
PVM系統支持多用戶及多任務運行,多個用戶可將系統配置成相互重疊的虛擬機,每個用戶可同時執行多個應用程序,易於編程。PVM支持多種并行計算模型,用戶使用PVM提供的函數庫可進行并行程序或分散式程序的設計工作,使用傳統的C語言和Fortran語言。系統提供了一組便於使用的通信原語,可實現一個任務向其它任務發消息,向多個任務發消息,以及阻塞和無阻塞收發消息等功能,用戶編程與網路介面分離。系統還實現了通信緩衝區的動態管理機制,每個消息所需的緩衝區由PVM運行時動態申請,消息長度只受結點上可用存儲空間的限制。PVM提出了進程組的概念,可以把一些進程組成一個進程組,一個進程可屬於多個進程組,而且可以在執行時動態改變。支持異構計算機聯網構成并行虛擬計算機系統且易於安裝、配置。PVM支持的異構性分為三層:機器層、應用層和網路層。也就是說,PVM允許應用任務充分利用網路中適於求解問題的硬體結構;PVM處理所有需要的數據轉換任務。具有容錯功能,當發現一個結點出故障時,PVM會自動將之從虛擬機中刪除。