网站首页
教育杂志
CSSCI期刊 北大期刊 CSCD期刊 统计源期刊 知网收录期刊 维普收录期刊 万方收录期刊 SCI期刊(美)
医学杂志
CSSCI期刊 北大期刊 CSCD期刊 统计源期刊 知网收录期刊 维普收录期刊 万方收录期刊 SCI期刊(美)
经济杂志
CSSCI期刊 北大期刊 CSCD期刊 统计源期刊 知网收录期刊 维普收录期刊 万方收录期刊 SCI期刊(美)
金融杂志
CSSCI期刊 北大期刊 CSCD期刊 统计源期刊 知网收录期刊 维普收录期刊 万方收录期刊 SCI期刊(美)
管理杂志
CSSCI期刊 北大期刊 CSCD期刊 统计源期刊 知网收录期刊 维普收录期刊 万方收录期刊 SCI期刊(美)
科技杂志
CSSCI期刊 北大期刊 CSCD期刊 统计源期刊 知网收录期刊 维普收录期刊 万方收录期刊 SCI期刊(美)
工业杂志
CSSCI期刊 北大期刊 CSCD期刊 统计源期刊 知网收录期刊 维普收录期刊 万方收录期刊 SCI期刊(美)
SCI杂志
中科院1区 中科院2区 中科院3区 中科院4区
全部期刊
公務(wù)員期刊網(wǎng) 論文中心 正文

多集群作業(yè)管理方案設(shè)計論文

前言:想要寫出一篇引人入勝的文章?我們特意為您整理了多集群作業(yè)管理方案設(shè)計論文范文,希望能給你帶來靈感和參考,敬請閱讀。

多集群作業(yè)管理方案設(shè)計論文

1多集群作業(yè)管理功能分析

是一個典型的多集群作業(yè)全局調(diào)度模型。多集群作業(yè)管理在調(diào)度時首先依據(jù)全局資源狀態(tài)選擇某個或某些合適的集群,稱為全局調(diào)度;然后作業(yè)被分配到本地某個具體的集群,按照本地的資源管理器進行作業(yè)調(diào)度,稱為本地調(diào)度;作業(yè)進入本地調(diào)度階段后,按照本地原有的隊列和調(diào)度規(guī)則進行資源分配,最終在集群各CPU上執(zhí)行。多集群作業(yè)管理的主要功能包括:用戶與權(quán)限管理、資源信息監(jiān)控、作業(yè)全局調(diào)度與管理、數(shù)據(jù)傳輸與管理。

(1)用戶與權(quán)限管理模塊。多集群作業(yè)管理系統(tǒng)是運行在本地HPC集群作業(yè)管理系統(tǒng)之上的,本地HPC集群必然有自己的用戶系統(tǒng),而多集群作業(yè)管理平臺也有自己的用戶系統(tǒng),必須在兩個用戶系統(tǒng)間設(shè)計一種用戶映射的方式,同時還要設(shè)計權(quán)限控制機制。

(2)資源信息監(jiān)控模塊。資源信息監(jiān)控管理是作業(yè)全局調(diào)度的基礎(chǔ),全局調(diào)度系統(tǒng)在做出決策之前,必須要事先知曉各個本地集群的CPU負載和內(nèi)存占用比例等狀態(tài)信息。因此,需要設(shè)計全局的資源監(jiān)控系統(tǒng),負責管理和維護系統(tǒng)中各個集群負載的情況,為作業(yè)管理調(diào)度決策提供支持。

(3)全局作業(yè)調(diào)度與管理模塊。多集群調(diào)度的基本目標是協(xié)調(diào)和平衡集群間的工作負載。需要設(shè)計全局的作業(yè)管理和調(diào)度器,作業(yè)調(diào)度器根據(jù)各個集群機身負載信息做出調(diào)度決策,調(diào)度用戶作業(yè)到相應(yīng)的本地集群,并提交給本地集群作業(yè)管理系統(tǒng)。同時還要為用戶設(shè)計作業(yè)狀態(tài)的訂閱及通知機制。

