如果有一天,你有16萬(wàn)個(gè)CPU,你要怎么用?
夢(mèng)想還是要有的,萬(wàn)一它實(shí)現(xiàn)了呢?
首先,你要有個(gè)調(diào)度器。
我們現(xiàn)在說(shuō)的調(diào)度器,主要是基于HPC場(chǎng)景的集群任務(wù)調(diào)度系統(tǒng),英文叫Cluster Scheduler、Job Scheduler等。
市面上主流調(diào)度器有四大流派:LSF/SGE/Slurm/PBS。
不同行業(yè)因?yàn)槭褂昧?xí)慣和不同調(diào)度器對(duì)應(yīng)用的支持力度不同,往往會(huì)有不同的偏好:比如高校和超算經(jīng)常用Slurm,半導(dǎo)體公司最常用的是LSF和SGE,工業(yè)制造業(yè)可能用PBS更多一些。
調(diào)度器是干嘛的?
如果有一臺(tái)或者幾臺(tái)機(jī)器,專(zhuān)屬你所有,你可以抱著他們一直持續(xù)而緩慢地用下去,調(diào)度器是沒(méi)什么用武之地的。
那什么場(chǎng)景需要呢?資源緊張或者時(shí)間緊張的時(shí)候。
為啥緊張就需要呢?因?yàn)樾枰畲蟪潭葔赫ガF(xiàn)有資源或時(shí)間的最大價(jià)值。
比如驗(yàn)證跑個(gè)regression,如何做到幾萬(wàn)個(gè)test case并行?
用1臺(tái)機(jī)器做分子對(duì)接和1000臺(tái)有什么區(qū)別?100000臺(tái)呢?
舉個(gè)例子。
這是上次那篇 15小時(shí)虛擬篩選10億分子,《Nature》+HMS驗(yàn)證云端新藥研發(fā)未來(lái) 文章里哈佛大學(xué)醫(yī)學(xué)院用云端16萬(wàn)個(gè)CPU來(lái)篩選10億種化合物,只用了15小時(shí)。
這是他們提供的超大規(guī)模計(jì)算集群上的工作流程圖:

藍(lán)色框表示計(jì)算節(jié)點(diǎn),其中包含CPU核數(shù)(藍(lán)色框內(nèi)的黑色正方形),紫色小圓圈代表待處理的配體。整張圖代表整個(gè)計(jì)算集群,并行運(yùn)行1.1到X.1個(gè)任務(wù),任務(wù)1.1完成后會(huì)自動(dòng)運(yùn)行任務(wù)1.2,以此類(lèi)推直到任務(wù)完成。
每個(gè)任務(wù)(包含多個(gè)子任務(wù))使用3個(gè)計(jì)算節(jié)點(diǎn),每個(gè)節(jié)點(diǎn)有8個(gè)CPU核。
假設(shè)我們有10億化合物需要篩選,面對(duì)16萬(wàn)CPU,把流程圖里缺乏的時(shí)間維度考慮進(jìn)來(lái),我們可以多思考幾個(gè)問(wèn)題:
- 16萬(wàn)CPU,怎么順利一一配置,啟動(dòng),關(guān)閉?
- 怎么能讓集群整體資源利用率最高?跑更多任務(wù)?
- 能不能指定特定任務(wù)在某種類(lèi)型計(jì)算節(jié)點(diǎn)上運(yùn)行?
- 任務(wù)之間存在先后順序,能否確保特定任務(wù)一定先運(yùn)行?
- 怎么統(tǒng)計(jì)和限制不同用戶的用量?
- 怎么監(jiān)控每個(gè)節(jié)點(diǎn)的狀態(tài)和使用情況?
- 怎么降低集群的整體運(yùn)行成本?避免浪費(fèi)?
- 計(jì)算節(jié)點(diǎn)間網(wǎng)絡(luò)/數(shù)據(jù)傳輸怎么考慮?
- 如何應(yīng)對(duì)云上集群資源高度動(dòng)態(tài)的特性?空閑資源不足時(shí)怎么辦?
……
當(dāng)然,有些事已經(jīng)不屬于調(diào)度器的范疇了,這次我們不展開(kāi)。
如果還不是特別明白,再打個(gè)比方。認(rèn)真想像一下你是老板,手里有且只有100個(gè)打工人,你想想要怎么管理才能讓他們更好地為你工作??
好了,靈魂科普就到這里。
今天我們基于這幾家主流調(diào)度器:LSF/SGE/Slurm/PBS以及它們的不同演化版本進(jìn)行了梳理和盤(pán)點(diǎn),尤其是對(duì)云的支持方面劃了重點(diǎn)。
以下是正文。
LSF流派
Spectrum LSF、PlatformLSF、OpenLava
基于LSF(Load Sharing Facility)的調(diào)度器主要有Spectrum LSF、PlatformLSF、OpenLava三家。
早期的LSF是由Toronto大學(xué)開(kāi)發(fā)的Utopia系統(tǒng)發(fā)展而來(lái)。
2007年,Platform Computing基于早期老版本的LSF開(kāi)源了一個(gè)簡(jiǎn)化版Platform Lava。
這個(gè)開(kāi)源項(xiàng)目2011年中止了,被OpenLava接手。
2011年,Platform員工David Bigagli基于Platform Lava的派生代碼創(chuàng)建了OpenLava 1.0。2014年,一些Platform的員工成立了Teraproc公司,為OpenLava提供開(kāi)發(fā)和商業(yè)支持。2016年IBM就LSF版權(quán)對(duì)Teraproc公司發(fā)起訴訟,2018年IBM勝訴,OpenLava被禁用。

