本發(fā)明涉及生物信息領(lǐng)域,具體涉及一種生物信息學(xué)高性能計(jì)算作業(yè)調(diào)度及系統(tǒng)管理套件。
背景技術(shù):
在傳統(tǒng)的高性能計(jì)算集群系統(tǒng)(例如toruqe+maui或sge)使用中,由于生物信息學(xué)和其他學(xué)科對(duì)比絕大多數(shù)應(yīng)用軟件為開(kāi)源且種類繁多、結(jié)構(gòu)混亂,所以用戶在計(jì)算過(guò)程中會(huì)經(jīng)常出現(xiàn)計(jì)算節(jié)點(diǎn)負(fù)載過(guò)高發(fā)生死機(jī)導(dǎo)致應(yīng)用軟件無(wú)法正常運(yùn)行的現(xiàn)象。而且由于作為科研人員的用戶大多數(shù)將精力放在本專業(yè)項(xiàng)目上并不具備很強(qiáng)的計(jì)算機(jī)專業(yè)知識(shí),使得用戶在使用傳統(tǒng)作業(yè)調(diào)度系統(tǒng)時(shí)需要花費(fèi)太多時(shí)間學(xué)習(xí)該系統(tǒng)如何使用。
技術(shù)實(shí)現(xiàn)要素:
針對(duì)現(xiàn)有技術(shù)存在的不足和缺陷,本發(fā)明提供一種生物信息學(xué)高性能計(jì)算作業(yè)調(diào)度及系統(tǒng)管理套件。
本發(fā)明實(shí)施例提出一種生物信息學(xué)高性能計(jì)算作業(yè)調(diào)度及系統(tǒng)管理套件,包括:
用戶作業(yè)調(diào)度策略模塊、高性能計(jì)算系統(tǒng)管理模塊、普通用戶操作模塊和web頁(yè)面用戶管理平臺(tái)模塊;其中,
所述用戶作業(yè)調(diào)度策略模塊,用于通過(guò)按照預(yù)先制定的策略對(duì)用戶提交到高性能集群系統(tǒng)的作業(yè)進(jìn)行分析,確定出滿足作業(yè)運(yùn)算需要的計(jì)算節(jié)點(diǎn),從所述計(jì)算節(jié)點(diǎn)中確定出核數(shù)占用量最低的計(jì)算節(jié)點(diǎn),并通知所述高性能集群系統(tǒng)將作業(yè)分配到該核數(shù)占用量最低的計(jì)算節(jié)點(diǎn);
所述高性能計(jì)算系統(tǒng)管理模塊,用于對(duì)分布式計(jì)算系統(tǒng)進(jìn)行集中管理;
所述普通用戶操作模塊,用于實(shí)現(xiàn)普通用戶對(duì)作業(yè)的提交;
所述web頁(yè)面用戶管理平臺(tái)模塊,用于通過(guò)web頁(yè)面實(shí)現(xiàn)用戶對(duì)高性能集群系統(tǒng)的操作。
優(yōu)選地,所述用戶作業(yè)調(diào)度策略模塊,具體包括根據(jù)計(jì)算節(jié)點(diǎn)核數(shù)和內(nèi)存分配作業(yè)功能、根據(jù)計(jì)算節(jié)點(diǎn)負(fù)載高低自動(dòng)上下線功能、用戶優(yōu)先級(jí)設(shè)置功能,限制用戶計(jì)算資源使用周期功能、作業(yè)資源限制功能;其中,
所述根據(jù)計(jì)算節(jié)點(diǎn)核數(shù)和內(nèi)存分配作業(yè)功能:對(duì)用戶提交到高性能集群系統(tǒng)的作業(yè)隊(duì)列中的作業(yè)進(jìn)行分析,確定滿足作業(yè)運(yùn)算條件且核數(shù)占用量最低的計(jì)算節(jié)點(diǎn),通知所述高性能集群系統(tǒng)將作業(yè)分配到該節(jié)點(diǎn),并在沒(méi)有計(jì)算節(jié)點(diǎn)滿足作業(yè)運(yùn)算條件時(shí)將作業(yè)放回所述作業(yè)隊(duì)列繼續(xù)排隊(duì);
所述根據(jù)計(jì)算節(jié)點(diǎn)負(fù)載高低自動(dòng)上下線功能:每隔預(yù)設(shè)的周期探測(cè)每個(gè)計(jì)算節(jié)點(diǎn)linux系統(tǒng)的平均負(fù)載,在所述平均負(fù)載大于預(yù)設(shè)的數(shù)值時(shí),將對(duì)應(yīng)的計(jì)算節(jié)點(diǎn)自動(dòng)下線,以使該計(jì)算節(jié)點(diǎn)不再接收用戶作業(yè),并在預(yù)設(shè)的時(shí)間段后,若判斷獲知該計(jì)算節(jié)點(diǎn)linux系統(tǒng)的平均負(fù)載不大于所述數(shù)值,將該計(jì)算節(jié)點(diǎn)自動(dòng)上線,以使該計(jì)算節(jié)點(diǎn)繼續(xù)接收用戶作業(yè);
所述用戶優(yōu)先級(jí)設(shè)置功能:將高性能集群系統(tǒng)中用戶進(jìn)行優(yōu)先級(jí)劃分,其中,所述根據(jù)計(jì)算節(jié)點(diǎn)核數(shù)和內(nèi)存分配作業(yè)功能中對(duì)用戶作業(yè)進(jìn)行分析時(shí)會(huì)根據(jù)對(duì)應(yīng)用戶的優(yōu)先級(jí)優(yōu)先對(duì)優(yōu)先級(jí)高的用戶作業(yè)進(jìn)行分析,且如果用戶的優(yōu)先級(jí)相同,則將按先進(jìn)先出的策略對(duì)優(yōu)先級(jí)相同的用戶的作業(yè)進(jìn)行分析;
所述限制用戶計(jì)算資源使用周期功能:禁止超過(guò)使用周期的受限用戶提交新作業(yè)到受限隊(duì)列,允許超過(guò)使用周期前已經(jīng)運(yùn)行的作業(yè)繼續(xù)執(zhí)行直到結(jié)束;
所述作業(yè)資源限制功能:限制用戶能夠提交到高性能集群隊(duì)列中每個(gè)作業(yè)的資源最大值以及最大運(yùn)算時(shí)間。
優(yōu)選地,所述高性能計(jì)算系統(tǒng)管理模塊,具體用于:
通過(guò)用戶管理命令對(duì)普通用戶進(jìn)行創(chuàng)建、修改、刪除并同步到所有計(jì)算節(jié)點(diǎn),以及通過(guò)批處理命令對(duì)部分或者所有計(jì)算節(jié)點(diǎn)進(jìn)行統(tǒng)一操作。
優(yōu)選地,所述普通用戶操作模塊,具體包括:
提交作業(yè)功能、用戶作業(yè)監(jiān)控功能、高性能集群資源剩余量查看功能以及用戶修改提交任務(wù)功能;其中,
所述提交作業(yè)功能:通過(guò)申請(qǐng)作業(yè)運(yùn)行需要的計(jì)算資源,將作業(yè)提交到高性能集群系統(tǒng);
所述用戶作業(yè)監(jiān)控功能:對(duì)用戶作業(yè)的運(yùn)行進(jìn)行監(jiān)控,并提供對(duì)用戶作業(yè)實(shí)際情況以及單個(gè)作業(yè)詳細(xì)運(yùn)行情況的查看;
所述高性能集群資源剩余量查看功能:對(duì)高性能集群系統(tǒng)的資源使用進(jìn)行監(jiān)控,并提供對(duì)高性能集群系統(tǒng)整體資源狀態(tài)的評(píng)估;
所述用戶修改提交任務(wù)功能:修改排隊(duì)作業(yè)的資源占用量、在運(yùn)行或排隊(duì)作業(yè)的最大運(yùn)算時(shí)間以及更換排隊(duì)作業(yè)的隊(duì)列。
優(yōu)選地,所述提交作業(yè)功能中用戶通過(guò)linux命令行方式或web方式提交作業(yè)。
優(yōu)選地,所述web頁(yè)面用戶管理平臺(tái)模塊,具體包括:
用戶注冊(cè)功能、編輯提交腳本功能、作業(yè)監(jiān)控功能和數(shù)據(jù)上傳功能;其中,
所述用戶注冊(cè)功能:實(shí)現(xiàn)高性能集群系統(tǒng)用戶的賬戶開(kāi)設(shè);
所述編輯提交腳本功能:用戶通過(guò)編輯提交腳本生成作業(yè)模板,將所述作業(yè)模板提交到高性能集群系統(tǒng),并通過(guò)所述用戶作業(yè)調(diào)度策略模塊提供的策略分析所述作業(yè)模板給出最優(yōu)計(jì)算節(jié)點(diǎn)反饋給高性能集群系統(tǒng);
所述作業(yè)監(jiān)控功能:對(duì)用戶通過(guò)頁(yè)面提交的作業(yè)進(jìn)行監(jiān)控;
所述數(shù)據(jù)上傳功能:將應(yīng)用數(shù)據(jù)上傳到高性能集群系統(tǒng)存儲(chǔ)空間。
本發(fā)明實(shí)施例提供的生物信息學(xué)高性能計(jì)算作業(yè)調(diào)度及系統(tǒng)管理套件,通過(guò)用戶作業(yè)調(diào)度策略模塊,按照預(yù)先制定的策略對(duì)用戶提交到高性能集群系統(tǒng)的作業(yè)進(jìn)行分析,抽取滿足作業(yè)運(yùn)算需要且核數(shù)占用量最低的計(jì)算節(jié)點(diǎn)通知高性能集群系統(tǒng)將作業(yè)分配到該計(jì)算節(jié)點(diǎn);通過(guò)高性能計(jì)算系統(tǒng)管理模塊對(duì)分布式計(jì)算系統(tǒng)進(jìn)行集中管理;通過(guò)普通用戶操作模塊實(shí)現(xiàn)普通用戶對(duì)作業(yè)的提交;通過(guò)web頁(yè)面用戶管理平臺(tái)模塊借助于web頁(yè)面實(shí)現(xiàn)用戶對(duì)高性能集群系統(tǒng)的操作,整個(gè)方案能夠?qū)⒂脩糇鳂I(yè)合理地分配給計(jì)算節(jié)點(diǎn)運(yùn)行,通過(guò)上述多個(gè)模塊,能夠提高高性能集群系統(tǒng)的穩(wěn)定性,降低計(jì)算節(jié)點(diǎn)負(fù)載過(guò)高發(fā)生死機(jī)導(dǎo)致應(yīng)用軟件無(wú)法正常運(yùn)行現(xiàn)象的出現(xiàn),且通過(guò)web頁(yè)面可以方便用戶進(jìn)行操作。
附圖說(shuō)明
圖1為本發(fā)明生物信息學(xué)高性能計(jì)算作業(yè)調(diào)度及系統(tǒng)管理套件一實(shí)施例的結(jié)構(gòu)示意圖。
具體實(shí)施方式
為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
參看圖1,本實(shí)施例公開(kāi)一種生物信息學(xué)高性能計(jì)算作業(yè)調(diào)度及系統(tǒng)管理套件,包括:
用戶作業(yè)調(diào)度策略模塊(hschedd-dispatcherkit)、高性能計(jì)算系統(tǒng)管理模塊(hscheddsystemkit)、普通用戶操作模塊(hschedduserkit)和web頁(yè)面用戶管理平臺(tái)模塊(hschedd-webkit);其中,
所述用戶作業(yè)調(diào)度策略模塊,用于通過(guò)按照預(yù)先制定的策略對(duì)用戶提交到高性能集群系統(tǒng)的作業(yè)進(jìn)行分析,確定出滿足作業(yè)運(yùn)算需要的計(jì)算節(jié)點(diǎn),從所述計(jì)算節(jié)點(diǎn)中確定出核數(shù)占用量最低的計(jì)算節(jié)點(diǎn),并通知所述高性能集群系統(tǒng)將作業(yè)分配到該核數(shù)占用量最低的計(jì)算節(jié)點(diǎn);
所述高性能計(jì)算系統(tǒng)管理模塊,用于對(duì)分布式計(jì)算系統(tǒng)進(jìn)行集中管理;
所述普通用戶操作模塊,用于實(shí)現(xiàn)普通用戶對(duì)作業(yè)的提交;
所述web頁(yè)面用戶管理平臺(tái)模塊,用于通過(guò)web頁(yè)面實(shí)現(xiàn)用戶對(duì)高性能集群系統(tǒng)的操作。
本發(fā)明實(shí)施例提供的生物信息學(xué)高性能計(jì)算作業(yè)調(diào)度及系統(tǒng)管理套件,通過(guò)用戶作業(yè)調(diào)度策略模塊,按照預(yù)先制定的策略對(duì)用戶提交到高性能集群系統(tǒng)的作業(yè)進(jìn)行分析,抽取滿足作業(yè)運(yùn)算需要且核數(shù)占用量最低的計(jì)算節(jié)點(diǎn)通知高性能集群系統(tǒng)將作業(yè)分配到該計(jì)算節(jié)點(diǎn);通過(guò)高性能計(jì)算系統(tǒng)管理模塊對(duì)分布式計(jì)算系統(tǒng)進(jìn)行集中管理;通過(guò)普通用戶操作模塊實(shí)現(xiàn)普通用戶對(duì)作業(yè)的提交;通過(guò)web頁(yè)面用戶管理平臺(tái)模塊借助于web頁(yè)面實(shí)現(xiàn)用戶對(duì)高性能集群系統(tǒng)的操作,整個(gè)方案能夠?qū)⒂脩糇鳂I(yè)合理地分配給計(jì)算節(jié)點(diǎn)運(yùn)行,通過(guò)上述多個(gè)模塊,能夠提高高性能集群系統(tǒng)的穩(wěn)定性,降低計(jì)算節(jié)點(diǎn)負(fù)載過(guò)高發(fā)生死機(jī)導(dǎo)致應(yīng)用軟件無(wú)法正常運(yùn)行現(xiàn)象的出現(xiàn),且通過(guò)web頁(yè)面可以方便用戶進(jìn)行操作。
下面對(duì)本發(fā)明生物信息學(xué)高性能計(jì)算作業(yè)調(diào)度及系統(tǒng)管理套件進(jìn)行詳細(xì)說(shuō)明。
生物信息學(xué)高性能計(jì)算作業(yè)調(diào)度及系統(tǒng)管理套件(hschedd)采用了分布式軟件體系結(jié)構(gòu),并根據(jù)實(shí)際系統(tǒng)管理及用戶業(yè)務(wù)需求設(shè)計(jì)了4個(gè)功能模塊:用戶作業(yè)調(diào)度策略模塊、高性能計(jì)算系統(tǒng)管理模塊、普通用戶操作模塊和web頁(yè)面用戶管理平臺(tái)模塊。
i.用戶作業(yè)調(diào)度策略模塊(hschedd-dispatcherkit):實(shí)現(xiàn)了用戶作業(yè)與高性能集群系統(tǒng)的無(wú)縫連接。根據(jù)hschedd-dispatcherkit制定的策略告知高性能集群系統(tǒng)如何運(yùn)行用戶提交的作業(yè)。在策略的應(yīng)用中根據(jù)用戶任務(wù)的要求設(shè)計(jì)了5個(gè)功能要點(diǎn),即根據(jù)計(jì)算節(jié)點(diǎn)核數(shù)和內(nèi)存分配作業(yè)功能、根據(jù)計(jì)算節(jié)點(diǎn)負(fù)載高低自動(dòng)上下線功能、用戶優(yōu)先級(jí)設(shè)置功能、限制用戶計(jì)算資源使用周期功能和作業(yè)資源限制功能。
1)根據(jù)計(jì)算節(jié)點(diǎn)核數(shù)和內(nèi)存分配作業(yè)功能:用戶提交到高性能集群系統(tǒng)的作業(yè)會(huì)根據(jù)hschedd-dispatcherkit的算法對(duì)用戶作業(yè)進(jìn)行分析,抽取滿足作業(yè)運(yùn)算條件且核數(shù)占用量最低的的計(jì)算節(jié)點(diǎn)通知高性能集群系統(tǒng)將作業(yè)分配到該節(jié)點(diǎn)。如整個(gè)系統(tǒng)沒(méi)有任何節(jié)點(diǎn)滿足用戶作業(yè)條件的計(jì)算資源(所有計(jì)算節(jié)點(diǎn)資源已被占用)用戶作業(yè)將繼續(xù)排隊(duì)。
2)根據(jù)計(jì)算節(jié)點(diǎn)負(fù)載高低自動(dòng)上下線功能:hschedd-dispatcherkit會(huì)每隔預(yù)設(shè)的周期(比如5分鐘)探測(cè)每個(gè)計(jì)算節(jié)點(diǎn)系統(tǒng)的平均負(fù)載,如果平均負(fù)載大于調(diào)度策略設(shè)置閾值,將對(duì)應(yīng)的計(jì)算節(jié)點(diǎn)自動(dòng)下線,如果預(yù)設(shè)的時(shí)間段(比如12小時(shí))后計(jì)算節(jié)點(diǎn)平均負(fù)載低于閾值將會(huì)自動(dòng)上線繼續(xù)接收用戶新任務(wù)。
3)用戶優(yōu)先級(jí)設(shè)置功能:具備用戶優(yōu)先級(jí)功能,管理員只需將需要提高或降低優(yōu)先級(jí)的用戶添加到配置文件priority.conf,高性能集群系統(tǒng)中用戶劃分優(yōu)先級(jí),包括0-5一共6個(gè)等級(jí),數(shù)字越大優(yōu)先級(jí)越高,會(huì)優(yōu)先被hschedd-dispatcherkit識(shí)別,默認(rèn)級(jí)別為0。如果優(yōu)先級(jí)相同將按先進(jìn)先出的策略對(duì)作業(yè)進(jìn)行分析。
4)限制用戶計(jì)算資源使用周期功能:hschedd-dispatcherkit具備限制一個(gè)或多個(gè)高性能集群系統(tǒng)作業(yè)隊(duì)列的使用周期的功能。超過(guò)使用周期的受限用戶將不能提交新作業(yè)到受限隊(duì)列但超過(guò)使用周期前已經(jīng)運(yùn)行的作業(yè)將繼續(xù)執(zhí)行直到結(jié)束。若使用該功能,管理員只需在配置文件limit_que_user.conf中添加需要限制的用戶,隊(duì)列名,到期時(shí)間。
5)作業(yè)資源限制功能:限制用戶能夠提交到高性能集群隊(duì)列中每個(gè)作業(yè)的資源占用最大值(內(nèi)存和核數(shù))以及最大運(yùn)算時(shí)間。需要說(shuō)明的是,每個(gè)作業(yè)的最大運(yùn)算時(shí)間必須預(yù)估防止程序出現(xiàn)死循環(huán)長(zhǎng)期運(yùn)行下去浪費(fèi)計(jì)算資源。不同的高性能集群隊(duì)列資源限制可以不同。
ii.高性能計(jì)算系統(tǒng)管理模塊(hscheddsystemkit):主要用于分布式計(jì)算系統(tǒng)(基于linux操作系統(tǒng))的集中管理。本部分主要采用了perlsocket編程,通過(guò)該部分提供的用戶管理命令,管理員可以實(shí)現(xiàn)對(duì)普通用戶的創(chuàng)建、修改和刪除,并同步到所有計(jì)算節(jié)點(diǎn)。通過(guò)提供的批處理命令,管理員可以對(duì)部分或者所有計(jì)算節(jié)點(diǎn)進(jìn)行統(tǒng)一操作。任何單臺(tái)服務(wù)器執(zhí)行的linux命令均可以通過(guò)批處理命令對(duì)設(shè)定的計(jì)算節(jié)點(diǎn)統(tǒng)一操作。
iii.普通用戶操作模塊(hschedduserkit):通過(guò)提交作業(yè)功能可以實(shí)現(xiàn)普通用戶通過(guò)申請(qǐng)作業(yè)需要的計(jì)算資源,將作業(yè)提交到高性能集群系統(tǒng)并通過(guò)hschedd-dispatcherkit調(diào)度策略告知高性能集群系統(tǒng)將作業(yè)分配到哪個(gè)計(jì)算節(jié)點(diǎn)。通過(guò)高性能集群資源剩余量查詢功能用戶可以了解當(dāng)前系統(tǒng)可用的計(jì)算節(jié)點(diǎn)剩余內(nèi)存量和核數(shù),不可用節(jié)點(diǎn)數(shù)及整體系統(tǒng)資源利用率。通過(guò)用戶作業(yè)監(jiān)控功能可以查看當(dāng)前用戶運(yùn)行所有作業(yè)資源占用情況(內(nèi)存、核數(shù)、運(yùn)算時(shí)間和節(jié)點(diǎn)狀態(tài)等)及運(yùn)行當(dāng)前用戶作業(yè)的節(jié)點(diǎn)是否為正常狀態(tài)及單個(gè)作業(yè)實(shí)際運(yùn)行詳細(xì)信息和運(yùn)行當(dāng)前作業(yè)的計(jì)算節(jié)點(diǎn)的負(fù)載,網(wǎng)絡(luò)的流量情況等。用戶修改提交任務(wù)功能使用戶可以修改自己排隊(duì)作業(yè)的內(nèi)存,核數(shù)及運(yùn)算隊(duì)列和作業(yè)的申請(qǐng)計(jì)算時(shí)間。
需要說(shuō)明的是,提交作業(yè)功能具體包括如下提交方式:
(1)linux命令行方式提交作業(yè)
普通用戶通過(guò)hschedd提供的使用指南和高性能集群系統(tǒng)配置的隊(duì)列限制編輯自己的提交腳本。腳本抬頭信息包括作業(yè)隊(duì)列名稱,單任務(wù)占用的核數(shù),內(nèi)存,作業(yè)允許運(yùn)行的最大時(shí)間。當(dāng)用戶編輯的提交腳本超過(guò)隊(duì)列限制的每個(gè)任務(wù)占用最大核數(shù)和最大內(nèi)存數(shù)時(shí)用戶作業(yè)將不能提交到隊(duì)列并反饋錯(cuò)誤。當(dāng)運(yùn)行任務(wù)超過(guò)最大允許時(shí)間將強(qiáng)制退出。用戶也可以通過(guò)命令行參數(shù)(不需要編輯提交腳本)根據(jù)說(shuō)明提交單節(jié)點(diǎn)運(yùn)行作業(yè)。當(dāng)用戶通過(guò)命令行提交作業(yè)以后會(huì)將腳本提交到高性能系統(tǒng),并通過(guò)hschedd提供的調(diào)度策略分析用戶腳本給出最優(yōu)計(jì)算節(jié)點(diǎn)反饋給高性能系統(tǒng)。
(2)web方式提交作業(yè)及數(shù)據(jù)上傳
hschedd的web頁(yè)面通過(guò)perlcgi編程語(yǔ)言開(kāi)發(fā),考慮到整個(gè)高性能集群系統(tǒng)安全性,web頁(yè)面并不提供在線注冊(cè)方式,需通過(guò)管理員后臺(tái)申請(qǐng)用戶。用戶可以通過(guò)頁(yè)面填寫包括作業(yè)提交方式,作業(yè)隊(duì)列名稱,任務(wù)使用的核數(shù),內(nèi)存,作業(yè)允許運(yùn)行的最大時(shí)間及應(yīng)用程序等信息生成提交模板。用戶也可通過(guò)uploaddat選項(xiàng)上傳數(shù)據(jù)到高性能集群系統(tǒng)存儲(chǔ)空間。當(dāng)用戶通過(guò)頁(yè)面提交作業(yè)以后會(huì)將任務(wù)模板傳遞到高性能集群系統(tǒng),并通過(guò)hschedd提供的作業(yè)調(diào)度策略分析用戶腳本給出最優(yōu)計(jì)算節(jié)點(diǎn)反饋給高性能系統(tǒng)。同時(shí)在頁(yè)面反饋?zhàn)鳂I(yè)id,如果報(bào)錯(cuò)會(huì)返回錯(cuò)誤信息。
當(dāng)作業(yè)提交到高性能系統(tǒng)以后用戶可以通過(guò)hschedduserkit工具中的作業(yè)監(jiān)控工具了解自己作業(yè)實(shí)際情況,主要包括作業(yè)id,用戶名,隊(duì)列名,作業(yè)名,作業(yè)可允許運(yùn)行的最大時(shí)間,作業(yè)當(dāng)前狀態(tài),已經(jīng)運(yùn)行時(shí)間,作業(yè)占用核數(shù),運(yùn)行作業(yè)的節(jié)點(diǎn)狀態(tài)。并可通過(guò)該工具的菜單選項(xiàng)了解單個(gè)作業(yè)詳細(xì)運(yùn)行情況(作業(yè)后臺(tái)運(yùn)行狀態(tài),消耗機(jī)時(shí),應(yīng)用程序資源占用等內(nèi)容)。
為了方便用戶了解當(dāng)前集群實(shí)際資源使用情況,用戶可以通過(guò)hschedduserkit工具中的資源剩余量查詢工具詳細(xì)了解每個(gè)隊(duì)列中計(jì)算節(jié)點(diǎn)可用的核數(shù)及內(nèi)存數(shù),整個(gè)集群的核數(shù)占用百分比,內(nèi)存占用百分比,已經(jīng)發(fā)生故障的節(jié)點(diǎn)名。通過(guò)了解系統(tǒng)資源整體情況便于有針對(duì)性編輯自己的作業(yè)提交腳本。
當(dāng)作業(yè)提交到高性能系統(tǒng)以后,用戶可以通過(guò)hschedduserkit工具中的作業(yè)修改工具修改排隊(duì)任務(wù)的資源占用量(內(nèi)存或核數(shù)),在運(yùn)行或排隊(duì)任務(wù)的最大運(yùn)算時(shí)間,更換排隊(duì)任務(wù)的隊(duì)列等。
iv.web頁(yè)面用戶管理平臺(tái)模塊(hschedd-webkit):為了方便用戶對(duì)高性能集群系統(tǒng)的操作提供了web頁(yè)面。web頁(yè)面主要包括如下功能:
用戶注冊(cè):高性能集群用戶如需使用頁(yè)面操作需通過(guò)管理員審核開(kāi)設(shè)賬戶;
編輯提交腳本:通過(guò)web界面作業(yè)提交模塊用戶可以根據(jù)自己作業(yè)占用資源的情況(內(nèi)存和核數(shù))通過(guò)編輯提交腳本生成模板(填寫隊(duì)列、內(nèi)存、核數(shù)、計(jì)算時(shí)間和應(yīng)用程序的參數(shù))將作業(yè)提交到高性能集群系統(tǒng)經(jīng)hschedd-dispatcherkit調(diào)度策略告知作業(yè)分配到哪個(gè)計(jì)算節(jié)點(diǎn);
作業(yè)監(jiān)控:用戶監(jiān)控自己通過(guò)頁(yè)面提交的作業(yè);
數(shù)據(jù)上傳:用戶可將應(yīng)用數(shù)據(jù)上傳到高性能計(jì)算系統(tǒng)存儲(chǔ)空間。
本發(fā)明具有如下有益效果:
(1)hschedd分布式軟件系統(tǒng),方便部署
hschedd整個(gè)系統(tǒng)主要采用perl編程語(yǔ)言進(jìn)行開(kāi)發(fā)設(shè)計(jì),其中部分模塊用到了perlsocket及perlcgi方面的編程技術(shù)。該軟件主要基于linux(centos,redhat)操作系統(tǒng)的高性能集群,具有簡(jiǎn)單易懂的部署方式。管理員只需將計(jì)算節(jié)點(diǎn)的核數(shù),總內(nèi)存數(shù),每個(gè)任務(wù)可占用最大核數(shù),每個(gè)任務(wù)可占用最大內(nèi)存數(shù),及隊(duì)列,用戶優(yōu)先級(jí),隊(duì)列使用周期等信息添加到conf目錄下面的配置文件即可(每個(gè)配置文件里均有對(duì)應(yīng)的說(shuō)明信息)。作業(yè)監(jiān)控及用戶同步方面用戶需要將hschedd開(kāi)發(fā)的守護(hù)進(jìn)程拷貝到所有參與計(jì)算的節(jié)點(diǎn)。提供了用戶作業(yè)編輯、提交、監(jiān)控、修改(命令行或頁(yè)面)及系統(tǒng)資源查看,作業(yè)調(diào)度策略,高性能計(jì)算系統(tǒng)管理等幾大模塊。
(2)用戶應(yīng)用程序操作,簡(jiǎn)單易懂
hschedd提供了4種命令行提交方式或web頁(yè)面、作業(yè)監(jiān)控、資源剩余量查詢工具及作業(yè)修改工具等方便用戶使用的工具。hschedd的作業(yè)提交部分采用了應(yīng)用程序資源預(yù)估方式。數(shù)據(jù)分析人員在提交作業(yè)之前必須申請(qǐng)應(yīng)用軟件占用資源(計(jì)算節(jié)點(diǎn)核數(shù)和內(nèi)存)并通過(guò)作業(yè)監(jiān)控工具可以查看當(dāng)前用戶運(yùn)行所有作業(yè)資源占用情況及運(yùn)行當(dāng)前用戶作業(yè)的節(jié)點(diǎn)是否為正常狀態(tài)及單個(gè)作業(yè)實(shí)際運(yùn)行詳細(xì)信息和運(yùn)行當(dāng)前任務(wù)的計(jì)算節(jié)點(diǎn)的負(fù)載,網(wǎng)絡(luò)的流量情況。資源剩余量查詢工具能夠提供高性能集群資源剩余量查詢。用戶可以針對(duì)高性能集群系統(tǒng)資源剩余情況評(píng)估自己應(yīng)用程序是否有計(jì)算節(jié)點(diǎn)符合要求。作業(yè)修改工具可以幫助用戶直接修改排隊(duì)的任務(wù)或在運(yùn)行任務(wù)的申請(qǐng)計(jì)算時(shí)間,而不必重新提交,從而簡(jiǎn)化用戶操作。hschedd提供了較為簡(jiǎn)單易懂的用戶操作過(guò)程,降低操作難度。和傳統(tǒng)作業(yè)調(diào)度系統(tǒng)相比用戶不必花費(fèi)太多時(shí)間學(xué)習(xí)本系統(tǒng)如何使用。
(3)用戶作業(yè)調(diào)度策略高效,穩(wěn)定
hschedd的戶作業(yè)調(diào)度策略模塊(hschedd-dispatcherkit)為本系統(tǒng)負(fù)責(zé)作業(yè)調(diào)度的主程序。hschedd-dispatcher目前運(yùn)行在500節(jié)點(diǎn)高性能集群(生物信息計(jì)算平臺(tái))時(shí)具有高效性,穩(wěn)定性。在整個(gè)高性能集群系統(tǒng)中hschedd-dispatcherkit作為用戶作業(yè)到高性能集群系統(tǒng)的中間件,很好的協(xié)調(diào)了整個(gè)系統(tǒng)的工作。
(4)高性能計(jì)算系統(tǒng)管理統(tǒng)一,簡(jiǎn)單,快捷
系統(tǒng)管理員可以通過(guò)hschedd的高性能計(jì)算系統(tǒng)管理模塊(hscheddsystemkit)對(duì)整個(gè)集群系統(tǒng)統(tǒng)一操作。管理員通過(guò)該模塊在管理節(jié)點(diǎn)對(duì)整個(gè)高性能集群系統(tǒng)集中管理。
雖然結(jié)合附圖描述了本發(fā)明的實(shí)施方式,但是本領(lǐng)域技術(shù)人員可以在不脫離本發(fā)明的精神和范圍的情況下做出各種修改和變型,這樣的修改和變型均落入由所附權(quán)利要求所限定的范圍之內(nèi)。