• 沒有找到結果。

第二章、 研究背景

2.2 X TREM W EB

XtremWeb[23][8]是由巴黎第 11 大學,在 2,000 年所開發的桌機格網計 算平台,它支援多項應用、多位使用者以及跨區域的佈署功能。透過區域 網路以及網際網路將資源結合起來,提供高度平行計算的環境。目前被應 用於高能物理、生物分子、數學與其他科學與工業領域上。

9

XtremWeb 架構如圖 3 所示:

圖 3:XtremWeb 架構圖

XtremWeb 採 用 三 層 式 的 架 構 , 主 要 由 客 戶 端 (Client) 、 協 調 者 (Coordinator),即一般的伺服器(Server)以及工作者(Worker)組成。XtremWeb 具有下列這些性質:

 客戶端(Client):

 負責發送工作給伺服器。

 伺服器(Server):

 由一組機器組成,具有較高的容錯率。

 負責排程與分配工作。

 工作者(Worker):

 負責執行工作。

 當工作者閒置時,使用輪詢模式主動通知伺服器,並且要求分配 工作。

 工作者與伺服器之間的連線為 Connection-less。

10

根據上列特色與架構,XtremWeb 不適用於電腦遊戲應用的原因如下:

 由於工作者與伺服器之間採用 Connection-less,所以工作結果回傳並不 及時,無法滿足低延遲的需求。

 由於是輪詢模式的設計架構,所以無法達到控制高動態工作,伺服器 並沒有辦法直接與工作者連線並中止其工作。

2.3 CGDG

如之前 1.1.2 節所述,以下是 CGDG 的架構圖,如圖 4 所示:

圖 4:CGDG 架構圖

本節主要介紹 CGDG 系統的特色,包含 2.3.1 節伺服器主動發派工作 模式與連線導向模式、2.3.2 節容錯機制、2.3.3 節組織化、2.3.4 節工作優 先度,總共四項特色。

11

2.3.1. 伺服器主動發派工作模式與連線導向模式

為了達到控制高動態工作之目的,系統採用伺服器主動發派工作模式 (Push model)與連線導向模式(Connection-oriented model)。

因此當某個工作結束後,可以將結果立即回傳給使用者,使用者再根 據工作的結果決定是否產生其他工作,或是中斷(Abort)現有的工作,達到 控制高動態工作之目的,如圖 5 所示。

圖 5:連線導向

使用連線導向可以達到控制高動態工作之目的,如圖 5 所示。假設 User U1 分別發送了 Job J1 和 Job J3 工作到仲介者上面,且 Job J1 與 Job J3 是 一樣的工作,當工作者已經做完 Job J3 工作,回傳其工作結果給仲介者,

此時仲介者會把這工作結果傳送給 User U1 知道,為了提高系統的工作效 率,此時 User U1 可以選擇將 Job J1 中斷(Abort),讓運算資源釋出給其他 工作使用。

12

連線模式不採用 Connectionless model 的原因如下:

 由於工作者與仲介者之間並非持續連線,所以使用者無法直接將工作 中斷。

 由於使用者與仲介者之間並非持續連線,所以工作者也無法將工作立 即地回傳給使用者知道。

2.3.2. 容錯機制

為了提升工作效率,系統提供了一些基本的容錯機制來處理常見的錯 誤情況,例如:使用者斷線之處理、工作者斷線之處理、以及工作執行失 敗之處理:

 使用者斷線:仲介者會中斷(Abort)該使用者已送出的工作,

如圖 6 所示。

圖 6:使用者斷線圖例

13

 工作者斷線:仲介者會將此工作者上的工作,重新分派(Assign)給其他 工作者,系統預設每份工作重新分派之次數,以三次為上限,

如圖 7 所示。

圖 7:工作者斷線圖例

 工作執行失敗:由於程式執行所需的記憶體不足、作業系統版本不合、

程式執行失敗…等錯誤發生時,仲介者會重新分派(Assign)該工作,系 統預設每份工作重新分派之次數,以三次為上限,如圖 8 所示。

圖 8:工作執行失敗圖例

14

2.3.3. 組織化

為了便於管理各個組織的資源方分配問題,系統會根據組織來區分使 用者與工作者,如圖 9 所示。例如:仲介者會將來自交通大學的工作者與 使用者區分在一起。

圖 9:使用者與工作者組織化

基於公平性原則,仲介者會優先將使用者發送的工作送到與使用者相 同組織的工作者。如果某個組織的使用者沒有在使用該組織的工作者時,

仲介者才會將其他組織的工作送到該組織的工作者上。

為了便於管理不同組織的使用者,所以給予使用者不同的身分,各個 身分所擁有的權力不盡相同,如圖 10 所示:

15

圖 10:使用者階級圖

 系統管理者(System administrator):擁有最高的權限,有權利創造、修 改所有組織與使用者的資料,也可以創造新的組織管理者,可以發送 所有優先等級的工作。

 組織管理者(Organization administrator):組織內部的管理者,有權力創 造、修改組織內部的使用者資料,以及創造新的使用者,可以發送較 高優先等級的工作。

 高級使用者(Advanced user) :可以發送較高優先等級的工作。

 標準使用者(Standard user) :可以發送一般等級的工作。

2.3.4. 工作優先度

系統將工作劃分為 Class A, B, C 三種不同等級的優先度,如表 1。並 且加入組織的概念,例如:交大的使用者想要發送一個工作,該工作的等

16

級是 B,但此時交大的資源已經用完了,必須取用其他學校的資源(假設為 中原)來處理這個工作,那麼此工作的優先度便會降低,成為等級 C 的工 作,這是為了讓中原優先度為 B 的工作優先使用自有資源的設計。

表 1 :工作優先權與組織化

Job Class 自有資源優先度 跨 組 織 資 源 優 先

A1 最高 最高

A2 最高 無法跨組織

B1 <A 視為 C

B2 <B1、A 視為 C B3 <B1、B2、A 視為 C

C <A、B C

A1:等級A的工作有占用機器的特性,因此通常等級A的工作只能使 用在自有資源上,防止使用者去佔用別人組織的資源。但需要跨組織實驗 的等級時,系統也提供這個需求的工作優先度,就是A1,為了避免爭議,

只有系統管理員有權利發布A1的工作。

A2:只可以使用在自有資源上的等級A,系統管理員、組織管理員以 及高級使用者有權限發布 。

B1~B3:不同應用有不同的優先度,提供B等級三個優先權讓使用者 設定,優先權順序B1 > B2 > B3,所有使用者皆可發布B等級的工作。但是 為了防止不同組織的等級B工作去競爭跨組織資源,當等級B的工作被分配 到跨組織資源上時,將視為等級C的工作。

C:最低的優先等級,所有使用者皆可發布。

17

相關文件