(4)數(shù)據(jù)傳輸與管理模塊。由于用戶作業(yè)可能被調(diào)度到任意地理位置上的集群上運行,因此,作業(yè)輸入?yún)?shù)和計算結(jié)果需要能夠在整個系統(tǒng)中透明的傳輸。同時,還要為用戶提供輸入?yún)?shù)上傳和計算結(jié)果下載功能。在設(shè)計機制實現(xiàn)透明傳輸文件的同時,還必須保證該文件傳輸?shù)目煽啃院头€(wěn)定性。

2多集群作業(yè)管理設(shè)計思路與技術(shù)方案

2.1消息中間件JMS

采用JMS[9-10](JavaMessageService)消息中間件來進行全局作業(yè)的調(diào)度和統(tǒng)一管理。JMS的消息模型和通信特點在網(wǎng)絡(luò)很不穩(wěn)定的情況下也能保證穩(wěn)定性和可靠性,并且JMS強大的接口能力可以方便靈活的進行定制,方便根據(jù)用戶作業(yè)的資源需求及各個集群自身負載情況進行統(tǒng)一管理和調(diào)度。

2.1.1JMS特點及基本組成

JMS可使分布式系統(tǒng)的通信松散連接,即發(fā)送信息的客戶端只需要負責發(fā)送信息,接收信息的客戶端接收信息,兩個客戶端之間沒有必要是同時可用的,甚至發(fā)送客戶端都沒有必要知道接收客戶端的信息,只需要發(fā)送到接收信息的服務(wù)端。同時JMS還具有以下兩個特征:

(1)異步的,服務(wù)端可以發(fā)送信息到一個客戶端,客戶端不需要為了收到信息而請求信息。

(2)可靠的,JMSAPI保證了服務(wù)端所有發(fā)送的信息最少發(fā)送一次和只發(fā)送一次。JMS由提供者、客戶、生產(chǎn)者、消費者、消息、隊列、主題七個部分組成。其中,提供者指JMS的實現(xiàn),可以認為是JMS消息服務(wù)器;JMS客戶指生產(chǎn)或消費消息的基于Java的應(yīng)用程序或?qū)ο?JMS生產(chǎn)者是指創(chuàng)建并發(fā)送消息的JMS客戶;JMS消費者則是接收消息的JMS客戶;消息指可以在JMS客戶之間傳遞的數(shù)據(jù)的對象;另外,JMS隊列指一個容納那些被發(fā)送的等待閱讀的消息的區(qū)域,這些消息將按照順序發(fā)送。一旦一個消息被閱讀,該消息將被從隊列中移走;JMS主題指一種支持發(fā)送消息給多個訂閱者的機制。

2.1.2JMS的通信方式Java消息服務(wù)應(yīng)用程序結(jié)構(gòu)支持兩種模型:點對點或隊列模型、/訂閱模型。

(1)在點對點或隊列模型下,一個生產(chǎn)者向一個特定的隊列消息,一個消費者從該隊列中讀取消息。在這種模式下,只有一個消費者將最終獲得消息。同時,生產(chǎn)者不需要在接收者消費該消息期間處于運行狀態(tài),接收者也不需要在消息發(fā)送時處于運行狀態(tài)。

(2)者/訂閱者模型支持向一個特定的消息主題消息。該模型如圖2所示,對某個消息主題感興趣的訂閱者可以訂閱并得到該主題的所有消息。同時,在者和訂閱者之間存在時間依賴性。者需要建立一個訂閱(subscription),以便客戶能夠購訂閱。訂閱者必須保持持續(xù)的活動狀態(tài)以接收消息,除非訂閱者建立了持久的訂閱。在那種情況下,在訂閱者未連接時的消息將在訂閱者重新連接時重新。圖2JMS-訂閱消息模型

2.2本地集群作業(yè)管理

PBS、LSF是已有常用的單個集群作業(yè)管理系統(tǒng),采用多種本地集群作業(yè)管理系統(tǒng),在減少設(shè)計復雜度的同時,還可以充分滿足不同本地集群管理多樣性的需求。PBS的主要特點有:代碼開放,免費獲取,提供完整的API。LSF特點是擁有強大的可用性和資源管理功能。

