[發(fā)明專利]一種面向Map/Reduce型海量數(shù)據(jù)處理平臺的作業(yè)調(diào)度方法有效
| 申請?zhí)枺?/td> | 201410531590.0 | 申請日: | 2014-10-10 |
| 公開(公告)號: | CN104317650B | 公開(公告)日: | 2018-05-01 |
| 發(fā)明(設(shè)計)人: | 梁毅;王玉鳳;樊明璐;張辰 | 申請(專利權(quán))人: | 北京工業(yè)大學(xué) |
| 主分類號: | G06F9/48 | 分類號: | G06F9/48;G06F9/50 |
| 代理公司: | 北京思海天達(dá)知識產(chǎn)權(quán)代理有限公司11203 | 代理人: | 張慧 |
| 地址: | 100124 *** | 國省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 面向 map reduce 海量 數(shù)據(jù)處理 平臺 作業(yè) 調(diào)度 方法 | ||
1.一種面向Map/Reduce型海量數(shù)據(jù)處理平臺的作業(yè)調(diào)度方法,包括:搶占資源、作業(yè)調(diào)度模塊、應(yīng)用管理模塊、任務(wù)執(zhí)行模塊、節(jié)點(diǎn)管理模塊、任務(wù)掛起與恢復(fù)方法、面向搶占資源的作業(yè)調(diào)度方法,其特征在于包括如下步驟:
所述的搶占資源是當(dāng)Reduce任務(wù)等待獲取Map任務(wù)的輸出數(shù)據(jù)時,該Reduce任務(wù)所釋放的計算資源;
所述的作業(yè)調(diào)度模塊,對Map/Reduce作業(yè)所包含的Map任務(wù)和Reduce任務(wù)進(jìn)行任務(wù)掛起與恢復(fù)決策;以任務(wù)為單位進(jìn)行計算資源分配,并將掛起的Reduce任務(wù)所釋放的資源分配給待調(diào)度的Map任務(wù);
所述的作業(yè)調(diào)度模塊,保存可用搶占資源信息表、搶占資源使用信息表和待調(diào)度任務(wù)信息表,可用搶占資源信息表用于記錄平臺當(dāng)前可以使用的搶占資源,格式如下:
其中,集群節(jié)點(diǎn)號是搶占資源所在集群節(jié)點(diǎn)的編號,可使用資源量是搶占資源所包含的可以使用的計算資源的數(shù)量,掛起Reduce任務(wù)號是釋放該搶占資源的Reduce任務(wù)編號;
搶占資源使用信息表用于記錄平臺當(dāng)前搶占資源的使用情況,格式如下:
其中,任務(wù)號是使用該搶占資源的任務(wù)編號,資源分配量是任務(wù)實(shí)際占用該搶占資源所包含資源的數(shù)量,資源分配量不大于該搶占資源的當(dāng)前可使用資源量;
待調(diào)度任務(wù)信息表用于記錄平臺當(dāng)前需要分配計算資源的Map任務(wù)和Reduce任務(wù),格式如下:
其中,任務(wù)號和作業(yè)號分別表示需要分配計算資源的任務(wù)編號和其所屬作業(yè)的編號,任務(wù)類型包括Map任務(wù)和Reduce任務(wù),資源需求量表示任務(wù)運(yùn)行所需要的計算資源數(shù)量,到達(dá)時間表示該任務(wù)所屬作業(yè)到達(dá)Map/Reduce平臺的時間;
所述的應(yīng)用管理模塊,對Map/Reduce作業(yè)從提交到結(jié)束的整個生命周期進(jìn)行管理,跟蹤記錄Map/Reduce作業(yè)所包含的Map任務(wù)及Reduce任務(wù)的狀態(tài),包括待調(diào)度狀態(tài)、運(yùn)行狀態(tài)、掛起狀態(tài)和結(jié)束狀態(tài);
所述的應(yīng)用管理模塊保存任務(wù)狀態(tài)信息表,用于記錄當(dāng)前平臺中作業(yè)的狀態(tài)及作業(yè)運(yùn)行相關(guān)信息,格式如下:
其中,任務(wù)號和作業(yè)號分別表示任務(wù)及其所屬作業(yè)的編號,任務(wù)類型包括Map任務(wù)和Reduce任務(wù),集群節(jié)點(diǎn)號表示該任務(wù)運(yùn)行所在的集群節(jié)點(diǎn)編號,執(zhí)行代碼路徑表示任務(wù)需要運(yùn)行的代碼的存儲路徑,處理數(shù)據(jù)文件表示任務(wù)需要處理數(shù)據(jù)所在文件的存儲路徑,數(shù)據(jù)起始偏移量和數(shù)據(jù)結(jié)束偏移量分別表示需要處理數(shù)據(jù)在文件中的起始和結(jié)束偏移量;
所述的任務(wù)執(zhí)行模塊,可對其執(zhí)行的Reduce任務(wù)執(zhí)行掛起操作,針對掛起的Reduce任務(wù)記錄其還未拷貝其中間結(jié)果數(shù)據(jù)以及中間結(jié)果數(shù)據(jù)的存儲路徑信息;
所述的節(jié)點(diǎn)管理模塊,可對所在節(jié)點(diǎn)中運(yùn)行的Map任務(wù)和Reduce任務(wù)進(jìn)行監(jiān)控,觸發(fā)Reduce任務(wù)掛起和釋放操作;
所述的任務(wù)掛起與恢復(fù)方法,包括如下步驟:
步驟1.1:作業(yè)調(diào)度模塊周期性地執(zhí)行步驟1.2到步驟1.7;
步驟1.2:作業(yè)調(diào)度模塊從應(yīng)用管理模塊獲得所有處于運(yùn)行狀態(tài)、掛起狀態(tài)和結(jié)束狀態(tài)的Map和Reduce任務(wù)信息,包括任務(wù)的任務(wù)號、任務(wù)所屬作業(yè)的作業(yè)號、任務(wù)狀態(tài)、任務(wù)狀態(tài)記錄時間;
步驟1.3:作業(yè)調(diào)度模塊根據(jù)步驟1.2收集的任務(wù)信息,對每一個處于運(yùn)行狀態(tài)的Reduce任務(wù)計算其數(shù)據(jù)拷貝剩余處理時間以及與之屬于同一Map/Reduce作業(yè)的Map任務(wù)的剩余執(zhí)行時間,根據(jù)計算結(jié)果,選擇需要掛起的Reduce任務(wù),方法如下,若不存在需要掛起的Reduce任務(wù),則轉(zhuǎn)至步驟1.5;
步驟1.3.1:作業(yè)調(diào)度模塊遍歷所有處于運(yùn)行狀態(tài)的Reduce任務(wù)信息,對每個Reduce任務(wù)執(zhí)行步驟1.3.2至步驟1.3.6;
步驟1.3.2:選取所有與該Reduce任務(wù)屬于同一作業(yè)且處于運(yùn)行狀態(tài)的Map任務(wù),構(gòu)成任務(wù)集SMap,對于SMap中的每一個Map任務(wù)i,計算其剩余執(zhí)行時間TMLefti,計算方法如下:
其中TMLefti代表Map任務(wù)剩余執(zhí)行時間,以毫秒為單位,TMExecutedi代表Map任務(wù)已執(zhí)行時間,以毫秒為單位,PTaski代表Map任務(wù)當(dāng)前執(zhí)行進(jìn)度,進(jìn)度值在(0,1]區(qū)間內(nèi),本發(fā)明將PTaski設(shè)定為Map任務(wù)已處理數(shù)據(jù)量與其所需處理的數(shù)據(jù)總量的比值,PTaski和TMExecutedi是由對應(yīng)的i任務(wù)執(zhí)行模塊統(tǒng)計得出并發(fā)送給作業(yè)調(diào)度模塊;
步驟1.3.3:統(tǒng)計該Reduce任務(wù)所屬的作業(yè)中處于運(yùn)行狀態(tài)的Map任務(wù)的最短剩余執(zhí)行時間TMleft_min,方法如下:
TMLeft_min=min{TMLefti|i∈SMap}
其中,TMLeft_min代表Map任務(wù)剩余執(zhí)行時間最小值,min表示為對大括號內(nèi)的所有數(shù)值求最小值;
步驟1.3.4:計算該Reduce任務(wù)拷貝剩余處理時間TRLeft,方法如下:
其中TRLeft代表Reduce任務(wù)拷貝剩余處理時間,以毫秒為單位,TRFetched代表Reduce任務(wù)已執(zhí)行拷貝操作的時間長度,以毫秒為單位,Numc代表Reduce任務(wù)已經(jīng)拷貝的Map任務(wù)的個數(shù),Numt代表與Reduce任務(wù)屬于同一Map/Reduce作業(yè)且已運(yùn)行結(jié)束的Map任務(wù)的個數(shù),TRFetched由任務(wù)執(zhí)行模塊計算Reduce任務(wù)執(zhí)行拷貝操作的開始時間與當(dāng)前時間的差值獲得,Numc由任務(wù)執(zhí)行模塊統(tǒng)計已由Reduce任務(wù)完成拷貝其輸出數(shù)據(jù)的Map任務(wù)的個數(shù)獲得,TRFetched和Numc均由任務(wù)執(zhí)行模塊推送給作業(yè)調(diào)度模塊,Numt則由作業(yè)調(diào)度模塊根據(jù)其收集的任務(wù)狀態(tài)信息,統(tǒng)計與Reduce任務(wù)屬于同一Map/Reduce作業(yè)且處于結(jié)束狀態(tài)的Map任務(wù)個數(shù);
步驟1.3.5:根據(jù)該Reduce任務(wù)對應(yīng)的Map任務(wù)剩余執(zhí)行時間最小值TMLeft_min和該Reduce任務(wù)的拷貝剩余處理時間TRLeft,判斷該Reduce任務(wù)是否滿足掛起條件,判斷條件如下:
其中TMLeft_min代表Map任務(wù)剩余執(zhí)行時間最小值,TRLeft代表Reduce任務(wù)拷貝剩余處理時間,Dsuspend代表設(shè)定的閾值,取值范圍在[0,1]區(qū)間內(nèi);
步驟1.3.6:若該Reduce任務(wù)滿足掛起條件,則將其標(biāo)記為“待掛起”;
步驟1.4:作業(yè)調(diào)度模塊對每一個標(biāo)記為“待掛起”的Reduce任務(wù)執(zhí)行掛起操作,并釋放掛起Reduce任務(wù)所占用的計算資源,方法如下:
步驟1.4.1:作業(yè)調(diào)度模塊查找Map/Reduce平臺中標(biāo)記為“待掛起“的Reduce任務(wù),對每一個待掛起Reduce任務(wù),通過應(yīng)用管理模塊通知相應(yīng)的任務(wù)執(zhí)行模塊,判斷其是否處于空閑等待狀態(tài),判斷方法為Reduce任務(wù)執(zhí)行模塊查看該模塊中所有Map任務(wù)輸出數(shù)據(jù)讀取線程是否均處于空閑狀態(tài),任務(wù)執(zhí)行模塊通過應(yīng)用管理模塊向作業(yè)調(diào)度模塊返回查詢結(jié)果,若是,執(zhí)行步驟1.4.2至步驟1.4.6;
步驟1.4.2:作業(yè)調(diào)度模塊通過應(yīng)用管理模塊向相應(yīng)的任務(wù)執(zhí)行模塊發(fā)送Reduce任務(wù)掛起的消息,消息格式如下:
其中,任務(wù)掛起消息標(biāo)識表示消息類型,任務(wù)號和作業(yè)號分別表示被掛起Reduce任務(wù)的任務(wù)編號及其所屬M(fèi)ap/Reduce作業(yè)的編號;
步驟1.4.3:任務(wù)執(zhí)行模塊接收到掛起Reduce任務(wù)的消息后,將該Reduce任務(wù)還未拷貝其輸出數(shù)據(jù)的Map任務(wù)列表以及輸出數(shù)據(jù)的存儲路徑信息,保存在其所在節(jié)點(diǎn)的節(jié)點(diǎn)管理模塊;
步驟1.4.4:任務(wù)執(zhí)行模塊中止該Reduce任務(wù)的運(yùn)行,并向所在節(jié)點(diǎn)的節(jié)點(diǎn)管理模塊發(fā)送Reduce任務(wù)掛起消息,消息格式與步驟1.4.2中Reduce任務(wù)掛起消息格式相同;
步驟1.4.5:節(jié)點(diǎn)管理模塊向應(yīng)用管理模塊發(fā)送Reduce任務(wù)掛起消息,消息格式與步驟1.4.2中Reduce任務(wù)掛起消息格式相同,應(yīng)用管理模塊收到消息后,將該Reduce任務(wù)的狀態(tài)修改為掛起狀態(tài),并記錄任務(wù)的掛起時間;
步驟1.4.6:節(jié)點(diǎn)管理模塊向作業(yè)調(diào)度模塊發(fā)送Reduce任務(wù)掛起消息,消息格式與步驟1.4.4中Reduce任務(wù)掛起消息格式相同; 作業(yè)調(diào)度模塊接收到任務(wù)掛起消息后,在可用搶占資源信息表中,為該Reduce任務(wù)釋放的資源新增一個表記錄;
步驟1.5:作業(yè)調(diào)度模塊對Map/Reduce平臺中每一個處于掛起狀態(tài)的Reduce任務(wù),統(tǒng)計自Reduce任務(wù)最后一次掛起后新增的與該Reduce任務(wù)屬于同一Map/Reduce作業(yè)且已結(jié)束的Map任務(wù)個數(shù),根據(jù)統(tǒng)計結(jié)果以及與該Reduce任務(wù)屬于同一Map/Reduce作業(yè)的Map任務(wù)總數(shù),選擇可以被釋放的Reduce任務(wù),若不存在需要釋放的Reduce任務(wù),則轉(zhuǎn)至步驟1.7,選擇被釋放的Reduce任務(wù)的方法如下:
步驟1.5.1:作業(yè)調(diào)度模塊遍歷所有處于掛起狀態(tài)的Reduce任務(wù),對每一個任務(wù)執(zhí)行步驟1.5.2到1.5.3;
步驟1.5.2:對該Reduce任務(wù),判斷其是否需要恢復(fù)運(yùn)行,判斷條件如下:
其中,Ns代表與該Reduce任務(wù)屬于同一作業(yè)且已執(zhí)行結(jié)束的Map任務(wù)數(shù),Nf代表與該Reduce任務(wù)屬于同一作業(yè)且Reduce任務(wù)已完成對其輸出數(shù)據(jù)拷貝的Map任務(wù)數(shù),Nt代表與該Reduce任務(wù)屬于同一作業(yè)的Map任務(wù)總數(shù),Dp代表設(shè)定閾值,取值范圍在[0,1]區(qū)間內(nèi);
其中,Ns-Nf以及Nt的值由應(yīng)用管理模塊計算并發(fā)送給作業(yè)調(diào)度模塊,Ns-Nf的計算方法是統(tǒng)計在Reduce任務(wù)最后一次掛起的時間點(diǎn)之后所有與之屬于同一作業(yè)且處于結(jié)束狀態(tài)的Map任務(wù)的總數(shù),Nt的計算方法是統(tǒng)計該Reduce任務(wù)所在作業(yè)的Map任務(wù)總數(shù);
步驟1.5.3:若該Reduce任務(wù)滿足釋放條件,則將其標(biāo)記為“待釋放”;若不滿足釋放條件,對該任務(wù)的狀態(tài)不作修改;
步驟1.6:作業(yè)調(diào)度模塊對每一個標(biāo)記為“待釋放”Reduce任務(wù),將正在使用其所釋放資源的Map任務(wù)掛起,將資源重新分配給該掛起Reduce任務(wù),并恢復(fù)該Reduce任務(wù)的執(zhí)行,方法如下;
步驟1.6.1:作業(yè)調(diào)度模塊查找所有標(biāo)記為“待釋放”的Reduce任務(wù),對每一個待釋放的Reduce任務(wù),執(zhí)行步驟1.6.2到步驟1.6.11;
步驟1.6.2:作業(yè)調(diào)度模塊根據(jù)Reduce任務(wù)號在可用搶占資源信息表中查找該Reduce任務(wù)所釋放搶占資源的資源號,根據(jù)資源號查看搶占資源使用信息表中是否存在使用該Reduce任務(wù)所釋放搶占資源的記錄,若不存在,則轉(zhuǎn)至步驟1.6.9;否則,作業(yè)調(diào)度模塊統(tǒng)計所有正在使用該Reduce任務(wù)所釋放的搶占資源的Map任務(wù),對每一個Map任務(wù),執(zhí)行步驟1.6.3到步驟1.6.7;
步驟1.6.3:作業(yè)調(diào)度模塊向應(yīng)用管理模塊發(fā)送中止該Map任務(wù)執(zhí)行的消息,應(yīng)用管理模塊將該任務(wù)中止消息發(fā)送給運(yùn)行該Map任務(wù)的任務(wù)執(zhí)行模塊,消息格式如下:
其中,任務(wù)中止消息標(biāo)識表示消息類型,任務(wù)號和作業(yè)號分別表示被中止的Map任務(wù)的任務(wù)號及其所屬M(fèi)ap/Reduce作業(yè)的作業(yè)號;
步驟1.6.4:任務(wù)執(zhí)行模塊接收任務(wù)中止消息后,等待Map任務(wù)將當(dāng)前正在處理的數(shù)據(jù)記錄處理完畢后,將Map任務(wù)產(chǎn)生的輸出數(shù)據(jù)寫入所在計算節(jié)點(diǎn)的本地磁盤存儲器中,計算該Map任務(wù)尚未處理的數(shù)據(jù)記錄在數(shù)據(jù)文件中的起始偏移量,并將該偏移量信息保存于本節(jié)點(diǎn)的節(jié)點(diǎn)管理模塊中,中止Map任務(wù)執(zhí)行,并向本節(jié)點(diǎn)的節(jié)點(diǎn)管理模塊發(fā)送該Map任務(wù)中止消息,消息格式與步驟1.6.3相同;
步驟1.6.5:節(jié)點(diǎn)管理模塊接收Map任務(wù)中止消息后,向作業(yè)調(diào)度模塊發(fā)送Map任務(wù)中止消息,并將中止Map任務(wù)消息及Map任務(wù)尚未處理數(shù)據(jù)消息發(fā)送給應(yīng)用管理模塊; 其中,Map任務(wù)中止消息格式與步驟1.6.3相同,Map任務(wù)尚未處理數(shù)據(jù)消息格式如下:
其中,任務(wù)未處理數(shù)據(jù)消息標(biāo)識表示消息類型,任務(wù)號表示被中止任務(wù)的編號,數(shù)據(jù)文件偏移量表示該任務(wù)尚未處理的數(shù)據(jù)記錄在數(shù)據(jù)文件中的起始偏移量;
步驟1.6.7:作業(yè)調(diào)度模塊接收到節(jié)點(diǎn)管理模塊發(fā)送的Map任務(wù)中止信息后,根據(jù)任務(wù)號查找搶占資源使用信息表中該Map任務(wù)對應(yīng)的搶占資源使用記錄,根據(jù)資源使用記錄中資源號查找可用搶占資源信息表中對應(yīng)的搶占資源記錄,并將該可用搶占資源信息記錄中可使用資源量的值修改為當(dāng)前值與Map任務(wù)資源使用量值的和;從搶占資源使用信息表中刪除該Map任務(wù)對應(yīng)的資源使用記錄;
步驟1.6.8:應(yīng)用管理模塊接收到Map任務(wù)中止消息及尚未處理數(shù)據(jù)消息后,將該Map 任務(wù)的狀態(tài)改為待調(diào)度狀態(tài),用所接收的數(shù)據(jù)處理偏移量信息更新既有的任務(wù)數(shù)據(jù)處理起始偏移量信息,向作業(yè)調(diào)度模塊提交一個計算資源申請消息消息格式如下:
其中,任務(wù)號和作業(yè)號分別表示申請計算資源的任務(wù)編號以及其所屬M(fèi)ap/Reduce作業(yè)的編號,資源需求量表示該任務(wù)所需要的計算資源數(shù)量;
步驟1.6.9:作業(yè)調(diào)度模塊根據(jù)資源號查看搶占資源使用信息表中是否還存在使用該Reduce任務(wù)所釋放搶占資源的記錄,若存在,則執(zhí)行步驟1.6.3;若不存在,則執(zhí)行步驟1.6.10到步驟1.6.11;
步驟1.6.10:作業(yè)調(diào)度模塊向管理該Reduce任務(wù)的應(yīng)用管理模塊發(fā)送任務(wù)啟動消息,消息格式如下:
其中,任務(wù)啟動消息標(biāo)識表示消息類型,任務(wù)號和作業(yè)號分別表示獲得Reduce任務(wù)及其所屬作業(yè)的編號,集群節(jié)點(diǎn)號表示Reduce任務(wù)運(yùn)行所在的節(jié)點(diǎn)編號;
步驟1.6.11:應(yīng)用管理模塊接收任務(wù)啟動消息,根據(jù)作業(yè)號和任務(wù)號,將任務(wù)狀態(tài)信息表中,對應(yīng)的任務(wù)記錄中任務(wù)狀態(tài)修改為運(yùn)行態(tài),并根據(jù)集群節(jié)點(diǎn)號向該節(jié)點(diǎn)的節(jié)點(diǎn)管理模塊發(fā)送任務(wù)執(zhí)行消息,消息格式如下:
其中,任務(wù)號和作業(yè)號分別表示需要運(yùn)行的Map任務(wù)及其所屬作業(yè)的編號,任務(wù)執(zhí)行代碼路徑表示任務(wù)需要運(yùn)行的代碼的存儲路徑,任務(wù)處理數(shù)據(jù)文件表示該Map任務(wù)需要處理數(shù)據(jù)所在文件的存儲路徑,數(shù)據(jù)處理起始偏移量和數(shù)據(jù)以及需要處理數(shù)據(jù)在文件中的起始偏移量;
步驟1.6.12:節(jié)點(diǎn)管理模塊接收任務(wù)啟動消息后,啟動任務(wù)執(zhí)行模塊;任務(wù)執(zhí)行模塊從節(jié)點(diǎn)管理模塊讀取Reduce任務(wù)掛起時保存的數(shù)據(jù)拷貝信息,繼續(xù)從已執(zhí)行結(jié)束且還未拷貝其輸出數(shù)據(jù)的Map任務(wù)的運(yùn)行節(jié)點(diǎn)上拷貝輸出數(shù)據(jù),并根據(jù)輸出數(shù)據(jù)存儲路徑信息存放所拷的數(shù)據(jù);
步驟1.7:作業(yè)調(diào)度模塊查看是否存在可用的搶占資源;若存在,則執(zhí)行一次新的面向搶占資源的作業(yè)調(diào)度;
所述的面向搶占資源的作業(yè)調(diào)度,包括如下步驟:
步驟2.1:作業(yè)調(diào)度模塊查看可用搶占資源信息表是否存在可用搶占資源記錄,若存在,對每一個可用的搶占資源記錄順序執(zhí)行步驟2.2到步驟2.4,若不存在,則結(jié)束該輪調(diào)度;
步驟2.2:作業(yè)調(diào)度模塊根據(jù)待調(diào)度任務(wù)信息表,對包含待調(diào)度Map任務(wù)的作業(yè)按照到達(dá)時間進(jìn)行排序,選取最早到達(dá)的作業(yè);
步驟2.3:對步驟2.2所選取的作業(yè),在其所包含的待調(diào)度Map任務(wù)中,按照數(shù)據(jù)本地化、數(shù)據(jù)本機(jī)柜化、數(shù)據(jù)本交換化的優(yōu)先級順序選擇Map任務(wù);為所選擇的Map任務(wù)分配資源且運(yùn)行任務(wù),直至該可用的搶占資源的可使用資源量均小于作業(yè)剩余的待調(diào)度Map任務(wù)的資源需求量,或該作業(yè)中所有待調(diào)度Map任務(wù)均已獲得所需的計算資源,方法如下:
步驟2.3.1:在步驟2.2選取作業(yè)所包含的待調(diào)度Map任務(wù)中,選取滿足數(shù)據(jù)本地化條件的Map任務(wù)集,數(shù)據(jù)本地化是Map任務(wù)所處理的數(shù)據(jù)存儲于可用資源所在計算節(jié)點(diǎn)上;遍歷該Map任務(wù)集,對每一個Map任務(wù)判斷該搶占資源的可使用資源量是否大于Map任務(wù)的資源需求量,若大于,則為該Map任務(wù)在搶占資源使用信息表中增加一個資源使用記錄,其中資源使用份額即為該Map任務(wù)計算資源需求的數(shù)量,并在可用搶占資源信息表中,將該搶占資源的可使用資源量值修改為當(dāng)前值與Map任務(wù)資源使用份額的差值;將該任務(wù)的資源需求記錄刪除;
步驟2.3.2:在該作業(yè)所包含的待調(diào)度Map任務(wù)中,選取滿足數(shù)據(jù)本機(jī)柜化條件的Map任務(wù)集,數(shù)據(jù)本機(jī)柜化是存儲Map任務(wù)所需處理數(shù)據(jù)的節(jié)點(diǎn)與可用搶占資源所在的計算節(jié)點(diǎn)同處于一個機(jī)柜中,遍歷該Map任務(wù)集,對每一個Map任務(wù)判斷該搶占資源的可使用資源量是否大于Map任務(wù)的資源需求,若大于,則為該Map任務(wù)在搶占資源使用信息表中增加一個資源使用記錄,其中資源使用份額即為該Map任務(wù)計算資源需求的數(shù)量,并在可用搶占資源信息表中,將該搶占資源的可使用資源量值修改為當(dāng)前值與Map任務(wù)資源使用份額的差值;并將該任務(wù)的資源需求記錄刪除;
步驟2.3.3:在該作業(yè)所包含的待調(diào)度Map任務(wù)中,選取滿足數(shù)據(jù)本交換化條件的Map任務(wù)集,數(shù)據(jù)本交換化是存儲Map任務(wù)處理數(shù)據(jù)的節(jié)點(diǎn)與可用搶占資源所在的計算節(jié)點(diǎn)處于不同的機(jī)柜中,但可通過同一交換機(jī)互連,遍歷該Map任務(wù)集,對每一個Map任務(wù)判斷該搶占資源的可使用資源量是否大于Map任務(wù)的資源需求,若大于,則為該Map任務(wù)在搶占資源使用信息表中增加一個資源使用記錄,其中資源使用份額即為該Map任務(wù)計算資源需求的數(shù)量,并在可用搶占資源信息表中,將該搶占資源的可使用資源量值修改為當(dāng)前值與Map任務(wù)資源使用份額的差值;并將該任務(wù)的資源需求記錄刪除;
步驟2.3.4:作業(yè)調(diào)度模塊對步驟2.3.1至步驟2.3.3中所有獲得搶占資源的Map任務(wù),向管理該Map任務(wù)的應(yīng)用管理模塊發(fā)送任務(wù)啟動消息,消息格式如下:
其中,任務(wù)啟動消息標(biāo)識表示消息類型,任務(wù)號和作業(yè)號分別表示獲得搶占資源的Map任務(wù)及其所屬作業(yè)的編號,集群節(jié)點(diǎn)號表示Map任務(wù)獲得資源所在的節(jié)點(diǎn)編號;
步驟2.3.5:應(yīng)用管理模塊接收任務(wù)啟動消息,根據(jù)作業(yè)號和任務(wù)號,將任務(wù)狀態(tài)信息表中,對應(yīng)的任務(wù)記錄中任務(wù)狀態(tài)修改為運(yùn)行態(tài),并根據(jù)集群節(jié)點(diǎn)號向該節(jié)點(diǎn)的節(jié)點(diǎn)管理模塊發(fā)送任務(wù)執(zhí)行消息,消息格式如下:
其中,任務(wù)號和作業(yè)號分別表示需要運(yùn)行的Map任務(wù)及其所屬作業(yè)的編號,任務(wù)執(zhí)行代碼路徑表示任務(wù)需要運(yùn)行的代碼的存儲路徑,任務(wù)處理數(shù)據(jù)文件表示該Map任務(wù)需要處理數(shù)據(jù)所在文件的存儲路徑,數(shù)據(jù)處理起始偏移量和數(shù)據(jù)以及需要處理數(shù)據(jù)在文件中的起始偏移量;
步驟2.3.6:節(jié)點(diǎn)管理模塊接收任務(wù)執(zhí)行消息,為Map任務(wù)啟動一個任務(wù)執(zhí)行模塊,任務(wù)執(zhí)行模塊根據(jù)任務(wù)執(zhí)行消息中所需處理數(shù)據(jù)文件及起始偏移量的信息,讀取數(shù)據(jù)文件,執(zhí)行該Map任務(wù);
步驟2.4:若該作業(yè)中所有待調(diào)度Map任務(wù)均已獲得所需的計算資源,則重復(fù)執(zhí)行步驟2.2到步驟2.3,否則,結(jié)束調(diào)度。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于北京工業(yè)大學(xué),未經(jīng)北京工業(yè)大學(xué)許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410531590.0/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 在支持移動IP的網(wǎng)絡(luò)系統(tǒng)中發(fā)現(xiàn)移動錨點(diǎn)與管理移動節(jié)點(diǎn)移動性的方法與系統(tǒng)
- 一種移動IPv6網(wǎng)絡(luò)中家鄉(xiāng)代理或移動駐點(diǎn)備份的方法
- 一種MAP服務(wù)器的實(shí)現(xiàn)方法、系統(tǒng)和設(shè)備
- 內(nèi)燃機(jī)中的發(fā)動機(jī)真空度提高
- 流量工程映射表自動配置方法及裝置
- 一種下行/上行幀信道分配消息的生成方法及裝置
- 一種支持多hashmap數(shù)據(jù)庫集群系統(tǒng)不停機(jī)的擴(kuò)容方法
- 一種數(shù)據(jù)處理方法和裝置
- 一種污水處理用鳥糞石除磷系統(tǒng)
- 一種電機(jī)效率MAP曲線獲得方法
- MapReduce作業(yè)執(zhí)行時間預(yù)測方法
- 一種MapReduce系統(tǒng)
- MapReduce參數(shù)的動態(tài)確定方法及裝置
- 一種面向Map/Reduce型海量數(shù)據(jù)處理平臺的作業(yè)調(diào)度方法
- 含有抑制劑的決策演化集膜結(jié)構(gòu)
- Reduce任務(wù)的調(diào)度方法及裝置
- 基于OpenFlow的資源調(diào)度方法、調(diào)度器及系統(tǒng)
- 一種針對MapReduce計算的數(shù)據(jù)保密方法及系統(tǒng)
- MapReduce數(shù)據(jù)計算加速方法及系統(tǒng)
- 一種執(zhí)行SQL任務(wù)的方法、設(shè)備以及存儲介質(zhì)
- 一種數(shù)據(jù)庫海量數(shù)據(jù)比對的方法
- 基于云計算的海量數(shù)據(jù)訪問處理系統(tǒng)
- 一種實(shí)現(xiàn)海量數(shù)據(jù)離線分析的方法
- 一種海量矢量切片數(shù)據(jù)云存儲方法及系統(tǒng)
- 一種多源海量數(shù)據(jù)處理系統(tǒng)及方法
- 快速實(shí)現(xiàn)海量數(shù)據(jù)準(zhǔn)實(shí)時全量統(tǒng)計的方法、裝置及系統(tǒng)
- 一種海量數(shù)據(jù)分析系統(tǒng)及方法
- 在線繪制地圖海量線的方法
- 一種海量點(diǎn)數(shù)據(jù)聚合渲染方法、裝置、設(shè)備及存儲介質(zhì)
- 一種海量不確定XML數(shù)據(jù)存儲方法





