一種基于高性能計(jì)算集群的進(jìn)程管理方法及其系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及高性能計(jì)算集群,尤其涉及一種基于高性能計(jì)算集群的進(jìn)程管理方法及其系統(tǒng)。
【背景技術(shù)】
[0002]集群(cluster)是一組計(jì)算機(jī),它們作為一個(gè)整體向用戶提供一組網(wǎng)絡(luò)資源。這些單個(gè)的計(jì)算機(jī)系統(tǒng)就是集群的節(jié)點(diǎn)(node)。一個(gè)理想的集群是,用戶從來不會(huì)意識(shí)到集群系統(tǒng)底層的節(jié)點(diǎn),在他們看來,集群是一個(gè)系統(tǒng),而非多個(gè)計(jì)算機(jī)系統(tǒng)。進(jìn)程是程序的一個(gè)具體實(shí)現(xiàn),是執(zhí)行程序的過程,一個(gè)程序可以執(zhí)行多次,每次都可以在內(nèi)存中開辟獨(dú)立的空間來裝載,從而產(chǎn)生多個(gè)進(jìn)程。
[0003]高性能計(jì)算(High Perfermance Computing)集群,簡(jiǎn)稱HPC集群,是由很多計(jì)算機(jī)通過網(wǎng)絡(luò)組成的一個(gè)系統(tǒng),主要用于并行計(jì)算,所有的計(jì)算機(jī)上安裝Linux操作系統(tǒng)。會(huì)由于用戶使用的不當(dāng),計(jì)算機(jī)的異常而產(chǎn)生大量的垃圾進(jìn)程,系統(tǒng)管理員往往需要花大量的時(shí)間對(duì)高性能集群里的進(jìn)程進(jìn)行分析、判斷和清除這些垃圾進(jìn)程,解決因這些垃圾進(jìn)程而使得系統(tǒng)使用效率不高的問題。
【發(fā)明內(nèi)容】
[0004]本發(fā)明的特征和優(yōu)點(diǎn)在下文的描述中部分地陳述,或者可從該描述顯而易見,或者可通過實(shí)踐本發(fā)明而學(xué)習(xí)。
[0005]為克服現(xiàn)有技術(shù)的問題,本發(fā)明提供一種基于高性能計(jì)算集群的進(jìn)程管理方法及其系統(tǒng),采用自動(dòng)對(duì)比方法或查找篩選方法判斷該進(jìn)程是否為垃圾進(jìn)程,從而對(duì)進(jìn)程進(jìn)行有效的管理,提高集群節(jié)點(diǎn)利用率。
[0006]本發(fā)明解決上述技術(shù)問題所采用的技術(shù)方案如下:
[0007]根據(jù)本發(fā)明的一個(gè)方面,提供一種基于高性能計(jì)算集群的進(jìn)程管理方法,其特征在于,包括:S1、采集高性能計(jì)算集群中所有節(jié)點(diǎn)的進(jìn)程以及相應(yīng)的進(jìn)程信息;S2、采用自動(dòng)對(duì)比方法或查找篩選方法判斷該進(jìn)程是否為垃圾進(jìn)程;S3、結(jié)束該垃圾進(jìn)程;在該步驟S2中,當(dāng)采用該自動(dòng)對(duì)比方法判斷該進(jìn)程是否為垃圾進(jìn)程時(shí),首先根據(jù)該進(jìn)程信息獲取該進(jìn)程的駐機(jī)時(shí)間和CPU占用時(shí)間,然后計(jì)算該進(jìn)程的駐機(jī)時(shí)間和CPU占用時(shí)間的差值,并將該差值與預(yù)設(shè)值作比較,若該差值大于該預(yù)設(shè)值,則判定該進(jìn)程為垃圾進(jìn)程。
[0008]優(yōu)選地,在該步驟S2中,該預(yù)設(shè)值根據(jù)該進(jìn)程的類型不同而設(shè)置不同的值。
[0009]優(yōu)選地,該步驟S1、S2、S3通過在shell腳本中輸入指令實(shí)現(xiàn)。
[0010]優(yōu)選地,在該步驟S2中采用自動(dòng)對(duì)比方法或查找篩選方法進(jìn)行判斷的進(jìn)程為用戶進(jìn)程。
[0011]優(yōu)選地,在該步驟S2中,當(dāng)采用該查找篩選方法判斷該進(jìn)程是否為垃圾進(jìn)程時(shí),先在所有該用戶進(jìn)程中查找出存在異常中斷情形的用戶進(jìn)程,再在其中篩選出還在占用該節(jié)點(diǎn)資源的該存在異常中斷情形的用戶進(jìn)程,將其判斷為垃圾進(jìn)程。
[0012]優(yōu)選地,在該步驟S2中,當(dāng)采用該查找篩選方法判斷該進(jìn)程是否為垃圾進(jìn)程時(shí),根據(jù)該進(jìn)程的使用者信息、駐機(jī)時(shí)間、占用該節(jié)點(diǎn)的CPU的大小以及占用該節(jié)點(diǎn)的內(nèi)存大小中的任意一項(xiàng)或多項(xiàng)信息結(jié)合該進(jìn)程是否正在進(jìn)行中的信息判斷該進(jìn)程是否為垃圾進(jìn)程。
[0013]根據(jù)本發(fā)明的另一個(gè)方面,提供一種基于高性能計(jì)算集群的進(jìn)程管理系統(tǒng),其特征在于,包括:采集單元,用于采集高性能計(jì)算集群中所有節(jié)點(diǎn)的進(jìn)程以及相應(yīng)的進(jìn)程信息;判斷單元,與該采集單元相連,包括自動(dòng)對(duì)比模塊和查找篩選模塊,用于判斷該進(jìn)程是否為垃圾進(jìn)程;結(jié)束單元,用于結(jié)束該垃圾進(jìn)程;在該判斷單元中,該自動(dòng)對(duì)比模塊包括:計(jì)算子模塊,用于根據(jù)該進(jìn)程信息計(jì)算該進(jìn)程的駐機(jī)時(shí)間和CPU占用時(shí)間的差值;對(duì)比子模塊,用于將該差值與預(yù)設(shè)值作比較,若該差值大于該預(yù)設(shè)值,則該進(jìn)程為垃圾進(jìn)程。
[0014]優(yōu)選地,該預(yù)設(shè)值根據(jù)該進(jìn)程的類型不同而具有不同的值。
[0015]優(yōu)選地,該查找篩選模塊用于在所有該進(jìn)程中查找出存在異常中斷情形的進(jìn)程;還用于在所有該存在異常中斷情形的進(jìn)程中篩選出還在占用該節(jié)點(diǎn)資源的進(jìn)程,將其判斷為垃圾進(jìn)程。
[0016]優(yōu)選地,該查找篩選模塊用于根據(jù)該進(jìn)程的使用者信息、駐機(jī)時(shí)間、占用該節(jié)點(diǎn)的CPU的大小以及占用該節(jié)點(diǎn)的內(nèi)存大小中的任意一項(xiàng)或多項(xiàng)信息結(jié)合該進(jìn)程是否正在進(jìn)行中的信息判斷該進(jìn)程是否為垃圾進(jìn)程。
[0017]本發(fā)明提供一種基于高性能計(jì)算集群的進(jìn)程管理方法及其系統(tǒng),通過計(jì)算進(jìn)程占用CPU的總時(shí)間與預(yù)設(shè)值的對(duì)比,根據(jù)對(duì)比結(jié)果自動(dòng)結(jié)束垃圾進(jìn)程,也可以通過查找篩選方法結(jié)束垃圾進(jìn)程,從而給予系統(tǒng)管理員一定的操作空間,確認(rèn)并清除用戶的垃圾進(jìn)程,釋放計(jì)算資源。
[0018]通過閱讀說明書,本領(lǐng)域普通技術(shù)人員將更好地了解這些技術(shù)方案的特征和內(nèi)容。
【附圖說明】
[0019]下面通過參考附圖并結(jié)合實(shí)例具體地描述本發(fā)明,本發(fā)明的優(yōu)點(diǎn)和實(shí)現(xiàn)方式將會(huì)更加明顯,其中附圖所示內(nèi)容僅用于對(duì)本發(fā)明的解釋說明,而不構(gòu)成對(duì)本發(fā)明的任何意義上的限制,在附圖中:
[0020]圖1為本發(fā)明實(shí)施例的基于高性能計(jì)算集群的進(jìn)程管理方法的流程示意圖。
[0021]圖2為本發(fā)明實(shí)施例的通過shell腳本實(shí)現(xiàn)進(jìn)程管理的示意圖。
[0022]圖3為本發(fā)明實(shí)施例的基于高性能計(jì)算集群的進(jìn)程管理系統(tǒng)的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0023]如圖1所示,本發(fā)明提供一種基于高性能計(jì)算集群的進(jìn)程管理方法,包括:S1、采集高性能計(jì)算集群中所有節(jié)點(diǎn)的進(jìn)程以及相應(yīng)的進(jìn)程信息;S2、采用自動(dòng)對(duì)比方法或查找篩選方法判斷該進(jìn)程是否為垃圾進(jìn)程;S3、結(jié)束該垃圾進(jìn)程;在該步驟S2中,當(dāng)采用自動(dòng)對(duì)比方法判斷進(jìn)程是否為垃圾進(jìn)程時(shí),首先根據(jù)該進(jìn)程信息獲取進(jìn)程的駐機(jī)時(shí)間和CPU占用時(shí)間,然后計(jì)算進(jìn)程的駐機(jī)時(shí)間和CPU占用時(shí)間的差值,并將該差值與預(yù)設(shè)值作比較,若差值大于預(yù)設(shè)值,則判定該進(jìn)程為垃圾進(jìn)程。其中駐機(jī)時(shí)間為進(jìn)程在系統(tǒng)中存在的時(shí)間,系統(tǒng)為操作系統(tǒng),也就是進(jìn)程在操作系統(tǒng)中從產(chǎn)生到現(xiàn)在的時(shí)長(zhǎng)。
[0024]該預(yù)設(shè)值可以根據(jù)進(jìn)程的類型不同而設(shè)置不同的值,在本實(shí)施例中中,設(shè)置的值為7天。
[0025]自動(dòng)對(duì)比方法實(shí)現(xiàn)了根據(jù)系統(tǒng)提供的算法將進(jìn)程進(jìn)行自動(dòng)優(yōu)化作業(yè),而無需系統(tǒng)管理員進(jìn)行干涉管理。需要說明的是,進(jìn)程能粗略地分為系統(tǒng)進(jìn)程與用戶進(jìn)程,而在步驟S2中采用自動(dòng)對(duì)比方法或查找篩選方法進(jìn)行判斷的進(jìn)程為用戶進(jìn)程,也就是說,垃圾進(jìn)程一定是用戶進(jìn)程,而不可能會(huì)是系統(tǒng)進(jìn)程。所以在實(shí)施自動(dòng)對(duì)比方法前,要在所有進(jìn)程中自動(dòng)或手動(dòng)篩選出用戶進(jìn)程,當(dāng)然在步驟S1中也可設(shè)定直接采集高性能計(jì)算集群中所有節(jié)點(diǎn)的用戶進(jìn)程以及相應(yīng)的用戶進(jìn)程信息。
[0026]在步驟S2中,當(dāng)采用該查找篩選方法判斷該進(jìn)程是否為垃圾進(jìn)程時(shí),先在所有用戶進(jìn)程中查找出存在異常中斷情形的用戶進(jìn)程,再在其中篩選出還在占用所述節(jié)點(diǎn)資源的該存在異常中斷情形的用戶進(jìn)程,將其判斷為垃圾進(jìn)程,進(jìn)而在步驟S3中結(jié)束它。上述存在異常中斷情形的用戶進(jìn)程是指該用戶進(jìn)程對(duì)應(yīng)的程序存在異常中斷的情形。
[0027]當(dāng)采用該查找篩選方法判斷該進(jìn)程是否為垃圾進(jìn)程時(shí),還可以根據(jù)該進(jìn)程的使用者信息、駐機(jī)時(shí)間、占用節(jié)點(diǎn)的CPU的大小以及占用節(jié)點(diǎn)的內(nèi)存大小中的任意一項(xiàng)或多項(xiàng)信息結(jié)合該進(jìn)程是否正在進(jìn)行中的信息判斷該進(jìn)程是否為垃圾進(jìn)程。例如可以根據(jù)使用者信息查看其作業(yè)是否存在錯(cuò)發(fā)的情形,當(dāng)用戶錯(cuò)發(fā)的作業(yè)產(chǎn)生的進(jìn)程還在進(jìn)行中時(shí),可以斷定該進(jìn)程即為垃圾進(jìn)程;還可以先選擇占用節(jié)點(diǎn)的CPU