国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種MapReduce任務(wù)的容錯(cuò)調(diào)度方法

      文檔序號(hào):7867780閱讀:1505來(lái)源:國(guó)知局
      專利名稱:一種MapReduce任務(wù)的容錯(cuò)調(diào)度方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及到云計(jì)算環(huán)境中并行任務(wù)調(diào)度方法,是一種結(jié)合檢查點(diǎn)和主動(dòng)復(fù)制的MapReduce任務(wù)的容錯(cuò)調(diào)度方法。
      背景技術(shù)
      云環(huán)境中,節(jié)點(diǎn)和任務(wù)失效不再是個(gè)意外,而成為大規(guī)模系統(tǒng)的特征。LADIS 2009大會(huì)發(fā)布數(shù)據(jù)顯示,一個(gè)集群每年會(huì)有1% 5%的硬盤會(huì)報(bào)廢,20個(gè)機(jī)架和3個(gè)路由器會(huì)宕機(jī)一次,服務(wù)器每年會(huì)平均宕機(jī)兩次,報(bào)廢幾率在29T4%。即使對(duì)于一個(gè)由I萬(wàn)個(gè)超級(jí)可靠的服務(wù)器(MTBF為30年)組成的分布式系統(tǒng),每天也都會(huì)發(fā)生失效問(wèn)題。因此,對(duì)于由大量廉價(jià)計(jì)算機(jī)所組成的云環(huán)境而言,由各種故障帶來(lái)的節(jié)點(diǎn)和任務(wù)失效成為更頻繁和普遍的問(wèn)題,必須視失敗為常態(tài),系統(tǒng)必須提供有效的容錯(cuò)方法。MapReduce提供了一種以大規(guī)模并行處理模式來(lái)處理數(shù)據(jù)密集型任務(wù)的編程模型。在Google公司內(nèi)部,通過(guò)大規(guī)模集群和MapReduce軟件,每天有超過(guò)20PB的數(shù)據(jù)得到處理,每個(gè)月處理的數(shù)據(jù)量超過(guò)400PB。Yahoo公司實(shí)現(xiàn)了基于MapReduce的開源版本Hadoop, Facebook每天用它來(lái)處理數(shù)據(jù)導(dǎo)入、提交時(shí)報(bào)等任務(wù),Amazon公司采用彈性MapReduce來(lái)處理大量的數(shù)據(jù)密集型任務(wù)。MapReduce由于它的易于編程、數(shù)據(jù)分布和容錯(cuò)等特性而受到越來(lái)越多的關(guān)注和應(yīng)用。Google在2006年的研究報(bào)告中指出,在一個(gè)平均由268個(gè)工作節(jié)點(diǎn)組成的計(jì)算環(huán)境中,每一個(gè)MapReduce作業(yè)都伴隨著5個(gè)工作節(jié)點(diǎn)的失效。MapReduce米用了一種基于重調(diào)度執(zhí)行(re-schedule)的容錯(cuò)機(jī)制來(lái)確保失效任務(wù)的正確執(zhí)行,但是系統(tǒng)在重調(diào)度失效任務(wù)時(shí),未能充分考慮任務(wù)的數(shù)據(jù)分布、重調(diào)度失效任務(wù)的性能開銷延遲,因而常常一個(gè)簡(jiǎn)單的節(jié)點(diǎn)失效就會(huì)導(dǎo)致作業(yè)的整體完成時(shí)間延長(zhǎng)50%。而對(duì)于一個(gè)采用了 MapReduce計(jì)算模型的查詢?nèi)蝿?wù)而言,如果每個(gè)輸入數(shù)據(jù)片段中包含一個(gè)錯(cuò)誤記錄,將會(huì)導(dǎo)致整個(gè)MapReduce作業(yè)增加100%的運(yùn)行時(shí)間開銷,這對(duì)于SLA需求較高的應(yīng)用是不能接受的,因而需要采用更加優(yōu)化的容錯(cuò)調(diào)度算法來(lái)減少由于系統(tǒng)故障或錯(cuò)誤所帶來(lái)的時(shí)間延遲。

      發(fā)明內(nèi)容
      本發(fā)明采用基于檢查點(diǎn)的主動(dòng)復(fù)制方法進(jìn)行任務(wù)的容錯(cuò)調(diào)度CROFT (Checkpointand Replication Oriented Fault Tolerant scheduling algorithm),對(duì)任務(wù)失效和節(jié)點(diǎn)失效均有較好的容錯(cuò)支持,并且能明顯減少節(jié)點(diǎn)失效時(shí)的作業(yè)延遲,從而提高M(jìn)apreduce作業(yè)的性能。算法分為兩個(gè)部分,分別為運(yùn)行master節(jié)點(diǎn)上的worker節(jié)點(diǎn)上,默認(rèn)前提是首先,master節(jié)點(diǎn)會(huì)將所有的mapper任務(wù)和reducer任務(wù)進(jìn)行預(yù)分配。另外,master節(jié)點(diǎn)地位重要且數(shù)目較少,通過(guò)為其維護(hù)多個(gè)完全一致的“熱備份”,可以保證故障發(fā)生時(shí)的無(wú)縫處理。每個(gè)計(jì)算節(jié)點(diǎn)在執(zhí)行每個(gè)Mapper任務(wù)前,會(huì)為該任務(wù)創(chuàng)建一個(gè)本地local檢查點(diǎn)文件和一個(gè)全局索引index檢查點(diǎn)文件。本地local檢查點(diǎn)文件負(fù)責(zé)記錄當(dāng)前任務(wù)的執(zhí)行進(jìn)度,從而能夠在任務(wù)失效情況下避免重復(fù)執(zhí)行過(guò)程。而全局索引index檢查點(diǎn)文件負(fù)責(zé)記錄當(dāng)前任務(wù)的執(zhí)行特征,從而能夠在節(jié)點(diǎn)失效情況下根據(jù)快速構(gòu)造出中間結(jié)果數(shù)據(jù),減少任務(wù)的再執(zhí)行時(shí)間。
      該算法可明顯減少作業(yè)的平均完成時(shí)間,算法會(huì)將發(fā)生失效節(jié)點(diǎn)上的任務(wù)重新調(diào)度到可用的副本工作節(jié)點(diǎn)(worker)上,但是與傳統(tǒng)的MapReduce容錯(cuò)方法不同,失效節(jié)點(diǎn)上任務(wù)不會(huì)從頭重新執(zhí)行,而是將任務(wù)調(diào)度到可用的副本worker節(jié)點(diǎn)上,新的節(jié)點(diǎn)會(huì)根據(jù)檢查點(diǎn)文件快速構(gòu)造出中間結(jié)果數(shù)據(jù)。通過(guò)實(shí)驗(yàn)驗(yàn)證了算法的有效性,CROFT能夠比Hadoop的運(yùn)行時(shí)性能提升30%以上。支持容錯(cuò)的MapReduce任務(wù)調(diào)度算法如算法I和算法2所示。支持容錯(cuò)的任務(wù)調(diào)度算法如算法I和算法2所示。當(dāng)發(fā)生任務(wù)失效時(shí),只需讀取保存在本地的檢查點(diǎn)文件,將出錯(cuò)任務(wù)的狀態(tài)和執(zhí)行恢復(fù)到檢查點(diǎn)處,減少了任務(wù)的重復(fù)執(zhí)行時(shí)間。這樣,這些中間結(jié)果就像被重新調(diào)度的mapper任務(wù)剛剛輸出一樣。當(dāng)發(fā)生節(jié)點(diǎn)失效時(shí),master節(jié)點(diǎn)上的調(diào)度器負(fù)責(zé)將失效節(jié)點(diǎn)上被中斷的mapper任務(wù)進(jìn)行排隊(duì),在對(duì)任務(wù)進(jìn)行重調(diào)度時(shí),mapper任務(wù)會(huì)被重新調(diào)度到可用的副本節(jié)點(diǎn)上執(zhí)行,副本節(jié)點(diǎn)能夠根據(jù)索引檢 查點(diǎn)快速構(gòu)造出失效節(jié)點(diǎn)上執(zhí)行的mapper任務(wù)的中間結(jié)果數(shù)據(jù),大大減少了重調(diào)度任務(wù)的執(zhí)行時(shí)間。 如果失效節(jié)點(diǎn)上有正在執(zhí)行的reducer任務(wù)被中斷,那么將該reducer任務(wù)重新調(diào)度到備份節(jié)點(diǎn)上進(jìn)行執(zhí)行,已經(jīng)完成的mapper任務(wù)所產(chǎn)生的中間結(jié)果已經(jīng)主動(dòng)復(fù)制到該備份節(jié)點(diǎn),因而無(wú)須再重復(fù)執(zhí)行失效節(jié)點(diǎn)上的mapper任務(wù),因而會(huì)大大縮短Mapreduce作業(yè)的整體完成時(shí)間。
      權(quán)利要求
      1.一種支持容錯(cuò)的MapReduce任務(wù)調(diào)度算法,其特征在于算法分為兩個(gè)部分,分別為運(yùn)行master節(jié)點(diǎn)和worker節(jié)點(diǎn)上。
      2.master節(jié)點(diǎn)會(huì)將所有的mapper任務(wù)和reducer任務(wù)進(jìn)行預(yù)分配。
      3.master節(jié)點(diǎn)周期性地發(fā)送探測(cè)消息,以檢測(cè)worker節(jié)點(diǎn)的狀態(tài),判斷是否有worker節(jié)點(diǎn)發(fā)生故障或失效。
      4.每個(gè)worker節(jié)點(diǎn)會(huì)具有k個(gè)副本節(jié)點(diǎn)。
      5.worker節(jié)點(diǎn)會(huì)為每個(gè)mapper任務(wù)創(chuàng)建一個(gè)本地(local)檢查點(diǎn)文件和一個(gè)全局索引(index)檢查點(diǎn)文件。
      6.當(dāng)mapper任務(wù)內(nèi)存緩沖區(qū)充滿時(shí),啟動(dòng)一次中間結(jié)果保存操作,將中間結(jié)果數(shù)據(jù)緩存到本地文件系統(tǒng);緩存完成后,將輸入流的讀寫位置和本次任務(wù)ID (positioni, map_id)記錄到local檢查點(diǎn)文件中。
      7.當(dāng)mapper完成中間結(jié)果保存時(shí),根據(jù)輸入流產(chǎn)生key-value輸出的稀疏情況,選擇下述兩種方法之一,將任務(wù)執(zhí)行過(guò)程中的統(tǒng)計(jì)信息,記錄到全局index檢查點(diǎn)文件中。
      8.針對(duì)產(chǎn)生輸出的輸入流,記錄輸入流產(chǎn)生key-value對(duì)的offset位置(T1,offset)到全局index文件中,在副本節(jié)點(diǎn)上執(zhí)行時(shí)可以直接從該offset處開始。
      9.針對(duì)無(wú)輸出的輸入流范圍,一條記錄格式為(T2,offsets,offsete), Offsets為該輸入流范圍的起始偏移,offset,為結(jié)束偏移,表示輸入流在Offsets,和Offsete之間沒(méi)有輸出,當(dāng)在副本節(jié)點(diǎn)上重新執(zhí)行時(shí)可直接跳過(guò)該范圍。
      10.當(dāng)發(fā)生任務(wù)失效時(shí),只需讀取保存在本地的檢查點(diǎn)文件,將出錯(cuò)任務(wù)的狀態(tài)和執(zhí)行恢復(fù)到檢查點(diǎn)處,當(dāng)發(fā)生節(jié)點(diǎn)失效時(shí),失效節(jié)點(diǎn)上的mapper任務(wù)會(huì)被重新調(diào)度到可用的副本節(jié)點(diǎn)上執(zhí)行,副本節(jié)點(diǎn)能夠根據(jù)索引檢查點(diǎn)快速構(gòu)造出失效節(jié)點(diǎn)上執(zhí)行的mapper任務(wù)的中間結(jié)果數(shù)據(jù),大大減少了重調(diào)度任務(wù)的執(zhí)行時(shí)間。
      全文摘要
      本發(fā)明涉及云計(jì)算環(huán)境中并行任務(wù)的調(diào)度處理方法,公開一種針對(duì)MapReduce作業(yè)的容錯(cuò)調(diào)度方法,以提高M(jìn)apReduce作業(yè)的整體性能,減少節(jié)點(diǎn)失效時(shí)的作業(yè)延遲。本發(fā)明結(jié)合檢查點(diǎn)和主動(dòng)復(fù)制兩種技術(shù),在Mapper任務(wù)執(zhí)行時(shí)創(chuàng)建本地檢查點(diǎn)和索引檢查點(diǎn)兩種檢查點(diǎn),當(dāng)任務(wù)發(fā)生失效時(shí),本地檢查點(diǎn)能夠?qū)⒊鲥e(cuò)任務(wù)的狀態(tài)和執(zhí)行恢復(fù)到檢查點(diǎn)處,減少了任務(wù)的重復(fù)執(zhí)行時(shí)間;當(dāng)發(fā)生節(jié)點(diǎn)失效時(shí),副本節(jié)點(diǎn)能夠根據(jù)索引檢查點(diǎn)快速構(gòu)造出失效節(jié)點(diǎn)上執(zhí)行的mapper任務(wù)的中間結(jié)果數(shù)據(jù),大大減少了重調(diào)度任務(wù)的執(zhí)行時(shí)間。實(shí)驗(yàn)結(jié)果表明該方法能夠比Hadoop的運(yùn)行時(shí)性能提高30%以上,同時(shí)并不明顯增加系統(tǒng)的存儲(chǔ)和網(wǎng)絡(luò)開銷。
      文檔編號(hào)H04L29/08GK103064728SQ20121053589
      公開日2013年4月24日 申請(qǐng)日期2012年12月13日 優(yōu)先權(quán)日2012年12月13日
      發(fā)明者劉揚(yáng), 魏蔚, 王珂, 楊衛(wèi)東, 劉燦 申請(qǐng)人:河南工業(yè)大學(xué)
      網(wǎng)友詢問(wèn)留言 已有0條留言
      • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1