亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種異構(gòu)環(huán)境下的Hadoop任務(wù)公平調(diào)度方法

文檔序號:6505508閱讀:126來源:國知局
一種異構(gòu)環(huán)境下的Hadoop任務(wù)公平調(diào)度方法
【專利摘要】本發(fā)明公開了一種異構(gòu)環(huán)境下的Hadoop任務(wù)公平調(diào)度方法。該方法分析首先判斷是否執(zhí)行大作業(yè),如果執(zhí)行則調(diào)用作業(yè)調(diào)度算法選擇合適的作業(yè)并且調(diào)用任務(wù)調(diào)度算法,如果不執(zhí)行大作業(yè)則調(diào)用資源池調(diào)度算法然后執(zhí)行作業(yè)調(diào)度算法選擇合適的作業(yè),最后調(diào)用任務(wù)調(diào)度算法。本發(fā)明與現(xiàn)有技術(shù)相比,其顯著優(yōu)點:(1)支持大內(nèi)存作業(yè);(2)提高了單個作業(yè)的響應(yīng)時間;(3)在異構(gòu)集群環(huán)境中,使資源分配更加公平。
【專利說明】一種異構(gòu)環(huán)境下的Hadoop任務(wù)公平調(diào)度方法

【技術(shù)領(lǐng)域】
[0001] 本發(fā)明屬于計算機任務(wù)調(diào)度技術(shù),特別是一種異構(gòu)環(huán)境下的Hadoop任務(wù)公平調(diào) 度方法。

【背景技術(shù)】
[0002] 隨著信息化技術(shù)的飛速發(fā)展,互聯(lián)網(wǎng)以及移動互聯(lián)網(wǎng)的發(fā)展讓遠在天涯海角的人 們享受了豐富的互聯(lián)生活。在人們享受這樣方便的現(xiàn)實生活時,我們也產(chǎn)生了許多數(shù)據(jù),讓 我們步入了大數(shù)據(jù)時代。如何處理這些巨量的數(shù)據(jù),是許多公司重點任務(wù)。
[0003] 在分布式的編程模型方面,谷歌公司提出了 Map/Reduce的分布式編程模型,利用 map和reduce框架能夠在分布式的集群上實現(xiàn)大規(guī)模的分布式計算,并且具有很高的穩(wěn)定 性會(Dean J. and Ghemawat S. Mapreduce: simplified data processing on large clusters[J], Commun. ACM, 51, 1, pp. 107-113, 2008.) 正是受到了谷歌公司的啟發(fā),Doug Cutting開始了其開源系統(tǒng)---Hadoop的研發(fā)。 Hadoop是項目的總稱。主要是由HDFS和MapReduce組成。HDFS是Google File System (GFS)的開源實現(xiàn)。MapReduce是Google MapReduce的開源實現(xiàn)。
[0004] 這個分布式框架很有創(chuàng)造性,而且有極大的擴展性,使得Google在系統(tǒng)吞吐量上 有很大的競爭力。因此Apache基金會用Java實現(xiàn)了一個開源版本,支持Fedora、Ubuntu 等Linux平臺。Hadoop實現(xiàn)了 HDFS文件系統(tǒng)和MapRecue。用戶只要繼承MapReduceBase, 提供分別實現(xiàn)Map和Reduce的兩個類,并注冊Job即可自動分布式運行。
[0005] 由于Hadoop的開源,以及非常卓越的表現(xiàn)力,越來越多的公司選擇了其進行數(shù)據(jù) 分析的平臺。在國外,facebook等公司使用其分析每天產(chǎn)生的數(shù)據(jù);在我國內(nèi),淘寶使用其 分析用戶數(shù)據(jù),產(chǎn)生了許多有用的商業(yè)數(shù)據(jù)。
[0006] 然而,在Hadoop上進行任務(wù)調(diào)度是一件困難的問題。各大公司一般都是根據(jù)自己 公司內(nèi)部的需求,進行定制任務(wù)調(diào)度算法。Hadoop默認提供了以時間為依據(jù)的FIFO算法, 后來又提出了計算能力調(diào)度算法(Capacity-Scheduler),后來由facebook提出了公平調(diào) 度算法(Fair-scheduler)。


【發(fā)明內(nèi)容】

