[發(fā)明專利]一種基于預(yù)調(diào)度的任務(wù)分配方法有效
| 申請?zhí)枺?/td> | 201310403754.7 | 申請日: | 2013-09-06 |
| 公開(公告)號: | CN103500119A | 公開(公告)日: | 2014-01-08 |
| 發(fā)明(設(shè)計(jì))人: | 董小社;劉強(qiáng);朱正東;陳衡 | 申請(專利權(quán))人: | 西安交通大學(xué) |
| 主分類號: | G06F9/46 | 分類號: | G06F9/46;G06F9/50 |
| 代理公司: | 西安通大專利代理有限責(zé)任公司 61200 | 代理人: | 陸萬壽 |
| 地址: | 710049 *** | 國省代碼: | 陜西;61 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 基于 調(diào)度 任務(wù) 分配 方法 | ||
技術(shù)領(lǐng)域
本發(fā)明屬于計(jì)算機(jī)技術(shù)領(lǐng)域,具體涉及一種云計(jì)算環(huán)境下Hadoop在運(yùn)行過程中的基于預(yù)調(diào)度的任務(wù)分配方法。
背景技術(shù)
Hadoop是由Apache開源組織開發(fā)的一個高可靠性和高可擴(kuò)展性的存儲與分布式并行計(jì)算平臺,最早是作為開源搜索引擎項(xiàng)目Nutch的基礎(chǔ)平臺而開發(fā)的,之后從Nutch項(xiàng)目中獨(dú)立出來,成為典型的開源云計(jì)算平臺之一,其核心實(shí)現(xiàn)了用于分布式計(jì)算的Map?Reduce計(jì)算框架和用于分布式存儲的HDFS(Hadoop?Distributed?File?System)文件系統(tǒng)。
Map?Reduce計(jì)算框架的實(shí)現(xiàn)主要包括兩部分:Jobtracker和Task?Tracker。Jobtracker作為中心節(jié)點(diǎn)對子節(jié)點(diǎn)Task?Tracker進(jìn)行任務(wù)分配,默認(rèn)情況下每臺計(jì)算機(jī)包含一個Task?Tracker進(jìn)程。Jobtracker和Task?Tracker之間通過心跳方式進(jìn)行通信。Task?Tracker會進(jìn)入一種循環(huán)運(yùn)行狀態(tài),向Jobtracker定期發(fā)送心跳報(bào)告。Job?Tracker根據(jù)Task?Tracker當(dāng)前的負(fù)載和資源情況,對其分配任務(wù)并通過心跳信息返回。每一個Task?Tracker都有固定數(shù)量的資源(slot),用以執(zhí)行任務(wù)。Task?Tracker在接收到Jobtracker中的任務(wù)指令后,會將待調(diào)度任務(wù)加入Task?Launcher的待執(zhí)行任務(wù)隊(duì)列,由Task?Launcher按照時間順序依次執(zhí)行隊(duì)列中的任務(wù)。
從上述流程可以看出,在現(xiàn)有的Hadoop中,Tasktracker需要周期性的通過心跳向Jobtracker索要任務(wù)(task)。在這種模式下,即使Tasktracker上出現(xiàn)了空閑資源(slot)時,依然要等這個周期結(jié)束時才能通過心跳通知Jobtracker。最壞情況下Tasktracker甚至可能要等待一個心跳周期。而在hadoop的默認(rèn)設(shè)定中,當(dāng)集群節(jié)點(diǎn)數(shù)量不超過300時,心跳默認(rèn)為3秒。當(dāng)集群數(shù)目超過300時,每增加一百臺節(jié)點(diǎn),心跳增加1秒??梢?,原h(huán)adoop系統(tǒng)的心跳-分配任務(wù)的模式對資源的浪費(fèi)是比較嚴(yán)重的。
發(fā)明內(nèi)容
本發(fā)明的目的在于解決由于周期性的心跳通信模式產(chǎn)生的延時,使得子節(jié)點(diǎn)上兩次心跳間產(chǎn)生的資源無法被及時利用的問題,提出了基于預(yù)調(diào)度的任務(wù)分配方法,通過為子節(jié)點(diǎn)預(yù)先分配任務(wù)以防止其出現(xiàn)資源閑置,從而提高了集群整體的資源利用率和性能。
為達(dá)到上述目的,本發(fā)明采用的技術(shù)方案如下:
1)啟動主節(jié)點(diǎn)Job?Tracker,開始主循環(huán)并啟動IPC?Handler監(jiān)聽和處理子節(jié)點(diǎn)的心跳信息;
2)IPC?Handler循環(huán)判斷是否有子節(jié)點(diǎn)發(fā)來心跳信息,若沒有則返回步驟1);
若有心跳信息到來則判斷該子節(jié)點(diǎn)之前是否執(zhí)行了預(yù)調(diào)度任務(wù),若沒有執(zhí)行預(yù)調(diào)度任務(wù)則轉(zhuǎn)步驟3),若執(zhí)行了預(yù)調(diào)度任務(wù)則查看前次預(yù)調(diào)度任務(wù)是否成功,若失敗則記錄該失敗任務(wù)的子節(jié)點(diǎn)編號,成功則從預(yù)調(diào)度任務(wù)隊(duì)列和待調(diào)度任務(wù)隊(duì)列刪除已完成的任務(wù);
3)判斷該子節(jié)點(diǎn)的負(fù)載是否較輕,若該子節(jié)點(diǎn)負(fù)載較輕,則為其在待調(diào)度任務(wù)隊(duì)列中尋找符合下列條件的預(yù)調(diào)度任務(wù),即當(dāng)一個任務(wù)滿足:
①該任務(wù)處于可運(yùn)行的狀態(tài);
②該任務(wù)未在此子節(jié)點(diǎn)上失敗過;
③該任務(wù)滿足數(shù)據(jù)本地性;
這三個條件時,選中該任務(wù)并將其加入預(yù)調(diào)度任務(wù)列表,Job?Tracker將預(yù)調(diào)度任務(wù)和其他待執(zhí)行任務(wù)一起加入心跳信息中,否則,按普通任務(wù)指令進(jìn)行;
否則,返回步驟1);
4)Job?Tracker將心跳信息返回子節(jié)點(diǎn)。
所述的判斷該子節(jié)點(diǎn)的負(fù)載是否較輕,是根據(jù)預(yù)先分配任務(wù)即其數(shù)量占總體任務(wù)的比例由用戶自行配置,默認(rèn)是5%,同時在當(dāng)前尚未運(yùn)行的任務(wù)集合中去掉該任務(wù)的信息,將其加入預(yù)分配任務(wù)列表。
所述的子節(jié)點(diǎn)(Task?Tracker)端與主節(jié)點(diǎn)(Job?Tracker)端相關(guān)的部件包括以下幾個部分:
1)主節(jié)點(diǎn)(Job?Tracker)端相關(guān)的部件為IPC?Handler,用于處理子節(jié)點(diǎn)的心跳請求和任務(wù)預(yù)分配流程;
2)子節(jié)點(diǎn)(Task?Tracker)端的部件為:
①Task?Launcher:即任務(wù)執(zhí)行部件,其從待執(zhí)行任務(wù)隊(duì)列(Task?Queue)中取出待執(zhí)行任務(wù),放入相應(yīng)的資源槽(slot)中執(zhí)行該任務(wù);
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于西安交通大學(xué),未經(jīng)西安交通大學(xué)許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310403754.7/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 旅游車輛調(diào)度監(jiān)控方法及其系統(tǒng)
- 一種用戶隊(duì)列調(diào)度的方法和裝置
- 一種資源調(diào)度的方法、裝置和過濾式調(diào)度器
- 一種調(diào)度方法和裝置
- 一種調(diào)度終端動態(tài)切換調(diào)度組歸屬關(guān)系的方法及裝置
- 用戶調(diào)度方法、裝置、基站和存儲介質(zhì)
- 一種食材的調(diào)度系統(tǒng)和方法
- 一種資源調(diào)度的方法、裝置和過濾式調(diào)度器
- 任務(wù)調(diào)度方法、裝置、設(shè)備及存儲介質(zhì)
- 一種自動化調(diào)度系統(tǒng)和調(diào)度方法
- 任務(wù)協(xié)作裝置及方法
- 用于量化任務(wù)價值的任務(wù)管理方法及裝置
- 用于運(yùn)行任務(wù)的系統(tǒng)、方法和裝置
- 一種分布式任務(wù)調(diào)度系統(tǒng)及方法
- 任務(wù)信息處理方法
- 一種同步任務(wù)異步執(zhí)行的方法和調(diào)度系統(tǒng)
- 數(shù)據(jù)處理方法、裝置、電子設(shè)備及計(jì)算機(jī)可讀介質(zhì)
- 一種自動分配和推送的任務(wù)管理平臺及方法
- 程序執(zhí)行控制的裝置及方法、終端和存儲介質(zhì)
- 基于會話的任務(wù)待辦方法、系統(tǒng)、電子設(shè)備及存儲介質(zhì)





