IBM Platform LSF在很多行業(yè)得到了成功部署,用于管理批量和高度并行的工作負(fù)載。Platform LSF的用戶使用案例受益于關(guān)鍵行業(yè)領(lǐng)先獨(dú)立軟件廠商的應(yīng)用支持。在Platform應(yīng)用中心內(nèi)的IBM Platform LSF具有完整的應(yīng)用模版,覆蓋ANSYS Mechanical、ANSYS Fluent、ANSYS CFX、ClustalW、CMGL STARS、CMGL IMEX、CMGL GEM、HMMER、LS-DYNA、MATLAB、MSC Nastran、NCBI Blast、NWChem、Schlumberger ECLIPSE、Simulia Abaqus、STAR-CCM,以及用于內(nèi)部或者開源應(yīng)用的通用模板。通過(guò)訪問(wèn)應(yīng)用的標(biāo)準(zhǔn)化,Platform應(yīng)用中心可以更容易地執(zhí)行站點(diǎn)策略并解決基于角色的訪問(wèn)控制(RBAC)的安全擔(dān)憂。
通過(guò)Platform LSF,計(jì)算資源通過(guò)動(dòng)態(tài)和透明的負(fù)載共享提供給用戶。通過(guò)其透明遠(yuǎn)程作業(yè)運(yùn)行,Platform LSF提供了強(qiáng)大的遠(yuǎn)程主機(jī)以提高應(yīng)用性能,這使得用戶能夠在系統(tǒng)中的任何地方訪問(wèn)資源。
Platform LSF架構(gòu)
Platform LSF是一個(gè)位于異構(gòu)企業(yè)資源之上的軟件服務(wù)層。下表顯示了這種分層的服務(wù)模式,它接受并且調(diào)用工作負(fù)載為批量或者非批量處理應(yīng)用、管理資源和監(jiān)控所有活動(dòng)。
Platform LSF分層的服務(wù)模式
上圖中顯示了工作負(fù)載資源管理層的三個(gè)核心組件,分別是LSF Base、LSF Batch和LSF Libraries。這三個(gè)組件一起幫助創(chuàng)建一個(gè)共享的、可擴(kuò)展的、容錯(cuò)的基礎(chǔ)設(shè)施,交付更快速更可靠的工作負(fù)載性能。
LSF Base為分布式系統(tǒng)提供了基礎(chǔ)的負(fù)載均衡服務(wù),例如資源使用情況信息、主機(jī)選擇、作業(yè)安置決策、透明遠(yuǎn)程運(yùn)行作業(yè)以及遠(yuǎn)程文件選項(xiàng)。這些服務(wù)是通過(guò)以下組件提供的:
負(fù)載信息管理器(LIM)。每臺(tái)主機(jī)上的LIM監(jiān)控主機(jī)的負(fù)載,并向運(yùn)行在主機(jī)節(jié)點(diǎn)上的LIM報(bào)告負(fù)載性能。主LIM手機(jī)來(lái)自運(yùn)行在集群中的所有從屬主機(jī)的信息,并向應(yīng)用提供相同的信息。
進(jìn)程信息管理器(PIM)。這是LIM發(fā)起的,運(yùn)行在集群中的每個(gè)節(jié)點(diǎn)上。它收集運(yùn)行在主機(jī)上的作業(yè)流程信息,例如作業(yè)消耗的CPU和內(nèi)存,并將這些信息報(bào)告給sbatchd。
遠(yuǎn)程執(zhí)行服務(wù)器(RES)。每臺(tái)服務(wù)器主機(jī)上的RES接收遠(yuǎn)程運(yùn)行請(qǐng)求,提供高速、透明和安全的遠(yuǎn)程任務(wù)運(yùn)行。
有多個(gè)工具例如lstools、lstcsh和lsmake可用于管理工作負(fù)載。
LSFBatch將Platform LSF基礎(chǔ)服務(wù)擴(kuò)展至能夠?yàn)榕孔鳂I(yè)處理系統(tǒng)提供負(fù)載均衡和基于策略的資源分配控制。為了提供這種功能,LSF Batch使用以下一些平臺(tái)LSF的基礎(chǔ)服務(wù):
· 來(lái)自LIM的資源和負(fù)載信息,以便做負(fù)載均衡
· 來(lái)自LIM的集群配置信息
· 由LIM提供的主LIM選擇服務(wù)
· RES用于交互式批量作業(yè)運(yùn)行
· 由RES提供的遠(yuǎn)程文件操作服務(wù)用于文件傳輸
Platform LSF Batch的核心組件是基于Master Batch Scheduler守護(hù)進(jìn)程(mbschd)的調(diào)度框架,與多個(gè)插件進(jìn)行結(jié)合。所有調(diào)度策略都是在插件中實(shí)現(xiàn)的。針對(duì)每個(gè)調(diào)度周期,觸發(fā)調(diào)度,然后控制負(fù)載通過(guò)每個(gè)調(diào)度策略插件,并按照調(diào)度策略選擇和派發(fā)到執(zhí)行節(jié)點(diǎn)。
在不同的調(diào)度階段,這個(gè)插件都可以攔截作業(yè)負(fù)載并影響最終決策。這意味著為了做出調(diào)度決策,Platform LSF采用多個(gè)調(diào)度方法,可以并發(fā)運(yùn)行以及用于任何組合中,包括用戶定義的定制調(diào)度方法。這種獨(dú)特的模塊化架構(gòu)讓調(diào)度器框架可擴(kuò)展增加新策略例如新的親和插件。
LSF Batch服務(wù)是有兩個(gè)守護(hù)進(jìn)程提供的。Master Batch守護(hù)進(jìn)程(mbatchd)運(yùn)行在主主機(jī)上,負(fù)責(zé)系統(tǒng)中整體作業(yè)狀態(tài)。它接收作業(yè)提交和信息查詢請(qǐng)求。守護(hù)進(jìn)程管理隊(duì)列中的作業(yè),迅速將作業(yè)調(diào)遣至由mbatchd決定的主機(jī)。Slave Batch守護(hù)進(jìn)程(sbatchd)運(yùn)行在每個(gè)從屬主機(jī)上。守護(hù)進(jìn)程接收請(qǐng)求運(yùn)行來(lái)自mbatchd的作業(yè),并管理作業(yè)的本地運(yùn)行。它負(fù)責(zé)執(zhí)行本地策略并維持主機(jī)上的作業(yè)狀態(tài)。守護(hù)進(jìn)程創(chuàng)建一個(gè)子sbatchd以應(yīng)對(duì)每個(gè)作業(yè)運(yùn)行。這個(gè)子sbatchd將作業(yè)發(fā)送到RES,后者創(chuàng)建作業(yè)運(yùn)行的環(huán)境。
LSF庫(kù)為分布式計(jì)算應(yīng)用開發(fā)者提供API,以訪問(wèn)作業(yè)調(diào)度和資源管理功能,提供以下一些平臺(tái)LSF庫(kù):
LSLIB:這是一個(gè)LSF庫(kù),為跨異構(gòu)計(jì)算機(jī)網(wǎng)絡(luò)的應(yīng)用提供Platform LSF基礎(chǔ)服務(wù)。Platform LSF基礎(chǔ)API是Platform LSF基礎(chǔ)系統(tǒng)的直接用戶界面,為Platform LSF服務(wù)器的服務(wù)提供輕松的訪問(wèn)。一臺(tái)Platform LSF主機(jī)服務(wù)器運(yùn)行負(fù)載共享作業(yè)。一個(gè)LIM和RES運(yùn)行在每個(gè)Platform LSF服務(wù)器主機(jī)上。他們與主機(jī)操作系統(tǒng)連接,為用戶提供一個(gè)統(tǒng)一的、獨(dú)立于主機(jī)的環(huán)境。
LSBLIB:LSF批量處理庫(kù)為應(yīng)用編程者提供了對(duì)作業(yè)隊(duì)列處理服務(wù)的訪問(wèn),這些服務(wù)是由平臺(tái)LSF批量服務(wù)器提供的。所有平臺(tái)LSF批量用戶界面工具都是構(gòu)建在LSBLIB之上的。通過(guò)LSBLIB提供的服務(wù)包括平臺(tái)批量系統(tǒng)信息服務(wù)、作業(yè)操縱服務(wù)、日志文件處理服務(wù)以及Platform LSF批量管理服務(wù)。