2.3基于FTP的文件集中統(tǒng)一管理方案

由于多集群可能在地理位置上是分散的,而集群之間互聯(lián)的網(wǎng)絡(luò)基礎(chǔ)設(shè)施是不可靠和不穩(wěn)定的,用戶需要透明地上傳輸入?yún)?shù)并下載計算結(jié)果,而不需要關(guān)心它的輸入?yún)?shù)在哪個地方進行計算,以及需要到哪個地方去下載計算結(jié)果。FTP技術(shù)是比較成熟和常用的文件傳輸協(xié)議之一,文中采用基于FTP文件傳輸?shù)募薪y(tǒng)一管理方案。使用FTP進行文件傳輸,客戶和服務(wù)器建立連接前要經(jīng)過一個“三次握手”的過程,客戶與服務(wù)器之間的連接是可靠的,而且是面向連接的,為數(shù)據(jù)傳輸提供可靠保證。它允許用戶以文件操作的方式(如文件的增、刪、改、查、傳送等)與另一主機相互通信。集中的文件統(tǒng)一管理方案可設(shè)置集中式FTP服務(wù)器,瀏覽器端提交的輸入?yún)?shù)將傳輸給該FTP服務(wù)器,本地集群程序從消息服務(wù)器中獲取到相應(yīng)主題作業(yè)消息,解析作業(yè)消息,得到用戶輸入?yún)?shù),到該FTP服務(wù)器下載相應(yīng)輸入?yún)?shù)到本地集群。本地集群程序查詢到作業(yè)計算完成以后,將計算結(jié)果上傳到該FTP服務(wù)器中,并把計算結(jié)果相關(guān)信息組裝成消息發(fā)送到消息服務(wù)器,全局作業(yè)管理器獲取到該消息,解析消息后就可以得到計算結(jié)果相關(guān)信息,此時計算結(jié)果已經(jīng)在FTP服務(wù)器上,用戶可以直接下載。

3多集群作業(yè)管理框架與設(shè)計實現(xiàn)

3.1多集群作業(yè)管理方案框架

是文中采用的基于消息模型的多集群作業(yè)管理框架圖。在圖3中,瀏覽器負責接收用戶提交的作業(yè)描述、輸入文件上傳、作業(yè)狀態(tài)查詢、計算結(jié)果下載等功能。全局作業(yè)管理器是整個系統(tǒng)的核心,主要負責集中管理所有的作業(yè),維護全局的集群系統(tǒng)資源負載信息,并做出相應(yīng)決策,調(diào)度作業(yè)到相應(yīng)的集群上運行;同時實時監(jiān)控作業(yè)狀態(tài),給用戶提供作業(yè)狀態(tài)查詢,負責透明地將輸入文件傳遞到相應(yīng)集群,計算完成以后,再透明地將計算結(jié)果傳回并透明地提供給用戶下載。消息服務(wù)器主要負責緩存全局作業(yè)管理器調(diào)度給各個集群的作業(yè)信息,以及各個集群返回的作業(yè)狀態(tài)信息。而各個集群的本地程序負責從消息服務(wù)器接收作業(yè)消息,并把消息解析成作業(yè)提交給本地作業(yè)提交系統(tǒng),同時還負責定期查詢本地作業(yè)管理系統(tǒng)該作業(yè)的狀態(tài),給消息服務(wù)器發(fā)送作業(yè)狀態(tài)信息,同時在本地計算完成以后,回傳計算結(jié)果。

3.2多集群作業(yè)管理方案設(shè)計實現(xiàn)

從框架圖中可以看出,該系統(tǒng)由六部分組成,包括作業(yè)調(diào)度模塊、資源監(jiān)控模塊、作業(yè)控制模塊、作業(yè)狀態(tài)管理模塊、消息服務(wù)器模塊、本地集群程序模塊。

3.2.1消息設(shè)計

