• <input id="zdukh"></input>
  • <b id="zdukh"><bdo id="zdukh"></bdo></b>
      <b id="zdukh"><bdo id="zdukh"></bdo></b>
    1. <i id="zdukh"><bdo id="zdukh"></bdo></i>

      <wbr id="zdukh"><table id="zdukh"></table></wbr>

      1. <input id="zdukh"></input>
        <wbr id="zdukh"><ins id="zdukh"></ins></wbr>
        <sub id="zdukh"></sub>
        公務員期刊網 論文中心 正文

        多集群作業管理方案設計論文

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

        多集群作業管理方案設計論文

        1多集群作業管理功能分析

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

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

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

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

        (4)數據傳輸與管理模塊。由于用戶作業可能被調度到任意地理位置上的集群上運行,因此,作業輸入參數和計算結果需要能夠在整個系統中透明的傳輸。同時,還要為用戶提供輸入參數上傳和計算結果下載功能。在設計機制實現透明傳輸文件的同時,還必須保證該文件傳輸的可靠性和穩定性。

        2多集群作業管理設計思路與技術方案

        2.1消息中間件JMS

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

        2.1.1JMS特點及基本組成

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

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

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

        2.1.2JMS的通信方式Java消息服務應用程序結構支持兩種模型:點對點或隊列模型、/訂閱模型。

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

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

        2.2本地集群作業管理

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

        2.3基于FTP的文件集中統一管理方案

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

        3多集群作業管理框架與設計實現

        3.1多集群作業管理方案框架

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

        3.2多集群作業管理方案設計實現

        從框架圖中可以看出,該系統由六部分組成,包括作業調度模塊、資源監控模塊、作業控制模塊、作業狀態管理模塊、消息服務器模塊、本地集群程序模塊。

        3.2.1消息設計

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

        3.2.2消息服務器設計

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

        3.2.3多集群系統資源監控設計

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

        (1)啟動本地監控系統;

        (2)本地守護進程從本地監控系統發送監控查詢請求;

        (3)本地守護進程獲得返回結果以后,解析返回結果,組裝成設計好的統一規范的監控信息格式;

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

        (5)程序睡眠一段時間,醒來后返回第二步。當全局作業管理器發現消息服務器中相應主題有新消息達到,將自動獲取該消息,并添加到全局資源監控數據結構中。

        3.2.4多集群作業調度模塊設計

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

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

        (2)通過監控信息系統得到系統運行狀態,提供資源的使用狀況及所運行作業的狀態查詢功能。

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

        (4)根據調度策略調度算法實現作業到特定集群資源的匹配,將作業轉發到消息服務器上,同時作業從就緒隊列中出隊,加入到運行隊列中。

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

        3.2.5作業控制及狀態管理模塊設計

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

        4結束語

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

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

        无码人妻一二三区久久免费_亚洲一区二区国产?变态?另类_国产精品一区免视频播放_日韩乱码人妻无码中文视频
      2. <input id="zdukh"></input>
      3. <b id="zdukh"><bdo id="zdukh"></bdo></b>
          <b id="zdukh"><bdo id="zdukh"></bdo></b>
        1. <i id="zdukh"><bdo id="zdukh"></bdo></i>

          <wbr id="zdukh"><table id="zdukh"></table></wbr>

          1. <input id="zdukh"></input>
            <wbr id="zdukh"><ins id="zdukh"></ins></wbr>
            <sub id="zdukh"></sub>
            思思热思思热久久 | 日韩精品一区二区三区在线观看视频 | 亚洲日韩欧美在线一区 | 日韩精品一区在线 | 亚洲综合色在线观看一区 | 香蕉精品亚洲二区在线观看 |