#osxchat blog

2005/11/30

Xgrid 在 Tiger 上的啟用方法

作者: Mikimoto

Apple 在 OSX 上有一個高階的叢集運算計畫,稱為 Xgrid

這個叢集運算分為 Controller, Client 與 Agent 三層角色

Client: 可以請求進行叢集運算,目前可以由 Console 或是部份有支援 Xgrid 的 Cocoa 程式來擔任這個角色

Agent: 目前所有安裝 OSX 10.4 以上的 Mac 電腦只要打開 Xgrid 分享,均可以擔任 Agent 角色,主要為接受 Controller 控制分攤運算

Controller: 通常由 OSX Server 擔任,作為叢集運算的控制中心

剛開始在嚐試 Xgrid 時,因為 Controller 而吃了不少苦頭,感謝 mjhsieh 提供 這篇文章,才赫然發現其實 Contoller 也內建在 OSX 10.4 中阿(苦笑)
按照文章的指示,只要依照下述的步驟便可以啟用 Xgrid 了:

1. 先啟用 Xgrid Controller,有兩種啟用方式,任選一種就可以
- sudo xgridctl controller start (馬上啟用,重開機後不自動啟用)
- sudo xgridctl controller on (馬上啟用,重開機之後自動啟動,設為 off 重開機後便不自動啟動)

2. 還需要修改認證設定,利用剛剛啟動產生的設定檔來做修改
- sudo xgridctl controller stop
將 /Library/Preferences/com.apple.xgrid.controller.plist 中的 AgentAuthentication, ClientAuthentication 均設為 None 表示不需要任何認證


3. 重新啟動 Xgrid Controller
- sudo xgridctl controller start

4. 將所有要當作 Agent 的 OSX 分享 Xgrid 運算 (如下圖,記得認證需選擇無)




5. 確認 Xgrid 是否運作的方式有數種,我們介紹最簡單的方式,安裝 10.4 Server Admin Tools
安裝後(需要重新開機,如果剛剛沒有設定重開機自動啟用 Xgrid,重開機後需手動啟用 Controller,請參照上述),執行 /Application/Server 下的 Xgrid Admin

一啟動會詢問要連接那一個 Controller,Admin 會自動透過Bonjour搜尋,所以清單上會列出可以選擇的 Controller


啟動畫面如下



6. 目前 Client 端可以透過 Console 或是某些 Cocoa 程式來進行運算
- 利用 Console 簡單的測試 Xgrid,方法如下:
在 console 下執行 xgrid -h 127.0.0.1 -job run /usr/bin/cal 2005(如果是遠端主機,請把 127.0.0.1 改為合適的 ip)
馬上可以看到 2005 年的所有日曆輸出,但是由於這個工作實在太簡單了, Xgrid Admin 稍縱即逝,可能不好觀察


- 利用 Xcode 內附的 Xgrid 範例來操操看吧
如果有裝 Xcode 可以找到 /Developer/Examples/Xgrid/GridMandelbrot 這個現成專案吧
把他跑起來測試看看,這是一個計算碎型圖的程式,需要大量的運算,剛好可以試試 Xgrid 有多鋒利



7. 結論
到此實驗算是成功了,但是依然有幾個尚未解決的問題,目前這種變通的 Controller 只試出來不需要認證的狀況下,可以正常鍊結
所以安全性上是堪慮的,請大家小心使用

OSX x86 版本能不能用? 那是當然的囉(小聲的說),請自由變化運用

如果想透過防火牆使用(再次強調安全性問題),只要把 port 4111-4120 and 49200-49500 開放即可

補充鍊結: XgridLite

1 篇留言:

張貼留言

逆向鍊結:

建立連結

? 回前頁