這個系統(tǒng)中的消息分四類,第一類是作業(yè)消息,第二類是作業(yè)狀態(tài)消息,第三類是資源狀態(tài)消息,最后一類是作業(yè)控制消息。作業(yè)消息包括作業(yè)的ID、作業(yè)腳本、作業(yè)用戶名稱、需求的資源、輸入文件名稱等。作業(yè)狀態(tài)消息即作業(yè)的狀態(tài)信息,主要包括作業(yè)ID、作業(yè)狀態(tài)、作業(yè)提交時間、運行時間、完成時間等。資源狀態(tài)消息包括本地集群自身的ID、CPU計算能力、內(nèi)存大小等靜態(tài)信息,以及CPU利用率、主機負載等動態(tài)信息,還包括目標系統(tǒng)啟動時間等信息。作業(yè)控制消息包括作業(yè)ID、作業(yè)用戶名稱、作業(yè)控制命令等。

3.2.2消息服務(wù)器設(shè)計

采用的是JMS中-訂閱消息服務(wù)模型作為消息服務(wù)器,類似于群發(fā)郵件的模式。消息生產(chǎn)者將消息發(fā)送給消息服務(wù)器,并設(shè)定一個主題,消息的消費者可以訂閱其中的一個或者多個主題,并取走相應(yīng)的消息。針對某個主題的訂閱者,它必須創(chuàng)建一個訂閱之后,才能消費者的消息,而且還可以利用JMS的持久化的訂閱,這樣,即使訂閱者沒有被激活,它也能接收到者的消息。這樣就保證了在基礎(chǔ)設(shè)施網(wǎng)絡(luò)不穩(wěn)定的情況下,消息也不會被扔掉,保證了系統(tǒng)的可靠性和穩(wěn)定性。消息服務(wù)器中消息主題的設(shè)計主要按本地集群編號和消息本身類型設(shè)計,及如果有n套本地集群,那么消息主題總數(shù)量為4*n。消息服務(wù)器中消息主題設(shè)計如表1所示。

3.2.3多集群系統(tǒng)資源監(jiān)控設(shè)計

本地資源監(jiān)控是多集群作業(yè)調(diào)度管理的基礎(chǔ),能為錯誤檢測、資源優(yōu)化配置和作業(yè)調(diào)度等提供重要的依據(jù)和參考。然而,不同本地監(jiān)控系統(tǒng)存在著不兼容的描述或者含糊的定義,可能導致最終監(jiān)控信息不準確[11-12]。需要設(shè)計一種資源信息公共的表示方法,使得原有集群的監(jiān)控信息轉(zhuǎn)換成規(guī)范格式、形成一致的數(shù)據(jù)提供者。多集群系統(tǒng)資源監(jiān)控的核心工作是本地監(jiān)控信息數(shù)據(jù)采集轉(zhuǎn)換及信息組織。統(tǒng)一規(guī)范的集群監(jiān)控信息包括本地集群自身ID、CPU頻率等靜態(tài)信息,以及CPU利用率、內(nèi)存占用率等動態(tài)信息。本地集群程序是守護進程,會定期向本地集群發(fā)送監(jiān)控查詢請求,并將返回的監(jiān)控結(jié)果轉(zhuǎn)換成設(shè)計的統(tǒng)一規(guī)范的監(jiān)控信息,組裝成消息,發(fā)送給消息服務(wù)器。其基本算法流程描述如下:

(1)啟動本地監(jiān)控系統(tǒng);

(2)本地守護進程從本地監(jiān)控系統(tǒng)發(fā)送監(jiān)控查詢請求;

(3)本地守護進程獲得返回結(jié)果以后,解析返回結(jié)果,組裝成設(shè)計好的統(tǒng)一規(guī)范的監(jiān)控信息格式;

(4)本地守護進程將該實時監(jiān)控信息發(fā)送給消息服務(wù)器;

(5)程序睡眠一段時間,醒來后返回第二步。當全局作業(yè)管理器發(fā)現(xiàn)消息服務(wù)器中相應(yīng)主題有新消息達到,將自動獲取該消息,并添加到全局資源監(jiān)控數(shù)據(jù)結(jié)構(gòu)中。

3.2.4多集群作業(yè)調(diào)度模塊設(shè)計

