平行演算法

 

期末報告

PVM

 

應用數學系研一

8524621

韓天祥

 

概論

 

PVM,作排序問題,以不數量的資料以及不同數目的slave task 觀察其執行所需要的時間,並討論其結果.

 

PVM的介紹

 

PVM (Parallel Virtual Machine) 是一個讓大量的 Unix 電腦系統透過網路連接在一起模擬成一個單一的大型平行處理電腦.

所以大型的計算問題可以更有效率的運用更多的計算能力及記憶體.PVM 相當具有可攜性. 原始程式可由網路上取得,而在不同的系統上安裝.

 

PVM的優點

 

 

 

 

PVM的缺點

 

 

 

 

PVM證明了一個message-passing system可以在網路工作站上"有效" 運作的經驗。

目前的PVM系統尚不能達到真正高效能計算 (Tera/Giga Flops) 需要PVM系統進一步的改進.但一般中級計算 (Middle Computing) 可以考慮適合Coarse Granularity大的程式 要利用PVM的異質計算能力,使用者必需在觀念上有所調適

PVM極易學習,並且因為使用者眾多,較其它message-passing系統 的發展有較易信賴的承諾

各種工具程式,程式庫是同類軟體最多的

 

 

 

 

 

 

程式的架構

 

由一個 matser 及數個 slave tasks 之間,互相傳遞訊息,而每個 slave 先將本身的資料排序完畢,而後藉由 broast 的方法將資料傳給其他的 slave , 每個 slave 將接收到的資料與本身的資料比較後可決定出每一個 data order ,最後,所有的 slave 將資料以及其order 傳回 master , master 即可以知道所有 data 的順序.

 

 

 

效果平析

 

 

100個整數

200個整數

300個整數

400個整數

1 virtual machine

*

*

*

*

2 virtual machine

1.00 sec

1.00 sec

1.00 sec

1.00 sec

更多的virtual machine

*

*

*

*

 

 

 

本次程式只以一台IBM RS6000 為主機,來模擬多台主機來產生多個 slave task, 但是再本次作業中可以發現效果並不如預期中的理想, slave task 方面只能以兩個來執行,一個以及超過兩個的 slave task 在編譯時期皆能正常無誤,但是執行時不管資料的數量大小,執行的時間過長,只好中斷!

而本次的sort,在早上最多可跑 1600 個資料,但到了下午,最多只能在 400 500之間徘徊.1600 個資料所執行的時間是 2.00 , 而數十個以及數百個資料量所需執行的時間是 1.00 ,這顯然是因為執行的速度非常快,所以不能有效的分析比較其意義.

將執行的的次數增加,是另一個值得嚐試的方法.但實行後發現,pvm spwan 出的slave task 在程式結束後,並不會自動消失,必須以手動方式來處理,所以只能處理較小資料量的作業,這一方面應該是作業系統方面所造成的遺憾!!