據我之前的了解,是需要Server版的,你可以查一下wiki,裡面有很詳細的介紹。順便給個意見,你可以參考一下,我比較推薦你用MPI library,因為研究需求,當初在決定要用Xgrid還是MPI時,發現MPI會有比較多的彈性,一方面支援度較好,也不用採用Server版,另外一方面是因為我測試後的程式,會丟入super computer執行,因此我最後採行的是MPI方案!
astronomy wrote:據我之前的了解,是需...(恕刪) 謝謝您的建議, 我的確是要做研究用途可否請您進一步的說明一下MPI的彈性與支援度的例子嗎??若最後要丟入super computer做計算, 是否用多核心的電腦就可以測試而不須要用MPI測試呢?不解...
我想MPI這個範疇不是我三言兩語就能道盡,當初我花了非常久的時間才稍微弄懂怎麼實作。基本上MPI是一個平行語言,界定各client與controller如何溝通,而Xgrid把MPI包裝的更容易運作,但是也必須依照Xgrid特定的方式去寫你的程式,這是我當初看完Xgrid介紹後所不喜歡的,雖然說MPI有不同的框架(open-mpi, MPICH, MPICH2),但如果直接依照MPI的規範去寫你的程式,這樣便增加許多的彈性,而且有很大的機會程式可以運作在不同的框架上,或者只需要小小修改。相對的,你必須自己處理在各client間溝通及同步的問題,因此你的程式會變得比較複雜及難以debug。以我的研究為例,基本上OSX已經內建open-mpi,所以我會先用我的mac pro試行一段時間,如果沒問題,我會用我自建的cluster (mac pro及linux) 再試行更長一段時間,等到完全都沒問題,我才會丟入super computer實際去計算,這麼做的原因是因為我用的super computer要扣點數,所以要謹慎使用。所以,你如果只有一台多核心的電腦,基本上是可以拿來測試,如果你將來要丟入super computer去執行,基本上只要super computer有安裝框架,你就能拿你的原始碼,在該機器上compile即可運作。希望對你有幫助。
astronomy wrote:我想MPI這個範疇不是我三言兩語就能道盡,當初我花了非常久的時間才稍微弄懂怎麼實作。基本上MPI是一個平行語言,界定各client與 controller如何溝通,而Xgrid把MPI包裝的更容易運作,但是也必須依照Xgrid特定的方式去寫你的程式,這是我當初看完Xgrid介紹後所不喜歡的 我的選擇跟 astronomy 一樣. 目前大部分的 supercomputer 都支援 MPI, 但支援 XGrid 的就少多了,我建議先從 OpenMPI 開始玩起, 以後要移到 supercomputer or XGrid 上都很容易.
astronomy wrote:我想MPI這個範疇不...(恕刪) 謝謝您的指教,我發現MPI在java, perl都已經有library, 使用上看起來非常方便(還沒真的使用),但是我比較大的問題是要怎麼讓Mac OS與Linux架成cluster可以分配工作過去,似乎還缺少了什麼,還請不吝指教..
建議使用 OpenMPI 裡面的 ssh 功能.有兩個步驟, 第一個是架好 ssh server, 第二個是架好 openmpi.Controller:1. 架好 openmpi (Snow Leopard: 已內建, ubuntu: apt-get install openmpi-bin)2. 產生 ssh 連線的私鑰跟公鑰 (ssh-keygen), 公鑰檔案會放在 ~/.ssh/id_rsa.pubClient:1. 開啟 ssh server (Snow Leopard: System Preference -> Sharing -> Remote Login,ubuntu: 已內建)2. 把 controller 上產生的 ssh 公鑰檔, 複製 (或附加) 到授權檔 (~/.ssh/authorized_keys)3. 回到 controller 測試是否能免密碼ssh登入到 client4. 安裝 openmpi最後到 controller 下命令測試orterun -h client1,client2 hostname成功後, 你就可以用 MPI library 開始寫程式了.