里程碑
離上次寫blog又是四個月(這好像變成我寫blog文的固定開場白…),自從八月底回台灣任教職之後,生活就完全被工作佔滿,過去四個月大概是我這輩子最忙的日子….

從一回到台灣開始忙著搬家買車買生活用品等等,到正式開始工作之後忙著填寫一堆文件表格,備課教課,寫grant寫paper,買儀器設立實驗室,其中還出國一個星期參加會議。不過這所有事情的最高潮大概就是設立自己的computer cluster。由於經費也不是那麼充足,一開始本想買最便宜的dell server,後來半路殺出個IBM,願意用同樣的價錢賣給我較高等級的server。我對IBM的印象比dell好的多,所以當然是求之不得。結果….幾乎變成一場惡夢。Sever送來之後又是缺cpu缺ram,等了近一個月這些零件才到齊。還有就是連光碟機也沒有,這要我怎麼灌作業系統?又是等了一陣才等到光碟機。結果光碟機到貨之後居然無法用DVD開機,一直到我們(應該說我實驗室的學生)很任命的每台用四片cd-rom一一灌好作業系統(suse linux)之後才知道光碟機的問題是主機板bios沒有更新。更扯的是後來發現其中一台server的USB port有問題拿回去換主機板。就在我正要打電話到IBM台灣總公司complain時IBM的業代來我辦公室解釋為什麼會發生這些供貨上的問題,這才稍解我心中的不滿。
硬體好不容易架設完成後,接下來的軟體才是重頭戲。硬體部份廠商幫忙安裝與解決問題,但是軟體部份包含作業系統就要全部自己來解決。IBM server附的是suse linux,作業系統的安裝到還容易,光碟一張一張的換就是了。但是接下來的cluster設定就真的是要一步一步摸索。雖然我用linux這麼多年,但是都是當desktop用,頂多作點簡單的system admin,架個LAMP(linux+apach+mysql+php)系統以及玩玩架構在LAMP上的應用軟體罷了。這次要重頭全新安裝一個cluster系統,在沒有任何人可以協助的情況下,只好自己硬著頭皮來。
首先網路環境就搞了好一陣子。Head node的兩張網卡一張接internet,另一張接switch然後與所有compute nodes連接形成一個intranet。花了不少時間把這兩張網卡設好再加上DHCP server,讓intranet上的nodes也可以連上internet。接下來設NIS server與NSF server,讓所有nodes都擁有同樣的使用者與/home。再來就是架設job queuing system。以前postdoc的實驗室用的是Open PBS,那時候cluster到貨之後是IT center的人幫我裝PBS的,現在自己要裝才發現安裝步驟真是有點小複雜。第一步compile source codes就發生錯誤訊息,每解決一個問題,下一步就又出現新的錯誤訊息。耗了兩天之後不得不放棄,上網尋找其他的queuing system。看了半天都沒有滿意的,最後只好試試torque,這是根基於pbs的open source版本的queuing system。本來不抱太大希望,畢竟torque與pbs相似度太高,很多地方連檔案都還帶有pbs的檔名,不過沒想到configure, make, make install就一路很順利的裝好了。當然queuing system的完整安奘步驟遠多於這個,像是head node有server, scheduler, compute nodes有client,彼此間的hostname都要設清楚,rsh/ssh也要設好讓head node與compute nodes可以不用密碼來連接等等。大概總共又花了兩天,torque總算給我裝好了。
就這樣前前後後一共花了大約十天,平均每天花三四個小時,昨天晚上我首次把兩千個jobs送到cluster,看著這些job一個一個被送到不同的nodes執行,每個nodes逐漸滿載,大家都乖乖的工作時,那種感動真是難以形容。這天算是我的實驗室的里程碑吧?終於有個屬於自己的cluster,要愛算什麼東西就算什麼,不用再依靠別人的server。