国产精品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>

      一種改進(jìn)的虛擬機(jī)群下MapReduce數(shù)據(jù)處理方法

      文檔序號(hào):7764290閱讀:488來源:國知局
      專利名稱:一種改進(jìn)的虛擬機(jī)群下MapReduce數(shù)據(jù)處理方法
      技術(shù)領(lǐng)域
      本發(fā)明屬于分布式計(jì)算模型領(lǐng)域,具體涉及虛擬機(jī)群下MapReduce性能的提升。
      背景技術(shù)
      云計(jì)算技術(shù)發(fā)展迅猛,應(yīng)用也越來越廣泛。云計(jì)算有兩個(gè)重要的組成部分,一個(gè) 是虛擬化技術(shù)虛擬化技術(shù)是一種將底層物理設(shè)備與上層操作系統(tǒng)、軟件分離的一種去耦 合技術(shù),它可以實(shí)現(xiàn)計(jì)算資源的高效靈活使用,可以更加充分合理地利用計(jì)算資源,滿足 日益多樣的計(jì)算需求,使人們能夠透明,高效,可定制地使用計(jì)算資源,從而真正實(shí)現(xiàn)靈活 構(gòu)建,按需計(jì)算的理念;第二個(gè)是大規(guī)模數(shù)據(jù)處理中間件,以MapReduce為代表的大規(guī)模 數(shù)據(jù)處理模型正在得到廣泛應(yīng)用,MapReduce是一個(gè)包含有容錯(cuò)性和自動(dòng)任務(wù)調(diào)度的分布 式計(jì)算中間件,讓用戶定義兩個(gè)處理函數(shù)后,便可以自行處理任務(wù)分配、任務(wù)重啟等事情, MapReduce運(yùn)行環(huán)境讓用戶不需要顯示的去考慮這些問題,從而讓用戶專注于程序邏輯設(shè) 計(jì)。但是,MapReduce設(shè)計(jì)之初沒有考慮虛擬機(jī)群環(huán)境,所以,到目前為止,在結(jié)合這兩者的 優(yōu)勢研究方面,并沒有出現(xiàn)可觀的方法。以亞馬遜Amazon公司提出的EC2 (彈性云計(jì)算) 為例,用戶在自定義的虛擬機(jī)群上啟動(dòng)MapReduce后,MapReduce沒有感知到底層運(yùn)行環(huán) 境的變化,依然按照原有策略來執(zhí)行,這樣會(huì)帶來比較嚴(yán)重的性能遲滯問題開啟虛擬機(jī) 群后,數(shù)據(jù)需要先從物理機(jī)群導(dǎo)入到虛擬機(jī)群后才能被MapReduce作業(yè)使用,而且在計(jì)算 完成后,數(shù)據(jù)也需要被導(dǎo)出,這樣,對于大規(guī)模數(shù)據(jù)的導(dǎo)入導(dǎo)出,耗費(fèi)的時(shí)間非常巨大,比如 100TB數(shù)據(jù)的移動(dòng)在lOGb/s的信道上需要一天的時(shí)間。即使數(shù)據(jù)在計(jì)算完成后不進(jìn)行導(dǎo) 出,那么會(huì)造成虛擬機(jī)不能關(guān)閉,影響別的用戶對物理機(jī)群的使用性能,也會(huì)帶來額外的電 能開銷。

      發(fā)明內(nèi)容
      本發(fā)明的目的在于提供一種改進(jìn)的虛擬機(jī)群下MapReduce數(shù)據(jù)處理方法,具有更 短作業(yè)時(shí)間、更少資源消耗的特點(diǎn)。一種改進(jìn)的虛擬機(jī)群下MapReduce數(shù)據(jù)處理方法,涉及物理機(jī)、虛擬機(jī)、數(shù)據(jù)存儲(chǔ) 管理中心和任務(wù)調(diào)度管理中心,物理機(jī)用于存儲(chǔ)任務(wù)的輸入數(shù)據(jù),虛擬機(jī)進(jìn)行數(shù)據(jù)處理,該 方法具體為(1)任務(wù)調(diào)度管理中心將任務(wù)分配給虛擬機(jī);(2)獲取任務(wù)分配的虛擬機(jī)向數(shù)據(jù)存儲(chǔ)管理中心詢問任務(wù)的輸入數(shù)據(jù)所在的物理 機(jī);(3)虛擬機(jī)在步驟(2)得到的物理機(jī)中選取與自身拓?fù)渚嚯x最近的物理機(jī)進(jìn)行數(shù) 據(jù)讀取,并執(zhí)行任務(wù)。作為優(yōu)化,所述數(shù)據(jù)存儲(chǔ)管理中心按照物理機(jī)存儲(chǔ)性能高則存儲(chǔ)數(shù)據(jù)多的原則為 物理機(jī)分配任務(wù)的輸入數(shù)據(jù),任務(wù)調(diào)度管理中心按物理機(jī)存儲(chǔ)性能高則虛擬機(jī)數(shù)量多的原 則為物理機(jī)開啟虛擬機(jī)。
      本發(fā)明的技術(shù)效果體現(xiàn)在1.解耦存儲(chǔ)管理和計(jì)算。在這個(gè)技術(shù)前提下,數(shù)據(jù)便會(huì)一直存在于物理機(jī)群上,省 去了導(dǎo)入和導(dǎo)出的巨大開銷;同時(shí),讓虛擬機(jī)變成一個(gè)只負(fù)責(zé)計(jì)算的活性個(gè)體,計(jì)算完成后 便可以放心刪除,不會(huì)影響其他用戶對底層資源的使用。2.適應(yīng)虛擬機(jī)群的新的拓?fù)浣Y(jié)構(gòu)。MapReduce發(fā)明之初,并沒有考慮對虛擬機(jī)群 進(jìn)行設(shè)計(jì);對于MapReduce來說,存儲(chǔ)和計(jì)算進(jìn)程總是存在于一個(gè)節(jié)點(diǎn)上的,這個(gè)前提在虛 擬機(jī)群下不成立。所以本發(fā)明設(shè)計(jì)了適應(yīng)虛擬機(jī)群的新的MapReduce拓?fù)浣Y(jié)構(gòu)。3.適應(yīng)虛擬機(jī)群的數(shù)據(jù)讀取策略。在解耦存儲(chǔ)和計(jì)算后,計(jì)算節(jié)點(diǎn)獲取任務(wù)之后, 由于其輸入數(shù)據(jù)不在它所處的節(jié)點(diǎn)上,這樣在原有的MapReduce運(yùn)行環(huán)境中會(huì)引起隨機(jī)找 個(gè)節(jié)點(diǎn)讀取數(shù)據(jù),導(dǎo)致性能遲滯。所以本發(fā)明設(shè)計(jì)了適應(yīng)虛擬機(jī)群的新的數(shù)據(jù)讀取策略,對 已存在物理機(jī)群上的數(shù)據(jù)進(jìn)行放置調(diào)整。4、虛擬機(jī)開啟策略。數(shù)據(jù)放置集中的地方啟動(dòng)更多的虛擬機(jī),這樣帶來了更短的 作業(yè)時(shí)間的效果,省去了導(dǎo)入導(dǎo)出數(shù)據(jù)的開銷。


      圖1為虛擬機(jī)群下MapReduce的工作圖。圖2為JobTracker新的拓?fù)洳呗粤鞒虉D。圖3為JobTracker采取新拓?fù)洳呗院笮纬傻耐負(fù)鋱D。圖4為MapTask讀分塊的策略流程圖。圖5為Namenode在處理數(shù)據(jù)塊讀取請求時(shí)拓?fù)浣Y(jié)構(gòu)中間狀態(tài)圖。
      具體實(shí)施例方式本發(fā)明在虛擬機(jī)群上重新建立MapReduce工作環(huán)境,也就是解耦存儲(chǔ)和計(jì)算單 元。如圖1所示,虛擬機(jī)1. 1. 1和虛擬機(jī)1. 1. 2的宿主是物理機(jī)1. 1(以此類推,虛擬機(jī) 1. 2. 1,1. 2. 2的宿主是物理機(jī)1. 2,虛擬機(jī)1. N. 1,1. N. 2的宿主是物理機(jī)1. N)。有了虛擬機(jī)群環(huán)境后,數(shù)據(jù)的分配策略便是一個(gè)很關(guān)鍵的問題,由于計(jì)算單元的 密度更高了,若物理機(jī)上存儲(chǔ)的數(shù)據(jù)的密度仍然和以往一樣,勢必會(huì)導(dǎo)致計(jì)算單元找不到 本地?cái)?shù)據(jù)讀取,所以輸入數(shù)據(jù)需要在物理機(jī)群上重新分配,根據(jù)用戶需要的物理節(jié)點(diǎn)數(shù)目 和虛擬節(jié)點(diǎn)數(shù)目來調(diào)整;并且要保證各個(gè)用戶之間的物理節(jié)點(diǎn)盡量不重疊。這樣,在用戶放 置數(shù)據(jù)的物理節(jié)點(diǎn)上開啟虛擬機(jī),就能保證很高的數(shù)據(jù)本地性和計(jì)算效率。
      具體實(shí)施方式
      是1.確定該用戶所需要的物理節(jié)點(diǎn)集和每個(gè)物理節(jié)點(diǎn)上需要開啟的計(jì)算節(jié)點(diǎn)數(shù)目;2.獲 取各個(gè)物理節(jié)點(diǎn)的存儲(chǔ)性能值;3.按存儲(chǔ)性能比例來分配數(shù)據(jù),存儲(chǔ)性能高的獲取更多的 數(shù)據(jù);4.按存儲(chǔ)性能比例開啟對應(yīng)數(shù)目的虛擬機(jī)。解耦之后,虛擬機(jī)便成為只負(fù)責(zé)計(jì)算的實(shí)體,數(shù)據(jù)存儲(chǔ)在物理機(jī)群上,這樣靈活性 更大,省去了數(shù)據(jù)導(dǎo)入導(dǎo)出的開銷。解耦會(huì)帶來一個(gè)問題,能不能解決該問題就成為了本發(fā) 明成功與否的關(guān)鍵在經(jīng)典的MapReduce任務(wù)調(diào)度算法里,任務(wù)之所以調(diào)度給某個(gè)計(jì)算節(jié) 點(diǎn),是因?yàn)樵撚?jì)算節(jié)點(diǎn)所處的物理節(jié)點(diǎn)上有存儲(chǔ)節(jié)點(diǎn),且該存儲(chǔ)節(jié)點(diǎn)存儲(chǔ)了這個(gè)任務(wù)所需 要的輸入數(shù)據(jù)塊,這樣任務(wù)調(diào)度到該計(jì)算節(jié)點(diǎn)后,便會(huì)直接從本機(jī)讀取輸入數(shù)據(jù),以提高效 率。這個(gè)調(diào)度思想在MapReduce中,稱之為數(shù)據(jù)本地性思想。但是在虛擬機(jī)群中,由于存儲(chǔ)單元和計(jì)算單元的分離,以往的數(shù)據(jù)本地性始終不能滿足,所以會(huì)造成計(jì)算節(jié)點(diǎn)永遠(yuǎn)找不 到靠近它的輸入數(shù)據(jù)塊,而只是會(huì)被隨機(jī)分配一個(gè)存儲(chǔ)節(jié)點(diǎn)的數(shù)據(jù)塊,這樣在多個(gè)任務(wù)同 時(shí)讀數(shù)據(jù)時(shí),會(huì)使得某些存儲(chǔ)節(jié)點(diǎn)成為熱點(diǎn),導(dǎo)致性能降低。如下兩段是用來描述如何解決 這個(gè)問題的。如圖2所示,MapReduce的任務(wù)調(diào)度中心JobTracker需要對虛擬機(jī)群的拓?fù)浣Y(jié) 構(gòu)進(jìn)行適應(yīng),在計(jì)算單元TaskTracker根據(jù)JobTracker的IP信息發(fā)送心跳時(shí),會(huì)報(bào)告給 JobTracker自己的網(wǎng)絡(luò)名字tt,JobTracker根據(jù)這個(gè)網(wǎng)絡(luò)名字查詢TaskTracker所處的物 理機(jī)名字dt,然后把/upper-rack(上層機(jī)架)/dt/tt加入到自己維護(hù)的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)中。 在建立好拓?fù)浣Y(jié)構(gòu)后,還要重新建立Map任務(wù)緩存這個(gè)數(shù)據(jù)結(jié)構(gòu),以便于調(diào)度任務(wù),這個(gè)過 程,在用戶提交作業(yè)后發(fā)生。如圖2所示,若一個(gè)用戶向JobTracker提交了一個(gè)作業(yè),那 么JobTracker會(huì)首先計(jì)算出這個(gè)作業(yè)有多少個(gè)“切片”輸入(一個(gè)切片包含一個(gè)或多個(gè)數(shù) 據(jù)塊),然后對每一個(gè)切片向數(shù)據(jù)存儲(chǔ)管理中心Namenode詢問該切片存儲(chǔ)在哪些存儲(chǔ)節(jié)點(diǎn) 上,若切片splitl存儲(chǔ)在dtl,dt2上,那么JobTracker便會(huì)在內(nèi)部建立<dtl,MapTaskl>, <dt2, MapTaskl>, <upper_rackl,MapTaskD 的一個(gè)哈希表(如圖 3 所示)。之后,當(dāng) ttl 向JobTracker索求任務(wù)時(shí),JobTracker便會(huì)在建立好的拓?fù)浣Y(jié)構(gòu)樹中查詢到其宿主節(jié)點(diǎn) dtl,便把MapTaskl調(diào)度給該計(jì)算節(jié)點(diǎn)。這種調(diào)度方法便實(shí)現(xiàn)了本發(fā)明中的數(shù)據(jù)本地性。由于Namenode和JobTracker的職責(zé)獨(dú)立性,即使計(jì)算節(jié)點(diǎn)tt 1獲取到任務(wù) MapTaskl,且MapTaskl的輸入數(shù)據(jù)就是在ttl所處的宿主節(jié)點(diǎn)dtl上,ttl也不一定從dtl 上讀取數(shù)據(jù)。在原有的MapReduce系統(tǒng)中,申請讀取數(shù)據(jù)塊的節(jié)點(diǎn),會(huì)把自己的網(wǎng)絡(luò)地址告 訴Namenode,然后Namenode把離該節(jié)點(diǎn)最近且存儲(chǔ)有所需數(shù)據(jù)塊的存儲(chǔ)節(jié)點(diǎn)按距離排序, 返回給這個(gè)計(jì)算節(jié)點(diǎn)。計(jì)算節(jié)點(diǎn)把距離最近的存儲(chǔ)節(jié)點(diǎn)地址抽取出來,再進(jìn)行讀取。但是在 現(xiàn)有的虛擬機(jī)群下,本發(fā)明采用了新的數(shù)據(jù)讀取策略。如圖4所示,當(dāng)計(jì)算節(jié)點(diǎn)確定需要讀 取哪個(gè)數(shù)據(jù)塊后,便把自己的網(wǎng)絡(luò)地址/upper-rack/dtl/ttl發(fā)送給Namenode,Namenode 會(huì)鎖住其維護(hù)的拓?fù)浣Y(jié)構(gòu)樹,把/upper-rack/dtl/ttl加入到該樹中(如圖5所示)。接 下來,Namenode在該計(jì)算節(jié)點(diǎn)的父親節(jié)點(diǎn)和叔父節(jié)點(diǎn)中尋找包含有所需輸入的數(shù)據(jù)塊的節(jié) 點(diǎn),并計(jì)算其與ttl的距離,比如ttl與dtl的距離為1,與dt2的距離為3。按距離排序好 后,把節(jié)點(diǎn)數(shù)據(jù)返回給計(jì)算節(jié)點(diǎn),并解鎖拓?fù)浣Y(jié)構(gòu)樹。計(jì)算節(jié)點(diǎn)判斷距離最近的是不是宿主 機(jī),若是宿主機(jī)器的話,讀取數(shù)據(jù)便可以通過掛在宿主磁盤的方式,避免了 TCP/IP封包拆 包的開銷。在完成作業(yè)計(jì)算過程后,虛擬機(jī)便可以關(guān)閉。
      權(quán)利要求
      一種改進(jìn)的虛擬機(jī)群下MapReduce數(shù)據(jù)處理方法,涉及物理機(jī)、虛擬機(jī)、數(shù)據(jù)存儲(chǔ)管理中心和任務(wù)調(diào)度管理中心,物理機(jī)存儲(chǔ)任務(wù)的輸入數(shù)據(jù),虛擬機(jī)進(jìn)行數(shù)據(jù)處理,該方法具體為(1)任務(wù)調(diào)度管理中心將任務(wù)分配給虛擬機(jī);(2)獲取任務(wù)分配的虛擬機(jī)向數(shù)據(jù)存儲(chǔ)管理中心查詢?nèi)蝿?wù)的輸入數(shù)據(jù)所在的物理機(jī);(3)虛擬機(jī)在步驟(2)得到的物理機(jī)中選取與自身拓?fù)渚嚯x最近的物理機(jī)進(jìn)行數(shù)據(jù)讀取,并作數(shù)據(jù)處理。
      2.根據(jù)權(quán)利要求1所述的虛擬機(jī)群下MapReduce數(shù)據(jù)處理方法,其特征在于,所述數(shù)據(jù) 存儲(chǔ)管理中心按照物理機(jī)存儲(chǔ)性能高則存儲(chǔ)數(shù)據(jù)多的原則為物理機(jī)分配任務(wù)的輸入數(shù)據(jù), 任務(wù)調(diào)度管理中心按物理機(jī)存儲(chǔ)性能高則虛擬機(jī)數(shù)量多的原則為物理機(jī)開啟虛擬機(jī)。
      全文摘要
      本發(fā)明公開了一種改進(jìn)的虛擬機(jī)群下MapReduce數(shù)據(jù)處理方法,任務(wù)調(diào)度管理中心將任務(wù)分配給虛擬機(jī),獲取任務(wù)分配的虛擬機(jī)向數(shù)據(jù)存儲(chǔ)管理中心詢問任務(wù)的輸入數(shù)據(jù)所在的物理機(jī),虛擬機(jī)在得到的物理機(jī)中選取與自身拓?fù)渚嚯x最近的物理機(jī)進(jìn)行數(shù)據(jù)讀取,并作數(shù)據(jù)處理。本發(fā)明將數(shù)據(jù)存儲(chǔ)和處理分開獨(dú)立,物理機(jī)專用于存儲(chǔ)數(shù)據(jù),虛擬機(jī)專用于數(shù)據(jù)處理,并設(shè)計(jì)了適應(yīng)虛擬機(jī)群的數(shù)據(jù)讀取策略,縮短了作業(yè)時(shí)間,解決了性能遲滯,減少資源消耗,提高了MapReduce數(shù)據(jù)處理性能。
      文檔編號(hào)H04L29/08GK101986661SQ20101053275
      公開日2011年3月16日 申請日期2010年11月4日 優(yōu)先權(quán)日2010年11月4日
      發(fā)明者吳松, 石宣化, 金海 , 黃大川 申請人:華中科技大學(xué)
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會(huì)獲得點(diǎn)贊!
      1