2011年,Platform Lava開(kāi)源項(xiàng)目中止后。2012年1月,IBM收購(gòu)了Platform Computing。Spectrum LSF就是IBM收購(gòu)后推出的商用版本,目前更新到10.1.0,同時(shí)支持Linux和Windows,最大節(jié)點(diǎn)數(shù)超過(guò)6000,在國(guó)內(nèi)提供商業(yè)支持。
Platform LSF是LSF的早期版本,與Spectrum LSF一樣屬于IBM,目前版本是9.1.3,目測(cè)已經(jīng)停止更新以維護(hù)為主。


在這三個(gè)調(diào)度器中,僅有Spectrum LSF支持Auto-Scale集群自動(dòng)伸縮功能,同時(shí)該調(diào)度器還可通過(guò)LSF resourceconnector實(shí)現(xiàn)溢出到云,支持云廠商包括AWS、Azure、Google Cloud。
SGE流派
UGE、SGE
基于SGE(Sun Grid Engine)的調(diào)度器包括UGE(Univa Grid Engine)和SGE(Son of Grid Engine)。
1993年,Grid Engine作為商業(yè)軟件發(fā)布,先后使用了CODINE(Computing in Distributed Networked Environments)、GRD(Global Resource Director)作為名稱。1999年,第一次由Genias Software推出市場(chǎng),然后被Gridware公司收購(gòu)。直到2000年被SUN收購(gòu)之后正式改名Sun Grid Engine,2001年發(fā)布開(kāi)源版。
2010年被Oracle收購(gòu)后改名Oracle Grid Engine,改成閉源版,不提供源代碼。原來(lái)開(kāi)源項(xiàng)目的資料庫(kù)禁止用戶修改。
于是,Grid Engine社區(qū)開(kāi)始開(kāi)源版本的SGE(Son of Grid Engine)項(xiàng)目。該調(diào)度器最后一次更新為2016年的8.1.9,由于存在版權(quán)風(fēng)險(xiǎn),SGE已長(zhǎng)期無(wú)維護(hù)和更新。

