摘 要:本文以美國Altair公司企業(yè)級資源調(diào)度管理軟件PBS為例,對計算資源調(diào)度管理的應用進行了探討和研究。包括作業(yè)調(diào)度管理概念、作業(yè)調(diào)度管理發(fā)展簡史、作業(yè)調(diào)度管理系統(tǒng)模塊、常見調(diào)度策略、作業(yè)調(diào)度管理軟件的安裝與配置等。其中作業(yè)提交腳本以Nastran仿真分析軟件為例編寫。
關鍵詞:作業(yè)管理器;調(diào)度器;計算節(jié)點
中圖分類號:TP393.02
現(xiàn)代CAE技術已經(jīng)非常成熟,結構有限元分析、多體動力學仿真、計算流體力學、熱力學分析、結構與多學科優(yōu)化等技術在航空行業(yè)得到了廣泛的應用。近十多年來,研究所陸續(xù)引進了Nastran、ANSYS、Fluent、CFX、NUMECA、Flowmaster等一批通用CAE軟件,模擬仿真經(jīng)驗逐步積累,仿真精度和可靠性程度不斷提高,已經(jīng)在發(fā)動機設計過程中起到了預測發(fā)動機性能、輔助改進改型的作用,降低了設計和試驗成本,縮短了型號研制周期,對提高設計和試驗質量起到了越來越重要的作用。特別是隨著近幾年軟硬件條件的不斷改善,研究所的計算能力得到了顯著提高。
作為計算環(huán)境重要組成部分的作業(yè)調(diào)度管理系統(tǒng),就是為了提高軟硬件資源利用效率,滿足各個不同層面的需求而誕生。建立計算作業(yè)管理系統(tǒng),將為廣大CAE工程技術人員提供了良好的人機交互接口以及強大的資源調(diào)度策略,成為CAE工程技術人員、系統(tǒng)管理人員的得力助手。
1 作業(yè)調(diào)度管理概念
作業(yè)調(diào)度是指控制無人值守的計算機后臺執(zhí)行程序的計算機應用程序。
作業(yè)調(diào)度(job scheduler)的同義詞是批處理管理系統(tǒng),分布式資源管理系統(tǒng)(DRMS:Distributed Resource Management System)和分布式資源管理(DRM:Distributed Resource Manager)。現(xiàn)在的作業(yè)調(diào)度程序,通常被稱為作業(yè)載荷自動化程序,通常提供一個圖形化的用戶界面和一個單一控制點定義和監(jiān)測的背景處理計算機的分布式網(wǎng)絡。越來越多的作業(yè)調(diào)度程序需要協(xié)調(diào)與跨越不同的操作系統(tǒng)平臺和業(yè)務應用環(huán)境傳統(tǒng)的IT后臺處理實時業(yè)務活動的整合。
作業(yè)調(diào)度與進程調(diào)度概念容易發(fā)生混淆,進程調(diào)度是指在操作系統(tǒng)層面上運行的管理CPU進程分配的程序。
作業(yè)調(diào)度的主要功能定位就是管理計算機集群的隊列。通常情況下,調(diào)度系統(tǒng)可以發(fā)現(xiàn)集群特定資源(如節(jié)點,磁盤,license)進入空閑狀態(tài),并將作業(yè)推送到這些空閑的資源上。
目前作業(yè)調(diào)度管理系統(tǒng)主要實現(xiàn)了整合所有異構、分布的計算資源(包括CPU、內(nèi)存、磁盤空間、軟件license、高速互聯(lián)、GPU等),形成一個虛擬的資源池,并加以集中化管理是HPC中心首要的任務。借助強大的資源管理和作業(yè)調(diào)度功能,站點可以將現(xiàn)有的所有異構、分布的計算資源加以整合,并在貫徹用戶資源分配/使用政策的前提下,統(tǒng)一管理、監(jiān)控,并進行資源分配和作業(yè)調(diào)度,最大限度地提高計算資源的利用率和作業(yè)吞吐量。
2 沒有作業(yè)調(diào)度管理系統(tǒng)所面臨的問題
(1)越來越復雜的架構,沒有那個用戶知道目前系統(tǒng)內(nèi)有哪些軟硬件,安裝在哪里,系統(tǒng)可用性如何等信息;(2)本地的資源無法負荷越來越大的計算任務,而在集群內(nèi)的資源如何分配如何管理成為管理員和投資者的大問題;(3)需要經(jīng)常查看別人的作業(yè)占用了多少CPU,使用的是什么軟件的license,還剩下多少;(4)如果同時上去計算,每個人都很慢;(5)如果等待,不知道他人何時能夠計算完畢;(6)夜間、周末及節(jié)假日無法充分利用資源計算人人配置一臺很好的機器仍不能從根本上解決以上問題;(7)需要學習linux或unix;(8)需要上傳計算文件;(9)需要經(jīng)常查看自己的作業(yè)是否算完;(10)需要手工下載計算結果;(11)無法控制用戶對資源的使用,如誰可以用Radioss,可以用幾個CPU?(12)不知道哪些節(jié)點裝有什么軟件;(13)某個節(jié)點出故障了,作業(yè)不能自動轉到其他地方計算;(14)無法知道哪幾臺機器是空閑的;(15)無法知道繁忙的機器何時會空閑;(16)需要記住每次提交計算的節(jié)點以便查看作業(yè)狀態(tài),取回計算文件。
3 作業(yè)調(diào)度管理軟件的發(fā)展
目前業(yè)界主流的作業(yè)調(diào)度和管理系統(tǒng)分為商業(yè)和免費兩大種類。
商業(yè)軟件主要廠商為三家,分別是Altair公司的PBS(Portable Batch System)系列,IBM在2012年收購PLATFORM的LSF(Load Sharing Facility)產(chǎn)品和Adaptive Computing的Moab,目前在中國有技術支持的為Altair和IBM。
免費軟件主要針對市場是科研教育客戶,而商業(yè)軟件主要客戶為軍工,航空航天,船舶,汽車,機車,能源等商業(yè)客戶。
4 作業(yè)調(diào)度管理系統(tǒng)模塊
目前所有的作業(yè)調(diào)度管理系統(tǒng)基本都包括三個主要模塊,分別為作業(yè)管理器Server,由它負責維護所有隊列、資源等相關信息;調(diào)度器Scheduler,由它負責完成所有的資源查詢、調(diào)度策略實現(xiàn)等功能;計算節(jié)點Client,由它負責執(zhí)行Server推送來的作業(yè),并完成作業(yè)的使用情況監(jiān)控和作業(yè)完成后的清理工作。
其他模塊:(1)Portal系統(tǒng):因為很多的CAE用戶對于Linux不太熟悉,很難掌握命令行下的作業(yè)提交管理,文件上傳和下載,商業(yè)軟件廠商都推出了基于Web技術的Portal系統(tǒng),通過Portal,用戶可以非常簡單的通過瀏覽器提交計算作業(yè)到高性能計算集群,而當今的Portal技術,除了需要提供用戶所需要的作業(yè)提交,作業(yè)監(jiān)控,文件上傳下載外,還需要針對管理員提供系統(tǒng)監(jiān)控,用戶管理,授權管理,系統(tǒng)設置等其他功能,而隨著圖形虛擬化技術的成熟,基于圖形的作業(yè)管理和圖形節(jié)點分享也成為了Portal的重要新功能;(2)報表系統(tǒng):為了滿足決策層對于整個軟硬件資產(chǎn)投入產(chǎn)出比的需要,對于整個高性能計算集群的軟硬件使用情況,各個部門的使用狀態(tài),軟件飽滿程度,目前系統(tǒng)是否能夠滿足應用需求,需要有量化的報表輸出,所以主要的商業(yè)軟件廠商都提供了專業(yè)的報表系統(tǒng),而Altair提供了兩種類型報表,軟件使用信息報表(SAO)和硬件使用信息報表(PBS Analytics);
5 常見調(diào)度策略及說明
作業(yè)的優(yōu)先級是一個動態(tài)的、由多方面因素決定的值,和作業(yè)所在的隊列、所處的時間和選擇的調(diào)度策略等諸多因素有關。
5.1 常見默認調(diào)度策略
預約資源中的作業(yè)、“Express”隊列中的作業(yè)、“饑餓”作業(yè)、被休眠的作業(yè)、“round_robin”或者“by_queue”指向的當前隊列中的作業(yè)、由fairshare或者job_sort_key排序得出的作業(yè)。
5.2 高級的搶占性調(diào)度策略
站點可自定義搶占性調(diào)度時,所有作業(yè)的搶占調(diào)度等級,指示系統(tǒng)按照此等級來決定作業(yè)所在的等級,從而進行搶占性調(diào)度??啥x的調(diào)度等級可以是以下各項或其任意組合:express_queue,starving_jobs,fareshare,queue_softli mits,server_softlimits,normal_jobs。如有多個滿足被搶占條件,站點可定義選擇最近啟動的作業(yè);preempt_sort:min_time_since_start,否則會選擇運行時間最長的作業(yè)。
作業(yè)被搶占的方式,可以是S,即休眠,或者C,即Check Point/Restart,或者R,即重新排隊。
站點可以根據(jù)作業(yè)完成比例不同而選擇不同的搶占方式:suspend/checkpoint/requeue,如:preempt_order:“SCR 80 SC 50 S”。
5.3 作業(yè)智能優(yōu)化放置
可按照需要對節(jié)點進行全所未有的靈活分組,并自動根據(jù)節(jié)點當前使用狀況和應用軟件運行性能最優(yōu)化原則,智能地優(yōu)化放置作業(yè),從而大幅度提高作業(yè)的放置效率和終端用戶的資源請求靈活性。
例如:用戶可請求16個CPU,無論是單臺機器使用SMP運行,還是1~16臺機器使用MPI運行;用戶也可請求,只在Infiniband上運行該作業(yè)等等。如用戶無特別要求,則PBS Professional將根據(jù)節(jié)點的當前使用狀況,優(yōu)化放置作業(yè),在滿足作業(yè)需要的同時,提供作業(yè)的運行效率。
6 作業(yè)管理軟件的安裝
6.1 PBS Professional模塊說明
PBSPro包含如下三個子程序:(1)Server(服務端程序);(2)Scheduler(調(diào)度功能子程序);(3)MoM(計算節(jié)點子程序)。
6.2 Linux版本安裝步驟
6.2.1 準備工作
(1)管理節(jié)點,計算節(jié)點,IO節(jié)點,存儲等硬件系統(tǒng)配置完成;(2)操作系統(tǒng)已安裝完成,且網(wǎng)絡已經(jīng)聯(lián)通;(3)NFS或其他網(wǎng)絡文件系統(tǒng)已經(jīng)正常掛載到各節(jié)點;(4)NIS或LDAP帳號驗證已經(jīng)配置完成,用戶主目錄設置到NFS共享目錄;(5)機器之間hosts表已經(jīng)配置,且任何用戶使用hostname或ip都能無密碼訪問;(6)PBSPro安裝程序已經(jīng)放在NFS共享目錄以及相關的許可證已經(jīng)申請成功
6.2.2 安裝步驟
6.2.2.1 安裝PBS許可證管理器
7 結束語
隨著研究所自主創(chuàng)新能力的提升,越來越多的型號項目設計工作引入了CAE、CFD等大量計算模擬技術,成為創(chuàng)新研發(fā)不可缺少的強大引擎。
如何更好的提升研究所設計能力,如何更快更好的完成型號研發(fā),成為研究所亟需解決的問題;而相關的CAE設計人員需要的是如何簡單快捷的作業(yè)提交方式、如何能夠隨時掌握計算過程和了解相關計算進度;IT部門管理人員關心如何了解機器的使用效率、是否方便管理、如何了解整個系統(tǒng)的運行狀況等信息。
通過作業(yè)調(diào)度管理系統(tǒng)解決方案,完成整合計算資源和各類系統(tǒng)軟硬件資源,針對不同需求和層次的用戶提供不同的計算資源條件。
通過計算門戶Portal,HPC(高性能計算)終端用戶可以基于web、使用向導式的方式,訪問和使用HPC資源并能遠程管理自己的作業(yè)、數(shù)據(jù)等。同時,用拖曳計算文件的方式 (Drag Drop)來和系統(tǒng)交互;終端用戶也可以在基于桌面的交互式應用程序界面內(nèi),向遠程HPC設施提交作業(yè),這需要應用程序本身的支持,或基于此應用程序進行開發(fā);HPC站點管理員則可通過web來定義和部署應用程序。
通過作業(yè)調(diào)度管理系統(tǒng),整合各站點的所有計算資源、實現(xiàn)站點資源使用策略,并通過其強大的資源管理和作業(yè)調(diào)度功能,來最大化站點HPC資源的利用效率。同時,通過作業(yè)調(diào)度管理系統(tǒng)提供的強大可靠性,確保站點運行穩(wěn)定,有力支撐型號研發(fā)活動的連續(xù)性,幫助IT部門管理員通過其強大的統(tǒng)計功能和業(yè)務分析能力來可視化站點使用狀況,并優(yōu)化資源調(diào)度策略。
參考文獻:
[1]https://en.wikipedia.org/wiki/Portable_Batch_System.
[2]https://en.wikipedia.org/wiki/PBS_Pro.
作者簡介:魏雅江(1962-),男,江蘇人,主任設計師,高級工程師,研究方向:Unix系統(tǒng)管理。
作者單位:中航工業(yè)航空動力機械研究所,湖南株洲 412002