胡元元,袁順召
(長(zhǎng)江航運(yùn)總醫(yī)院,武漢 430015)
分布式任務(wù)管理系統(tǒng)中檢查點(diǎn)的設(shè)計(jì)
胡元元,袁順召
(長(zhǎng)江航運(yùn)總醫(yī)院,武漢430015)
檢查點(diǎn)是任務(wù)執(zhí)行狀態(tài)的一個(gè)瞬態(tài)圖,使任務(wù)在必要時(shí)可以在同一點(diǎn)上重新開始執(zhí)行。當(dāng)集群環(huán)境的某一部分出現(xiàn)故障時(shí),正在運(yùn)行的程序可以從中間某點(diǎn)重新開始,而不需要從頭開始。
在DMS系統(tǒng)中,有時(shí)會(huì)發(fā)生硬件或軟件故障,這就需要在系統(tǒng)中具有處理故障恢復(fù)的有效機(jī)制。檢查點(diǎn)就是這樣一種機(jī)制,檢查點(diǎn)將正在運(yùn)行的任務(wù)的當(dāng)前狀態(tài)保存在一個(gè)文件中。可以使用這個(gè)文件在故障點(diǎn)重新運(yùn)行任務(wù)。這些文件通常存儲(chǔ)在可靠并共享的文件系統(tǒng)中。如果某個(gè)節(jié)點(diǎn)發(fā)生故障,任務(wù)可以在另一個(gè)有效的節(jié)點(diǎn)上繼續(xù)運(yùn)行。在需要進(jìn)行任務(wù)遷移時(shí),使用檢查點(diǎn)可以使正在運(yùn)行的任務(wù)先暫停,當(dāng)任務(wù)遷移到另一個(gè)節(jié)點(diǎn)時(shí)再繼續(xù)執(zhí)行。
檢查點(diǎn)技術(shù)是將正在運(yùn)行的任務(wù)的狀態(tài)保存在一個(gè)文件中。文件中包括從檢查點(diǎn)處開始運(yùn)行任務(wù)所需要的所有信息。文件中存儲(chǔ)的基本信息包括和任務(wù)相關(guān)的寄存器、棧和堆中的信息。一般情況下,文件應(yīng)包含等候信號(hào)、文件描述符、sockets和所有線程等信息。
當(dāng)前主流的檢查點(diǎn)技術(shù)按其實(shí)現(xiàn)層次可分為應(yīng)用級(jí)檢查點(diǎn)、用戶級(jí)檢查點(diǎn)和內(nèi)核級(jí)檢查點(diǎn)[1-2]三類。這三種檢查點(diǎn)機(jī)制的透明度,效率和初始化檢查點(diǎn)并恢復(fù)的機(jī)制各不相同。
計(jì)算機(jī)集群的出現(xiàn)和使用己經(jīng)有十幾年的歷史。作為最早的集群技術(shù)設(shè)計(jì)師之一,G.Pfister對(duì)集群的定義是,“一種并行或分布式的系統(tǒng),由全面互連的計(jì)算機(jī)集合組成,可作為一個(gè)統(tǒng)一的計(jì)算資源使用”[3]。
將數(shù)臺(tái)服務(wù)器計(jì)算機(jī)組合成一個(gè)統(tǒng)一的集群,多臺(tái)服務(wù)器將可以在用戶或管理員不必了解細(xì)節(jié)的情況下分擔(dān)計(jì)算負(fù)載。例如,如果服務(wù)器集群中的任何資源發(fā)生了故障,則不論發(fā)生故障的組件是硬件還是軟件資源,作為一個(gè)整體的集群都可以使用集群中其他服務(wù)器上的資源來(lái)繼續(xù)向用戶提供服務(wù)[4]。
換言之,當(dāng)資源發(fā)生故障時(shí),和服務(wù)器集群連接的用戶可能經(jīng)歷短暫的性能下降現(xiàn)象,但不會(huì)完全失去對(duì)服務(wù)的訪問(wèn)能力。當(dāng)需要更高的處理能力時(shí),管理員可以通過(guò)滾動(dòng)升級(jí)過(guò)程來(lái)添加新資源。該過(guò)程中,集群在整體上將保持聯(lián)機(jī)狀態(tài),它不僅可供用戶使用,而且在升級(jí)后,其性能也將得到改善。
集群中的成員結(jié)點(diǎn)可以是同構(gòu)的,也可以是異構(gòu)的,或是兩者的混合。一個(gè)集群可以被看成一個(gè)并行機(jī),在批處理系統(tǒng)的參與下,集群中的一個(gè)結(jié)點(diǎn)可以運(yùn)行多個(gè)任務(wù),也可以將一個(gè)任務(wù)分布在多個(gè)結(jié)點(diǎn)上運(yùn)行[5]。
組成這個(gè)集群系統(tǒng)的每一個(gè)計(jì)算機(jī)稱為結(jié)點(diǎn)(Node)。為了保證可靠性,每個(gè)結(jié)點(diǎn)通過(guò)冗余的網(wǎng)絡(luò)路徑進(jìn)行通信,每個(gè)結(jié)點(diǎn)都擁有一定的集群資源。集群中的結(jié)點(diǎn)能夠?qū)@些資源進(jìn)行控制,包括啟動(dòng)、停止和資源轉(zhuǎn)移。
一個(gè)集群系統(tǒng)映射自己獨(dú)特的描述,這些特有的描述是用于客戶端訪問(wèn)應(yīng)用于每個(gè)結(jié)點(diǎn)的應(yīng)用程序和服務(wù)程序,同時(shí)也被管理者用于進(jìn)行管理集群系統(tǒng)[6]。由于擁有這些獨(dú)特的描述,使得結(jié)點(diǎn)之間可以透明的進(jìn)行應(yīng)用程序的資源轉(zhuǎn)移,也可以增加一個(gè)新的結(jié)點(diǎn),但是網(wǎng)絡(luò)客戶把整個(gè)系統(tǒng)當(dāng)作一個(gè)單獨(dú)的服務(wù)器系統(tǒng)。圖1是DMS系統(tǒng)的架構(gòu)圖。
客戶端用來(lái)供用戶訪問(wèn)Cluster的節(jié)點(diǎn)[7],當(dāng)用戶提交任務(wù)的節(jié)點(diǎn)發(fā)生任何故障時(shí),它提供節(jié)點(diǎn)通信連接方式的自動(dòng)轉(zhuǎn)換,并繼續(xù)完成任務(wù),但用戶并不會(huì)感覺到任務(wù)運(yùn)行位置的變遷。
管理器提供對(duì)Cluster的動(dòng)態(tài)管理,包括增加和刪除節(jié)點(diǎn),以及對(duì)運(yùn)行節(jié)點(diǎn)的動(dòng)態(tài)監(jiān)控。
圖1 DMS系統(tǒng)構(gòu)成環(huán)境
Cluster接收來(lái)自集群管理器的控制命令和信息,并管理Cluster節(jié)點(diǎn)上的資源,監(jiān)控資源運(yùn)行狀態(tài),控制故障任務(wù)的運(yùn)行、停止和任務(wù)遷移。
共享磁盤陣列供任務(wù)運(yùn)行時(shí)特有資源和恢復(fù)日志文件的存儲(chǔ),同時(shí)還提供Cluster上各節(jié)點(diǎn)的共享存儲(chǔ)空間。本地磁盤存儲(chǔ)任務(wù)的臨時(shí)文件。
通常在集群環(huán)境中,檢查點(diǎn)存儲(chǔ)在共享磁盤中。由于節(jié)點(diǎn)可能常常發(fā)生故障,檢查點(diǎn)可以用來(lái)恢復(fù)任務(wù)繼續(xù)運(yùn)行。在共享磁盤中存儲(chǔ)檢查點(diǎn)有一些性能缺陷。首先,檢查點(diǎn)可能非常大,這樣很容易堵塞私有網(wǎng)絡(luò)。這對(duì)使用私有網(wǎng)絡(luò)進(jìn)行通信的并行任務(wù)可能會(huì)造成性能損失。在進(jìn)行檢查點(diǎn)操作的過(guò)程中,任務(wù)可能會(huì)被阻塞,因此長(zhǎng)時(shí)間的檢查點(diǎn)操作可能會(huì)對(duì)任務(wù)本身造成性能損失。
在DMS系統(tǒng)中,檢查點(diǎn)最主要的作用是進(jìn)行容錯(cuò),任務(wù)搶占調(diào)度和任務(wù)遷移。
同時(shí)使用共享磁盤和節(jié)點(diǎn)的本地磁盤存儲(chǔ)檢查點(diǎn),可以降低網(wǎng)絡(luò)負(fù)載并減少檢查點(diǎn)操作的時(shí)間?;舅枷胧鞘褂脙煞N檢查點(diǎn)間隔。每隔一段較短的期間在本地磁盤上創(chuàng)建檢查點(diǎn),每隔一段較長(zhǎng)的期間創(chuàng)建共享磁盤上的檢查點(diǎn)。
檢查點(diǎn)在工作節(jié)點(diǎn)上建立。建立檢查點(diǎn)時(shí),將檢查點(diǎn)的版本號(hào)作為檢查點(diǎn)文件的文件名的一部分。使用版本號(hào)有兩個(gè)好處,首先可以節(jié)省存儲(chǔ)空間,因?yàn)橹恍枰鎯?chǔ)版本號(hào)最近的檢查點(diǎn)。其次,當(dāng)同一個(gè)任務(wù)的多個(gè)檢查點(diǎn)在網(wǎng)絡(luò)上傳輸時(shí),由于只需要存儲(chǔ)版本號(hào)最近的檢查點(diǎn),所以可以不用傳輸版本號(hào)較舊的檢查點(diǎn),可以節(jié)省帶寬。創(chuàng)建檢查點(diǎn)的速度可能會(huì)快于在網(wǎng)絡(luò)上傳輸檢查點(diǎn)和在共享磁盤上存儲(chǔ)檢查點(diǎn)的速度。在這種情況下,工作節(jié)點(diǎn)上會(huì)產(chǎn)生一個(gè)等待發(fā)送的檢查點(diǎn)的隊(duì)列。這個(gè)隊(duì)列實(shí)際上是一個(gè)優(yōu)先級(jí)隊(duì)列,在隊(duì)列中新檢查點(diǎn)的優(yōu)先級(jí)高于舊檢查點(diǎn)。同一個(gè)任務(wù)的新檢查點(diǎn)會(huì)將舊檢查點(diǎn)從隊(duì)列中刪除。通常情況下,使用一個(gè)單獨(dú)的線程傳送檢查點(diǎn),這樣,在傳送檢查點(diǎn)時(shí),用戶任務(wù)可以繼續(xù)執(zhí)行。但是,有時(shí)在任務(wù)繼續(xù)執(zhí)行之前,可能需要確定某個(gè)特定的檢查點(diǎn)已經(jīng)到達(dá)共享磁盤,這時(shí),可以將檢查點(diǎn)設(shè)置為阻塞模式。當(dāng)檢查點(diǎn)是阻塞模式時(shí),只有當(dāng)前一個(gè)檢查點(diǎn)被傳輸?shù)焦蚕泶疟P上,下一個(gè)檢查點(diǎn)請(qǐng)求才會(huì)被響應(yīng)。在非阻塞檢查點(diǎn)情況下,檢查點(diǎn)等待被發(fā)送的同時(shí)任務(wù)繼續(xù)執(zhí)行,很有可能在該檢查點(diǎn)發(fā)送之前又創(chuàng)建了新的檢查點(diǎn),這時(shí),刪掉之前建立的檢查點(diǎn),只傳送新的檢查點(diǎn)以節(jié)省帶寬。檢查點(diǎn)可能會(huì)非常大,所以需要對(duì)存儲(chǔ)的所有檢查點(diǎn)文件進(jìn)行檢查,只有最近的檢查點(diǎn)被保留下來(lái)。
在本文的方法中,為DMS系統(tǒng)設(shè)計(jì)了三類檢查點(diǎn):容錯(cuò)檢查點(diǎn),在任務(wù)搶占式調(diào)度后不進(jìn)行進(jìn)程遷移的檢查點(diǎn)和在任務(wù)搶占式調(diào)度后進(jìn)行進(jìn)程遷移的檢查點(diǎn)。下面各節(jié)具體描述每一種檢查點(diǎn)方法。在下面的各圖中,實(shí)線表示檢查點(diǎn)操作,虛線表示恢復(fù)任務(wù)繼續(xù)運(yùn)行的操作。
3.1容錯(cuò)檢查點(diǎn)
為了實(shí)現(xiàn)容錯(cuò)功能,需要定期記錄任務(wù)的檢查點(diǎn)。記錄檢查點(diǎn)的時(shí)間段取決于任務(wù)本身。如果任務(wù)需要運(yùn)行幾個(gè)月,合理的間隔期間應(yīng)該是幾個(gè)小時(shí)。相反地,較短的任務(wù)需要較短的期間。當(dāng)任務(wù)的運(yùn)行需要大量?jī)?nèi)存時(shí),期間的選擇必須非常謹(jǐn)慎,因?yàn)闄z查點(diǎn)操作也需要花費(fèi)一些時(shí)間。
圖2是這容錯(cuò)檢查點(diǎn)的處理方法。檢查點(diǎn)操作分為兩個(gè)期間:TS和TL。期間TS一個(gè)較短的期間,它定義了兩次檢查點(diǎn)操作之間的時(shí)間間隔,TS存儲(chǔ)在本地磁盤中(圖2中的(1))。期間TL一段較長(zhǎng)的期間,它定義了若干次檢查點(diǎn)操作的時(shí)間間隔,TL存儲(chǔ)在共享磁盤中(圖2中的(2))。期間TL也可以表示為若干段較短的期間。使用本地磁盤可以降低網(wǎng)絡(luò)負(fù)載,并且提高了檢查點(diǎn)處理的速度。
如果一個(gè)節(jié)點(diǎn)失敗了,查看檢查點(diǎn)是多久之前存儲(chǔ)的。如果是最近版本的檢查點(diǎn),從這個(gè)檢查點(diǎn)開始在另外的可用的節(jié)點(diǎn)上恢復(fù)運(yùn)行任務(wù)(圖2的(3))。否則,等待一段時(shí)間來(lái)確定失敗的節(jié)點(diǎn)是否會(huì)恢復(fù)。如果節(jié)點(diǎn)恢復(fù)了,任務(wù)在初始分配的節(jié)點(diǎn)上繼續(xù)執(zhí)行(圖2的(4))。如果節(jié)點(diǎn)沒有恢復(fù),任務(wù)在另一個(gè)可用的節(jié)點(diǎn)上恢復(fù)運(yùn)行,從在共享磁盤中存儲(chǔ)的最后一個(gè)檢查點(diǎn)處開始執(zhí)行(圖2的(3))。
圖2 容錯(cuò)性檢查點(diǎn)極其恢復(fù)
3.2不進(jìn)行任務(wù)遷移的搶占式調(diào)度
在沒有任務(wù)遷移的搶占式調(diào)度中,當(dāng)要進(jìn)行搶占調(diào)度時(shí),首先記錄被搶占的任務(wù)的檢查點(diǎn)然后停止該任務(wù)。此后,一個(gè)新任務(wù)會(huì)在原來(lái)的節(jié)點(diǎn)上運(yùn)行,當(dāng)新任務(wù)完成后,原先的任務(wù)在該節(jié)點(diǎn)上恢復(fù)運(yùn)行。被搶占的任務(wù)不能被遷移到其他節(jié)點(diǎn)上繼續(xù)運(yùn)行。當(dāng)用戶指定要使用某個(gè)節(jié)點(diǎn)而這個(gè)節(jié)點(diǎn)上正運(yùn)行著其他的任務(wù)時(shí)會(huì)發(fā)生這種搶占調(diào)度。
圖3 沒有遷移的任務(wù)搶占調(diào)度極其恢復(fù)
3.3任務(wù)遷移檢查點(diǎn)
在任務(wù)遷移的情況下,對(duì)任務(wù)進(jìn)行檢查點(diǎn)操作后,停止任務(wù)的運(yùn)行并且在另一個(gè)節(jié)點(diǎn)上恢復(fù)運(yùn)行任務(wù)(圖4)。如前所述,在任務(wù)搶占調(diào)度和負(fù)載平衡時(shí)會(huì)發(fā)生任務(wù)遷移。
在這種情況下,當(dāng)遷移發(fā)生時(shí),把檢查點(diǎn)存儲(chǔ)在共享磁盤中(圖4的(1))。由于任務(wù)被遷移到另一個(gè)節(jié)點(diǎn)上(圖4的(2)),所以只需要在共享磁盤中存儲(chǔ)檢查點(diǎn)。
圖4 任務(wù)遷移的檢查點(diǎn)極其恢復(fù)
在這種情況下,只在本地磁盤上存儲(chǔ)檢查點(diǎn)(圖 2的(1))。當(dāng)新任務(wù)完成后,從本地磁盤系統(tǒng)中恢復(fù)先前的任務(wù)(圖 3的(2))。由于任務(wù)不能被遷移到其他的節(jié)點(diǎn)上,所以沒有必要將檢查點(diǎn)存儲(chǔ)在共享磁盤中。這種方法明顯的降低了網(wǎng)絡(luò)負(fù)載。另外,提高檢查點(diǎn)操作速度的同時(shí)也提高了搶占式任務(wù)調(diào)度的速度。
4.1兩個(gè)狀態(tài)大小的檢查點(diǎn)放置算法
檢查點(diǎn)的開銷取決于放置檢查點(diǎn)的任務(wù)執(zhí)行點(diǎn)。更具體的,檢查點(diǎn)的開銷取決于任務(wù)在該點(diǎn)的狀態(tài)的大小。任務(wù)的狀態(tài)大小隨著內(nèi)存的分配和釋放而改變,檢查點(diǎn)的開銷也根據(jù)一些進(jìn)程隨著時(shí)間而改變。因此,固定期間的放置策略并不是最優(yōu)的。
雖然不能預(yù)知任務(wù)的狀態(tài)大小,但是可以通過(guò)監(jiān)視內(nèi)存的分配和釋放來(lái)跟蹤任務(wù)的狀態(tài)大小。通過(guò)監(jiān)視內(nèi)存操作,可以知道任務(wù)當(dāng)前的狀態(tài)大小。因此,可以估算在當(dāng)前放置檢查點(diǎn)的開銷。
本文的算法的主要思想是在任務(wù)的執(zhí)行過(guò)程中尋找一點(diǎn)使得在這一點(diǎn)放置檢查點(diǎn)最有益。該算法找到任務(wù)的狀態(tài)大小較小的點(diǎn),并使用這些點(diǎn)作為檢查點(diǎn)。如果找到了這樣的點(diǎn),用較小的間隔在這些點(diǎn)上設(shè)置檢查點(diǎn),這樣,故障后的再處理時(shí)間比較短。如果在一段時(shí)間內(nèi)沒有找到這樣的點(diǎn),在較高代價(jià)的點(diǎn)上設(shè)置檢查點(diǎn)以避免需要較長(zhǎng)的再處理時(shí)間。在這種情況下,檢查點(diǎn)之間的間隔應(yīng)該設(shè)置的比較長(zhǎng),以減少檢查點(diǎn)開銷。
下面的例子說(shuō)明了對(duì)于檢查點(diǎn)代價(jià)的了解可以改善檢查點(diǎn)性能。設(shè)任務(wù)有兩個(gè)可能的狀態(tài)大小,S1和S2,令S1<S2。設(shè)任務(wù)的狀態(tài)大小為Si時(shí),檢查點(diǎn)的代價(jià)為Ci(C1<C2)。任務(wù)的狀態(tài)大小根據(jù)一個(gè)兩狀態(tài)的Markov鏈改變。
該算法的工作方式如下:定義兩個(gè)時(shí)間點(diǎn),t1和t2,令t1<=t2。該算法根據(jù)下面的規(guī)則決定是否要在t點(diǎn)放置檢查點(diǎn),t是從上次檢查點(diǎn)到當(dāng)前時(shí)刻的時(shí)間:
(1)如果t1點(diǎn)的狀態(tài)大小是s1,那么在t1點(diǎn)放置一個(gè)檢查點(diǎn)。該檢查點(diǎn)的代價(jià)是C1。
(2)如果t1點(diǎn)的狀態(tài)大小是s2,系統(tǒng)等待直到狀態(tài)大小變?yōu)閟1,并在這一點(diǎn)放置檢查點(diǎn)。該檢查點(diǎn)的代價(jià)是C1。
(3)如果t1點(diǎn)的狀態(tài)大小是S2,并且直到t2點(diǎn),狀態(tài)大小始終沒有改變,那么在t2點(diǎn)放置一個(gè)檢查點(diǎn)。這種情況下的檢查點(diǎn)開銷是C2。
為了避免檢查點(diǎn)開銷過(guò)高,檢查點(diǎn)不能在t1點(diǎn)之前放置。同樣,為了避免從檢查點(diǎn)再處理時(shí)間過(guò)長(zhǎng),不能在t2點(diǎn)之后放置檢查點(diǎn)。t1和t2的值會(huì)影響算法的性能。通過(guò)分析算法的開銷比,可以找到使得開銷比最小的t1和t2的值。
4.2多個(gè)狀態(tài)大小的檢查點(diǎn)放置算法
兩狀態(tài)大小的檢查點(diǎn)放置算法可以被擴(kuò)展為多狀態(tài)大小的檢查點(diǎn)放置算法。
假定任務(wù)可能的狀態(tài)大小是S1,S2,…,Sn,并且狀態(tài)大小為si時(shí),檢查點(diǎn)開銷是Ci,這里C1<=C2<=…<= Cn。每個(gè)狀態(tài)大小si有一個(gè)與之相關(guān)的時(shí)間期間ti。該算法根據(jù)下面的規(guī)則決定是否在時(shí)間t放置一個(gè)檢查點(diǎn),t是從上一個(gè)檢查點(diǎn)到當(dāng)前時(shí)刻的時(shí)間。
(1)不在區(qū)間[0,ti)放置檢查點(diǎn)。
(2)如果在某一點(diǎn)時(shí)區(qū)間[ti,ti+1)的狀態(tài)大小為S1,S2,…,Si,在該點(diǎn)放置檢查點(diǎn)。
(3)在tn時(shí)刻放置檢查點(diǎn),不考慮該點(diǎn)的狀態(tài)大小。
4.3實(shí)現(xiàn)問(wèn)題
在系統(tǒng)中實(shí)現(xiàn)時(shí),使用計(jì)時(shí)器來(lái)決定放置下一個(gè)檢查點(diǎn)的時(shí)間,每次狀態(tài)大小改變時(shí)更新計(jì)時(shí)器。放置了一個(gè)檢查點(diǎn)后,計(jì)時(shí)器被初始化為ti,si是放置檢查點(diǎn)時(shí)的狀態(tài)大小,計(jì)時(shí)器開始減數(shù)計(jì)時(shí)。當(dāng)每次內(nèi)存分配或釋放操作使得任務(wù)的狀態(tài)大小從si變?yōu)閟j時(shí),計(jì)時(shí)器的值增加一個(gè)tj-ti。當(dāng)計(jì)時(shí)器的值小于或等于0時(shí)放置檢查點(diǎn)。
本文的算法假設(shè)任務(wù)的狀態(tài)大小處于一個(gè)有限的離散的集合中。事實(shí)上,任務(wù)的狀態(tài)大小是連續(xù)變化的。這一問(wèn)題可以通過(guò)量化來(lái)解決[8],可以將狀態(tài)大小量化為最接近的大小。如果量化誤差不大,量化對(duì)于算法性能的影響可以達(dá)到最小。
檢查點(diǎn)對(duì)于支持容錯(cuò)功能的系統(tǒng)是十分重要的功能。在網(wǎng)絡(luò)作業(yè)管理系統(tǒng)環(huán)境中,為了實(shí)現(xiàn)作業(yè)搶占調(diào)度和作業(yè)遷移,必須進(jìn)行檢查點(diǎn)操作。
本文首先描述了網(wǎng)絡(luò)作業(yè)管理系統(tǒng)中進(jìn)行檢查點(diǎn)操作會(huì)產(chǎn)生的兩個(gè)主要問(wèn)題,即網(wǎng)絡(luò)負(fù)載和檢查點(diǎn)操作所造成的性能損失。然后,提出了避免這些問(wèn)題的方法,就是使用節(jié)點(diǎn)的本地磁盤存儲(chǔ)檢查點(diǎn)。
[1]Neil Cafferkey,Philip D.Healy,David A.Power and John P.Morrison.Job Management in WebCom.Sixth International Symposium on Parallel and Distributed Computing(ISPDC'07).
[2]Adam Jamison Oliner.Cooperative Checkpointing for Supercomputing Systems.Submitted to the Department of Electrical Engineering and Computer Science,on May 19,2005,in Partial Fulfillment of the Requirements for the Degree of Master of Engineering in Computer Science and Engineering.
[3]Norihiro Fujii,Nobuhiko Koike.Multi-user/Multi-Test-Bed Remote Hardware Laboratory with Job Management System.2007 IEEE International Conference on Microelectronic Systems Education(MSE'07).
[4]LUAN Cui-ju,SONG Guang-hua,ZHENG Yao.A Flexible Architecture for Job Management in a Grid Environment,Luan et al.Zhejiang Univ Sci A 2007 8(1):95-105,Sept.28,2006.J.
[5]Antonio Cunei Jan Vitek.A New Approach To Real-Time Checkpointing,VEE'06 June 14-16,2006,Ottawa,Ontario,Canada.
[6]Bidyut Gupta,Shahram Rahimi.A Novel Roll-Back Mechanism for Performance Enhancement of Asynchronous Checkpointing and Recovery,Informatica 31,2007,1-13.
[7]Greg Bronevetsky,Daniel Marques,Keshav Pingali,Application-level Checkpointing for Shared Memory Programs,ASPLOS'04,October 9-13,2004,Boston,Massachusetts,USA.
[8]Jonathan M.Smith,A Survey of Process Migration Mechanisms,Computer Science Department,Columbia University,22 May 2001.
Distributed;Business;Checkpoint;Cluster
The Checkpoint Design of Distributed Business Management System
HU Yuan-yuan,YUAN Shun-zhao
(General Hospital of Yangtze River shipping,Wuhan 430015)
1007-1423(2015)31-0003-05
10.3969/j.issn.1007-1423.2015.31.001
胡元元(1983-),女,湖北當(dāng)陽(yáng)人,碩士,工程師,從事領(lǐng)域?yàn)檐浖こ?/p>
袁順召(1986-),男,湖北利川人,碩士,從事領(lǐng)域?yàn)樾姓芾?/p>
通過(guò)對(duì)檢查點(diǎn)的設(shè)計(jì),提高分布式任務(wù)管理系統(tǒng)的性能。介紹檢查點(diǎn)及DMS系統(tǒng)構(gòu)成環(huán)境,然后提出檢查點(diǎn)實(shí)現(xiàn)的三種方法,即容錯(cuò)檢查點(diǎn),不進(jìn)行任務(wù)遷移的搶占式調(diào)度,及任務(wù)遷移檢查點(diǎn)。設(shè)計(jì)兩個(gè)狀態(tài)大小的檢查點(diǎn)放置算法和多個(gè)狀態(tài)大小的檢查點(diǎn)放置算法,降低網(wǎng)絡(luò)負(fù)載和檢查點(diǎn)操作所造成的性能損失。
分布式;任務(wù);檢查點(diǎn);集群
Performance of Business Management System Distributed(DMS)is improved by the design of Checkpoint.Introduces the Checkpoints and the DMS system,and then proposes three methods,namely,fault tolerance Checkpoint,preemptive scheduling of tasks,and task migration Checkpoint.Designs two state size checking points placement algorithm and multiple state size,reduces the performance loss caused by network load and checkpoint operation.