2013年Univa收購(gòu)了Oracle Grid Engine,成為唯一商業(yè)軟件UGE(Univa Grid Engine)提供商。UGE最新版本為8.6.15,同時(shí)支持Linux和Windows,國(guó)內(nèi)暫無(wú)商業(yè)支持的相關(guān)信息。
2020年9月,Altair收購(gòu)了Univa。

用戶可通過(guò)Univa產(chǎn)品Navops Launch把工作負(fù)載移到云端,同時(shí)支持UGE和Slurm集群。同時(shí),Navops Launch支持AWS、Azure、Google Cloud等云廠商,并能進(jìn)行云端費(fèi)用監(jiān)控以及Auto-Scale集群自動(dòng)伸縮。
Slurm-四大流派里唯一純開(kāi)源派
Slurm全稱為Simple Linux Utility for Resource Management,前期主要由勞倫斯利弗莫爾國(guó)家實(shí)驗(yàn)室、SchedMD、Linux NetworX、Hewlett-Packard 和 Groupe Bull 負(fù)責(zé)開(kāi)發(fā),受到閉源軟件Quadrics RMS的啟發(fā)。
Slurm最新版本為20.02,目前由社區(qū)和SchedMD公司共同維護(hù),保持開(kāi)源和免費(fèi),由SchedMD公司提供商業(yè)支持,僅支持Linux系統(tǒng),最大節(jié)點(diǎn)數(shù)量超過(guò)12萬(wàn)。
Slurm擁有容錯(cuò)率高、支持異構(gòu)資源、高度可擴(kuò)展等優(yōu)點(diǎn),每秒可提交超過(guò)1000個(gè)任務(wù),且由于是開(kāi)放框架,高度可配置,擁有超過(guò)100種插件,因此適用性相當(dāng)強(qiáng)。

全球60%的TOP500超算中心和超大規(guī)模集群(包括我國(guó)的天河二號(hào)等)都采用Slurm作為調(diào)度系統(tǒng)。我們的TOP500就是用Slurm調(diào)度云上資源跑的。上榜啦~花費(fèi)4小時(shí)5500美元,速石科技躋身全球超算TOP500
我們支持在Slurm上的集群自動(dòng)伸縮和云端費(fèi)用監(jiān)控,并支持AWS、阿里云、Azure、騰訊云、華為云、Google Cloud等云廠商。
fastone的Auto-Scale功能可以自動(dòng)監(jiān)控用戶提交的任務(wù)數(shù)量和資源的需求,動(dòng)態(tài)按需地開(kāi)啟所需算力資源,在提升效率的同時(shí)有效降低成本。
EDA云實(shí)證Vol.1:從30天到17小時(shí),如何讓HSPICE仿真效率提升42倍? 這篇主要看通過(guò)我們自動(dòng)化部署和手動(dòng)部署的差別。
CAE云實(shí)證Vol.2:從4天到1.75小時(shí),如何讓Bladed仿真效率提升55倍?
生信云實(shí)證Vol.3:提速2920倍!用AutoDockVina對(duì)接2800萬(wàn)個(gè)分子 這篇主要看我們基于用戶不同的策略,跨區(qū)、跨類(lèi)型自動(dòng)為用戶調(diào)度云資源,如何以最快速度or最低成本完成計(jì)算任務(wù)。
PBS流派
OpenPBS、PBS PRO、Moab/TORQUE
基于PBS(Portable Batch System)的調(diào)度器包括OpenPBS、PBS PRO、Moab/TORQUE。
PBS最初是由MRJ Technology Solutions于 1991 年 6 月開(kāi)始為 NASA 所研發(fā)的作業(yè)調(diào)度系統(tǒng),MRJ于 20 世紀(jì)90 年代末被 Veridian 收購(gòu)。2003年,Altair收購(gòu)了Veridian,獲得了PBS的技術(shù)和知識(shí)產(chǎn)權(quán)。
PBS Pro是Altair旗下PBS WORKS提供的商業(yè)版本,支持可視化界面,節(jié)點(diǎn)數(shù)超過(guò)50000個(gè)。

