以執行緒為基礎的Java版本MPI函式庫研究

計畫名稱:以執行緒為基礎的Java版本MPI函式庫研究

所屬單位:資訊系

研究團隊:電腦系統實驗室

計畫主持人:陳俊良

研究人員:高逸明

資源需求:Java

使用期間:2004/02~2004/07

研究主題:
訊息傳遞界面(Message Passing Interface)是一套撰寫平行化程式時,實現在參與運算的機器間,相互溝通傳遞訊息的函式庫。舉凡科學家們所遇到需要大量運算資源的問題如天氣預報、車輛撞擊模擬、金融計算、天文物理、流體力學等等,皆能使用這套函式庫串連大量的電腦,減少問題解決的所需時間。

研究內容概述:
之前有關訊息傳遞界面的實作,都是以程序為基礎的。我們在計算機中心的平台上,實作了一個以執行緒為基礎的Java板本MPI函式庫,並在此一平台上,執行一些標準的測試程式,來驗證並分析我們實作的系統效能。測試程式分為以下三種:

1. Traffic based
這一類的測試程式,沒有牽涉到任何的計算,程式本身就僅僅是在參與計算的機器間,傳送大量的訊息,Ping Pong程式即為典型的例子。我們實作的系統效能,優於其它以程序為主的Java板本MPI函式庫;在最好的情況下,也比native的函式庫好上將近十倍左右。

2. Computation based
這類是以計算為主的測試程式,問題的資料可以被完全的平行化解決,訊息的傳遞相當的少,我們以Ray Tracer作為例子。每一台電腦都有場景的資訊,圖的每一列平均分配給這些電腦計算出來。由於主要是以計算為主,因此各種實作的系統效能,並沒有太大的差異。

3. Mixed
科學家們主要遇到的問題多半是屬於這一類型,在計算的過程中也會有不少的訊息在機器間傳遞,我們以流體力學的計算來測試。測試結果顯示,我們系統雖然比native的函式庫稍嫌遜色,但比以程序為主的Java板本MPI函式庫,快上將近兩倍。

此外,由於我們系統是以執行緒為主,所需的資源是各種實作中最少的,因此我們的系統比較具有彈性,最多種類的MPI程式能在我們的系統中執行。

回到上一頁