[0007] 1、本發(fā)明的目的。
[0008] 本發(fā)明為了解決現(xiàn)有技術(shù)中不支持大作業(yè)、單個作業(yè)相應(yīng)時間過程并且易購集群 環(huán)境中資源分配不公的情況下,提出了一種異構(gòu)環(huán)境下的Hadoop任務(wù)公平調(diào)度方法。
[0009] 2、本發(fā)明所采用的技術(shù)方案。
[0010] 實現(xiàn)本發(fā)明目的的技術(shù)解決方案為: 一種異構(gòu)環(huán)境下的Hadoop任務(wù)公平調(diào)度方法步驟如下: 步驟1、讀取配置信息 初始化調(diào)度方法需要的系統(tǒng)信息,繼承公平調(diào)度器定義的類:資源池,最小共享量,權(quán) 重等,每個資源池對應(yīng)了一個用戶組,該用戶組所提交的作業(yè)都存放在該資源池中,最小 共享量為資源池正常工作時需要占用的最少槽;權(quán)重則用于表示每個資源池或者作業(yè)在獲 得資源方面所擁有的優(yōu)先級; 步驟2、啟動更新線程 更新線程主要負責更新:更新當前系統(tǒng)內(nèi)所有組的作業(yè)狀態(tài)、更新每個組需要多少 Map槽和Reduce槽、更新每個組的公平共享量和重分發(fā)量,如果允許搶占,則根據(jù)系統(tǒng)當前 狀態(tài),進行搶占; 步驟3、判斷是否執(zhí)行大作業(yè) 如果系統(tǒng)中某個任務(wù)執(zhí)行者中有空閑槽存在,那么判斷目前系統(tǒng)內(nèi)是否有內(nèi)存需求大 的作業(yè)需要調(diào)度,如果有大內(nèi)存作業(yè),并且大內(nèi)存作業(yè)組的權(quán)限已經(jīng)達到了最大值,則執(zhí)行 步驟4,否則執(zhí)行步驟5; 步驟4、采用作業(yè)調(diào)度方法,從大內(nèi)存作業(yè)組內(nèi)的作業(yè)隊列中選擇作業(yè)進行分配,判斷 當前任務(wù)執(zhí)行者是否適合運行大內(nèi)存作業(yè),如果不適合的話,選擇下一個作業(yè),直到選擇到 合適的作業(yè),如果沒有合適的作業(yè),那么轉(zhuǎn)入第四步;如果選擇到了合適的作業(yè),調(diào)用任務(wù) 分配算法,將當前槽分配給該任務(wù),調(diào)度方法結(jié)束當前分配; 步驟5、如果未能大內(nèi)存作業(yè)分配,則調(diào)用資源池調(diào)度算法,從當前資源池中選擇合適 的作業(yè)組,然后調(diào)用作業(yè)調(diào)度方法,從該作業(yè)組的作業(yè)集合中選擇出合適的作業(yè),最后調(diào)用 任務(wù)分配算法選擇出任務(wù),進行分配,調(diào)度方法結(jié)束當前分配。
[0011] 3、本發(fā)明的有益效果。
[0012] 本發(fā)明與現(xiàn)有技術(shù)相比,其顯著優(yōu)點:(1)支持大內(nèi)存作業(yè);(2)提高了單個作業(yè) 的響應(yīng)時間;(3)在異構(gòu)集群環(huán)境中,使資源分配更加公平。
[0013] 下面結(jié)合附圖對本發(fā)明作進一步詳細描述。

【專利附圖】

【附圖說明】
[0014] 圖1是使用MapReduce模型編寫的程序流程圖。

【具體實施方式】 實施例
[0015] 本發(fā)明涉及一種異構(gòu)環(huán)境下的Hadoop任務(wù)公平調(diào)度方法,步驟如下: 步驟1、讀取配置信息 初始化調(diào)度方法需要的系統(tǒng)信息,繼承公平調(diào)度器定義的類:資源池,最小共享量,權(quán) 重等,每個資源池對應(yīng)了一個用戶組,該用戶組所提交的作業(yè)都存放在該資源池中,最小 共享量為資源池正常工作時需要占用的最少槽;權(quán)重則用于表示每個資源池或者作業(yè)在獲 得資源方面所擁有的優(yōu)先級; 步驟2、啟動更新線程 更新線程主要負責更新:更新當前系統(tǒng)內(nèi)所有組的作業(yè)狀態(tài)、更新每個組需要多少 Map槽和Reduce槽、更新每個組的公平共享量和重分發(fā)量,如果允許搶占,則根據(jù)系統(tǒng)當前 狀態(tài),進行搶占; 步驟3、判斷是否執(zhí)行大作業(yè) 如果系統(tǒng)中某個任務(wù)執(zhí)行者中有空閑槽存在,那么判斷目前系統(tǒng)內(nèi)是否有內(nèi)存需求大 的作業(yè)需要調(diào)度,如果有大內(nèi)存作業(yè),并且大內(nèi)存作業(yè)組的權(quán)限已經(jīng)達到了最大值,則執(zhí)行 步驟4,否則執(zhí)行步驟5; 步驟4、采用作業(yè)調(diào)度方法,從大內(nèi)存作業(yè)組內(nèi)的作業(yè)隊列中選擇作業(yè)進行分配,判斷 當前任務(wù)執(zhí)行者是否適合運行大內(nèi)存作業(yè),如果不適合的話,選擇下一個作業(yè),直到選擇到 合適的作業(yè),如果沒有合適的作業(yè),那么轉(zhuǎn)入第四步;如果選擇到了合適的作業(yè),調(diào)用任務(wù) 分配算法,將當前槽分配給該任務(wù),調(diào)度方法結(jié)束當前分配; 作業(yè)調(diào)度算法具體步驟如下: 步驟a、對資源池內(nèi)的作業(yè)按照下列的計算公式進行計算權(quán)重。 = ;其屮為該作業(yè)從提交到目前所等待的時間;