2016年Altair基于PBS Pro提供了開(kāi)源許可版本,其與MRJ于1998年發(fā)布的原始開(kāi)源版本兩者合二為一大致就是現(xiàn)在的OpenPBS。與Pro版本比,多了很多限制,但都支持Linux和Windows。

Moab/TORQUE合在一起是一個(gè)完整調(diào)度器的功能,現(xiàn)在屬于同一家公司Adaptive Computing。90年代中期由MHPCC的David Jackson開(kāi)發(fā)的Maui,他后來(lái)創(chuàng)立了Adaptive Computing。
Moab是Adaptive Computing 公司(前身為 Cluster Resources 公司開(kāi)發(fā)的Maui Cluster Scheduler)維護(hù)的 OpenPBS 分支,2003年發(fā)布。該項(xiàng)目最初是開(kāi)源免費(fèi)的,后來(lái)變成了商用軟件Moab后不再免費(fèi)。
TORQUE(Terascale Open-source Resource and QUEue Manager)早期的 Torque 也是開(kāi)源免費(fèi)軟件,不過(guò) 2018 年 6 月開(kāi)始 TORQUE 不再開(kāi)源。
兩者均只支持Linux系統(tǒng),提供可視化界面,擁有約數(shù)千個(gè)節(jié)點(diǎn)。

云服務(wù)方面,PBS Pro能通過(guò)Altair Control產(chǎn)品從本地溢出到多云和Auto-Scale集群自動(dòng)伸縮,支持的云廠商包括AWS、Azure和Google Cloud。
Moab/TORQUE 則可通過(guò) NODUSCloud OS 產(chǎn)品實(shí)現(xiàn)本地?cái)U(kuò)展到云,支持TORQUE 或 Slurm集群和自動(dòng)伸縮,可支持的云廠商包括AWS、Azure、GoogleCloud 和華為云,并通過(guò) Account Manager 產(chǎn)品實(shí)現(xiàn)云端費(fèi)用監(jiān)控。
我們整理了一張包含上述四大類(lèi)共9種調(diào)度器在內(nèi)的信息集成表,有興趣的可以文末掃碼添加小F微信(ID:imfastone),回復(fù)“調(diào)度器”獲取原始表單。
預(yù)告一下,在下一篇EDA云實(shí)證Vol.4中,我們?cè)谙嗤瑘?chǎng)景下使用不同調(diào)度器進(jìn)行了云端驗(yàn)證,敬請(qǐng)期待吧!
- END -
2分鐘自動(dòng)開(kāi)通,即刻獲得TOP500超級(jí)算力
點(diǎn)擊下圖立即體驗(yàn)

2020年新版《六大云廠商資源價(jià)格對(duì)比工具包》
添加小F微信(ID: imfastone)獲取

你也許想了解具體的落地場(chǎng)景:
生信云實(shí)證Vol.3:提速2920倍!用AutoDock Vina對(duì)接2800萬(wàn)個(gè)分子
CAE云實(shí)證Vol.2:從4天到1.75小時(shí),如何讓Bladed仿真效率提升55倍?
EDA云實(shí)證Vol.1:從30天到17小時(shí),如何讓HSPICE仿真效率提升42倍?
15小時(shí)虛擬篩選10億分子,《Nature》+HMS驗(yàn)證云端新藥研發(fā)未來(lái)
關(guān)于云端高性能計(jì)算平臺(tái):
國(guó)內(nèi)超算發(fā)展近40年,終于遇到了一個(gè)像樣的對(duì)手
幫助CXO解惑上云成本的迷思,看這篇就夠了
靈魂畫(huà)師,在線科普多云平臺(tái)/CMP云管平臺(tái)/中間件/虛擬化/容器是個(gè)啥
花費(fèi)4小時(shí)5500美元,速石科技躋身全球超算TOP500