一種Hadoop集群批處理作業(yè)的方法及系統(tǒng)的制作方法
【專利摘要】本發(fā)明公開了一種Hadoop集群中批處理作業(yè)的方案,涉及Hadoop集群批處理作業(yè)技術(shù)。本發(fā)明公開的方法,包括:構(gòu)建一個混合異構(gòu)內(nèi)存的硬件平臺,在該硬件平臺中部署Hadoop集群,其中,所構(gòu)建的硬件平臺中混合異構(gòu)內(nèi)存采用非易失性存儲介質(zhì)與動態(tài)隨機存取存儲器(DRAM)的混合;當(dāng)在硬件平臺上進行Hadoop集群批處理作業(yè)時,將Hadoop集群批處理作業(yè)的內(nèi)存申請分配到混合異構(gòu)內(nèi)存的非易失性存儲介質(zhì)中;在Map階段,將Hadoop集群批處理作業(yè)的中間結(jié)果存儲在所述混合異構(gòu)內(nèi)存的非易失性存儲介質(zhì)中,在Reduce階段,從所述非易失性存儲介質(zhì)中讀取中間結(jié)果進行處理。本發(fā)明還公開了一種Hadoop集群系統(tǒng)。本申請技術(shù)方案提高了Hadoop集群批處理作業(yè)的效率。
【專利說明】一種Hadoop集群批處理作業(yè)的方法及系統(tǒng)
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及Hadoop集群批處理作業(yè)技術(shù),特別涉及一種Hadoop集群中批處理作 業(yè)的方案。
【背景技術(shù)】
[0002] Hadoop集群批處理作業(yè)是通過MapReduce框架進行任務(wù)的批處理,MapReduce處 理任務(wù)的流程分為Map階段和Reduce階段。在任務(wù)提交時,Map階段是讀取對應(yīng)的輸入數(shù) 據(jù),然后從輸入數(shù)據(jù)中抽取鍵值對,將每個鍵值對作為參數(shù)傳遞給map函數(shù),經(jīng)過map函數(shù) 處理后將產(chǎn)生的中間鍵值對寫入本地磁盤中。然后在Reduce階段,根據(jù)中間結(jié)果的位置將 中間結(jié)果從磁盤中讀取,然后對它們進行排序,使得相同鍵的鍵值對聚集在一起,然后對每 個唯一的鍵,將其鍵值對傳遞給reduce函數(shù),然后經(jīng)過reduce處理后產(chǎn)生輸出并添加到輸 出文件中。
[0003] 在Hadoop集群批處理作業(yè)的過程中,由于處理的中間結(jié)果會存儲在磁盤上,在 reduce階段會從磁盤中相應(yīng)的位置讀取數(shù)據(jù),這使得1/0開銷大大增加,是影響MapReduce 處理批處理作業(yè)性能的主要因素。隨著用戶對大數(shù)據(jù)批處理作業(yè)的性能需求不斷提升,力口 速Hadoop集群批處理作業(yè)的方法是至關(guān)重要的。
【發(fā)明內(nèi)容】
[0004] 本發(fā)明所要解決的技術(shù)問題是,提供一種Hadoop集群批處理作業(yè)的方法及系統(tǒng), 以解決Hadoop集群批處理作業(yè)效率低的問題。
[0005] 為了解決上述技術(shù)問題,本發(fā)明公開了一種Hadoop集群批處理方法,包括:
[0006] 構(gòu)建一個混合異構(gòu)內(nèi)存的硬件平臺,在該硬件平臺中部署Hadoop集群,其中,所 構(gòu)建的硬件平臺中混合異構(gòu)內(nèi)存采用非易失性存儲介質(zhì)與動態(tài)隨機存取存儲器(DRAM)的 混合;
[0007] 當(dāng)在所述硬件平臺上進行Hadoop集群批處理作業(yè)時,將所述Hadoop集群批處理 作業(yè)的內(nèi)存申請分配到混合異構(gòu)內(nèi)存的非易失性存儲介質(zhì)中;
[0008] 在Map階段,將Hadoop集群批處理作業(yè)的中間結(jié)果存儲在所述混合異構(gòu)內(nèi)存的非 易失性存儲介質(zhì)中,在Reduce階段,從所述非易失性存儲介質(zhì)中讀取中間結(jié)果進行處理。 [0009] 可選地,上述方法還包括:
[0010] 當(dāng)在所述硬件平臺上進行小數(shù)據(jù)操作時,將所述小數(shù)據(jù)操作的內(nèi)存申請分配到混 合異構(gòu)內(nèi)存的dram中;
[0011] 在所述DRAM中進行所述小數(shù)據(jù)操作處理。
[0012] 可選地,上述方法中,所述混合異構(gòu)內(nèi)存的非易失性存儲介質(zhì)采用如下一種或兩 種:
[0013] 閃存(FLASH)、相變存儲裝置(PCM)。
[0014] 可選地,上述方法中,將內(nèi)存申請分配到混合異構(gòu)內(nèi)存的非易失性存儲介質(zhì)中 指:
[0015] 將所述混合異構(gòu)內(nèi)存劃分為相等大小的頁框,為不同存儲介質(zhì)類型的頁框配置不 同的內(nèi)存標(biāo)簽,其中,為非易失性存儲介質(zhì)類型的頁框配置內(nèi)存標(biāo)簽為BIG_FLAG ;
[0016] 若在所述硬件平臺上進行操作時,申請的內(nèi)存類型為非易失性存儲介質(zhì),則為進 程分配連續(xù)多個內(nèi)存標(biāo)簽為BIG_FLAG的頁框。
[0017] 可選地,上述方法中,若在所述硬件平臺上進行操作時,申請的內(nèi)存類型為DRAM, 則為進程分配連續(xù)多個內(nèi)存標(biāo)簽為非BIG_FLAG的頁框。
[0018] 本發(fā)明還公開了一種Hadoop集群系統(tǒng),包括:
[0019] 混合異構(gòu)內(nèi)存,采用非易失性存儲介質(zhì)與動態(tài)隨機存取存儲器(DRAM)的混合;
[0020] 內(nèi)存管理單元,在進行Hadoop集群批處理作業(yè)時,將所述Hadoop集群批處理作業(yè) 的內(nèi)存申請分配到混合異構(gòu)內(nèi)存的非易失性存儲介質(zhì)中;
[0021] 中央處理單元(CPU),在Map階段,將Hadoop集群批處理作業(yè)的中間結(jié)果存儲在所 述混合異構(gòu)內(nèi)存的非易失性存儲介質(zhì)中,在Reduce階段,從所述非易失性存儲介質(zhì)中讀取 中間結(jié)果進行處理。
[0022] 可選地,上述系統(tǒng)中,所述內(nèi)存管理單元,在進行小數(shù)據(jù)操作時,將所述小數(shù)據(jù)操 作的內(nèi)存申請分配到混合異構(gòu)內(nèi)存的DRAM中;
[0023] 所述CPU,在所述DRAM中進行所述小數(shù)據(jù)操作處理。
[0024] 可選地,上述系統(tǒng)中,所述混合異構(gòu)內(nèi)存的非易失性存儲介質(zhì)采用如下一種或兩 種:
[0025] 閃存(FLASH)、相變存儲裝置(PCM)。
[0026] 可選地,上述系統(tǒng)中,所述混合異構(gòu)內(nèi)存包括多個相同大小的頁框,其中,不同存 儲介質(zhì)類型的頁框具有不同的內(nèi)存標(biāo)簽,非易失性存儲介質(zhì)類型的頁框的內(nèi)存標(biāo)簽為BIG_ FLAG。
[0027] 可選地,上述系統(tǒng)中,所述內(nèi)存管理單元包括判斷單元、big分配器和slab分配 器,其中:
[0028] 所述判斷單元,判斷當(dāng)前的內(nèi)存申請的內(nèi)存類型,當(dāng)申請的內(nèi)存類型為非易失性 存儲介質(zhì)時,調(diào)用所述big分配器進行內(nèi)存分配,當(dāng)申請的內(nèi)存類型為DRAM時,調(diào)用slab 分配器進行內(nèi)存分配;
[0029] 所述big分配器,按照所述判斷單元的調(diào)用,為進程分配連續(xù)多個PCM類型的頁 框;
[0030] 所述slab分配器,按照所述判斷單元的調(diào)用,為進程分配非PCM類型的框。
[0031] 本申請技術(shù)方案基于非易失性存儲介質(zhì)與DRAM結(jié)合構(gòu)建成混合異構(gòu)內(nèi)存硬件架 構(gòu)平臺,將Hadoop集群中批處理作業(yè)運行在該平臺上,該平臺的混合內(nèi)存存儲MapReduce 框架處理作業(yè)中產(chǎn)生的中間結(jié)果,使得減少1/0開銷,改善MapReduce處理批作業(yè)時1/0開 銷的問題,縮短批處理作業(yè)處理的時間,提高了 Hadoop集群批處理作業(yè)的效率。
【專利附圖】
【附圖說明】
[0032] 圖1為加速Hadoop集群批處理作業(yè)的方法框架圖;
[0033] 圖2為統(tǒng)一內(nèi)存管理框架圖;
[0034] 圖3為內(nèi)存分配框圖。
【具體實施方式】
[0035] 為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚明白,下文將結(jié)合附圖對本發(fā)明技 術(shù)方案作進一步詳細(xì)說明。需要說明的是,在不沖突的情況下,本申請的實施例和實施例中 的特征可以任意相互組合。
[0036] 實施例1
[0037] 隨著新型非易失性存儲設(shè)備的不斷發(fā)展,它和DRAM相同的工藝尺寸下可以有更 高的容量、低功耗等特點,適用作為面向大數(shù)據(jù)處理的介質(zhì)。因此,本申請發(fā)明人提出,可 以根據(jù)非易失性存儲介質(zhì)的特點,將非易失性存儲介質(zhì)與DRAM構(gòu)建成異構(gòu)混合內(nèi)存架構(gòu) 的硬件系統(tǒng),然后將MapReduce框架處理作業(yè)的中間結(jié)果存儲在非易失性存儲內(nèi)存中,在 reduce階段讀取中間結(jié)果時會比在磁盤中讀取的速率快,從而加速Hadoop集群批處理作 業(yè)的時間效率。
[0038] 基于上述思想,本實施例提供一種Hadoop集群批處理作業(yè)的方法,包括:
[0039] 構(gòu)建一個混合異構(gòu)內(nèi)存的硬件平臺,在該硬件平臺中部署Hadoop集群,其中,所 構(gòu)建的硬件平臺中混合異構(gòu)內(nèi)存采用非易失性存儲介質(zhì)與DRAM(Dynamic Random Access Memory,動態(tài)隨機存取存儲器)的結(jié)合;
[0040] 當(dāng)在上述硬件平臺上進行Hadoop集群批處理作業(yè)時,將所述Hadoop集群批處理 作業(yè)的內(nèi)存申請分配到混合異構(gòu)內(nèi)存的非易失性存儲介質(zhì)中;
[0041] 在Map階段,將Hadoop集群批處理作業(yè)的中間結(jié)果存儲在所述混合異構(gòu)內(nèi)存的非 易失性存儲介質(zhì)中,在Reduce階段,從所述非易失性存儲介質(zhì)中讀取中間結(jié)果進行處理。 [0042] 需要說明的是,上述方法在構(gòu)建混合異構(gòu)內(nèi)存的硬件平臺中除了需要找到適合混 合異構(gòu)內(nèi)存的非易失性存儲器混合芯片,還需要能在硬件平臺中識別不同介質(zhì)的內(nèi)存。具 體地,在Hadoop集群批處理作業(yè)使用內(nèi)存分配時,重新編寫適合于上述硬件平臺的大數(shù)據(jù) 分配器,將大數(shù)據(jù)作業(yè)(即批處理作業(yè))的內(nèi)存申請分配到非易失性存儲介質(zhì)內(nèi)存的區(qū)域, 這樣,就會將作業(yè)處理的中間結(jié)果存儲在非易失性存儲介質(zhì)內(nèi)存中,使得在Reduce階段時 讀取數(shù)據(jù)時減少1/0開銷,提高批處理作業(yè)的效率。
[0043] 相應(yīng)地,針對其他小數(shù)據(jù)操作(如系統(tǒng)的進程)需要保證實時響應(yīng)的特點,以及數(shù) 據(jù)在DRAM中速度比非易失性內(nèi)存中進行的更加快速,因此一般將小數(shù)據(jù)操作的內(nèi)存申請 分配到DRAM區(qū)域,從而滿足不同應(yīng)用程序的需求。
[0044] 另外,還有一些優(yōu)選方案提出,在所構(gòu)建的混合異構(gòu)內(nèi)存的硬件平臺中可以使用 新型的非易失性存儲介質(zhì)與DRAM結(jié)合,例如通過Flash和PCM (Phase Change Memory,相變 存儲裝置)芯片制作的非易失存儲器混合內(nèi)存卡。該卡包括存儲陣列,提供對應(yīng)的標(biāo)準(zhǔn)物 理接口,將該卡的接口協(xié)議轉(zhuǎn)換為內(nèi)存接口所采用的內(nèi)存協(xié)議即可。然后根據(jù)相應(yīng)的分配 器將批處理任務(wù)分配到非易失性存儲的內(nèi)存區(qū)域,以利用非易失性存儲介質(zhì)的讀寫性能比 磁盤的讀寫性能快的特點提高MapReduce批處理任務(wù)的效率,并且減少數(shù)據(jù)訪問延遲性和 減少1/0開銷。當(dāng)然,非易失性存儲介質(zhì)也可以是FLASH和PCM中的任一種,本實施例對此 不作限制。
[0045] 下面參照附圖,對上述方法的具體實現(xiàn)進行詳細(xì)說明。
[0046] 首先構(gòu)建一個混合異構(gòu)內(nèi)存的硬件平臺,在此硬件平臺中部署Hadoop集群,將 Hadoop集群中批處理作業(yè)用MapReduce框架處理,該框架處理的中間結(jié)果將存儲在混合異 構(gòu)內(nèi)存的非易失性存儲介質(zhì)(即PCM)中,在Reduce階段讀取數(shù)據(jù)時直接從此非易失性存 儲介質(zhì)(即PCM)內(nèi)存中讀取,以提高批處理作業(yè)處理的效率,加速Hadoop集群批處理作 業(yè),該過程如圖1所示。
[0047] 在上述構(gòu)建的混合異構(gòu)內(nèi)存的硬件平臺中采用了 PCM和DRAM內(nèi)存的混合異構(gòu)。其 中,非易失性存儲介質(zhì)內(nèi)存是由PCM芯片制作的內(nèi)存卡,磁卡上包含了存儲陣列,其接口類 型遵循了主板內(nèi)存物理接口所采用的內(nèi)存標(biāo)準(zhǔn)協(xié)議,提供對應(yīng)的標(biāo)準(zhǔn)物理接口。該芯片卡 可以和DRAM平行存在于內(nèi)存系統(tǒng)中,即對DRAM與非易失性存儲介質(zhì)內(nèi)存統(tǒng)一管理,如圖2 所示。也就是說明,所構(gòu)建的硬件平臺的操作系統(tǒng)中內(nèi)存管理模塊,對DRAM與非易失性內(nèi) 存是統(tǒng)一管理的,但傳統(tǒng)的DRAM與PCM在訪問速率上存在一定的差異,主要表現(xiàn)在PCM內(nèi) 存訪問速度較DRAM內(nèi)存低,因此在內(nèi)存管理方面對這兩種類型的內(nèi)存區(qū)別對待,當(dāng)申請較 大內(nèi)存塊(例如批處理作業(yè))時為之分配PCM內(nèi)存;而如果申請的內(nèi)存塊較?。ɡ缧?shù) 據(jù)操作),則通過slab分配器分配DRAM內(nèi)存。
[0048] 具體地,針對異構(gòu)的內(nèi)存,可以將所有內(nèi)存劃分為相等大小的頁框,對這些頁框進 行不同標(biāo)記。對于PCM類型的頁框為之標(biāo)記為BIG_FLAG,這樣在內(nèi)存管理過程中對內(nèi)存的 分配便可以根據(jù)頁框的標(biāo)記進行區(qū)分。對PCM內(nèi)存的分配需要引入新的內(nèi)存分配算法,可 以稱為big分配算法。這種分配器算法位于伙伴系統(tǒng)之上與slab分配器處于同一層次。如 圖3所示為內(nèi)存分配管理框圖。當(dāng)申請內(nèi)存時,根據(jù)申請的內(nèi)存類型及大小選擇不同的分 配器,當(dāng)申請的內(nèi)存類型為非易失性存儲介質(zhì)(內(nèi)存標(biāo)簽為BIG_FLAG)時,通過big分配器 進行內(nèi)存分配,big分配器根據(jù)內(nèi)存標(biāo)簽為進程分配連續(xù)多個PCM類型的頁框;當(dāng)申請的內(nèi) 存類型為非PCM類型時,通過slab分配器或者通過伙伴算法進行分配,這種分配過程中不 會為進程分配PCM類型的內(nèi)存。這樣就可以保證系統(tǒng)級進程得到速度較快的DRAM內(nèi)存進 行數(shù)據(jù)處理,而針對大數(shù)據(jù)處理的進程放在PCM內(nèi)存中運行,與傳統(tǒng)的大數(shù)據(jù)處理相比速 度大幅提升,這樣便可以區(qū)分對待不同類型的內(nèi)存進行特定類型的數(shù)據(jù)處理,從而大大降 低了 DRAM和PCM訪存速度差異帶來的影響。
[0049] 另外,在完成構(gòu)建混合內(nèi)存異構(gòu)硬件平臺后,按照官方文檔安裝hadoop組件。然 后將hdf s、mapreduce服務(wù)開啟。在提交批處理作業(yè)的時候,MapReduce框架會將其劃分成Μ 個map任務(wù)和R個reduce任務(wù),讓它們?nèi)ネ瓿?。被分配?map任務(wù)會讀取并處理相關(guān)的輸 入數(shù)據(jù),將分析出的鍵/值(key/value)的中間結(jié)果存儲在異構(gòu)混合內(nèi)存中,在reduce任 務(wù)中,reduce任務(wù)會讀取異構(gòu)混合內(nèi)存中的中間結(jié)果,不會在磁盤中讀取中間結(jié)果,因此, 在reduceO函數(shù)處理后得到最終結(jié)果。該過程中減少了中間結(jié)果引起的1/0開銷,大大提 高了 Hadoop集群中批處理作業(yè)的效率。
[0050] 實施例2
[0051] 發(fā)明人發(fā)現(xiàn),基于非易失性存儲介質(zhì)與DRAM的特點構(gòu)建混合異構(gòu)內(nèi)存的架構(gòu),可 以根據(jù)大內(nèi)存的特點存儲MapReduce框架處理的中間結(jié)果,然后加速Hadoop集群批處理作 業(yè)。在構(gòu)建混合異構(gòu)內(nèi)存硬件架構(gòu)中是根據(jù)大數(shù)據(jù)內(nèi)存計算的特點,采用數(shù)據(jù)處理能力、擴 展性及可靠性很好的多路服務(wù)器架構(gòu)即可。因此,本實施例提供一種Hadoop集群系統(tǒng),至 少包括如下各部分。
[0052] 混合異構(gòu)內(nèi)存,采用非易失性存儲介質(zhì)與動態(tài)隨機存取存儲器(DRAM)的混合;
[0053] 優(yōu)選地,上述混合異構(gòu)內(nèi)存的非易失性存儲介質(zhì)可以采用如下一種或兩種:
[0054] 閃存(FLASH)、相變存儲裝置(PCM)。
[0055] 內(nèi)存管理單元,在進行Hadoop集群批處理作業(yè)時,將所述Hadoop集群批處理作業(yè) 的內(nèi)存申請分配到混合異構(gòu)內(nèi)存的非易失性存儲介質(zhì)中;
[0056] 另外,內(nèi)存管理單元,在進行小數(shù)據(jù)操作時,將所述小數(shù)據(jù)操作的內(nèi)存申請分配到 混合異構(gòu)內(nèi)存的DRAM中;
[0057] CPU,在所述DRAM中進行所述小數(shù)據(jù)操作處理。
[0058] 中央處理單元(CPU),在Map階段,將Hadoop集群批處理作業(yè)的中間結(jié)果存儲在所 述混合異構(gòu)內(nèi)存的非易失性存儲介質(zhì)中,在Reduce階段,從所述非易失性存儲介質(zhì)中讀取 中間結(jié)果進行處理。
[0059] 具體地,上述系統(tǒng)中混合異構(gòu)內(nèi)存可以包括多個相同大小的頁框,其中,不同存儲 介質(zhì)類型的頁框具有不同的內(nèi)存標(biāo)簽,在本實施例中,非易失性存儲介質(zhì)類型的頁框的內(nèi) 存標(biāo)簽為BIG_FLAG。
[0060] 此時,內(nèi)存管理單元又可以分為判斷單元、big分配器和slab分配器,其中:
[0061] 判斷單元,判斷當(dāng)前的內(nèi)存申請的內(nèi)存類型,當(dāng)申請的內(nèi)存類型為非易失性存儲 介質(zhì)時,調(diào)用big分配器進行內(nèi)存分配,當(dāng)申請的內(nèi)存類型為DRAM時,調(diào)用slab分配器進 行內(nèi)存分配;
[0062] big分配器,按照判斷單元的調(diào)用,為進程分配連續(xù)多個PCM類型的頁框;
[0063] slab分配器,按照判斷單元的調(diào)用,為進程分配非PCM類型的框。
[0064] 另外,本實施例中,設(shè)計的混合異構(gòu)內(nèi)存是通過PCM、Flash存儲芯片為基礎(chǔ),非易 失性存儲器的內(nèi)存卡包含物理芯片構(gòu)成的存儲陣列,其接口類型遵從內(nèi)存標(biāo)準(zhǔn)協(xié)議,提供 對應(yīng)的標(biāo)準(zhǔn)物理接口,可以通過異構(gòu)混合內(nèi)存管理,使得可以按照內(nèi)存的訪問方式訪問非 易失內(nèi)存卡,實現(xiàn)基于非易失性存儲和DRAM的異構(gòu)混合內(nèi)存硬件。由于內(nèi)存訪問的接口協(xié) 議與非易失存儲器物理芯片采用的協(xié)議不是一致的,需要在非易失存儲器中實現(xiàn)內(nèi)存模式 訪問的協(xié)議,在非易失性存儲芯片接口封裝協(xié)議,將芯片中的協(xié)議轉(zhuǎn)換成硬件架構(gòu)中內(nèi)存 接口模塊所采用的內(nèi)存協(xié)議。在非易失性混合內(nèi)存硬件卡設(shè)計中,內(nèi)存控制器對這兩者的 結(jié)合的異構(gòu)內(nèi)存模式的讀寫等命令函數(shù)接口有很好的融合。
[0065] 從上述實施例可以看出,本申請技術(shù)方案提供的加速Hadoop集群批處理作業(yè)的 方案,主要是在混合異構(gòu)內(nèi)存架構(gòu)的硬件平臺中,將MapReduce框架處理的中間結(jié)果存儲 在非易失性存儲介質(zhì)內(nèi)存中,從而提高批處理作業(yè)的效率。針對異構(gòu)內(nèi)存中,當(dāng)批處理作業(yè) 申請內(nèi)存資源時,需要將申請的內(nèi)存塊分配到非易失性存儲介質(zhì)的內(nèi)存區(qū)域中。優(yōu)選地,針 對異構(gòu)內(nèi)存的結(jié)構(gòu),將所有內(nèi)存劃分為相等大小的頁框,對這些頁框進行不同的標(biāo)記,這樣 在內(nèi)存管理過程中對內(nèi)存的分配可以根據(jù)頁框的標(biāo)記進行識別。處理內(nèi)存申請時,根據(jù)申 請的內(nèi)存類型及大小選擇不同的分配器,這樣保障了大數(shù)據(jù)處理的進程放在了非易失性存 儲介質(zhì)內(nèi)存中,當(dāng)申請的內(nèi)存類型為非易失性類型內(nèi)存時,通過相應(yīng)的分配器或者通過伙 伴算法進行分配,在這種分配過程中分工很明確。這樣就可以保證系統(tǒng)級進程得到速度較 快的DRAM內(nèi)存進行數(shù)據(jù)處理,而針對大數(shù)據(jù)處理的進程放在非易失性內(nèi)存中進行,與傳統(tǒng) 的大數(shù)據(jù)處理相比速度大幅提升,這樣便可以區(qū)分對待不同類型的內(nèi)存進行特定類型的數(shù) 據(jù)處理,從而大大降低了 DRAM和非易失性存儲介質(zhì)訪存速度差異帶來的影響。
[0066] 以上所述,僅為本發(fā)明的較佳實例而已,并非用于限定本發(fā)明的保護范圍。凡在本 發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進等,均應(yīng)包含在本發(fā)明的保護范 圍之內(nèi)。
【權(quán)利要求】
1. 一種Hadoop集群批處理方法,其特征在于,包括: 構(gòu)建一個混合異構(gòu)內(nèi)存的硬件平臺,在該硬件平臺中部署Hadoop集群,其中,所構(gòu)建 的硬件平臺中混合異構(gòu)內(nèi)存采用非易失性存儲介質(zhì)與動態(tài)隨機存取存儲器(DRAM)的混 合; 當(dāng)在所述硬件平臺上進行Hadoop集群批處理作業(yè)時,將所述Hadoop集群批處理作業(yè) 的內(nèi)存申請分配到混合異構(gòu)內(nèi)存的非易失性存儲介質(zhì)中; 在Map階段,將Hadoop集群批處理作業(yè)的中間結(jié)果存儲在所述混合異構(gòu)內(nèi)存的非易失 性存儲介質(zhì)中,在Reduce階段,從所述非易失性存儲介質(zhì)中讀取中間結(jié)果進行處理。
2. 如權(quán)利要求1所述的方法,其特征在于,該方法還包括: 當(dāng)在所述硬件平臺上進行小數(shù)據(jù)操作時,將所述小數(shù)據(jù)操作的內(nèi)存申請分配到混合異 構(gòu)內(nèi)存的DRAM中; 在所述DRAM中進行所述小數(shù)據(jù)操作處理。
3. 如權(quán)利要求1或2所述的方法,其特征在于,所述混合異構(gòu)內(nèi)存的非易失性存儲介質(zhì) 采用如下一種或兩種: 閃存(FLASH)、相變存儲裝置(PCM)。
4. 如權(quán)利要求3所述的方法,其特征在于,將內(nèi)存申請分配到混合異構(gòu)內(nèi)存的非易失 性存儲介質(zhì)中指: 將所述混合異構(gòu)內(nèi)存劃分為相等大小的頁框,為不同存儲介質(zhì)類型的頁框配置不同的 內(nèi)存標(biāo)簽,其中,為非易失性存儲介質(zhì)類型的頁框配置內(nèi)存標(biāo)簽為BIG_FLAG ; 若在所述硬件平臺上進行操作時,申請的內(nèi)存類型為非易失性存儲介質(zhì),則為進程分 配連續(xù)多個內(nèi)存標(biāo)簽為BIG_FLAG的頁框。
5. 如權(quán)利要求4所述的方法,其特征在于, 若在所述硬件平臺上進行操作時,申請的內(nèi)存類型為DRAM,則為進程分配連續(xù)多個內(nèi) 存標(biāo)簽為非BIG_FLAG的頁框。
6. -種Hadoop集群系統(tǒng),其特征在于,包括: 混合異構(gòu)內(nèi)存,采用非易失性存儲介質(zhì)與動態(tài)隨機存取存儲器(DRAM)的混合; 內(nèi)存管理單元,在進行Hadoop集群批處理作業(yè)時,將所述Hadoop集群批處理作業(yè)的內(nèi) 存申請分配到混合異構(gòu)內(nèi)存的非易失性存儲介質(zhì)中; 中央處理單元(CPU),在Map階段,將Hadoop集群批處理作業(yè)的中間結(jié)果存儲在所述混 合異構(gòu)內(nèi)存的非易失性存儲介質(zhì)中,在Reduce階段,從所述非易失性存儲介質(zhì)中讀取中間 結(jié)果進行處理。
7. 如權(quán)利要求6所述的系統(tǒng),其特征在于, 所述內(nèi)存管理單元,在進行小數(shù)據(jù)操作時,將所述小數(shù)據(jù)操作的內(nèi)存申請分配到混合 異構(gòu)內(nèi)存的DRAM中; 所述CPU,在所述DRAM中進行所述小數(shù)據(jù)操作處理。
8. 如權(quán)利要求6或7所述的系統(tǒng),其特征在于,所述混合異構(gòu)內(nèi)存的非易失性存儲介質(zhì) 采用如下一種或兩種: 閃存(FLASH)、相變存儲裝置(PCM)。
9. 如權(quán)利要求8所述的系統(tǒng),其特征在于, 所述混合異構(gòu)內(nèi)存包括多個相同大小的頁框,其中,不同存儲介質(zhì)類型的頁框具有不 同的內(nèi)存標(biāo)簽,非易失性存儲介質(zhì)類型的頁框的內(nèi)存標(biāo)簽為BIG_FLAG。
10.如權(quán)利要求9所述的系統(tǒng),其特征在于,所述內(nèi)存管理單元包括判斷單元、big分配 器和slab分配器,其中: 所述判斷單元,判斷當(dāng)前的內(nèi)存申請的內(nèi)存類型,當(dāng)申請的內(nèi)存類型為非易失性存儲 介質(zhì)時,調(diào)用所述big分配器進行內(nèi)存分配,當(dāng)申請的內(nèi)存類型為DRAM時,調(diào)用slab分配 器進行內(nèi)存分配; 所述big分配器,按照所述判斷單元的調(diào)用,為進程分配連續(xù)多個PCM類型的頁框; 所述slab分配器,按照所述判斷單元的調(diào)用,為進程分配非PCM類型的框。
【文檔編號】G06F12/02GK104156316SQ201410384390
【公開日】2014年11月19日 申請日期:2014年8月6日 優(yōu)先權(quán)日:2014年8月6日
【發(fā)明者】郭美思, 吳楠 申請人:浪潮(北京)電子信息產(chǎn)業(yè)有限公司