摘要:對網格資源的含義及目的作了介紹,給出了資源管理的實現過程。在計算網格資源管理模型Globus的基礎上。提出了網格資源管理中作業管理的并行化,對各個管理部分做了具體的描述。提出了作業并行分析器,實現作業管理的并行化,在一定程度上縮短了作業管理的時間,提高了作業管理的效率。其中對作業并行分析器進行了詳盡的描述,使其根據各任務的依賴關系將作業中的任務劃分為不同的任務組,并對每個任務組進行適當描述后提交給資源分配器。
關鍵詞:計算網格;資源管理;Globus;DUROC:GRAM
0 引言
網格資源指所有能夠通過網格遠程使用的實體,包括計算機軟件、計算機硬件、設備和儀器等。網格的核心優勢在于它能發現、分配并協調使用網絡可以達到的范圍內的各種能力——它們可以是計算機提供的計算服務、軟件提供的應用服務、網絡提供的帶寬或者是存儲系統提供的存儲空間。
資源管理的核心目的就是要在資源提供者和資源消費者之間建立一種共同協議,通過該協議資源提供者同意提供用于代表資源消費者執行某項任務的能力。資源管理的目的總結起來有以下三點:
(1)為用戶提供訪問資源的簡單接口,將實際使用資源的具體細節隱藏起來,用戶看到的是一個經過抽象的資源。
(2)協調資源的共享使用,既要支持多個請求者請求使用同一個資源的需要,也要支持請求者使用多個資源的需要。
(3)資源管理者還要代替請求者去使用資源,并建立安全的網格資源使用機制。
1 資源管理的實現過程
資源管理的整個過程如圖1所示。下面介紹每一步的過程,標號對應圖中的數字。
(1)網格資源開始其生命周期的第—步是向資源管理器注冊。
(2)資源管理器把資源的注冊信息寫到資源信息數據庫中。注冊之后的資源就成了網格資源。
(3)用戶需要資源時,向資源管理器提出請求。
(4)資源管理器從資源信息數據庫中獲得匹配資源的信息,并返回給用戶。
(5)有了資源信息,用戶就可以同資源之間進行各種交互。
如果資源不想繼續在網格上存在,可向資源管理器請求注銷,資源信息數據庫中該資源的信息將被相應清除,該資源作為網格資源的生命周期就結束了。
2 資源管理結構
Globus項目組在網格協議制定上有重要發言權,包括IBM、Microsoft、Sun、Compaq、SGI、NEC在內的眾多重要公司都宣布支持Globus Toolkit。因此Globus所采用的分層模型代表了網格資源管理的發展趨勢。本文主要采用Globus資源管理結構,并在其基礎上加以優化實現。
2.1 作業并行分析器
GRAM和本地資源管理器打交道,負責處理來自遠程應用的資源請求,為請求資源的應用分配資源,并管理作業的執行過程。它主要由門衛和作業管理器兩部分組成。GRAM API可以實現作業的提交、作業的取消及查詢已經提交了的作業狀態;然后將請求提交給作業管理器。這個請求包括該作業中所含的多個任務的相關信息、任務間的依賴關系及每個任務的計算資源需求。作業并行分析器分析該作業中的任務及相互關系,根據各任務的依賴關系將作業中的任務劃分為不同的任務組,并對每個任務組進行適當描述后提交給資源分配器。
每一個作業又由若干個任務組成,為了考慮任務的執行時間以及通信時間,可以將任務分成若干個并行段即任務組,然后實現并行分析及運行。
并行段是一個可并行執行的任務序列,這個序列中的任務之間沒有優先約束關系。實現的算法為:
(1)將開始節點作為第一個并行段中的一個節點。
(2)考查主序列的下一個節點,如果該節點與當前并行段的任何節點都無優先約束關系,則將這個節點加入當前并行段;否則生成一個新的并行段作為當前并行段,該節點作為當前并行段的第一個節點。
(3)繼續第二步,直到遇到第一個出分支節點為止。
(4)將主序列中所有出分支節點按其優先約束關系插入到各并行段中。
形成并行段之后,再按照短作業優先的調度規則將各個并行段即任務組分配到本地資源管理器。這種按照短作業優先的調度規則增強了單位時間內作業完成的吞吐量,提高了系統的周轉效率。
并行段調度:
當將任務分成若干并行段之后,按照短作業優先的原則,采用經理/雇員模式進行調度。經理負責任務分配,每個雇員(并行段)重復從經理那里請求并執行具體任務。
2.2 DUROC
DUROC即協同分配器,執行由底層資源規范描述的資源分配。它可以直接為用戶獲得資源。DUROC的請求分配語法是,一個高層請求。包含多個組成部分,每個部分代表一個本地資源管理器請求,該請求被DUROC作為其分配的分布式作業的一部分。DUROC將抽取底層多重請求的每個組成部分,去掉面向DUROC的部分,然后把請求提交給指定的本地資源管理器。
DUROC可以實現協同分配,通過本地資源管理器API和協同分配器實現作業開始的原子操作和協同分布式處理,獲得DUROC的布局,發送一個字節向量到DUROC作業中的其他子作業,接收DUROC作業中的其他子作業發送的一個字節向量,獲得本地子作業進程的級別和大小,發送一個字節向量到DUROC子作業的其他進程,接收DUROC子作業中的其他進程發送的一個字節向量。
2.3 Condor
Condor是高吞吐率的調度器。采用樂觀的調度方法。它管理客戶和管理系統之間的任務服務等級協議。通過提交服務和單個資源之間建立更為具體的資源服務等級協議和任務服務等級協議,Condor實現了客戶端任務服務等級協議。這些低級別的作業執行用戶任務并且保存進出資源的檢查點數據。
3 結束語
本文首先對資源管理的概念及目的進行了簡述,然后在網格資源管理基礎上,對作業管理實行并行化,以提高作業處理的速度,縮短處理時間;對網格資源的管理在一定程度上進行了優化;最后對計算網格資源管理的各個部分進行了詳細的描述。