2010-02-19 27 views
2

我正在考慮慢慢地選擇並行編程。我見過有人使用安裝了OpenMPI的集羣來學習這些東西。我沒有訪問羣集但擁有四核機器。我能在這裏體驗到任何好處嗎?另外,如果我在虛擬機中運行Linux,在虛擬機內使用OpenMPI有意義嗎?四核和VM上的並行編程?

+0

您的代碼計算是綁定還是IO綁定?虛擬機看到多少個CPU? – 2010-02-19 06:37:23

+0

關於計算邊界或IO邊界,我對兩者都開放。我剛剛開始在這個領域。關於CPU的,我把所有的4核心都分配給了VM ... – Legend 2010-02-19 06:45:12

回答

5

如果您的目標是學習,則根本不需要羣集。你的四核(或任何雙核甚至單核)計算機將綽綽有餘。重點是學習如何「並行」思考以及如何設計你的應用程序。

一些要點是:

  • 開拓不同的並行範式像分而治之,主工人,SPMD,...取決於你想要什麼數據和任務依賴性做。
  • 選擇不同的數據分割粒度來檢查計算/通信比率(在消息傳遞的情況下),或者檢查由於互斥到存儲器區域而導致的串行執行量。

擁有一個四核,您可以測量您的進近加速(由於並行化而獲得的性能增益),通常由非並行執行時間和並行執行時間。 越接近4(四個核心意味着執行時間的四分之一),您的並行策略就越好(一旦您可以均勻分配工作和數據)。

+0

很好...謝謝..你幾乎涵蓋了我一直在尋找的一切。 – Legend 2010-02-19 22:32:17