多集群的作業(yè)調(diào)度器采用基于全局-本地的兩級調(diào)度機制,即全局調(diào)度和本地調(diào)度[13-14]。每級調(diào)度都由相應(yīng)的隊列和調(diào)度器完成,局部調(diào)度由本地資源管理器提供,因此文中主要關(guān)注全局調(diào)度。實現(xiàn)全局調(diào)度的基本手段是定義若干全局的作業(yè)隊列,包括就緒隊列、運行隊列、完成隊列。這些全局作業(yè)隊列由全局調(diào)度器管理。作業(yè)最終經(jīng)過全局調(diào)度-本地調(diào)度-CPU調(diào)度,形成了不同層次的調(diào)度。作業(yè)調(diào)度的流程設(shè)計描述如下:

(1)接收瀏覽器端用戶提交的作業(yè)請求描述和調(diào)度說明,組裝成作業(yè)對象,加入到就緒隊列之中。

(2)通過監(jiān)控信息系統(tǒng)得到系統(tǒng)運行狀態(tài),提供資源的使用狀況及所運行作業(yè)的狀態(tài)查詢功能。

(3)分析作業(yè)請求描述及調(diào)度說明,匹配可用資源,得到候選資源集合。

(4)根據(jù)調(diào)度策略調(diào)度算法實現(xiàn)作業(yè)到特定集群資源的匹配,將作業(yè)轉(zhuǎn)發(fā)到消息服務(wù)器上,同時作業(yè)從就緒隊列中出隊,加入到運行隊列中。

(5)相應(yīng)的本地守護進程從消息服務(wù)器取出作業(yè)請求描述消息,提交給本地作業(yè)調(diào)度器,并最終將作業(yè)分配到具體的處理機上運行。

3.2.5作業(yè)控制及狀態(tài)管理模塊設(shè)計

作業(yè)控制、作業(yè)狀態(tài)管理也是作業(yè)管理的重要組成部分。作業(yè)控制消息發(fā)送到消息服務(wù)器,相應(yīng)的本地集群程序獲取到該控制消息,并提交本地作業(yè)管理軟件。本地集群程序定期向本地作業(yè)管理軟件發(fā)送作業(yè)狀態(tài)查詢請求,如果發(fā)現(xiàn)作業(yè)狀態(tài)發(fā)生改變,將狀態(tài)消息發(fā)送到消息服務(wù)器,全局作業(yè)管理器獲取到該消息,解析該消息,將相應(yīng)作業(yè)從運行隊列中取出,加入到完成隊列。

4結(jié)束語

文中結(jié)合中國教育科研網(wǎng)格材料高性能計算服務(wù)門戶系統(tǒng)項目建設(shè)背景,就如何整合不同時期、不同地域建設(shè)的高性能計算集群,提高各計算集群資源利用率,使用戶可以通過提供的統(tǒng)一平臺訪問和使用這些高性能計算資源展開討論。設(shè)計并實現(xiàn)了一種采用消息模型的多集群作業(yè)管理方案。該方案可以根據(jù)用戶作業(yè)的資源需求及各個集群自身負載情況進行統(tǒng)一管理和調(diào)度。筆者基于這個原理設(shè)計并實現(xiàn)了該原型系統(tǒng)。采用該方案設(shè)計實現(xiàn)的多集群任務(wù)管理系統(tǒng)性能穩(wěn)定,能實現(xiàn)多集群資源監(jiān)控、資源管理、作業(yè)調(diào)度、作業(yè)控制、數(shù)據(jù)管理等功能??缂鹤鳂I(yè)管理實現(xiàn)了不同集群利用率均衡的同時,有效解決了在資源異構(gòu)及網(wǎng)絡(luò)環(huán)境不可靠條件下的系統(tǒng)穩(wěn)定性問題,顯著提高了多集群系統(tǒng)作業(yè)吞吐能力。

作者:谷建華 凌東 單位:西北工業(yè)大學

免责声明

本站为第三方开放式学习交流平台,所有内容均为用户上传,仅供参考,不代表本站立场。若内容不实请联系在线客服删除,服务时间:8:00~21:00。

AI写作,高效原创

在线指导,快速准确,满意为止

立即体验
文秘服务 AI帮写作 润色服务 论文发表