[發明專利]一種作業調度方法和裝置在審
| 申請號: | 201310497575.4 | 申請日: | 2013-10-22 |
| 公開(公告)號: | CN103530182A | 公開(公告)日: | 2014-01-22 |
| 發明(設計)人: | 黃夢醒;萬兵;段茜;馮文龍 | 申請(專利權)人: | 海南大學 |
| 主分類號: | G06F9/48 | 分類號: | G06F9/48 |
| 代理公司: | 北京潤澤恒知識產權代理有限公司 11319 | 代理人: | 蘭淑鐸 |
| 地址: | 570228 海南*** | 國省代碼: | 海南;66 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 作業 調度 方法 裝置 | ||
技術領域
本發明涉及云計算資源管理技術領域,特別是涉及一種作業調度方法和裝置。
背景技術
隨著互聯網的迅猛發展,云計算在眾IT(Information?Technology,信息技術)巨頭的推動下,尤其是隨著大數據時代的到來,得到了快速發展與演進。而Hadoop是由Doug?Cutting即Apache?Lucene服務器搜索引擎的創始人開發的,用于大規模數據并行處理的開源框架,是目前最為廣泛應用的開源云計算平臺。Hadoop主要包含HDFS(Hadoop?Distributed?File?System,Hadoop分布式文件系統)和MapReduce(映射化簡)兩個核心部分,MapReduce是Google谷歌提出的一種分布式編程模型和實現大規模數據處理與生成的分布式處理框架,它是云計算發展的基礎。HDFS和MapReduce分別為GFS(Google?File?System,谷歌文件系統)和Google?MapReduce的開源實現。
在Hadoop集群所采用的動態任務調度和資源分配策略中,如果用戶提交的作業有輸入數據,其輸入數據會被切分成若干數據塊分布存儲于各個計算節點上,每個數據塊默認保留三個副本,三個副本分別存儲于三個不同的計算節點上。有的數據塊則剛好存儲于任務所處的計算節點上,而有的數據塊則沒有存儲在任務所處的計算節點上,而是存儲在了與任務所處計算節點位于相同機架上的計算節點上,更甚者位于其他數據中心的計算節點上。而一個作業的不同任務在運行過程中所需數據塊是否恰好位于任務所處的計算節點,將對系統資源利用率和作業的執行效率產生舉足輕重的影響。Data?Locality即數據本地性是衡量任務數據本地化的一個度量值。根據任務的輸入數據塊所在計算節點位置,任務可按數據本地性分為Node?Locality即節點本地性、Rack?Locality即機架本地性和Off-Switch即遠程任務,并且任務的數據本地性依次減弱。
現有的Hadoop集群所采用的作業調度方法均考慮到任務的數據本地性,然而卻無法保證絕對的數據本地性,即作業在提交以后仍可能存在部分任務分配到的計算節點上未存儲其所需處理的數據塊。現有的Hadoop集群在作業調度時只是通過簡單的判斷任務是否為本地性任務,而采取暫緩調度非本地性任務,以盡可能獲得更好的數據本地性。
采用現有的Hadoop集群作業調度方法,采取暫緩調度非本地性任務,降低了作業的執行效率和資源利用率。
發明內容
本發明提供了一種作業調度方法和裝置,以解決現有的Hadoop集群在進行作業調度時,采取暫緩調度非本地性任務而造成的作業執行效率低,資源利用率低的問題。
為了解決上述問題,本發明公開了一種作業調度方法,包括:當前作業執行過程中,根據第一設定規則篩選出候選計算節點集合;以及,按照第二設定規則篩選出所述當前作業中一個未執行的map任務作為待執行的map任務,其中,一個作業包括至少一個map任務;從所述候選計算節點集合中選擇一個滿足設定標準的計算節點;判斷所述待執行的map任務是否為所述滿足設定標準的計算節點的本地任務;當所述待執行的map任務不是所述滿足設定標準的計算節點的本地任務時,將所述待執行的map任務對應的數據塊從源計算節點傳輸到所述滿足設定標準的計算節點上進行存儲;其中,所述源計算節點為存儲有所述數據塊的副本且與所述滿足設定標準的計算節點間的網絡拓撲距離最小的計算節點;當所述滿足設定標準的計算節點請求分配map任務時,將篩選出的所述待執行的map任務分配給所述滿足設定標準的計算節點。
優選地,所述根據第一設定規則篩選出候選計算節點集合步驟包括:判斷執行所述當前作業的Hadoop集群中是否存在空閑計算節點;若存在,則將所有空閑計算節點作為所述候選計算節點集合;若不存在,則根據第一設定規則篩選所述Hadoop集群中正在執行所述當前作業中的map任務的計算節點,組成所述候選計算節點集合;其中,所述候選計算節點集合中各個計算節點當前正在執行的map任務的剩余完成時間,大于在計算節點間傳輸一個數據塊的時間。
優選地,所述按照第二設定規則篩選出所述當前作業中一個未執行的map任務作為待執行的map任務步驟包括:判斷所述當前作業中是否存在執行失敗的map任務;若存在,則選擇一個執行失敗次數最多的map任務作為待執行的map任務;若不存在,則從所述當前作業中選擇一個剩余的map任務作為待執行的map任務。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于海南大學,未經海南大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310497575.4/2.html,轉載請聲明來源鉆瓜專利網。





