近一年來 Internet 上當紅的話題,不外乎是「網格運算(Grid Computing)是否將成為下一代的資訊基礎建設?」。 為什麼人們如此看重網格運算,我們不妨由其所倡導的精神加以分析。網格運算的基本精神有二,分享與溝通。分享即是 代表資源的分享,資源的定義可以由「有形的」CPU Time、Disk Storage、Special Equipment,一直到「無形的」Data and Information。至於溝通,則不僅僅是透過網路,彼此相連,更重要的是,彼此溝通傳輸的協定,必須採用 open 與 standard 的介面。此外,所有的資源,必須是 decentralized,也就是並非由某一單方面所專擅控管。由以上描述,我們不難看出網格 運算的基本精神,與 Internet 當年發展的宗旨十分神似,也難怪人們會相信網格運算應該可以複製 Internet 成功的經驗, 成為下一代的資訊基礎建設。
具體言之,我們可由網格運算的另一特性,加以舉例說明。網格運算的訴求之一,即是「有效利用閒置資源」。1993 年前 後,約六百多位學術研究人士,透過Internet 串連數千台電腦,就為了破解號稱「本世紀不可能的任務」之 RSA-129 編碼, 結果不到一年,順利解出該組密碼。此外,從 1996 年開始,由美國柏克萊大學的太空科學實驗室所發起的「尋找外星生物計 畫」,也希望循此模式,透過志願者於個人電腦安裝運算程式,利用電腦閒置時間,幫忙分析無線電波,迄今業已集結數百萬 名志願者貢獻其 CPU time。
網格運算的「資源分享」特性,更確定了其於科學界之重要地位。現今科學界的研究方式,早已脫離閉門造車的傳統模式, 取而代之的,是合作與分享。以目前最為熱門的「基因定序」問題,由於需求的計算量非常之大,因此不可能每一個研究團隊 ,各自獨立計算一次,因此在網路上存在許多共享資料庫,提供研究人員查詢目前已經解碼成功與尚待解碼之基因序列,以便 不同研究團隊,協助解碼不同序列,以避免重複運算,造成資源浪費。
此外對於高能物理學界而言,由於加速器造價昂貴,甚至一般國家都無力建置。且加速器所產生的數據資料過於龐大,通常 是以 Petabyte 計算(Petabyte = 2^50),任何有興趣的研究團隊,也不可能透過任何方法,包括網路、磁碟機、光碟片等, 將資料複製一份。因此唯一可行的方法,便是透過資源共享的方式,貢獻心力,參與研究。目前台灣僅中研院參與(LHC Computering Grid)計畫,與其他國家高能物理研究單位連接,分享「大強子對撞機」(Large Hadron Collider, LHC)實驗所需資源。
以上所舉的幾個實例,僅是眾多網格應用的九牛一毛。大體上說來,網格應用可分為三大類。分別為:computing grid、data grid 及access grid。以computing grid來說,望文生義,不難猜到其用途為專注於提供高效能計算資源。對於一般規模較小的研究 團隊,往往無力購置龐大計算設備,因此求助於計算機中心,或者是其他善心人士,便是傳統的解決方式。而後者這類善心人 士,通常就是願意出借閒置資源的computing grid提供者。其次談data grid,data grid通常出現在資料的產生者,人們習慣性 的思維,總是喜歡將所有需要的資料,完全複製一份至個人磁碟,以便未來方便取用。然而當資料特性為頻繁更新,且總容量 遠超乎個人儲存空間能耐時,那麼就必須轉換思考模式,弱水三千,只能取一瓢飲。資料更新頻繁的典型例子,即為基因定序 資料庫。而資料量龐大的典型例子,則包括了物理加速器、天文望遠鏡等,其每年產生的資料量,可以用Petabyte 計算(Petabyte = 2^50)。 一般data grid目前流行的工作模式,都是將真正需要的資料,透過網路傳回自己的電腦,進行後續的分析工作。最後談到 access grid,access grid通常都是應用於貴重儀器的分享,例如日本大阪大學,擲重金建置高倍率電子顯微鏡,對於其他國家的研 究團隊,只要透過郵寄將標本送達,即可約定時間,操作電子顯微鏡,分析資料。這類access grid的常見應用,還有天文望遠鏡、 質譜分析儀等等。
由於本校歷史悠久,對於各項基礎科學研究,無不投入大量人力物力。目前計有醫學、物理、化學、大氣、生物等研究團隊。然基 礎科學研究所需之計算資源龐大,亟需強而有力之計算平台支援,以加速研究之進行,進而擠身國際一流之林。
在此,計算機中心提出「利用網格運算,提升研究效率,擠身世界一流」之計畫,期能透過強大網格運算平台之提供,加強跨國研究計 畫之接軌,進而協助校內研究團隊,有效取得所需資源,加速研究計算之進行。具體實現步驟分述如下:
1) 建置高效能運算平台
如前文所題,Grid Computing 之基本精神即為資源共享,然而天底下沒有白吃的午餐,國內外其他單位,不可能無條件地提供我們所需 之任何計算資源。也就是除非我們願意率先貢獻我們的閒置資源,否則將無法獲得其他人之認同,從而享用對方所提供的資源。
此外,部分研究所使用的平行演算法,每一運算節點,必須於固定時間內回應彙整,因此其計算程式,由於網路傳輸的延遲特性,無法利 用過於分散的 計算資源,必須使用較為集中,可以即時傳遞訊息的計算設備。
因此,我們必須自行建置一套高效能運算平台(computing grid),除了滿足校內各研究團隊所需之計算資源外,也可以適時將閒置之運 算資源,提供國外研究團隊分享,以便建立雙方合作關係。
承蒙研究發展委員會於2003年之經費挹注,本中心得以採購高效能運算設備乙組,目前總計有50組運算節點,服務校內研究單位。殷殷期 盼未來能有第二期專款撥用,以利於設備之擴充,提供更為充足之運算能力,進而支持本服務之延續性。
2) 開發 grid enable application 環境,妥善利用閒置 CPU 時間
網格運算的另一項精神,即為「閒置資源」之充分利用。現今電腦工業進步 迅速,個人電腦的運算能力,早已遠遠超越當年計算主力之工 作站級電腦,然而一般桌上型電腦,處理工作主要為「低運算需求」之文書處理與上網瀏覽,因此我們可以想見,座落於校內各處之「行政用 電腦」,以及「電腦教室」之電腦,絕大多數時間,其 CPU 皆處於「閒置」的狀況。倘若該電腦為 24 小時開機, 我們更加確定的是,下班 時間後,肯定為百分之百閒置。以計算機中心為例,目前電腦教室配備超過 250 台個人電腦,若能充分運用其閒置資源,肯定能提供相當可觀 之運算能力。
有鑑於此,計算機中心希望能夠投入人力,成立研發團隊,撰寫符合 Grid Computing 之應用程式,並安裝於低 CPU 利用率之電腦之上,以 增加系統之整體貢獻度。
高效能的運算平台是每一個科學研究團隊不可或缺的研究工具,然而如何滿足此一需求,需要智慧的判斷,將日益短缺的有限預算,做最適 當的分配。我們建議以「開源節流」之精神,雙管齊下,一方面建置嶄新計算平台,提供高效能運算能力。另一方面則將「閒置資源」回收再 利用,透過軟體方式,充分發揮既有硬體之每一分效能。期能透過以上兩種方法,實現網格運算(Grid Computing)的最終理想,以資源分享之 理念,達成資源有效高利用率,帶給校內科學研究團隊,穩定而高效能的運算平台,提供源源不絕,無限擴充之計算能力,以完成各項重要研 究所需之運算。
臺灣大學計算機中心 張傑生