【權(quán)利要求】
1. 一種異構(gòu)環(huán)境下的Hadoop任務(wù)公平調(diào)度方法,其特征在于步驟如下: 步驟1、讀取配置信息 初始化調(diào)度方法需要的系統(tǒng)信息,繼承公平調(diào)度器定義的類:資源池,最小共享量,權(quán) 重等,每個資源池對應(yīng)了一個用戶組,該用戶組所提交的作業(yè)都存放在該資源池中,最小 共享量為資源池正常工作時需要占用的最少槽;權(quán)重則用于表示每個資源池或者作業(yè)在獲 得資源方面所擁有的優(yōu)先級; 步驟2、啟動更新線程 更新線程主要負責更新:更新當前系統(tǒng)內(nèi)所有組的作業(yè)狀態(tài)、更新每個組需要多少統(tǒng) 計槽和匯聚槽、更新每個組的公平共享量和重分發(fā)量,如果允許搶占,則根據(jù)系統(tǒng)當前狀 態(tài),進行搶占; 步驟3、判斷是否執(zhí)行大作業(yè) 如果系統(tǒng)中某個任務(wù)執(zhí)行者中有空閑槽存在,那么判斷目前系統(tǒng)內(nèi)是否有內(nèi)存需求大 的作業(yè)需要調(diào)度,如果有大內(nèi)存作業(yè),并且大內(nèi)存作業(yè)組的權(quán)限已經(jīng)達到了最大值,則執(zhí)行 步驟4,否則執(zhí)行步驟5; 步驟4、采用作業(yè)調(diào)度方法,從大內(nèi)存作業(yè)組內(nèi)的作業(yè)隊列中選擇作業(yè)進行分配,判斷 當前任務(wù)執(zhí)行者是否適合運行大內(nèi)存作業(yè),如果不適合的話,選擇下一個作業(yè),直到選擇到 合適的作業(yè),如果沒有合適的作業(yè),那么轉(zhuǎn)入第四步;如果選擇到了合適的作業(yè),調(diào)用任務(wù) 分配算法,將當前槽分配給該任務(wù),調(diào)度方法結(jié)束當前分配; 步驟5、如果未能大內(nèi)存作業(yè)分配,則調(diào)用資源池調(diào)度算法,從當前資源池中選擇合適 的作業(yè)組,然后調(diào)用作業(yè)調(diào)度方法,從該作業(yè)組的作業(yè)集合中選擇出合適的作業(yè),最后調(diào)用 任務(wù)分配算法選擇出任務(wù),進行分配,調(diào)度方法結(jié)束當前分配。
2. 根據(jù)權(quán)利要求1所述的異構(gòu)環(huán)境下的Hadoop任務(wù)公平調(diào)度方法,其特征在于:所述 的步驟四中的作業(yè)調(diào)度算法具體步驟如下: 步驟2. 1對咨源池內(nèi)的作業(yè)桉照下列的計算公式進行計算權(quán)重,
其中為該作業(yè)從提交到目前所等待的時間; 如果^S前,其中R-er為該作業(yè)剩余_ 務(wù)個數(shù);
步驟2. 2根據(jù)權(quán)重來對作業(yè)進行排序; 步驟2. 3依次從作業(yè)隊列的頭部開始選擇作業(yè)進行調(diào)度。
3. 根據(jù)權(quán)利要求1或2所述的異構(gòu)環(huán)境下的Hadoop任務(wù)公平調(diào)度方法,其特征在于所 述的步驟5中的資源池調(diào)度算法: 步驟3. 1分別獲得參與比較的兩個資源池內(nèi)正在運行的任務(wù)個數(shù)tl,t2,以及運行這 些任務(wù)的任務(wù)執(zhí)行者ttl和tt2 ; 步驟3. 2分別獲得當前資源池的最小共享量和需求量,并求二者之間的最小值 minSharel和 minShare2 ; 步驟3. 3比較tl與minSharel的之間的差額,如果兩個參與比較的資源池 的懸小共章量都沿有仵務(wù)的個數(shù)多,那么表示資源池都需求工作槽,接著利用公式
其中F為CPU的主頻,Msw為內(nèi)存大小,計算該資源池中目前占 用的工作槽的權(quán)重,將該工作槽分配給權(quán)重較小的資源池,即將其排在列表的前面; 步驟3. 4如果只有其中一個資源池的最小共享量比任務(wù)量小,那么表示只有該資源池 需要工作槽,所以可以將該工作槽分配給該資源池,即將其排在列表的前面。
【文檔編號】G06F9/50GK104281492SQ201310283998
【公開日】2015年1月14日 申請日期:2013年7月8日 優(yōu)先權(quán)日:2013年7月8日
【發(fā)明者】李千目, 侯君, 魏士祥 申請人:無錫南理工科技發(fā)展有限公司, 南京理工大學
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1