1.1 節 研究動機
隨著電腦計算與儲存資料的需求越來越大,早期只能依靠超級電腦與大型伺 服器才能滿足其需求。叢集技術的出現,可以將同個區域的電腦整合,計算與儲 存由一個區域的電腦來分攤,增進了電腦計算的平行處理能力並且擴大儲存資料 的空間。分散式計算的技術開始發展後,在網際網路的發展的帶領下,格網(Grid) 的概念被提出,格網計算教父 Ian Foster 教授曾對格網做出以下的定義:
格網是一個無中央控管的機制
格網是一個開放標準
格網是一個能提供穩定而具整合性的服務
格網經由網際網路來分享各類型資源(包含最常用的計算與儲存資源),進而 促進實質合作。格網不僅可整合分散的各式電腦資源,更進一步透過網際網將分 散各地的電腦,整合成一巨大的虛擬電腦系統。
格網以虛擬組織(VO)為主幹,不同區域的電腦,只要加入同一個虛擬組織,
其中的成員就能藉著網際網路分享電腦資源,並且強調異質性,虛擬組織成員的 硬體與作業系統不同,都能夠加入格網環境。格網的用途[8],可分類為 Distributed Supercomputing、High throughput、On Demand、Data Intensive 和 Collaborative 五種。Distributed Supercomputing 是為了解決非常複雜的問題,需要龐大的處理 器(CPU)與記憶體(Memory)來做計算,High throughput 發展的目的在於利用閒置 資源來增加生產力,On Demand 依照特定的需求來發展服務,Data Intensive 的 特色在於整合大量的資料數據來發現新的資訊,Collaborative 的特徵是透過通訊 與合作,使得不同的參與者能共同完成任務,如學術合作、資料探勘等。
虛擬組織是組成格網環境最基本的要素,由各地的電腦組成,依據不同的使 用需求,提供計算與儲存等資源,各虛擬組織雖然可跨越不同的地域,但仍可視
為封閉的群組。格網藉由 Condor[6]與 SRB 等中介軟體(middleware)來調配資源與 溝通群組內的電腦,但是不同的虛擬組織彼此無法互相支援,缺乏可以整合不同 虛擬組織的通訊協定,於某些大量運算的需求(如大型物理實驗、高能量反應等 等),這些實驗都會需要龐大的計算能力,並且會生產出以 TB(Terabyte)計的數據,
因此在這樣如此規模的實驗下,要是無法整合更多的資源,可能無法滿足其運算 要求,目前大型的 Grid 計畫如 WLCG[19],其虛擬組織的負載很重,並且有部 分的計算資源沒有利用到。因此在以整合電腦資源為前提下,一個更有效的負載 平衡方法是必須的,目的在更有效的利用整體的資源來滿足大量運算的需求。
目前國內有相當多的格網組織,包含醫療格網(Medical Grid)、生態格網 (ECO-Grid)、視訊格網(Access Grid)、中研院的 WLCG(gLite)、台中的 TigerGrid 與台灣大專院校的 UniGrid,若能透過實驗將其整合,使得各組織能夠互相分享 資源,並且能更有效的利用資源,有助於台灣 Grid 的發展以及未來整個世界的 研究。
1.2 節 研究問題
無論在於格網或點對點(P2P)環境中,隨著資料存取量與計算量的增加,如 果計算或是資料存取都集中在某些電腦上,如此無法有效利用到整體的資源,並 且造成效能上的瓶頸與資源的浪費。因此需要有負載平衡的機制來做資源的調 配,將工作或是資料存取要求轉移到其他閒置的電腦上,使得資源作最有效的利 用,來增進整體的效能。
在負載平衡的方法 [5] [7] [17] [25] [27] [34] [35]中,最常使用的是集中式與分 散式的方法。集中式方法透過 Manager 蒐集環境中的資訊,在依據所收集到的資 料,以取得最佳解的方式,將工作轉移到有最佳完成時間的電腦,如此來完成資 源調配的任務。在小型的環境使用集中式的方法可以得到很好的效能,但是隨著 環境的增長或是對跨地域性的大型格網組織而言,集中式的方法會面臨瓶頸,因
為資源調配需要蒐集與分析的數據會呈線性的成長,因此分析如何轉移工作對目 前最有利時,已經失去了即時性並且造成系統的負擔,無法有效與即時的調配資 源,反而讓使得整體的效能下降。
為了解決格網環境中負載平衡問題,使用分散式的方法是較好的做法,分散 式的負載平衡方法由組織中的部分的特定成員做資訊蒐集的工作,目的在於減少 資訊蒐集的負載。藉由特定成員彼此交換與更新環境資訊,能夠有效減少資訊負 載以及利用資源,此種方法同時有著分散與動態的特性。同樣伴隨格網組織的成 長,分散式方法藉著交換資料更新整體資訊的做法,在即時性上會面臨挑戰,在 資源調配上可能無法快速的反應,其關鍵在於組織中的特定成員也會隨著增加,
彼此在交換與更新資訊上,需要較完善的演算方法來達到好的效果,在轉移工作 的判定上,可能在即時性不足下無法將工作轉移到有最佳完成時間的電腦。目前 分散式動態的負載平衡方法,面臨的問題在於能否減少資訊蒐集的負載並且兼顧 資訊交換的即時性。因此負載平衡的目標在減少交換資訊的負載,甚至不交換資 訊,仍能兼顧到資源調配的即時性。
不同的格網組織,所使用的中介軟體也不盡相同,為了達到跨格網的目標,
尋找與開發跨平台的方法,以求整合更加龐大的格網資源,也是本研究面臨的問 題之一,因此本研究面臨的問題與挑戰為:開發跨格網系統以及建立有效的分散 式動態負載平衡方法。
1.3 節 研究目的
格網組織依照不同的需求,由中介軟體客制化的開發與應用,在缺乏統一的 溝通協定下,不同的格網組織彼此無法溝通和交換使用資源。為了解決跨格網組 織的問題,我們研究點對點技術,藉由在格網上層建立點對點環境,作為實驗的 系統架構,以點對點標準化的訊息格式在各格網組織間溝通,以求能整合不同組 織的資源,增進格網的效能以及使用率。
JXTA[32]是開放式的點對點的平台,提供了建立點對點環境的服務與協定,
方便我們開發所需要的系統架構與服務。JXTA 中加入超級節點(Super Peer)的概 念,可以依照提供的協定制定出完善的超級節點機制與系統通訊架構,建立於目 前格網架構的上層。虛擬組織藉著節點與超級節點形成點對點網路,以求能增進 格網找尋資源與協調工作的能力,並藉由標準的通訊架構,達到整合電腦資源的 目標。
以 JXTA 與格網建構成的點對點格網(P2P-Grid)系統架構為基準,我們提出 分散式動態負載平衡策略與積分機制。為了能夠更準確的掌握站台的負載程度,
我們將異質性的電腦資源(如處理器和記憶體)負載,轉換成統一的積分,由積分 的加總代表目前的負載程度,在藉由多次的積分轉換,預測下一個階段站台的負 載程度。我們以站台(Site)為一個單位,各站台不需要知道其他站台的狀態,只 需要依照自己的狀態來實施對應的策略,可以有效的減少站台間交換資訊的負 載。站台首先透過積分機制,轉換站台的負載狀態為積分,在透過負載預測來做 負載層級的判定,最後依所判定的層級執行負載平衡策略,主動詢問與轉移工 作。此負載平衡策略比起一般的分散式的方法,少了交換資訊這個部份,更提升 了即時性,同時在如此的負載平衡策略下,因為站台只需要知道自己的狀態並執 行策略,其他的站台不穩時,仍不會對環境造成太大的影響,容錯的能力得到提 升,並且無論組織如何的成長,都能保持擴展性(scalability),符合龐大整合資源 的需求。
1.4 節 研究限制
由於格網環境是相當異質且龐大的,不同應用的格網組織,其虛擬組織是由 不同地區以及不同的軟硬體架構組成,有著相當高的變動性。本研究中的實驗環 境規模也實際的格網環境小。在現有機器的實驗中,以一個節點為一個站台做模 擬,因此在組織上的規模也較小。以 JXTA 所實做的服務中,在組織跨虛擬組織 環境上,未開發安全性部分;在安全的機制使用 Globus 所提供的機制。
在實驗中,實驗平台機器的能力不能與伺服器等級的機器相比,所執行的工 作也並非是龐大的精密計算工作。本研究所提出的分散式的動態負載平衡方法,
目前較少有相近的研究,實驗的時候缺乏不同方法的比較,透過實驗中的變因數 來觀察工作轉移的情形與差異。在轉移工作的成本(Cost)考量上,僅以工作轉移 到遠端電腦傳回的回應時間為判定方式,未以轉移工作經過的路徑紀錄為判定,
因此在每次更新的回應時間與作轉移工作判定會多付出計算的成本。
未來可以增加更多的實驗機器,如此在負載平衡方法上可利用的資源增加,
並且在實驗中改變更多的變因數,比較其中的差異性。在轉移工作的判定上,可 以開發更有效的方式,在即時性與計算成本兩個因素下找出較好平衡點。
1.5 節 研究注釋
表 1-1 為負載平衡機制的變數定義表
變數名稱 定義 變數名稱 定義
BPC 處理器的基底積分 a 基準常數
BPM 記憶體的基底積分 b 趨勢常數
S 負載區段 SL 目前站台層級
W 加權積分 L 層級為 Light
X 處理器負載 M 層級為 Medium
Y 記憶體負載 H 層級為 Heavy
SP 每次蒐集的積分 PL 層級為 Light 的策略
T 每次蒐集積分的間隔時間 PM 層級為 Medium 的策略
N 積分的蒐集次數 PH 層級為 Heavy 的策略
MSP 最大的積分數
表 1-1 變數定義
本論文第一章敘述格網和點對點系統的介紹,以及所面臨的問題,並提出方 法,第二章為相關的背景與研究,以及 JXTA 的說明介紹,第三章為實驗方法,
第四章為實驗環境與設計,第五章為實驗結果與分析,第六章為結論。