Page 1
中 華 大 學
碩 士 論 文
利用動態資料分割與虛擬機對映技術提高
異構性 MapReduce 資料密集型計算之效能
Dynamic Data Partitioning and Virtual
Machine Mapping Towards Efficient Data
Intensive Computation with Heterogeneous
MapReduce
系 所 別資訊工程學系碩士班
學號姓名M09902031 蔡宗輝
指導教授許 慶 賢 博士
王 俊 鑫 博士
中 華 民 國 102 年 8 月
i
摘要
MapReduce 對於大規模平行資料是一個重要的編程模組Hadoop 提出的
MapRedcue 概念主要是在同質性環境下運算而在異構性環境下的運算效能可能
不盡理想因為在 Map 階段節點處理速度相同的情況下每個節點完成的
時間在固定的資料量下完成的時間會大致相同但是在節點處理速度不盡
相同的情況下完成的時間彼此不一樣則會造成先處理好的機器必須得等待
處理速度較慢的節點完成造成完成時間的延遲而 Reduce 階段原始的
Hadoop在挑選機器的時候只要有空的節點就拿去做運算沒考慮到網路溝
通成本的問題
本文提出兩種優化方法動態資料切割和虛擬機器對映以提高 Mapredcue
程式效率另外有一個優化技術稱為負載感知的虛擬機對映藉以提高在
Reduce 階段的負載平衡在 Map 階段根據虛擬機的效能將資料做動態切割
來給予相對應的 Worker使得完成時間盡量接近在 Reducer mapping 方面根
據 Communication locality來給予相對應的虛擬機進行運算此外負載感知的
虛擬機映對優化技術可以進一步使 Reduce phase 的完成時間縮短經由性能分
析結果顯示透過動態資料切割最多可以節省約莫 33的 Communication
Locality經由動態資料切割以及負載感知的虛擬機映對最多改善了 MapReduce
完成時間 41
關鍵字 MapReduce雲端計算Hadoop虛擬機器動態 Mapping
ii
ABSTRACT
MapReduce is an important programming model for large-scale parallel data
Hadoop proposed concepts of MapRedcue that mainly running in homogeneous
environmenton the operation performance may be less than ideal state in
heterogeneous environment In the Map phase with same processing speed of the
nodes the completion time of each node will be roughly the same when fixed amount
of data However the processing speeds are different in the case and completion time
was different when a good machine processed complete it has to wait for completion
of processing nodes slower completion time will delay And Reduce phase Hadoop
selects machine of the original as long as free takes to do computing nodes it does
not take into account the cost of network communication problems
This paper proposes two optimization methods dynamic data partitioning and
virtual machine mapping for improving the efficiency of MapReduce programs In
addition a loading aware virtual machine mapping technique is also presented to
enhance load balance in Reduce phase In Map phase the data will cut of dynamic
that give the corresponding worker according to the node performance let completion
time as close as possible In Reducer mapping aspect Reducer is according to the
communication locality to give the corresponding virtual machine In addition the
loading aware virtual machine mapping optimization techniques that can further
enable completion time become shorter of Reduce phase Performance analysis results
show that we can save up communication locality to approximately 33 by the
virtual machine mapping MapReduce improves completion time to 41 of maximum
by dynamic data partitioning and loading aware virtual machine mapping
iii
Keywords MapReduce Cloud computing Hadoop Virtual machines Dynamic
Mapping
iv
致謝
本篇碩士論文能夠順利完成在此要誠摯感謝我的指導教授許慶賢老師在
這段期間隨著跟老師的互動與討論之下對於我所想探知的領域也慢慢的深
入研究在寫論文的過程老師不斷的協助我對於原本凌亂的想法做整合在
遇到我無法理解問題的時候能夠不厭其煩的利用一些例子來使我更容易了解
並且對我的論文提出一些看法以及意見使我得論文更有組織性
再來就是要感謝實驗室的各位學長可以即時的幫助我解決我遇到的困難
在寫論文的時候告知我該注意的地方避免重蹈覆轍另外要感謝的是碩士班
的同學平常互相討論互相勉勵對方另外還要感謝學弟妹能夠幫我處理雜
事使我能夠專心在寫論文上
最後要感謝的是我的家人在我就學期間能夠支持與鼓勵我使我無後顧
之憂能夠專心的在寫論文上讓我能夠順利完成我的學業最後僅以此文獻
給我的師長以及在學的時候支持我的各位朋友以及家人
v
Contents
摘要 i
ABSTRACT ii
致謝 iv
Contents v
List of Tables vii
List of Figures viii
Chapter 1 Introduction 1
11 Background 1
12 Motivation 2
13 Contribution 2
14 Organization 3
Chapter 2 Related Works 4
21 Homogeneous Environment 4
22 Heterogeneity Environment 5
Chapter 3 Preliminary 8
31 Hadoop 8
32 MapReduce 9
33 Heterogeneous Classification 10
Chapter 4 Dynamic Data Partitioning and Locality Aware Virtual Machine
Mapping 11
41 Dynamic Data Partitioning 12
42 Locality Aware Virtual Machine Mapping 13
421 Best Fit 13
422 Priority 16
43 Loading Aware Virtual Machine Mapping 17
Chapter 5 Performance Analysis 19
51 Communication Locality 19
52 Task Excution Time 21
vi
Chapter 6 Conclusions and Future Works 32
Reference 33
vii
List of Tables
表一 Hardinfo benchmark 10
viii
List of Figures
圖一 MapReduce 的運作流程圖 9
圖二 整體方法流程圖 11
圖三 根據節點能力分配相對應大小的資料 12
圖四 Best Fit 挑選機器流程 14
圖五 Best Fit 挑選機器的不完善 15
圖六 Priority 挑選機器流程 16
圖七 Reducer 對應到其相對效率的 Worker 17
圖八 Communication locality (a) low heterogeneity vm=2 (b) low heterogeneity
vm=5 (c) high heterogeneity vm=2 (d) high heterogeneity vm=5 19
圖九 Map completion time (a) low heterogeneity vm=2 (b) low heterogeneity
vm=5 (c) high heterogeneity vm=2 (d) high heterogeneity vm=5 22
圖十 Reduce completion time (a) low heterogeneity vm=2 (b) low heterogeneity
vm=5 (c) high heterogeneity vm=2 (d) high heterogeneity vm=5 24
圖十一 Total completion time (a) low heterogeneity vm=2 pm=5 (b) low
heterogeneity vm=5 pm=2 (c) high heterogeneity vm=2 pm=5 (d) high
heterogeneity vm=5 pm=2 26
圖十二 Total completion time with different number of vm (a) low heterogeneity
vm=2 worker=12 (b) high heterogeneity vm=5 worker=12 28
圖十三 Total completion time with different data size 29
圖十四 Total completion time of loading aware optimization (a) without
optimization (b) with optimization 30
1
Chapter 1 Introduction
11 Background
網路的發展慢慢的成為人們生活中不可或缺的一部分因而產生許多要處
理的大量資料而這些資料在處理上有些許不同要如何處理這些不同的資料
變成一個很重要的議題因此雲端運算這類專有名詞從而衍生出來而在此
背景之下Google在2003年提出分散式檔案系統架構Google File System(GFS)
[11]2004年提出MapReduce架構 [8]可用來處理大規模的資料處理以及2006
年提出BigTable [5]這是基於Google File System針對資料結構化儲存的分散式系
統
在過去幾十年前個人電腦還沒有這麼普遍的情況下當時的電腦主要還是以
大型主機為主所有的工作都只能透過那一台主機運行既不方便也沒有彈性
因此IBM則在當時開發了一套虛擬機監視器(Virtual Machine Monitor)藉此將
大型主機的資源分割成多個虛擬機器提供給使用者使用這些虛擬機器可以模
擬成多個操作環境進而比一個操作環境來的更有效率現今虛擬化技術 [2]越
來越成熟雲端運算環境透過此技術整合了分散在各處的資源使資源可做一
個統整藉此提供各項的資訊服務
雲端運算(Cloud Computing)簡單來說它不是一個技術而是一個概念希
望可以藉由雲端叢集 [4]透過網際網路來處理在雲端存放的龐大資料而
Google提出的MapReduce架構Map階段的時候將這些龐大資料拆解成許多小
資料再交給雲端叢集的每個節點去做運算Reduce在讓每個節點將運算後的
結果進行整合再回傳給使用者這樣的方式由原本只能單一處理變成平行
處理進而加快了處理速度
2
Google雖然提出了多個雲端運算的技術但是並沒有開放原始碼出來使
得企業們受到局限直到Apache開發出Hadoop平台 [25]企業或使用者才可以
自己研發相關的MapReduce技術 [18][19][20]不再被受到限制MapReduce技
術具有高容錯性資源使用率高平行處理使得它在企業界備受青睞
12 Motivation
在一個大的群集裡原型的MapReduce會將進來的資料切割成固定大小
主要節點會將這些資料分散給各節點去做運算但是如果在異構性環境
[21][23]就無法根據機器的處理速度動態的分配資料給相對映的機器去做運
算在Map階段節點處理速度相同的情況下每個節點完成的時間會大致相同
但是在節點處理速度不盡相同的情況下完成的時間彼此不一樣則會造成最
先處理好的機器得等待處理速度較慢的節點完成因而拖累完成時間而在
Reduce階段則考慮到Communication locality的問題Communication locality是
指說Reducer在此節點運算的時候所能節省的溝通成本(意指不用到遠端節點
取資料的溝通成本)原始的MapReduce在挑選機器的時候是有機器就拿去
做運算而沒考慮此問題
13 Contribution
本論文針對以上的敘述做了改進首先測試每台機器的運算效能在Map
階段的時候根據節點的運算效能來決定負責的運算量進而達到平均完成時間
相近在Reduce階段評估Communication locality再根據Communication locality
來決定Reducer要選擇在哪台機器使其節省更多的Communication locality最
後透過Loading Aware Virtual Machine Mapping來改善Reduce階段的完成時間
3
14 Organization
本論文研究探討在異構性環境下每個節點運算效能不一致的情況下為了
要避免MapReduce運算所造成校能不佳的情況動態的調整Map mapping以及
Reducer mapping
本論文章節介紹如下第一章緒論簡述雲端運算的研究背景及研究動機與
目的以此為基礎第二章相關研究介紹前人所提出的MapReduce改善方法
第三章Preliminary介紹HadoopMapRedcue的流程以及定義異構性環境第四
章演算法介紹MapReduce的各階段流程以及介紹本篇論文所提出的動態資料
切割和虛擬機對映兩種技術的流程另外提出了一個優化技術第五章性能分
析透過實驗模擬的結果將其結果分析與比較最後第六章為結論以及未來
可以繼續研究的方向
4
Chapter 2 Related Works
MapReduce 是目前非常流行的分散式運算的架構主要是透過網際網路來處
理在雲端上儲存的大量資料將要執行的 MapReduce 程式複製到 Master node 以
及各個WorkerMaster node會決定要給哪台Worker去執行Map程式或者Reduce
程式透過 Map 程式將資料切成許多區塊經過 Map 階段產生出 Key Value
將此 Key Value 存儲在 Local disc然後經過 Shuffle(將相同屬性的 key 排序在
一起)而 Reduce 程式將這些 Shuffle 後的結果進行整合最後再將結果產生出
來由於 MapReduce 一開始主要是在節點效能大致相同的情況下去執行對於
節點效能不一致的情況 (也就是所謂的異構性環境)導致會有一些效能不盡理
想的狀態出現 [10]並且隨著虛擬技術的成熟虛擬機器可以將實體機資源
更有效的利用慢慢的開始以虛擬機器作為 Cluster而且MapReduce 在以虛
擬機器建立起的異構性環境之下對於 IO 負載不平衡 [12][13][16]以及任務排
程 [1][6][15]不平均的部份目前已經有許多相關文獻在探討此方面
21 Homogeneous Environment
由 Shadi Ibrahim 等人在 2010 年時所提 LEEN [17]的方法在 Map 階段因
為原始的 MapReduce 架構沒有考慮資料的內容盲目的以資料數量區分導致
Shuffle 階段時會出現分配不平均的現象為了改善此部份LEEN 將每筆資料
計算出 Fairness Score 後根據 Locality [3][27]概念分析與比較將資料適當地放
在各個節點上達到平均分配的效果透過這樣的想法我們將此概念延伸到
Reducer 挑選機器是根據 Communication locality而不是盲目的去選擇有空的
Worker
5
MapReduce是主從式架構具有樹狀網路分佈的結構節點分布在不同的主
機上或者可能在不同的資料中心的主機上則兩個節點要溝通的話則需要
透過網路而頻寬會影響之間傳輸的速度在MapReduce的Worker接受到Master
的要求從而排程Map和ReduceHadoop企圖排程將比較靠近的資料做Map
tasks以避免在網路上增加過多的overhead至於Reduce tasks則沒有考慮到此部
份因此在進行shuffle的時候不必要的資料在網路上可能會降低校能遙遠
的節點資料傳送已經成為一個瓶頸而Mohammad Hammoud等人在2011提出
的論文著重在Reduce任務的部分透過網路位置做分區來做排程因此形成
了LARTS 的策略 [14]而且還觀察到MapReduce在Map Tasks完成後進行
shuffling的動作此步驟是用交錯的方式先前的方法在Shuffling這個動作的
時候使MapReduce的性能提高但是卻增加了網路的負載而LARTS保持了
此Shuffling的優勢還減少了網路的負載但是此篇論文著重在Reduce task的
部份至於Map task的部份並未做優化的部份
22 Heterogeneity Environment
Hadoop原先假設在節點相同的環境下運行但是實際上環境內的節點並
不是每次都是一致的當Hadoop運行在異構性環境對於性能上是有很大的落
差由Matei Zaharia等人提出的LATE (Longest Approximate Time to End) [26]針
對其任務的排程上做改良重新設計了一個新的Speculative task會估算完成時
間根據完成時間在去調整任務上的分配雖然對回應時間有點影響但是
整體性能明顯的比Hadoop改善很多而Quan Chen等人在2010年所提出的SAMR
(Self-adaptive MapReduce Scheduling Algorithm) [7]自動適應MapReduce的調動
排程主要是計算任務進度根據歷史資料動態調整Map任務以及Reduce任務
並且可以識別在節點上執行較慢的任務將其任務不做備份工作使其完成時
6
間可以降低在 2012年由Xiaoyu Sun等人提出的 ESAMR (An Enhanced
Self-Adaptive MapReduce Scheduling Algorithm) [22]增強自適應MapReduce的調
度算法以提高Speculative task在SAMR識別慢任務可能不是這麼準確但
是在ESMAR裡它們使用集群演算法轉化改進了這一部分使其識別慢任
務達到一定的準確ESAMR研究結果的誤判率明顯降低
由於Hadoop在異構性環境會造成資料分配不平均的現象所以由
Yuanquan Fan等人提出了在Map階段重新平衡資料分配的方法 [9]而此篇論文
平衡的方法有兩種(1) 根據性能來分配-主要是分成不同大小的資料區塊首先
將每個節點進行性能評估然後資料切成不同大小根據節點的計算能力來分
配相對應的節點(2) 資料動態搬遷-儘管不同大小的資料被分配在每一個節點
上再來估算任務完成時間將執行最慢的任務的部份資料轉移到執行最快的節
點有些任務可能會隨著時間的關係或者網路的關係慢慢延後所以將這些延
後的資料轉移給其他節點去運算其缺點就是資料的搬移時間和成本並沒考慮至
其中以及Reduce phase階段可能因為資料搬移的情況導致Reduce phase的
Communication overhead變重
傳統的 MapReduce 架構是考慮每台機器的規格都相同所以資料平均分
配後所處理完成的時間也都會是一樣在雲端運算環境中往往都是數百台或
著上千上萬台機器在同時運算機器的規格也不盡相同因此 Jiong Xie 等人在
2010 年所提出的 Data Placement [10]的方法將每個電腦區分出 3 個等級分別
是 FastestAverage 及 Slowest不同的等級取得運算資料份量也不同並建立一
張表紀錄目前有哪些機器處於忙碌壅塞狀態有那些機器處於閒置狀態並且
將忙碌的機器的資料分出 3 個等級平均分配資料直至平均為止使得每台
機器資源利用率是相近的雖然這樣的動機很好但是對於資料遷移所花的
時間以及成本是沒考慮的
根據上述研究不足的地方我們提出了MapReduce在異構性環境裡在Map
7
階段將資料切割成不固定大小依據節點能力的不同做出適當的配置在
Reduce階段根據Communication locality 找出適合在哪一台機器上執行最
後再透過優化技術把本篇論文方法的執行時間縮短一些
8
Chapter 3 Preliminary
31 Hadoop
Hadoop架構是由Apache所開發的開放原始碼提供了一個分散式系統的基
本架構Hadoop雲端運算技術主要由三個主要架構所組成 Hadoop Distributes
File System (HDFS)分散式檔案系統Hadoop Database (HBase)分散式資料庫以及
Hadoop MapReduce分散式平行運算以下一一敘述
HDFS (Hadoop File system) 是根據Google提出的GFS(Google File System)所
延伸的主要就是將各個節點連結起來將這些節點組成一個大型的分散式檔案
系統可以有效的處理大量檔案並提供安全的儲存環境以及可以避免因為單一
的硬體發生異常而影響整個系統
而HDFS為了維護資料的一致性當使用者將資料存進去HDFS就不能去
更動或修改HDFS會將要儲存的資料複製副本分散儲存在各個不同的節點
所以當儲存資料的節點發生異常可藉由其他節點來復原
HBase (Hadoop Database)類似Google BigtableHBase架構在Hadoop HDFS
上的分散式資料庫與ㄧ般關聯式資料庫不同HBase使用列和行為索引存取資
料值以及每一筆資料都有一個時間戳記因此同一個欄位可以因為時間的不同
而存在多筆資料
HBase專門用來處理大規模的資料是由HMasrter以及HRegion組成一台
HMaster管理多部HRegion ServerHMaster負責監控與管理HRegion Server系統狀
態而HRegion Server利用記憶體存取快速的優點可以加速資料讀寫的動作
所以會先將資料存放在記憶體內之後再將資料存回HDFS
9
32 MapReduce
雲端運算最重要的關鍵即是MapReduce使用MapReduce模式將一個大問
題先讓程式開發人員分析問題將問題切割成許多小問題在將此小問題平行
分散給各個Mapper當Mapper處理完的結果在傳送到相對映的Reducer去做運
算Reducer將這些結果進行合併在把合併的結果輸出
Split 0
Split 1
Split 2
Mapper
Mapper
Mapper
Reducer
Reducer
Partition 0
Partition 1
Partition 0
Partition 1
Partition 0
Partition 1
Output
File0
Output
File1
Input
File
Master
User
Map
Phase
Intermediate file
(on local disks)
Reduce
PhaseOutput
File
圖一 MapReduce的運作流程圖
如圖一即為MapReduce流程圖
1 將輸入的資料切割成固定大小
2 將要執行的MapReduce程式複製到Master與每一台Worker
3 Master會挑選閒置的Worker當Mapper或Reducer
4 Mapper會從切割好的資料讀取相對映的資料會產生Key Value會先暫
存在記憶體內再週期性的傳送到Local Disc
5 執行Reducer程式的Worker讀取每一個Mapper的結果並進行排序以及彙
整再將整合的結果輸出
10
33 Heterogeneous Classification
MapReduce 在異構性環境下執行已經是越來越多人討論的議題如何將
每個節點分級也有相當多的Benchmark可以做測試本篇論文採用的Benchmark
為 Hardinfo透過虛擬機器去做測試
表一 Hardinfo benchmark
如表一1_2 前面的數字代表核心數目後面的數字代表 Memory 有多少
GB而這個 Hardinfo 本身內含有許多測試的軟件我們測了兩個實驗CPU
Blowfish 以及 CPU CryptoHash這兩個都是跟加密有關的CPU Blowfish 運行
在單核心以及四核心的虛擬機器上所花費的秒數兩個相差了 5 倍因此我
們定義異構性等級為 1 到 5也就是所謂的高異構性環境CPU CryptoHash 運行
在單核心以及四核心的虛擬機器上每秒能壓縮的資料相差了三倍因此我
們定義異構性等級為 1 到 3也就是所謂的高異構性環境我們之後的實驗根
據這兩個異構性等級做參數
11
Chapter 4 Dynamic Data Partitioning and Locality
Aware Virtual Machine Mapping
原始的 Hadoop 在同質性環境執行 MapReduce 程式每個節點運算能力大
致相同所以在 Map 階段並不會有互相等待的結果發生但是在異構性的
環境之下每個節點的 Worker 彼此之間運算速度不同導致先完成的必須得
等速度較慢的節點完成因而執行時間變長而在 Reduce 階段沒有考慮
Communication Locality 的問題即使是用虛擬機架設的環境也是一樣所以
隱藏著一些 Communication overhead 的問題本篇論文主要探討此兩問題
圖二 整體方法流程圖
如圖二所示將資料從 HDFS 讀取進來因為每個節點不能去從其他節點讀
取資料來做因此只能將自己節點資料作完等待其他節點完成後才可繼續
執性 Reduce 階段因此在 Map mpping 階段是根據節點內部的虛擬機性能來
決定節點內部資料的分配而不是固定資料大小丟給效能不一致的虛擬機器來做
12
運算在 Reduce mapping 階段是根據 Locality aware 來選擇機器選擇節省成本
最多的機器以及最後有個節點內部動態調整機制為了減少Reducer完成的時間
41 動態資料切割
在同質性環境 (即為每個節點設備大致相同)運行MapReduce當Worker
完成Map階段任務必須等待其他Worker完成才能進行下一個動作因為每台
節點運算能力大致相同所以當執行Map階段結束後每台節點完成時間是大
致相同的而在異構環境下 (每個節點設備不盡相同則會產生出一個問題在
運算效能不一致的情況會造成在Map程式執行完成的時間變長因為當資料相
同可是每個節點運算能力不一樣就會彼此互相牽制為了要避免此情況發生
所以本篇論文用動態資料切割的方法來解決此問題
圖三 根據節點能力分配相對應大小的資料
動態資料切割的方法得先知道每個Worker的運算能力根據運算能力動
態切割資料大小如圖三所示每個節點運算能力較好的Worker就分配到資料
較多的Partition去做處理而運算能力較差的Worker就分配到較少的Partition使
得每個節點內部的Worker完成時間接近就不會有處理速度比較快的節點完成後
13
必須要等待處理速度比較慢的節點而資料分配方式就是根據Performance
也就是前面所提到的異構性等級的數值相加起來 (Worker處理速度越快則等級
越高)將要處理的資料以及總數值相除會得到一個平均值這個平均值去乘
上等級也就是Worker要處理的資料量
42 Locality Aware Virtual Machine Mapping
由於虛擬機的使用可以充分利用資源所以現在一台實體機可架設多
台虛擬機所以同一台實體機內部有兩台虛擬機當這兩台互相交換資料的
時候其實網路的負載是很低的但是如果是兩台實體機交換資料網路的負
載會變很高在執行Map階段之後資料都儲存在Local disk裡Reducer要怎麼
選擇機器使得Communication locality節省更多而這個即是本篇論文要探討的
第二個問題
421 Best Fit
本篇論文提出了一個 Best Fit 方法這個方法的概念是讓 Reducer 選擇在哪
一台節點上運行使其 Communication locality 節省最多接下來在找出節點內
Performance 最好的 Worker 來當 Reducer而不是像 Hadoop 的 MapReduce 是照
順序去分配這樣的選擇方式是因為節點與節點之間資料傳遞的Communication
overhead 是相當大的而節點內部之間的 Communication overhead相較起來小
很多而讓 Communication locality 節省越多也可以讓 Communication overhead
降低
14
圖四 Best Fit挑選機器流程
1 如圖四所示假設一台實體機上(P1)架設兩台虛擬機(v1v2)根據虛擬
機的運算能力分配相對映的資料量v1即為25單位v2即為22單位以此類
推
2 執行Map程式產生出k值因為有三台Reducer(R1R2R3)所以產生出
3個k值v1虛擬機的k1值為7k2值為10k3值為8而這v1的所有k值相加即為
v1所負責的資料量v1虛擬機k1值為10k2值為9k3值為3而這v2的所有k值
相加為v2所負責的資料量v3也是一樣
3 先從R1要挑選哪台VM開始首先把每個VM所產生出的k1值相加得到一個
總和即為57單位底下看到有三個數值第一個數值即為R1如果在P1這
台機器上運行的話所耗費的遠端溝通成本(要到P2P3取資料的溝通成本)
則第二個數值即為R2在P2這台機器上運行的話所耗費的遠端溝通成本
第三個也是
4 把總共要處理的資料減掉到遠端耗費的溝通成本會得到一個數值即為
15
Communication localityR1如果選擇P1機器運行則Communication locality
為17單位R1如果選擇P2機器運行則Communication locality為18單位R1
如果選擇P3機器運行則Communication locality為22單位R1挑選最多的
Communication locality的機器來運行所以R1選擇P3機器來做運算
5 R1選擇P3實體機而P3實體機有2台虛擬機所以在根據虛擬機的運算能力
先挑選運算能力好的來做為R1
6 如果節點的虛擬機都被挑選完就選第二順位的節點
原始的HadoopR1挑選v1而R2挑選v2照順序的挑選所以沒有考慮到溝
通成本則本篇論文Best fit是根據Communication locality來挑選機器但是
可能在某ㄧ些情況可能不夠完善
圖五 Best Fit 挑選機器的不完善
如圖五所示當Communication locality可以選擇很高的節點卻因為前面的
Reducer把節點內部的Worker挑選完了所以逼不得已只能挑選第二順位的節
點可是這個Communication locality遠遠低於前面Reducer挑選的節點導致整體
的Communication locality大幅下降因此422 Priority即為改善的方法
16
422 Priority
為了確保每個Reducer都能挑選Communication locality最高的機器因此
此章節做了改善
1 在Reducer在挑選機器之前先判斷Reducer哪台要先下去做挑選
2 將每台Reducer最高的Communication locality的跟第二高的相減會得到一個
Difference locality在利用Difference locality下去做排序由大到小
3 Difference locality越大的代表那台Reducer要優先做挑選所以就從
Difference locality越大的挑選到Difference locality最小的
圖六 Priority挑選機器流程
1 如圖六所示R1總共的Data block為57單位R2為42單位R3為41單位經過
Shuffle階段之後
2 R1如果選擇P1這台機器能節省的Communication locality就是17單位R1如果選
擇P2這台機器能節省的Communication locality就是18單位R3如果選擇P2這台
機器能節省的Communication locality就是22單位
3 根據Communication locality將第一高的減掉第二高的會得到一個Difference
17
locality
4 根據此Difference locality排出哪個Reducer要先選取機器此例子的順序為
R2再來R3再來R1而Best Fit就是R1再來R2再來R3
Priority可以避免前面的Reducer把機器挑選完迫使只能選擇第二高的
Communication locality使這樣大幅降低的情況給消除而Best fit和Priority這兩
種方法大幅提高了Communication locality的狀況可是卻也導致了Reduce階段
的完成時間變長所以下章節主要敘述將Reduce階段完成時間優化
43 Loading Aware Virtual Machine Mapping
上述的兩種方法Best fitPriority都是為了降低節點彼此之間的溝通成本
但是卻引發了一個問題Reducer執行完成的時間比原始Hadoop還來得長為
了解決此問題本篇論文在這章節提出優化的方法前面兩種方法是根據節點
的Communication locality來決定要在哪一台Worker做運算當決定好Worker
的時候Reducer會先將運算能力較好的虛擬機器拿去做運算這樣使得運算較
快的機器並不會對映到運算較複雜的資料使得較早完成的機器還是得等候還沒
做好的機器造成時間上的延長所以本篇論文針對此部份做優化
圖七 Reducer對應到其相對效率的Worker
18
如圖七所示當Reducer都挑選好要在哪台實體機做在開始執行Reduce程
式之前我們根據要處理的資料量來分配相對映的機器而這虛擬機的交換
並不會影響到Communication locality因為都是在同一台實體機架設的虛擬機
器做交換
19
Chapter 5 Performance Analysis
本實驗以模擬的方式進行利用 C 語言程式撰寫可設定節點數量節點
裡的 Worker 數量資料大小異構性環境低 (h = 1-3)或高 (h = 1-5)透過模擬
的實驗數據分析基於 Hadoop 的 MapReduce 以及本篇論文透過 Map mapping
和 Reduce mapping 的方式進而改善原始 MapReduce 所造成的缺點
51 Communication Locality
本模擬實驗主要探討的是 Communication Locality圖八(a)和圖八(b)模擬環
境為低異構性圖八(c)和圖八(d)為高異構性環境固定每台實體機架設 2 台以
及 5 台虛擬機器固定 Worker 總數量分別為 102030要處理的資料為 900G
Communication locality(vm = 2 h = 1-3)
0
50
100
150
200
250
300
10 20 30
Number of vm
Dat
a lo
cali
ty
Hadoop
Best Fit
Priority
(a)
20
Communication locality(vm = 5 h = 1-3)
0
100
200
300
400
500
600
10 20 30Number of vm
Dat
a lo
cali
ty
Hadoop
Best Fit
Priority
(b)
Communcation Locality(vm = 2 h = 1-5)
0
50
100
150
200
250
300
10 20 30Number of vm
Dat
a lo
cali
ty
Hadoop
Best Fit
Priority
(c)
Communcation locality(vm = 5 h = 1-5)
0
100
200
300
400
500
600
10 20 30
Number of vm
Dat
a lo
cali
ty
Hadoop
Best Fit
Priority
(d)
圖八 Communication locality (a) low heterogeneity vm=2 (b) low heterogeneity
vm=5 (c) high heterogeneity vm=2 (d) high heterogeneity vm=5
21
由圖八(a)可看出本篇論文提出的兩個方法在低異構性環境所能節省的
Communication Locality 比原始的 Hadoop 提出的方法最多節省了 33的
Communication Locality圖八 (b)也最多節省了約 12的 Communication
Locality雖然節省在固定架設的虛擬機器為兩台的時候節省比較多但是
兩個實驗節省的 Communication Locality 量卻相差了快 2 倍原因是在於 Map 階
段完成的資料都儲存在 Local disc兩台實體機在交換資料的時候溝通成本是
很高的而建立在同一台實體機的兩台虛擬機器交換資料則溝通成本卻來的低
很多 因此溝通成本量的提高也會被實體機上架設的虛擬機器的多寡來影
響
由圖八(c)所示在高異構性最多可節省 27的 Communication Locality圖
八(d)則為 15的 Communication Locality分別從圖八(a)圖八(c)圖八(b)以及
圖八(d)可以看得出來Best Fit 和 Priority 不會隨著異構性環境的高低溝通成
本量會有大幅度的改變而 Priority 在節省的 Communication Locality 都會比 Best
Fit 都來的多一點因為Priority 可以避免前面的 Reducer 把機器挑選完迫使
只能選擇第二高的Communication location 因此大幅降低的情況給消除
52 Task Execution Time
此節實驗是要探討 Map 以及 Reduce 完成的時間圖九(a)和圖九(b)為低異構
性環境的實驗圖九(c)和圖九(d)為高異構性環境都是固定每台實體機架設 2
台以及 5 台虛擬機器所以固定虛擬機器總數量分別為 102030要處理
的資料為 900G
22
Map completion time(vm = 2 h = 1-3)
0
20
40
60
80
100
10 20 30
Number of vm
Sec
ond
Hadoop
Best Fit amp Priority
(a)
Map completion time(vm = 5 h = 1-3)
0
20
40
60
80
100
10 20 30Number of vm
Sec
ond
Hadoop
Best Fit amp Priority
(b)
Map completion time(vm = 2 h = 1-5)
0
20
40
60
80
100
10 20 30Number of vm
seco
nd
Hadoop
Best Fit amp Priority
(c)
23
Map completion time(vm = 5 h = 1-5)
0
20
40
60
80
100
10 20 30Number of vm
seco
nd
Hadoop
Best Fit amp Priority
(d)
圖九 Map completion time (a) low heterogeneity vm=2 (b) low heterogeneity
vm=5 (c) high heterogeneity vm=2 (d) high heterogeneity vm=5
圖九(a)圖九(b)圖九(c)以及圖九(d)顯示了本論文提出的兩個方法 Best Fit
和 Priority 他們完成的時間是一樣的因為兩個方法的 Map mapping 概念是一樣
的所以完成時間也會一樣在此實驗裡可發現 Best Fit 和 Priority 也會隨著
實體機上的虛擬機器數量增多而完成時間縮短而縮短的時間最多甚至可以達
到 44也可看出本論文的兩個方法在低異構性環境的效能比在高異構性環境
的效能來的較差所以在異構性越高的環境越能看得出 Best Fit 和 Priority
的優勢
24
Reduce completion time(vm = 2 h = 1-3)
0
20
40
60
80
100
120
10 20 30Number of vm
Sec
ond
Hadoop
Best Fit
Priority
(a)
Reduce completion time(vm = 5 h = 1-3)
0
20
40
60
80
100
120
10 20 30Number of vm
Sec
ond
Hadoop
Best Fit
Priority
(b)
Reduce completion time(vm = 2 h = 1-5)
0
20
40
60
80
100
120
10 20 30Number of vm
seco
nd
Hadoop
Best Fit
Priority
(c)
25
Reduce completion time(vm = 5 h = 1-5)
0
20
40
60
80
100
120
10 20 30Number of vm
Sec
ond
Hadoop
Best Fit
Priority
(d)
圖十 Reduce completion time (a) low heterogeneity vm=2 (b) low
heterogeneity vm=5 (c) high heterogeneity vm=2 (d) high heterogeneity vm=5
而在 Reduce 完成時間的方面不像 Map 的完成時間是一樣的因為選
擇 Reducer 的方式不同造成 Best Fit 以及 Priority 時間完成上有些許不同
如圖十(a)所示節省了 14的時間圖十(b)節省了 16的時間圖十(c)
節省了 23圖十(d)節省了 29由圖十(b)以及圖十(d)可見影響 Reduce
階段完成時間最主要的原因是異構性環境的問題當環境的異構性越高其
所節省的時間越多而圖十(c)以及圖十(d)所示一台實體機架設的虛擬機器數
量影響的範圍比較小
26
Total completion time (vm = 2 pm = 5 h = 1-3)
0 50 100 150 200 250
Hadoop
Best Fit
Priority
Met
hod
Second
Map Reduce
(a)
Total completion time(vm = 5 pm = 2 h = 1-3)
0 50 100 150 200
Hadoop
Best Fit
Priority
Met
hod
Second
Map Reduce
(b)
Total completion time(vm = 2 pm = 5 h = 1-5)
0 50 100 150 200 250
Hadoop
Best Fit
Priority
Met
hod
Second
Map Reduce
(c)
27
Total completion time(vm=5 pm = 2 h = 1-5)
0 50 100 150 200
Hadoop
Best Fit
Priority
Second
Met
hod
Map Reduce
(d)
圖十一 Total completion time (a) low heterogeneity vm=2 pm=5 (b) low
heterogeneity vm=5 pm=2 (c) high heterogeneity vm=2 pm=5 (d) high
heterogeneity vm=5 pm=2
由於前面分別是 Map以及 Reduce的完成時間為了想知道Map以及 Reduce
對於 MapReduce 的整體影響我們將前面的 Map 以及 Reduce 的完成時間在
處理資料的節點固定為 10 台 Worker將其做整合
從圖十一(a)圖十一(b)圖十一(c)圖十一(d)顯示 Best Fit 和 Priority 不論
是在低異構性或高異構性環境MapReduce 完成時間都比 Hadoop 的完成時間縮
短很多在低異構性環境最多可縮短到 29的時間在高異構性環境最多可縮
短 41的時間而造成 Hadoop 跟 Best Fit 和 Priority 在時間上差異如此大的原
因主要是在 Map 階段的完成時間因為Best Fit 和 Priority 是根據 Worker 的
效能來決定要處理的資料大小而 Hadoop 就是分配固定大小的資料給 Worker
運算所以在越高的異構性環境其縮短的時間會越明顯
28
Total completion time with different number of vm (h=1-3)
0
20
40
60
80
100
120
vm=2 vm=3 vm=4Number of vm per physical machine
Sec
ond
Hadoop
Best Fit
Priority
(a)
Total completion time with different number of vm (h=1-5)
0
20
40
60
80
100
120
vm=2 vm=3 vm=4Number of vm per physical machine
Sec
ond
Hadoop
Best Fit
Priority
(b)
圖十二 Total completion time with different number of vm (a) low heterogeneity
vm=2 worker=12 (b) high heterogeneity vm=5 worker=12
圖十二(a)是在低異構性環境圖十二(b)是在高異構性環境並且1 台實體
機架設 2 個3 個4 個虛擬機器使 Worker 數量固定 12 台處理的資料量為
600G
這個模擬實驗主要探討的是在一台實體機架設的虛擬機器數量對於
MapReduce 完成時間是否真正有影響圖十二(a)和圖十二(b)更可以顯示出 Best
Fit 和 Priority 在異構性越高的環境裏且一台實體機架設越多虛擬機器來當作
Worker 的時候可以縮短更多的時間前者會縮短 Map 的完成時間後者會縮
29
短 Reduce 的完成時間而 Hadoop 在異構性環境高的時候也有些微的縮短一
些時間
Total completion time with different data size (h=1-5)
0
20
40
60
80
100
120
140
400 600 800 1000 1200
Data
Sec
ond
Hadoop
Best Fit
Priority
圖十三 Total completion time with different data size
在上述的實驗中在同樣的資料大小處理的 Worker 數量越多的時候其
完成時間會縮短很多但是到達一定的數量的時候其縮短時間的效果就很低
所以就做了此實驗因為本篇論文就是要探討異構性的環境選擇高異構性
環境固定 Worker 數量 20 台資料大小由 400G 到 1200G探討資料大小對
MapReduce 以及 Worker 的影響如圖十三顯示出在 600G 以下的時候Map 加
上 Reduce 完成的時間突然靠近起來代表了當資料量越小的時候Best Fit 和
Priority 的方法跟原始的 Hadoop 的方法優勢會越來越少但相反的是當資料
量越大的時候雖然Best Fit 和 Priority 完成時間會增加但是跟 Hadoop 的
完成時間比會更加突顯
30
Total completion time (best fit)
0
10
20
30
40
50
60
70
80
(Without optimization) (Optimization)
Best Fit
Sec
ond
Map Reduce
(a)
Total completion time (priority)
0
10
20
30
40
50
60
70
80
(Without optimization) (Optimization)
Priority
Sec
ond
Map Reduce
(b)
圖十四 Total completion time of loading aware optimization (a) without
optimal (b) with optimization
圖十四(a)未使用優化技術圖十四(b)是使用優化技術同樣都是在高異構
性環境之下並且1 台實體機架設 5 個虛擬機器使 Worker 數量固定 15 台
處理的資料量為 900G
在本篇論文方法的部份有提到Loading Aware Virtual Machine Mapping的優
化技術由於此實驗上面的實驗數據都已經使用優化技術來改善時間因此
此實驗就是要探討這優化技術對於MapReduce完成時間的影響
由於Loading Aware Virtual Machine Mapping此優化技術是變動同一台實體
31
機內部的Reducer使得原本是根據Communication locality來選擇虛擬機器但
是在挑選的過程中並沒有依據處理資料的大小分配到其處理速度相對映的
虛擬機器而這優化技術就是將同一台實體機內的虛擬機器重新分配由於此
優化技術並不會影響Communication locality所以這部份並沒有在此實驗探討
圖十四(a)圖十四(b)顯示未使用優化技術的Best fit和Priority的MapReduce
完成時間雖然比Hadoop的方法好但是其Reduce phase完成時間上慢了一些
並且可以看出此優化技術並不會影響到Map phase主要影響的是在Reduce階
段在Reduce階段的完成時間上利用優化技術可以將Reduce階段時間縮短其13
32
Chapter 6 Conclusions and Future Works
目前 Hadoop 資料處理的環境還是應用在群集內節點效能是相同的情況下
如果是異構性環境可能就無法這麼有效率的處理本篇論文提出了兩個方法
動態資料切割和虛擬機對映以及一個優化技術 Loading aware virtual machine
mapping模擬實驗結果表明透過本篇方法來得比 Hadoop 縮短 41的時間以
及最多節省 Communication Locality 約莫 33尤其在異構性越高的環境以及
一台實體機器架設的虛擬機器數量越多改善的效果越明顯另外 Loading
aware virtual machine mapping 優化技術改善了 Reduce phase 的完成時間約莫
13
在未來研究上可以朝著動態調整 Reducer 數量的方向前進當固定大小的
資料上其實有時候過多的節點去運算消耗了大量的運算資源卻只得到一些
秒數的縮短如何利用適當的運算資源來得到最大的利益這是相當重要的議
題由於此實驗都是屬於模擬實驗希望在未來可以實際架設在機器上運行
透過 Benchmark得到真正的數據
33
Reference
1 Masato Asahara Shinji Nakadai and Takuya Araki ldquoLoadAtomizer A
Locality and IO Load aware Task Scheduler for MapReducerdquo in 4th IEEE
International Conference on Cloud Computing Technology and Science
(CloudCom) pp 317-324 2012
2 Paul Barham Boris Dragovic Keir Fraser Steven Hand Tim Harris Alex
Ho Rolf Neugebauer Ian Pratt and Andrew Warfield ldquoXen and the Art of
Virtualizationrdquo SOSP 03 Proceedings of the nineteenth ACM symposium
on Operating systems principles vol 37 Issue 5 pp 164-177 December
2003
3 Xiangping Bu Jia Rao and Cheng Zhong Xu ldquoInterference and
Locality-Aware Task Scheduling for MapReduce Applications in Virtual
Clustersrdquo Proceeding HPDC 13 Proceedings of the 22nd international
sym-posium on High-performance parallel and distributed computing pp
227-238 2013
4 Kasim Selcuk Candan Jong Wook Kim Parth Nagarkar Mithila Nagendra
and Ren-wei Yu ldquoScalable Multimedia Data Processing in Server Clustersrdquo
IEEE MultiMedia pp 3-5 2010
5 Fay Chang Jeffrey Dean Sanjay Ghemawat Wilson C Hsieh Deborah A
Wallach Mike Burrws Tushar Chandra Andrew Fikes and Robert EGruber
ldquoBigtable A Distributed Storage System for Structured Datardquo 7th UENIX
Symposium on Operating Systems Design and Implementation pp 205-218
2006
6 P C Chen Y L Su J B Chang and C K Shieh ldquoVariable-Sized Map and
Locality-Aware Reduce on Public-Resource Gridsrdquo in Proceedings
Conference Grid and Pervasive Computing (GPC 2010) pp 234-243 2010
May
7 Q Chen D Zhang M Guo Q Deng and S Guo ldquoSamr A self adaptive
mapreduce scheduling algorithm in heterogeneous environmentrdquo in 10th
IEEE International Conference on Computer and Information Technology
CIT rsquo10 (Washington DC USA) pp 2736ndash2743 2010
8 Jeffrey Dean and Sanjay Ghemawat ldquoMapReduce Simplified Data
Processing on Large Clustersrdquo Communications of the ACM vol 51 no 1
pp 107ndash113 2008
9 Yuanquan Fan Weiguo Wu Haijun Cao Huo Zhu Xu Zhao and Wei Wei
34
ldquoA heterogeneity-aware data distribution and rebalance method in Hadoop
clusterrdquo 2012 Seventh ChinaGrid Annual Conference pp 176-181 2012
10 Zacharia Fadika Elif Dede Jessica Hartog and Madhusudhan Govindaraju
ldquoMARLA MapReduce for Heterogeneous Clustersrdquo in 12th IEEEACM
International Symposium on Cluster Cloud and Grid Computing pp 49-56
2012
11 Sanjay Ghemawat Howard Gobioff and ShunTak Leung ldquoThe Google file
systemrdquo In Proceedings of 19th Symposium on Operating Systems
Principles pp 29-43 2003
12 Sven Groot ldquoJumbo Beyond MapReduce for Workload Balancingrdquo Fuzzy
Systems and Knowledge Discovery (FSKD) 2011 Eighth International
Conference on Cloud Computing Technology and Science vol 4 pp
2675-2678 2011 July
13 B Gufler N Augsten A Reiser and A Kemper ldquoHandling Data Skew in
MapReducerdquo in Proceedings of CLOSER pp 574ndash583 2011
14 Mohammad Hammoud and Majd F Sakr ldquoLocality-Aware Reduce Task
Scheduling for MapReducerdquo Third IEEE International Conference on
Cloud Computing Technology and Science pp 570-576 2011
15 C He Y Lu and D Swanson ldquoMatch-making A New MapReduce
Scheduling Techniquerdquo IEEE Third International Conference on Cloud
Computing Technology and Science (CloudCom) pp 40ndash47 2011
16 Hung Chang Hsiao Huesh Yi Chung Haiying Shen and Yu Chang
ChaoldquoLoad Re-balancing for Distributed File Systems in Cloudsrdquo IEEE
Trans on Parallel and Distributed Systems vol24 pp 951-962 2012
17 Shadi Ibrahim Hai Jin Lu Lu Song Wu Bingsheng He and Li Qi ldquoLEEN
LocalityFairness Aware Key Partitioning for MapReduce in the Cloudrdquo
2010 IEEE Second International Conference on Cloud Computing
Technology and Science (CloudCom) pp 17ndash24 2010
18 S Ibrahim H Jin L Lu L Qi S Wu and X Shi ldquoEvaluating MapReduce
on Virtual Machines The Hadoop Caserdquo Proceedings Conference Cloud
Computing (CloudCom 2009) Springer LNCS pp 519-528 2009 Dec
19 C Jin and R Buyya ldquoMapreduce programming model for net-based cloud
computingrdquo in Proceedings of the 15th International Euro-Par Conference
on Parallel Processing Euro-Par (Berlin Heidelberg) pp 417ndash428 2009
20 R Nanduri N Maheshwari A Reddyraja and V Varma ldquoJob aware
scheduling algorithm for Mapreduce frameworkrdquo in 3rd International
Conference on Cloud Computing Technology and Science
CLOUDCOM rsquo11 (Washington DC USA) pp 724ndash729 2011
35
21 Andrew J Page and Thomas J Naughton ldquoDynamic task scheduling using
genetic algorithms for heterogeneous distributed computingrdquo in 19th IEEE
International Parallel and Distributed Processing Symposium pp 189a
2005 April
22 Xiaoyu Sun Chen He and Ying Lu ldquoESAMR An Enhanced Self-Adaptive
MapReduce Scheduling Algorithmrdquo 2012 IEEE 18th International
Conference on Parallel and Distributed Systems pp 148-155 2012
23 Chao Tian Haojie Zhou Yongqiang He and Li Zha ldquoA Dynamic
MapReduce Scheduler for Heterogeneous Workloadsrdquo Eighth International
Conference on Grid and Cooperative Computing pp 218ndash244 2009 Aug
24 Jiong Xie Shu Yin Xiaojun Ruan Zhi-yang Ding Yun Tian James Majors
Adam Manzanares and Xiao Qin ldquoImproving mapreduce performance
through data placement in heterogeneous hadoop clustersrdquo in IPDPS
Workshops pp 1ndash9 2010
25 J Tan X Pan S Kavulya R Gandhi and P Narasimhan ldquoMochi Visual
Log-Analysis Based Tools for Debugging Hadooprdquo USENIX Workshop on
Hot Topics in Cloud Computing (HotCloud) pp 1-5 2009
26 Matei Zaharia Andy Konwinski Anthony D Joseph Randy Katz and Ion
Stoica ldquoImproving MapReduce Performance in Heterogeneous
Environmentsrdquo 8th Symposium on Operating Systems Design and
Implementation pp 29ndash42 2008 Dec
27 X Zhang Z Zhong S Feng B Tu and J Fan ldquoImproving Data locality of
MapReduce by Scheduling in Homogeneous Computing Environmentsrdquo in
9th IEEE International Symposium on Parallel and Distributed Processing
with Applications (ISPA) pp 120-126 2011
28 Apache hadoop Available from httphadoopapacheorg
29 MapReduce with a lot of examples for Mining datasets Available from
httpinfolabstanfordedu~ullmanmmdsbookpdf
Page 2
i
摘要
MapReduce 對於大規模平行資料是一個重要的編程模組Hadoop 提出的
MapRedcue 概念主要是在同質性環境下運算而在異構性環境下的運算效能可能
不盡理想因為在 Map 階段節點處理速度相同的情況下每個節點完成的
時間在固定的資料量下完成的時間會大致相同但是在節點處理速度不盡
相同的情況下完成的時間彼此不一樣則會造成先處理好的機器必須得等待
處理速度較慢的節點完成造成完成時間的延遲而 Reduce 階段原始的
Hadoop在挑選機器的時候只要有空的節點就拿去做運算沒考慮到網路溝
通成本的問題
本文提出兩種優化方法動態資料切割和虛擬機器對映以提高 Mapredcue
程式效率另外有一個優化技術稱為負載感知的虛擬機對映藉以提高在
Reduce 階段的負載平衡在 Map 階段根據虛擬機的效能將資料做動態切割
來給予相對應的 Worker使得完成時間盡量接近在 Reducer mapping 方面根
據 Communication locality來給予相對應的虛擬機進行運算此外負載感知的
虛擬機映對優化技術可以進一步使 Reduce phase 的完成時間縮短經由性能分
析結果顯示透過動態資料切割最多可以節省約莫 33的 Communication
Locality經由動態資料切割以及負載感知的虛擬機映對最多改善了 MapReduce
完成時間 41
關鍵字 MapReduce雲端計算Hadoop虛擬機器動態 Mapping
ii
ABSTRACT
MapReduce is an important programming model for large-scale parallel data
Hadoop proposed concepts of MapRedcue that mainly running in homogeneous
environmenton the operation performance may be less than ideal state in
heterogeneous environment In the Map phase with same processing speed of the
nodes the completion time of each node will be roughly the same when fixed amount
of data However the processing speeds are different in the case and completion time
was different when a good machine processed complete it has to wait for completion
of processing nodes slower completion time will delay And Reduce phase Hadoop
selects machine of the original as long as free takes to do computing nodes it does
not take into account the cost of network communication problems
This paper proposes two optimization methods dynamic data partitioning and
virtual machine mapping for improving the efficiency of MapReduce programs In
addition a loading aware virtual machine mapping technique is also presented to
enhance load balance in Reduce phase In Map phase the data will cut of dynamic
that give the corresponding worker according to the node performance let completion
time as close as possible In Reducer mapping aspect Reducer is according to the
communication locality to give the corresponding virtual machine In addition the
loading aware virtual machine mapping optimization techniques that can further
enable completion time become shorter of Reduce phase Performance analysis results
show that we can save up communication locality to approximately 33 by the
virtual machine mapping MapReduce improves completion time to 41 of maximum
by dynamic data partitioning and loading aware virtual machine mapping
iii
Keywords MapReduce Cloud computing Hadoop Virtual machines Dynamic
Mapping
iv
致謝
本篇碩士論文能夠順利完成在此要誠摯感謝我的指導教授許慶賢老師在
這段期間隨著跟老師的互動與討論之下對於我所想探知的領域也慢慢的深
入研究在寫論文的過程老師不斷的協助我對於原本凌亂的想法做整合在
遇到我無法理解問題的時候能夠不厭其煩的利用一些例子來使我更容易了解
並且對我的論文提出一些看法以及意見使我得論文更有組織性
再來就是要感謝實驗室的各位學長可以即時的幫助我解決我遇到的困難
在寫論文的時候告知我該注意的地方避免重蹈覆轍另外要感謝的是碩士班
的同學平常互相討論互相勉勵對方另外還要感謝學弟妹能夠幫我處理雜
事使我能夠專心在寫論文上
最後要感謝的是我的家人在我就學期間能夠支持與鼓勵我使我無後顧
之憂能夠專心的在寫論文上讓我能夠順利完成我的學業最後僅以此文獻
給我的師長以及在學的時候支持我的各位朋友以及家人
v
Contents
摘要 i
ABSTRACT ii
致謝 iv
Contents v
List of Tables vii
List of Figures viii
Chapter 1 Introduction 1
11 Background 1
12 Motivation 2
13 Contribution 2
14 Organization 3
Chapter 2 Related Works 4
21 Homogeneous Environment 4
22 Heterogeneity Environment 5
Chapter 3 Preliminary 8
31 Hadoop 8
32 MapReduce 9
33 Heterogeneous Classification 10
Chapter 4 Dynamic Data Partitioning and Locality Aware Virtual Machine
Mapping 11
41 Dynamic Data Partitioning 12
42 Locality Aware Virtual Machine Mapping 13
421 Best Fit 13
422 Priority 16
43 Loading Aware Virtual Machine Mapping 17
Chapter 5 Performance Analysis 19
51 Communication Locality 19
52 Task Excution Time 21
vi
Chapter 6 Conclusions and Future Works 32
Reference 33
vii
List of Tables
表一 Hardinfo benchmark 10
viii
List of Figures
圖一 MapReduce 的運作流程圖 9
圖二 整體方法流程圖 11
圖三 根據節點能力分配相對應大小的資料 12
圖四 Best Fit 挑選機器流程 14
圖五 Best Fit 挑選機器的不完善 15
圖六 Priority 挑選機器流程 16
圖七 Reducer 對應到其相對效率的 Worker 17
圖八 Communication locality (a) low heterogeneity vm=2 (b) low heterogeneity
vm=5 (c) high heterogeneity vm=2 (d) high heterogeneity vm=5 19
圖九 Map completion time (a) low heterogeneity vm=2 (b) low heterogeneity
vm=5 (c) high heterogeneity vm=2 (d) high heterogeneity vm=5 22
圖十 Reduce completion time (a) low heterogeneity vm=2 (b) low heterogeneity
vm=5 (c) high heterogeneity vm=2 (d) high heterogeneity vm=5 24
圖十一 Total completion time (a) low heterogeneity vm=2 pm=5 (b) low
heterogeneity vm=5 pm=2 (c) high heterogeneity vm=2 pm=5 (d) high
heterogeneity vm=5 pm=2 26
圖十二 Total completion time with different number of vm (a) low heterogeneity
vm=2 worker=12 (b) high heterogeneity vm=5 worker=12 28
圖十三 Total completion time with different data size 29
圖十四 Total completion time of loading aware optimization (a) without
optimization (b) with optimization 30
1
Chapter 1 Introduction
11 Background
網路的發展慢慢的成為人們生活中不可或缺的一部分因而產生許多要處
理的大量資料而這些資料在處理上有些許不同要如何處理這些不同的資料
變成一個很重要的議題因此雲端運算這類專有名詞從而衍生出來而在此
背景之下Google在2003年提出分散式檔案系統架構Google File System(GFS)
[11]2004年提出MapReduce架構 [8]可用來處理大規模的資料處理以及2006
年提出BigTable [5]這是基於Google File System針對資料結構化儲存的分散式系
統
在過去幾十年前個人電腦還沒有這麼普遍的情況下當時的電腦主要還是以
大型主機為主所有的工作都只能透過那一台主機運行既不方便也沒有彈性
因此IBM則在當時開發了一套虛擬機監視器(Virtual Machine Monitor)藉此將
大型主機的資源分割成多個虛擬機器提供給使用者使用這些虛擬機器可以模
擬成多個操作環境進而比一個操作環境來的更有效率現今虛擬化技術 [2]越
來越成熟雲端運算環境透過此技術整合了分散在各處的資源使資源可做一
個統整藉此提供各項的資訊服務
雲端運算(Cloud Computing)簡單來說它不是一個技術而是一個概念希
望可以藉由雲端叢集 [4]透過網際網路來處理在雲端存放的龐大資料而
Google提出的MapReduce架構Map階段的時候將這些龐大資料拆解成許多小
資料再交給雲端叢集的每個節點去做運算Reduce在讓每個節點將運算後的
結果進行整合再回傳給使用者這樣的方式由原本只能單一處理變成平行
處理進而加快了處理速度
2
Google雖然提出了多個雲端運算的技術但是並沒有開放原始碼出來使
得企業們受到局限直到Apache開發出Hadoop平台 [25]企業或使用者才可以
自己研發相關的MapReduce技術 [18][19][20]不再被受到限制MapReduce技
術具有高容錯性資源使用率高平行處理使得它在企業界備受青睞
12 Motivation
在一個大的群集裡原型的MapReduce會將進來的資料切割成固定大小
主要節點會將這些資料分散給各節點去做運算但是如果在異構性環境
[21][23]就無法根據機器的處理速度動態的分配資料給相對映的機器去做運
算在Map階段節點處理速度相同的情況下每個節點完成的時間會大致相同
但是在節點處理速度不盡相同的情況下完成的時間彼此不一樣則會造成最
先處理好的機器得等待處理速度較慢的節點完成因而拖累完成時間而在
Reduce階段則考慮到Communication locality的問題Communication locality是
指說Reducer在此節點運算的時候所能節省的溝通成本(意指不用到遠端節點
取資料的溝通成本)原始的MapReduce在挑選機器的時候是有機器就拿去
做運算而沒考慮此問題
13 Contribution
本論文針對以上的敘述做了改進首先測試每台機器的運算效能在Map
階段的時候根據節點的運算效能來決定負責的運算量進而達到平均完成時間
相近在Reduce階段評估Communication locality再根據Communication locality
來決定Reducer要選擇在哪台機器使其節省更多的Communication locality最
後透過Loading Aware Virtual Machine Mapping來改善Reduce階段的完成時間
3
14 Organization
本論文研究探討在異構性環境下每個節點運算效能不一致的情況下為了
要避免MapReduce運算所造成校能不佳的情況動態的調整Map mapping以及
Reducer mapping
本論文章節介紹如下第一章緒論簡述雲端運算的研究背景及研究動機與
目的以此為基礎第二章相關研究介紹前人所提出的MapReduce改善方法
第三章Preliminary介紹HadoopMapRedcue的流程以及定義異構性環境第四
章演算法介紹MapReduce的各階段流程以及介紹本篇論文所提出的動態資料
切割和虛擬機對映兩種技術的流程另外提出了一個優化技術第五章性能分
析透過實驗模擬的結果將其結果分析與比較最後第六章為結論以及未來
可以繼續研究的方向
4
Chapter 2 Related Works
MapReduce 是目前非常流行的分散式運算的架構主要是透過網際網路來處
理在雲端上儲存的大量資料將要執行的 MapReduce 程式複製到 Master node 以
及各個WorkerMaster node會決定要給哪台Worker去執行Map程式或者Reduce
程式透過 Map 程式將資料切成許多區塊經過 Map 階段產生出 Key Value
將此 Key Value 存儲在 Local disc然後經過 Shuffle(將相同屬性的 key 排序在
一起)而 Reduce 程式將這些 Shuffle 後的結果進行整合最後再將結果產生出
來由於 MapReduce 一開始主要是在節點效能大致相同的情況下去執行對於
節點效能不一致的情況 (也就是所謂的異構性環境)導致會有一些效能不盡理
想的狀態出現 [10]並且隨著虛擬技術的成熟虛擬機器可以將實體機資源
更有效的利用慢慢的開始以虛擬機器作為 Cluster而且MapReduce 在以虛
擬機器建立起的異構性環境之下對於 IO 負載不平衡 [12][13][16]以及任務排
程 [1][6][15]不平均的部份目前已經有許多相關文獻在探討此方面
21 Homogeneous Environment
由 Shadi Ibrahim 等人在 2010 年時所提 LEEN [17]的方法在 Map 階段因
為原始的 MapReduce 架構沒有考慮資料的內容盲目的以資料數量區分導致
Shuffle 階段時會出現分配不平均的現象為了改善此部份LEEN 將每筆資料
計算出 Fairness Score 後根據 Locality [3][27]概念分析與比較將資料適當地放
在各個節點上達到平均分配的效果透過這樣的想法我們將此概念延伸到
Reducer 挑選機器是根據 Communication locality而不是盲目的去選擇有空的
Worker
5
MapReduce是主從式架構具有樹狀網路分佈的結構節點分布在不同的主
機上或者可能在不同的資料中心的主機上則兩個節點要溝通的話則需要
透過網路而頻寬會影響之間傳輸的速度在MapReduce的Worker接受到Master
的要求從而排程Map和ReduceHadoop企圖排程將比較靠近的資料做Map
tasks以避免在網路上增加過多的overhead至於Reduce tasks則沒有考慮到此部
份因此在進行shuffle的時候不必要的資料在網路上可能會降低校能遙遠
的節點資料傳送已經成為一個瓶頸而Mohammad Hammoud等人在2011提出
的論文著重在Reduce任務的部分透過網路位置做分區來做排程因此形成
了LARTS 的策略 [14]而且還觀察到MapReduce在Map Tasks完成後進行
shuffling的動作此步驟是用交錯的方式先前的方法在Shuffling這個動作的
時候使MapReduce的性能提高但是卻增加了網路的負載而LARTS保持了
此Shuffling的優勢還減少了網路的負載但是此篇論文著重在Reduce task的
部份至於Map task的部份並未做優化的部份
22 Heterogeneity Environment
Hadoop原先假設在節點相同的環境下運行但是實際上環境內的節點並
不是每次都是一致的當Hadoop運行在異構性環境對於性能上是有很大的落
差由Matei Zaharia等人提出的LATE (Longest Approximate Time to End) [26]針
對其任務的排程上做改良重新設計了一個新的Speculative task會估算完成時
間根據完成時間在去調整任務上的分配雖然對回應時間有點影響但是
整體性能明顯的比Hadoop改善很多而Quan Chen等人在2010年所提出的SAMR
(Self-adaptive MapReduce Scheduling Algorithm) [7]自動適應MapReduce的調動
排程主要是計算任務進度根據歷史資料動態調整Map任務以及Reduce任務
並且可以識別在節點上執行較慢的任務將其任務不做備份工作使其完成時
6
間可以降低在 2012年由Xiaoyu Sun等人提出的 ESAMR (An Enhanced
Self-Adaptive MapReduce Scheduling Algorithm) [22]增強自適應MapReduce的調
度算法以提高Speculative task在SAMR識別慢任務可能不是這麼準確但
是在ESMAR裡它們使用集群演算法轉化改進了這一部分使其識別慢任
務達到一定的準確ESAMR研究結果的誤判率明顯降低
由於Hadoop在異構性環境會造成資料分配不平均的現象所以由
Yuanquan Fan等人提出了在Map階段重新平衡資料分配的方法 [9]而此篇論文
平衡的方法有兩種(1) 根據性能來分配-主要是分成不同大小的資料區塊首先
將每個節點進行性能評估然後資料切成不同大小根據節點的計算能力來分
配相對應的節點(2) 資料動態搬遷-儘管不同大小的資料被分配在每一個節點
上再來估算任務完成時間將執行最慢的任務的部份資料轉移到執行最快的節
點有些任務可能會隨著時間的關係或者網路的關係慢慢延後所以將這些延
後的資料轉移給其他節點去運算其缺點就是資料的搬移時間和成本並沒考慮至
其中以及Reduce phase階段可能因為資料搬移的情況導致Reduce phase的
Communication overhead變重
傳統的 MapReduce 架構是考慮每台機器的規格都相同所以資料平均分
配後所處理完成的時間也都會是一樣在雲端運算環境中往往都是數百台或
著上千上萬台機器在同時運算機器的規格也不盡相同因此 Jiong Xie 等人在
2010 年所提出的 Data Placement [10]的方法將每個電腦區分出 3 個等級分別
是 FastestAverage 及 Slowest不同的等級取得運算資料份量也不同並建立一
張表紀錄目前有哪些機器處於忙碌壅塞狀態有那些機器處於閒置狀態並且
將忙碌的機器的資料分出 3 個等級平均分配資料直至平均為止使得每台
機器資源利用率是相近的雖然這樣的動機很好但是對於資料遷移所花的
時間以及成本是沒考慮的
根據上述研究不足的地方我們提出了MapReduce在異構性環境裡在Map
7
階段將資料切割成不固定大小依據節點能力的不同做出適當的配置在
Reduce階段根據Communication locality 找出適合在哪一台機器上執行最
後再透過優化技術把本篇論文方法的執行時間縮短一些
8
Chapter 3 Preliminary
31 Hadoop
Hadoop架構是由Apache所開發的開放原始碼提供了一個分散式系統的基
本架構Hadoop雲端運算技術主要由三個主要架構所組成 Hadoop Distributes
File System (HDFS)分散式檔案系統Hadoop Database (HBase)分散式資料庫以及
Hadoop MapReduce分散式平行運算以下一一敘述
HDFS (Hadoop File system) 是根據Google提出的GFS(Google File System)所
延伸的主要就是將各個節點連結起來將這些節點組成一個大型的分散式檔案
系統可以有效的處理大量檔案並提供安全的儲存環境以及可以避免因為單一
的硬體發生異常而影響整個系統
而HDFS為了維護資料的一致性當使用者將資料存進去HDFS就不能去
更動或修改HDFS會將要儲存的資料複製副本分散儲存在各個不同的節點
所以當儲存資料的節點發生異常可藉由其他節點來復原
HBase (Hadoop Database)類似Google BigtableHBase架構在Hadoop HDFS
上的分散式資料庫與ㄧ般關聯式資料庫不同HBase使用列和行為索引存取資
料值以及每一筆資料都有一個時間戳記因此同一個欄位可以因為時間的不同
而存在多筆資料
HBase專門用來處理大規模的資料是由HMasrter以及HRegion組成一台
HMaster管理多部HRegion ServerHMaster負責監控與管理HRegion Server系統狀
態而HRegion Server利用記憶體存取快速的優點可以加速資料讀寫的動作
所以會先將資料存放在記憶體內之後再將資料存回HDFS
9
32 MapReduce
雲端運算最重要的關鍵即是MapReduce使用MapReduce模式將一個大問
題先讓程式開發人員分析問題將問題切割成許多小問題在將此小問題平行
分散給各個Mapper當Mapper處理完的結果在傳送到相對映的Reducer去做運
算Reducer將這些結果進行合併在把合併的結果輸出
Split 0
Split 1
Split 2
Mapper
Mapper
Mapper
Reducer
Reducer
Partition 0
Partition 1
Partition 0
Partition 1
Partition 0
Partition 1
Output
File0
Output
File1
Input
File
Master
User
Map
Phase
Intermediate file
(on local disks)
Reduce
PhaseOutput
File
圖一 MapReduce的運作流程圖
如圖一即為MapReduce流程圖
1 將輸入的資料切割成固定大小
2 將要執行的MapReduce程式複製到Master與每一台Worker
3 Master會挑選閒置的Worker當Mapper或Reducer
4 Mapper會從切割好的資料讀取相對映的資料會產生Key Value會先暫
存在記憶體內再週期性的傳送到Local Disc
5 執行Reducer程式的Worker讀取每一個Mapper的結果並進行排序以及彙
整再將整合的結果輸出
10
33 Heterogeneous Classification
MapReduce 在異構性環境下執行已經是越來越多人討論的議題如何將
每個節點分級也有相當多的Benchmark可以做測試本篇論文採用的Benchmark
為 Hardinfo透過虛擬機器去做測試
表一 Hardinfo benchmark
如表一1_2 前面的數字代表核心數目後面的數字代表 Memory 有多少
GB而這個 Hardinfo 本身內含有許多測試的軟件我們測了兩個實驗CPU
Blowfish 以及 CPU CryptoHash這兩個都是跟加密有關的CPU Blowfish 運行
在單核心以及四核心的虛擬機器上所花費的秒數兩個相差了 5 倍因此我
們定義異構性等級為 1 到 5也就是所謂的高異構性環境CPU CryptoHash 運行
在單核心以及四核心的虛擬機器上每秒能壓縮的資料相差了三倍因此我
們定義異構性等級為 1 到 3也就是所謂的高異構性環境我們之後的實驗根
據這兩個異構性等級做參數
11
Chapter 4 Dynamic Data Partitioning and Locality
Aware Virtual Machine Mapping
原始的 Hadoop 在同質性環境執行 MapReduce 程式每個節點運算能力大
致相同所以在 Map 階段並不會有互相等待的結果發生但是在異構性的
環境之下每個節點的 Worker 彼此之間運算速度不同導致先完成的必須得
等速度較慢的節點完成因而執行時間變長而在 Reduce 階段沒有考慮
Communication Locality 的問題即使是用虛擬機架設的環境也是一樣所以
隱藏著一些 Communication overhead 的問題本篇論文主要探討此兩問題
圖二 整體方法流程圖
如圖二所示將資料從 HDFS 讀取進來因為每個節點不能去從其他節點讀
取資料來做因此只能將自己節點資料作完等待其他節點完成後才可繼續
執性 Reduce 階段因此在 Map mpping 階段是根據節點內部的虛擬機性能來
決定節點內部資料的分配而不是固定資料大小丟給效能不一致的虛擬機器來做
12
運算在 Reduce mapping 階段是根據 Locality aware 來選擇機器選擇節省成本
最多的機器以及最後有個節點內部動態調整機制為了減少Reducer完成的時間
41 動態資料切割
在同質性環境 (即為每個節點設備大致相同)運行MapReduce當Worker
完成Map階段任務必須等待其他Worker完成才能進行下一個動作因為每台
節點運算能力大致相同所以當執行Map階段結束後每台節點完成時間是大
致相同的而在異構環境下 (每個節點設備不盡相同則會產生出一個問題在
運算效能不一致的情況會造成在Map程式執行完成的時間變長因為當資料相
同可是每個節點運算能力不一樣就會彼此互相牽制為了要避免此情況發生
所以本篇論文用動態資料切割的方法來解決此問題
圖三 根據節點能力分配相對應大小的資料
動態資料切割的方法得先知道每個Worker的運算能力根據運算能力動
態切割資料大小如圖三所示每個節點運算能力較好的Worker就分配到資料
較多的Partition去做處理而運算能力較差的Worker就分配到較少的Partition使
得每個節點內部的Worker完成時間接近就不會有處理速度比較快的節點完成後
13
必須要等待處理速度比較慢的節點而資料分配方式就是根據Performance
也就是前面所提到的異構性等級的數值相加起來 (Worker處理速度越快則等級
越高)將要處理的資料以及總數值相除會得到一個平均值這個平均值去乘
上等級也就是Worker要處理的資料量
42 Locality Aware Virtual Machine Mapping
由於虛擬機的使用可以充分利用資源所以現在一台實體機可架設多
台虛擬機所以同一台實體機內部有兩台虛擬機當這兩台互相交換資料的
時候其實網路的負載是很低的但是如果是兩台實體機交換資料網路的負
載會變很高在執行Map階段之後資料都儲存在Local disk裡Reducer要怎麼
選擇機器使得Communication locality節省更多而這個即是本篇論文要探討的
第二個問題
421 Best Fit
本篇論文提出了一個 Best Fit 方法這個方法的概念是讓 Reducer 選擇在哪
一台節點上運行使其 Communication locality 節省最多接下來在找出節點內
Performance 最好的 Worker 來當 Reducer而不是像 Hadoop 的 MapReduce 是照
順序去分配這樣的選擇方式是因為節點與節點之間資料傳遞的Communication
overhead 是相當大的而節點內部之間的 Communication overhead相較起來小
很多而讓 Communication locality 節省越多也可以讓 Communication overhead
降低
14
圖四 Best Fit挑選機器流程
1 如圖四所示假設一台實體機上(P1)架設兩台虛擬機(v1v2)根據虛擬
機的運算能力分配相對映的資料量v1即為25單位v2即為22單位以此類
推
2 執行Map程式產生出k值因為有三台Reducer(R1R2R3)所以產生出
3個k值v1虛擬機的k1值為7k2值為10k3值為8而這v1的所有k值相加即為
v1所負責的資料量v1虛擬機k1值為10k2值為9k3值為3而這v2的所有k值
相加為v2所負責的資料量v3也是一樣
3 先從R1要挑選哪台VM開始首先把每個VM所產生出的k1值相加得到一個
總和即為57單位底下看到有三個數值第一個數值即為R1如果在P1這
台機器上運行的話所耗費的遠端溝通成本(要到P2P3取資料的溝通成本)
則第二個數值即為R2在P2這台機器上運行的話所耗費的遠端溝通成本
第三個也是
4 把總共要處理的資料減掉到遠端耗費的溝通成本會得到一個數值即為
15
Communication localityR1如果選擇P1機器運行則Communication locality
為17單位R1如果選擇P2機器運行則Communication locality為18單位R1
如果選擇P3機器運行則Communication locality為22單位R1挑選最多的
Communication locality的機器來運行所以R1選擇P3機器來做運算
5 R1選擇P3實體機而P3實體機有2台虛擬機所以在根據虛擬機的運算能力
先挑選運算能力好的來做為R1
6 如果節點的虛擬機都被挑選完就選第二順位的節點
原始的HadoopR1挑選v1而R2挑選v2照順序的挑選所以沒有考慮到溝
通成本則本篇論文Best fit是根據Communication locality來挑選機器但是
可能在某ㄧ些情況可能不夠完善
圖五 Best Fit 挑選機器的不完善
如圖五所示當Communication locality可以選擇很高的節點卻因為前面的
Reducer把節點內部的Worker挑選完了所以逼不得已只能挑選第二順位的節
點可是這個Communication locality遠遠低於前面Reducer挑選的節點導致整體
的Communication locality大幅下降因此422 Priority即為改善的方法
16
422 Priority
為了確保每個Reducer都能挑選Communication locality最高的機器因此
此章節做了改善
1 在Reducer在挑選機器之前先判斷Reducer哪台要先下去做挑選
2 將每台Reducer最高的Communication locality的跟第二高的相減會得到一個
Difference locality在利用Difference locality下去做排序由大到小
3 Difference locality越大的代表那台Reducer要優先做挑選所以就從
Difference locality越大的挑選到Difference locality最小的
圖六 Priority挑選機器流程
1 如圖六所示R1總共的Data block為57單位R2為42單位R3為41單位經過
Shuffle階段之後
2 R1如果選擇P1這台機器能節省的Communication locality就是17單位R1如果選
擇P2這台機器能節省的Communication locality就是18單位R3如果選擇P2這台
機器能節省的Communication locality就是22單位
3 根據Communication locality將第一高的減掉第二高的會得到一個Difference
17
locality
4 根據此Difference locality排出哪個Reducer要先選取機器此例子的順序為
R2再來R3再來R1而Best Fit就是R1再來R2再來R3
Priority可以避免前面的Reducer把機器挑選完迫使只能選擇第二高的
Communication locality使這樣大幅降低的情況給消除而Best fit和Priority這兩
種方法大幅提高了Communication locality的狀況可是卻也導致了Reduce階段
的完成時間變長所以下章節主要敘述將Reduce階段完成時間優化
43 Loading Aware Virtual Machine Mapping
上述的兩種方法Best fitPriority都是為了降低節點彼此之間的溝通成本
但是卻引發了一個問題Reducer執行完成的時間比原始Hadoop還來得長為
了解決此問題本篇論文在這章節提出優化的方法前面兩種方法是根據節點
的Communication locality來決定要在哪一台Worker做運算當決定好Worker
的時候Reducer會先將運算能力較好的虛擬機器拿去做運算這樣使得運算較
快的機器並不會對映到運算較複雜的資料使得較早完成的機器還是得等候還沒
做好的機器造成時間上的延長所以本篇論文針對此部份做優化
圖七 Reducer對應到其相對效率的Worker
18
如圖七所示當Reducer都挑選好要在哪台實體機做在開始執行Reduce程
式之前我們根據要處理的資料量來分配相對映的機器而這虛擬機的交換
並不會影響到Communication locality因為都是在同一台實體機架設的虛擬機
器做交換
19
Chapter 5 Performance Analysis
本實驗以模擬的方式進行利用 C 語言程式撰寫可設定節點數量節點
裡的 Worker 數量資料大小異構性環境低 (h = 1-3)或高 (h = 1-5)透過模擬
的實驗數據分析基於 Hadoop 的 MapReduce 以及本篇論文透過 Map mapping
和 Reduce mapping 的方式進而改善原始 MapReduce 所造成的缺點
51 Communication Locality
本模擬實驗主要探討的是 Communication Locality圖八(a)和圖八(b)模擬環
境為低異構性圖八(c)和圖八(d)為高異構性環境固定每台實體機架設 2 台以
及 5 台虛擬機器固定 Worker 總數量分別為 102030要處理的資料為 900G
Communication locality(vm = 2 h = 1-3)
0
50
100
150
200
250
300
10 20 30
Number of vm
Dat
a lo
cali
ty
Hadoop
Best Fit
Priority
(a)
20
Communication locality(vm = 5 h = 1-3)
0
100
200
300
400
500
600
10 20 30Number of vm
Dat
a lo
cali
ty
Hadoop
Best Fit
Priority
(b)
Communcation Locality(vm = 2 h = 1-5)
0
50
100
150
200
250
300
10 20 30Number of vm
Dat
a lo
cali
ty
Hadoop
Best Fit
Priority
(c)
Communcation locality(vm = 5 h = 1-5)
0
100
200
300
400
500
600
10 20 30
Number of vm
Dat
a lo
cali
ty
Hadoop
Best Fit
Priority
(d)
圖八 Communication locality (a) low heterogeneity vm=2 (b) low heterogeneity
vm=5 (c) high heterogeneity vm=2 (d) high heterogeneity vm=5
21
由圖八(a)可看出本篇論文提出的兩個方法在低異構性環境所能節省的
Communication Locality 比原始的 Hadoop 提出的方法最多節省了 33的
Communication Locality圖八 (b)也最多節省了約 12的 Communication
Locality雖然節省在固定架設的虛擬機器為兩台的時候節省比較多但是
兩個實驗節省的 Communication Locality 量卻相差了快 2 倍原因是在於 Map 階
段完成的資料都儲存在 Local disc兩台實體機在交換資料的時候溝通成本是
很高的而建立在同一台實體機的兩台虛擬機器交換資料則溝通成本卻來的低
很多 因此溝通成本量的提高也會被實體機上架設的虛擬機器的多寡來影
響
由圖八(c)所示在高異構性最多可節省 27的 Communication Locality圖
八(d)則為 15的 Communication Locality分別從圖八(a)圖八(c)圖八(b)以及
圖八(d)可以看得出來Best Fit 和 Priority 不會隨著異構性環境的高低溝通成
本量會有大幅度的改變而 Priority 在節省的 Communication Locality 都會比 Best
Fit 都來的多一點因為Priority 可以避免前面的 Reducer 把機器挑選完迫使
只能選擇第二高的Communication location 因此大幅降低的情況給消除
52 Task Execution Time
此節實驗是要探討 Map 以及 Reduce 完成的時間圖九(a)和圖九(b)為低異構
性環境的實驗圖九(c)和圖九(d)為高異構性環境都是固定每台實體機架設 2
台以及 5 台虛擬機器所以固定虛擬機器總數量分別為 102030要處理
的資料為 900G
22
Map completion time(vm = 2 h = 1-3)
0
20
40
60
80
100
10 20 30
Number of vm
Sec
ond
Hadoop
Best Fit amp Priority
(a)
Map completion time(vm = 5 h = 1-3)
0
20
40
60
80
100
10 20 30Number of vm
Sec
ond
Hadoop
Best Fit amp Priority
(b)
Map completion time(vm = 2 h = 1-5)
0
20
40
60
80
100
10 20 30Number of vm
seco
nd
Hadoop
Best Fit amp Priority
(c)
23
Map completion time(vm = 5 h = 1-5)
0
20
40
60
80
100
10 20 30Number of vm
seco
nd
Hadoop
Best Fit amp Priority
(d)
圖九 Map completion time (a) low heterogeneity vm=2 (b) low heterogeneity
vm=5 (c) high heterogeneity vm=2 (d) high heterogeneity vm=5
圖九(a)圖九(b)圖九(c)以及圖九(d)顯示了本論文提出的兩個方法 Best Fit
和 Priority 他們完成的時間是一樣的因為兩個方法的 Map mapping 概念是一樣
的所以完成時間也會一樣在此實驗裡可發現 Best Fit 和 Priority 也會隨著
實體機上的虛擬機器數量增多而完成時間縮短而縮短的時間最多甚至可以達
到 44也可看出本論文的兩個方法在低異構性環境的效能比在高異構性環境
的效能來的較差所以在異構性越高的環境越能看得出 Best Fit 和 Priority
的優勢
24
Reduce completion time(vm = 2 h = 1-3)
0
20
40
60
80
100
120
10 20 30Number of vm
Sec
ond
Hadoop
Best Fit
Priority
(a)
Reduce completion time(vm = 5 h = 1-3)
0
20
40
60
80
100
120
10 20 30Number of vm
Sec
ond
Hadoop
Best Fit
Priority
(b)
Reduce completion time(vm = 2 h = 1-5)
0
20
40
60
80
100
120
10 20 30Number of vm
seco
nd
Hadoop
Best Fit
Priority
(c)
25
Reduce completion time(vm = 5 h = 1-5)
0
20
40
60
80
100
120
10 20 30Number of vm
Sec
ond
Hadoop
Best Fit
Priority
(d)
圖十 Reduce completion time (a) low heterogeneity vm=2 (b) low
heterogeneity vm=5 (c) high heterogeneity vm=2 (d) high heterogeneity vm=5
而在 Reduce 完成時間的方面不像 Map 的完成時間是一樣的因為選
擇 Reducer 的方式不同造成 Best Fit 以及 Priority 時間完成上有些許不同
如圖十(a)所示節省了 14的時間圖十(b)節省了 16的時間圖十(c)
節省了 23圖十(d)節省了 29由圖十(b)以及圖十(d)可見影響 Reduce
階段完成時間最主要的原因是異構性環境的問題當環境的異構性越高其
所節省的時間越多而圖十(c)以及圖十(d)所示一台實體機架設的虛擬機器數
量影響的範圍比較小
26
Total completion time (vm = 2 pm = 5 h = 1-3)
0 50 100 150 200 250
Hadoop
Best Fit
Priority
Met
hod
Second
Map Reduce
(a)
Total completion time(vm = 5 pm = 2 h = 1-3)
0 50 100 150 200
Hadoop
Best Fit
Priority
Met
hod
Second
Map Reduce
(b)
Total completion time(vm = 2 pm = 5 h = 1-5)
0 50 100 150 200 250
Hadoop
Best Fit
Priority
Met
hod
Second
Map Reduce
(c)
27
Total completion time(vm=5 pm = 2 h = 1-5)
0 50 100 150 200
Hadoop
Best Fit
Priority
Second
Met
hod
Map Reduce
(d)
圖十一 Total completion time (a) low heterogeneity vm=2 pm=5 (b) low
heterogeneity vm=5 pm=2 (c) high heterogeneity vm=2 pm=5 (d) high
heterogeneity vm=5 pm=2
由於前面分別是 Map以及 Reduce的完成時間為了想知道Map以及 Reduce
對於 MapReduce 的整體影響我們將前面的 Map 以及 Reduce 的完成時間在
處理資料的節點固定為 10 台 Worker將其做整合
從圖十一(a)圖十一(b)圖十一(c)圖十一(d)顯示 Best Fit 和 Priority 不論
是在低異構性或高異構性環境MapReduce 完成時間都比 Hadoop 的完成時間縮
短很多在低異構性環境最多可縮短到 29的時間在高異構性環境最多可縮
短 41的時間而造成 Hadoop 跟 Best Fit 和 Priority 在時間上差異如此大的原
因主要是在 Map 階段的完成時間因為Best Fit 和 Priority 是根據 Worker 的
效能來決定要處理的資料大小而 Hadoop 就是分配固定大小的資料給 Worker
運算所以在越高的異構性環境其縮短的時間會越明顯
28
Total completion time with different number of vm (h=1-3)
0
20
40
60
80
100
120
vm=2 vm=3 vm=4Number of vm per physical machine
Sec
ond
Hadoop
Best Fit
Priority
(a)
Total completion time with different number of vm (h=1-5)
0
20
40
60
80
100
120
vm=2 vm=3 vm=4Number of vm per physical machine
Sec
ond
Hadoop
Best Fit
Priority
(b)
圖十二 Total completion time with different number of vm (a) low heterogeneity
vm=2 worker=12 (b) high heterogeneity vm=5 worker=12
圖十二(a)是在低異構性環境圖十二(b)是在高異構性環境並且1 台實體
機架設 2 個3 個4 個虛擬機器使 Worker 數量固定 12 台處理的資料量為
600G
這個模擬實驗主要探討的是在一台實體機架設的虛擬機器數量對於
MapReduce 完成時間是否真正有影響圖十二(a)和圖十二(b)更可以顯示出 Best
Fit 和 Priority 在異構性越高的環境裏且一台實體機架設越多虛擬機器來當作
Worker 的時候可以縮短更多的時間前者會縮短 Map 的完成時間後者會縮
29
短 Reduce 的完成時間而 Hadoop 在異構性環境高的時候也有些微的縮短一
些時間
Total completion time with different data size (h=1-5)
0
20
40
60
80
100
120
140
400 600 800 1000 1200
Data
Sec
ond
Hadoop
Best Fit
Priority
圖十三 Total completion time with different data size
在上述的實驗中在同樣的資料大小處理的 Worker 數量越多的時候其
完成時間會縮短很多但是到達一定的數量的時候其縮短時間的效果就很低
所以就做了此實驗因為本篇論文就是要探討異構性的環境選擇高異構性
環境固定 Worker 數量 20 台資料大小由 400G 到 1200G探討資料大小對
MapReduce 以及 Worker 的影響如圖十三顯示出在 600G 以下的時候Map 加
上 Reduce 完成的時間突然靠近起來代表了當資料量越小的時候Best Fit 和
Priority 的方法跟原始的 Hadoop 的方法優勢會越來越少但相反的是當資料
量越大的時候雖然Best Fit 和 Priority 完成時間會增加但是跟 Hadoop 的
完成時間比會更加突顯
30
Total completion time (best fit)
0
10
20
30
40
50
60
70
80
(Without optimization) (Optimization)
Best Fit
Sec
ond
Map Reduce
(a)
Total completion time (priority)
0
10
20
30
40
50
60
70
80
(Without optimization) (Optimization)
Priority
Sec
ond
Map Reduce
(b)
圖十四 Total completion time of loading aware optimization (a) without
optimal (b) with optimization
圖十四(a)未使用優化技術圖十四(b)是使用優化技術同樣都是在高異構
性環境之下並且1 台實體機架設 5 個虛擬機器使 Worker 數量固定 15 台
處理的資料量為 900G
在本篇論文方法的部份有提到Loading Aware Virtual Machine Mapping的優
化技術由於此實驗上面的實驗數據都已經使用優化技術來改善時間因此
此實驗就是要探討這優化技術對於MapReduce完成時間的影響
由於Loading Aware Virtual Machine Mapping此優化技術是變動同一台實體
31
機內部的Reducer使得原本是根據Communication locality來選擇虛擬機器但
是在挑選的過程中並沒有依據處理資料的大小分配到其處理速度相對映的
虛擬機器而這優化技術就是將同一台實體機內的虛擬機器重新分配由於此
優化技術並不會影響Communication locality所以這部份並沒有在此實驗探討
圖十四(a)圖十四(b)顯示未使用優化技術的Best fit和Priority的MapReduce
完成時間雖然比Hadoop的方法好但是其Reduce phase完成時間上慢了一些
並且可以看出此優化技術並不會影響到Map phase主要影響的是在Reduce階
段在Reduce階段的完成時間上利用優化技術可以將Reduce階段時間縮短其13
32
Chapter 6 Conclusions and Future Works
目前 Hadoop 資料處理的環境還是應用在群集內節點效能是相同的情況下
如果是異構性環境可能就無法這麼有效率的處理本篇論文提出了兩個方法
動態資料切割和虛擬機對映以及一個優化技術 Loading aware virtual machine
mapping模擬實驗結果表明透過本篇方法來得比 Hadoop 縮短 41的時間以
及最多節省 Communication Locality 約莫 33尤其在異構性越高的環境以及
一台實體機器架設的虛擬機器數量越多改善的效果越明顯另外 Loading
aware virtual machine mapping 優化技術改善了 Reduce phase 的完成時間約莫
13
在未來研究上可以朝著動態調整 Reducer 數量的方向前進當固定大小的
資料上其實有時候過多的節點去運算消耗了大量的運算資源卻只得到一些
秒數的縮短如何利用適當的運算資源來得到最大的利益這是相當重要的議
題由於此實驗都是屬於模擬實驗希望在未來可以實際架設在機器上運行
透過 Benchmark得到真正的數據
33
Reference
1 Masato Asahara Shinji Nakadai and Takuya Araki ldquoLoadAtomizer A
Locality and IO Load aware Task Scheduler for MapReducerdquo in 4th IEEE
International Conference on Cloud Computing Technology and Science
(CloudCom) pp 317-324 2012
2 Paul Barham Boris Dragovic Keir Fraser Steven Hand Tim Harris Alex
Ho Rolf Neugebauer Ian Pratt and Andrew Warfield ldquoXen and the Art of
Virtualizationrdquo SOSP 03 Proceedings of the nineteenth ACM symposium
on Operating systems principles vol 37 Issue 5 pp 164-177 December
2003
3 Xiangping Bu Jia Rao and Cheng Zhong Xu ldquoInterference and
Locality-Aware Task Scheduling for MapReduce Applications in Virtual
Clustersrdquo Proceeding HPDC 13 Proceedings of the 22nd international
sym-posium on High-performance parallel and distributed computing pp
227-238 2013
4 Kasim Selcuk Candan Jong Wook Kim Parth Nagarkar Mithila Nagendra
and Ren-wei Yu ldquoScalable Multimedia Data Processing in Server Clustersrdquo
IEEE MultiMedia pp 3-5 2010
5 Fay Chang Jeffrey Dean Sanjay Ghemawat Wilson C Hsieh Deborah A
Wallach Mike Burrws Tushar Chandra Andrew Fikes and Robert EGruber
ldquoBigtable A Distributed Storage System for Structured Datardquo 7th UENIX
Symposium on Operating Systems Design and Implementation pp 205-218
2006
6 P C Chen Y L Su J B Chang and C K Shieh ldquoVariable-Sized Map and
Locality-Aware Reduce on Public-Resource Gridsrdquo in Proceedings
Conference Grid and Pervasive Computing (GPC 2010) pp 234-243 2010
May
7 Q Chen D Zhang M Guo Q Deng and S Guo ldquoSamr A self adaptive
mapreduce scheduling algorithm in heterogeneous environmentrdquo in 10th
IEEE International Conference on Computer and Information Technology
CIT rsquo10 (Washington DC USA) pp 2736ndash2743 2010
8 Jeffrey Dean and Sanjay Ghemawat ldquoMapReduce Simplified Data
Processing on Large Clustersrdquo Communications of the ACM vol 51 no 1
pp 107ndash113 2008
9 Yuanquan Fan Weiguo Wu Haijun Cao Huo Zhu Xu Zhao and Wei Wei
34
ldquoA heterogeneity-aware data distribution and rebalance method in Hadoop
clusterrdquo 2012 Seventh ChinaGrid Annual Conference pp 176-181 2012
10 Zacharia Fadika Elif Dede Jessica Hartog and Madhusudhan Govindaraju
ldquoMARLA MapReduce for Heterogeneous Clustersrdquo in 12th IEEEACM
International Symposium on Cluster Cloud and Grid Computing pp 49-56
2012
11 Sanjay Ghemawat Howard Gobioff and ShunTak Leung ldquoThe Google file
systemrdquo In Proceedings of 19th Symposium on Operating Systems
Principles pp 29-43 2003
12 Sven Groot ldquoJumbo Beyond MapReduce for Workload Balancingrdquo Fuzzy
Systems and Knowledge Discovery (FSKD) 2011 Eighth International
Conference on Cloud Computing Technology and Science vol 4 pp
2675-2678 2011 July
13 B Gufler N Augsten A Reiser and A Kemper ldquoHandling Data Skew in
MapReducerdquo in Proceedings of CLOSER pp 574ndash583 2011
14 Mohammad Hammoud and Majd F Sakr ldquoLocality-Aware Reduce Task
Scheduling for MapReducerdquo Third IEEE International Conference on
Cloud Computing Technology and Science pp 570-576 2011
15 C He Y Lu and D Swanson ldquoMatch-making A New MapReduce
Scheduling Techniquerdquo IEEE Third International Conference on Cloud
Computing Technology and Science (CloudCom) pp 40ndash47 2011
16 Hung Chang Hsiao Huesh Yi Chung Haiying Shen and Yu Chang
ChaoldquoLoad Re-balancing for Distributed File Systems in Cloudsrdquo IEEE
Trans on Parallel and Distributed Systems vol24 pp 951-962 2012
17 Shadi Ibrahim Hai Jin Lu Lu Song Wu Bingsheng He and Li Qi ldquoLEEN
LocalityFairness Aware Key Partitioning for MapReduce in the Cloudrdquo
2010 IEEE Second International Conference on Cloud Computing
Technology and Science (CloudCom) pp 17ndash24 2010
18 S Ibrahim H Jin L Lu L Qi S Wu and X Shi ldquoEvaluating MapReduce
on Virtual Machines The Hadoop Caserdquo Proceedings Conference Cloud
Computing (CloudCom 2009) Springer LNCS pp 519-528 2009 Dec
19 C Jin and R Buyya ldquoMapreduce programming model for net-based cloud
computingrdquo in Proceedings of the 15th International Euro-Par Conference
on Parallel Processing Euro-Par (Berlin Heidelberg) pp 417ndash428 2009
20 R Nanduri N Maheshwari A Reddyraja and V Varma ldquoJob aware
scheduling algorithm for Mapreduce frameworkrdquo in 3rd International
Conference on Cloud Computing Technology and Science
CLOUDCOM rsquo11 (Washington DC USA) pp 724ndash729 2011
35
21 Andrew J Page and Thomas J Naughton ldquoDynamic task scheduling using
genetic algorithms for heterogeneous distributed computingrdquo in 19th IEEE
International Parallel and Distributed Processing Symposium pp 189a
2005 April
22 Xiaoyu Sun Chen He and Ying Lu ldquoESAMR An Enhanced Self-Adaptive
MapReduce Scheduling Algorithmrdquo 2012 IEEE 18th International
Conference on Parallel and Distributed Systems pp 148-155 2012
23 Chao Tian Haojie Zhou Yongqiang He and Li Zha ldquoA Dynamic
MapReduce Scheduler for Heterogeneous Workloadsrdquo Eighth International
Conference on Grid and Cooperative Computing pp 218ndash244 2009 Aug
24 Jiong Xie Shu Yin Xiaojun Ruan Zhi-yang Ding Yun Tian James Majors
Adam Manzanares and Xiao Qin ldquoImproving mapreduce performance
through data placement in heterogeneous hadoop clustersrdquo in IPDPS
Workshops pp 1ndash9 2010
25 J Tan X Pan S Kavulya R Gandhi and P Narasimhan ldquoMochi Visual
Log-Analysis Based Tools for Debugging Hadooprdquo USENIX Workshop on
Hot Topics in Cloud Computing (HotCloud) pp 1-5 2009
26 Matei Zaharia Andy Konwinski Anthony D Joseph Randy Katz and Ion
Stoica ldquoImproving MapReduce Performance in Heterogeneous
Environmentsrdquo 8th Symposium on Operating Systems Design and
Implementation pp 29ndash42 2008 Dec
27 X Zhang Z Zhong S Feng B Tu and J Fan ldquoImproving Data locality of
MapReduce by Scheduling in Homogeneous Computing Environmentsrdquo in
9th IEEE International Symposium on Parallel and Distributed Processing
with Applications (ISPA) pp 120-126 2011
28 Apache hadoop Available from httphadoopapacheorg
29 MapReduce with a lot of examples for Mining datasets Available from
httpinfolabstanfordedu~ullmanmmdsbookpdf
Page 3
ii
ABSTRACT
MapReduce is an important programming model for large-scale parallel data
Hadoop proposed concepts of MapRedcue that mainly running in homogeneous
environmenton the operation performance may be less than ideal state in
heterogeneous environment In the Map phase with same processing speed of the
nodes the completion time of each node will be roughly the same when fixed amount
of data However the processing speeds are different in the case and completion time
was different when a good machine processed complete it has to wait for completion
of processing nodes slower completion time will delay And Reduce phase Hadoop
selects machine of the original as long as free takes to do computing nodes it does
not take into account the cost of network communication problems
This paper proposes two optimization methods dynamic data partitioning and
virtual machine mapping for improving the efficiency of MapReduce programs In
addition a loading aware virtual machine mapping technique is also presented to
enhance load balance in Reduce phase In Map phase the data will cut of dynamic
that give the corresponding worker according to the node performance let completion
time as close as possible In Reducer mapping aspect Reducer is according to the
communication locality to give the corresponding virtual machine In addition the
loading aware virtual machine mapping optimization techniques that can further
enable completion time become shorter of Reduce phase Performance analysis results
show that we can save up communication locality to approximately 33 by the
virtual machine mapping MapReduce improves completion time to 41 of maximum
by dynamic data partitioning and loading aware virtual machine mapping
iii
Keywords MapReduce Cloud computing Hadoop Virtual machines Dynamic
Mapping
iv
致謝
本篇碩士論文能夠順利完成在此要誠摯感謝我的指導教授許慶賢老師在
這段期間隨著跟老師的互動與討論之下對於我所想探知的領域也慢慢的深
入研究在寫論文的過程老師不斷的協助我對於原本凌亂的想法做整合在
遇到我無法理解問題的時候能夠不厭其煩的利用一些例子來使我更容易了解
並且對我的論文提出一些看法以及意見使我得論文更有組織性
再來就是要感謝實驗室的各位學長可以即時的幫助我解決我遇到的困難
在寫論文的時候告知我該注意的地方避免重蹈覆轍另外要感謝的是碩士班
的同學平常互相討論互相勉勵對方另外還要感謝學弟妹能夠幫我處理雜
事使我能夠專心在寫論文上
最後要感謝的是我的家人在我就學期間能夠支持與鼓勵我使我無後顧
之憂能夠專心的在寫論文上讓我能夠順利完成我的學業最後僅以此文獻
給我的師長以及在學的時候支持我的各位朋友以及家人
v
Contents
摘要 i
ABSTRACT ii
致謝 iv
Contents v
List of Tables vii
List of Figures viii
Chapter 1 Introduction 1
11 Background 1
12 Motivation 2
13 Contribution 2
14 Organization 3
Chapter 2 Related Works 4
21 Homogeneous Environment 4
22 Heterogeneity Environment 5
Chapter 3 Preliminary 8
31 Hadoop 8
32 MapReduce 9
33 Heterogeneous Classification 10
Chapter 4 Dynamic Data Partitioning and Locality Aware Virtual Machine
Mapping 11
41 Dynamic Data Partitioning 12
42 Locality Aware Virtual Machine Mapping 13
421 Best Fit 13
422 Priority 16
43 Loading Aware Virtual Machine Mapping 17
Chapter 5 Performance Analysis 19
51 Communication Locality 19
52 Task Excution Time 21
vi
Chapter 6 Conclusions and Future Works 32
Reference 33
vii
List of Tables
表一 Hardinfo benchmark 10
viii
List of Figures
圖一 MapReduce 的運作流程圖 9
圖二 整體方法流程圖 11
圖三 根據節點能力分配相對應大小的資料 12
圖四 Best Fit 挑選機器流程 14
圖五 Best Fit 挑選機器的不完善 15
圖六 Priority 挑選機器流程 16
圖七 Reducer 對應到其相對效率的 Worker 17
圖八 Communication locality (a) low heterogeneity vm=2 (b) low heterogeneity
vm=5 (c) high heterogeneity vm=2 (d) high heterogeneity vm=5 19
圖九 Map completion time (a) low heterogeneity vm=2 (b) low heterogeneity
vm=5 (c) high heterogeneity vm=2 (d) high heterogeneity vm=5 22
圖十 Reduce completion time (a) low heterogeneity vm=2 (b) low heterogeneity
vm=5 (c) high heterogeneity vm=2 (d) high heterogeneity vm=5 24
圖十一 Total completion time (a) low heterogeneity vm=2 pm=5 (b) low
heterogeneity vm=5 pm=2 (c) high heterogeneity vm=2 pm=5 (d) high
heterogeneity vm=5 pm=2 26
圖十二 Total completion time with different number of vm (a) low heterogeneity
vm=2 worker=12 (b) high heterogeneity vm=5 worker=12 28
圖十三 Total completion time with different data size 29
圖十四 Total completion time of loading aware optimization (a) without
optimization (b) with optimization 30
1
Chapter 1 Introduction
11 Background
網路的發展慢慢的成為人們生活中不可或缺的一部分因而產生許多要處
理的大量資料而這些資料在處理上有些許不同要如何處理這些不同的資料
變成一個很重要的議題因此雲端運算這類專有名詞從而衍生出來而在此
背景之下Google在2003年提出分散式檔案系統架構Google File System(GFS)
[11]2004年提出MapReduce架構 [8]可用來處理大規模的資料處理以及2006
年提出BigTable [5]這是基於Google File System針對資料結構化儲存的分散式系
統
在過去幾十年前個人電腦還沒有這麼普遍的情況下當時的電腦主要還是以
大型主機為主所有的工作都只能透過那一台主機運行既不方便也沒有彈性
因此IBM則在當時開發了一套虛擬機監視器(Virtual Machine Monitor)藉此將
大型主機的資源分割成多個虛擬機器提供給使用者使用這些虛擬機器可以模
擬成多個操作環境進而比一個操作環境來的更有效率現今虛擬化技術 [2]越
來越成熟雲端運算環境透過此技術整合了分散在各處的資源使資源可做一
個統整藉此提供各項的資訊服務
雲端運算(Cloud Computing)簡單來說它不是一個技術而是一個概念希
望可以藉由雲端叢集 [4]透過網際網路來處理在雲端存放的龐大資料而
Google提出的MapReduce架構Map階段的時候將這些龐大資料拆解成許多小
資料再交給雲端叢集的每個節點去做運算Reduce在讓每個節點將運算後的
結果進行整合再回傳給使用者這樣的方式由原本只能單一處理變成平行
處理進而加快了處理速度
2
Google雖然提出了多個雲端運算的技術但是並沒有開放原始碼出來使
得企業們受到局限直到Apache開發出Hadoop平台 [25]企業或使用者才可以
自己研發相關的MapReduce技術 [18][19][20]不再被受到限制MapReduce技
術具有高容錯性資源使用率高平行處理使得它在企業界備受青睞
12 Motivation
在一個大的群集裡原型的MapReduce會將進來的資料切割成固定大小
主要節點會將這些資料分散給各節點去做運算但是如果在異構性環境
[21][23]就無法根據機器的處理速度動態的分配資料給相對映的機器去做運
算在Map階段節點處理速度相同的情況下每個節點完成的時間會大致相同
但是在節點處理速度不盡相同的情況下完成的時間彼此不一樣則會造成最
先處理好的機器得等待處理速度較慢的節點完成因而拖累完成時間而在
Reduce階段則考慮到Communication locality的問題Communication locality是
指說Reducer在此節點運算的時候所能節省的溝通成本(意指不用到遠端節點
取資料的溝通成本)原始的MapReduce在挑選機器的時候是有機器就拿去
做運算而沒考慮此問題
13 Contribution
本論文針對以上的敘述做了改進首先測試每台機器的運算效能在Map
階段的時候根據節點的運算效能來決定負責的運算量進而達到平均完成時間
相近在Reduce階段評估Communication locality再根據Communication locality
來決定Reducer要選擇在哪台機器使其節省更多的Communication locality最
後透過Loading Aware Virtual Machine Mapping來改善Reduce階段的完成時間
3
14 Organization
本論文研究探討在異構性環境下每個節點運算效能不一致的情況下為了
要避免MapReduce運算所造成校能不佳的情況動態的調整Map mapping以及
Reducer mapping
本論文章節介紹如下第一章緒論簡述雲端運算的研究背景及研究動機與
目的以此為基礎第二章相關研究介紹前人所提出的MapReduce改善方法
第三章Preliminary介紹HadoopMapRedcue的流程以及定義異構性環境第四
章演算法介紹MapReduce的各階段流程以及介紹本篇論文所提出的動態資料
切割和虛擬機對映兩種技術的流程另外提出了一個優化技術第五章性能分
析透過實驗模擬的結果將其結果分析與比較最後第六章為結論以及未來
可以繼續研究的方向
4
Chapter 2 Related Works
MapReduce 是目前非常流行的分散式運算的架構主要是透過網際網路來處
理在雲端上儲存的大量資料將要執行的 MapReduce 程式複製到 Master node 以
及各個WorkerMaster node會決定要給哪台Worker去執行Map程式或者Reduce
程式透過 Map 程式將資料切成許多區塊經過 Map 階段產生出 Key Value
將此 Key Value 存儲在 Local disc然後經過 Shuffle(將相同屬性的 key 排序在
一起)而 Reduce 程式將這些 Shuffle 後的結果進行整合最後再將結果產生出
來由於 MapReduce 一開始主要是在節點效能大致相同的情況下去執行對於
節點效能不一致的情況 (也就是所謂的異構性環境)導致會有一些效能不盡理
想的狀態出現 [10]並且隨著虛擬技術的成熟虛擬機器可以將實體機資源
更有效的利用慢慢的開始以虛擬機器作為 Cluster而且MapReduce 在以虛
擬機器建立起的異構性環境之下對於 IO 負載不平衡 [12][13][16]以及任務排
程 [1][6][15]不平均的部份目前已經有許多相關文獻在探討此方面
21 Homogeneous Environment
由 Shadi Ibrahim 等人在 2010 年時所提 LEEN [17]的方法在 Map 階段因
為原始的 MapReduce 架構沒有考慮資料的內容盲目的以資料數量區分導致
Shuffle 階段時會出現分配不平均的現象為了改善此部份LEEN 將每筆資料
計算出 Fairness Score 後根據 Locality [3][27]概念分析與比較將資料適當地放
在各個節點上達到平均分配的效果透過這樣的想法我們將此概念延伸到
Reducer 挑選機器是根據 Communication locality而不是盲目的去選擇有空的
Worker
5
MapReduce是主從式架構具有樹狀網路分佈的結構節點分布在不同的主
機上或者可能在不同的資料中心的主機上則兩個節點要溝通的話則需要
透過網路而頻寬會影響之間傳輸的速度在MapReduce的Worker接受到Master
的要求從而排程Map和ReduceHadoop企圖排程將比較靠近的資料做Map
tasks以避免在網路上增加過多的overhead至於Reduce tasks則沒有考慮到此部
份因此在進行shuffle的時候不必要的資料在網路上可能會降低校能遙遠
的節點資料傳送已經成為一個瓶頸而Mohammad Hammoud等人在2011提出
的論文著重在Reduce任務的部分透過網路位置做分區來做排程因此形成
了LARTS 的策略 [14]而且還觀察到MapReduce在Map Tasks完成後進行
shuffling的動作此步驟是用交錯的方式先前的方法在Shuffling這個動作的
時候使MapReduce的性能提高但是卻增加了網路的負載而LARTS保持了
此Shuffling的優勢還減少了網路的負載但是此篇論文著重在Reduce task的
部份至於Map task的部份並未做優化的部份
22 Heterogeneity Environment
Hadoop原先假設在節點相同的環境下運行但是實際上環境內的節點並
不是每次都是一致的當Hadoop運行在異構性環境對於性能上是有很大的落
差由Matei Zaharia等人提出的LATE (Longest Approximate Time to End) [26]針
對其任務的排程上做改良重新設計了一個新的Speculative task會估算完成時
間根據完成時間在去調整任務上的分配雖然對回應時間有點影響但是
整體性能明顯的比Hadoop改善很多而Quan Chen等人在2010年所提出的SAMR
(Self-adaptive MapReduce Scheduling Algorithm) [7]自動適應MapReduce的調動
排程主要是計算任務進度根據歷史資料動態調整Map任務以及Reduce任務
並且可以識別在節點上執行較慢的任務將其任務不做備份工作使其完成時
6
間可以降低在 2012年由Xiaoyu Sun等人提出的 ESAMR (An Enhanced
Self-Adaptive MapReduce Scheduling Algorithm) [22]增強自適應MapReduce的調
度算法以提高Speculative task在SAMR識別慢任務可能不是這麼準確但
是在ESMAR裡它們使用集群演算法轉化改進了這一部分使其識別慢任
務達到一定的準確ESAMR研究結果的誤判率明顯降低
由於Hadoop在異構性環境會造成資料分配不平均的現象所以由
Yuanquan Fan等人提出了在Map階段重新平衡資料分配的方法 [9]而此篇論文
平衡的方法有兩種(1) 根據性能來分配-主要是分成不同大小的資料區塊首先
將每個節點進行性能評估然後資料切成不同大小根據節點的計算能力來分
配相對應的節點(2) 資料動態搬遷-儘管不同大小的資料被分配在每一個節點
上再來估算任務完成時間將執行最慢的任務的部份資料轉移到執行最快的節
點有些任務可能會隨著時間的關係或者網路的關係慢慢延後所以將這些延
後的資料轉移給其他節點去運算其缺點就是資料的搬移時間和成本並沒考慮至
其中以及Reduce phase階段可能因為資料搬移的情況導致Reduce phase的
Communication overhead變重
傳統的 MapReduce 架構是考慮每台機器的規格都相同所以資料平均分
配後所處理完成的時間也都會是一樣在雲端運算環境中往往都是數百台或
著上千上萬台機器在同時運算機器的規格也不盡相同因此 Jiong Xie 等人在
2010 年所提出的 Data Placement [10]的方法將每個電腦區分出 3 個等級分別
是 FastestAverage 及 Slowest不同的等級取得運算資料份量也不同並建立一
張表紀錄目前有哪些機器處於忙碌壅塞狀態有那些機器處於閒置狀態並且
將忙碌的機器的資料分出 3 個等級平均分配資料直至平均為止使得每台
機器資源利用率是相近的雖然這樣的動機很好但是對於資料遷移所花的
時間以及成本是沒考慮的
根據上述研究不足的地方我們提出了MapReduce在異構性環境裡在Map
7
階段將資料切割成不固定大小依據節點能力的不同做出適當的配置在
Reduce階段根據Communication locality 找出適合在哪一台機器上執行最
後再透過優化技術把本篇論文方法的執行時間縮短一些
8
Chapter 3 Preliminary
31 Hadoop
Hadoop架構是由Apache所開發的開放原始碼提供了一個分散式系統的基
本架構Hadoop雲端運算技術主要由三個主要架構所組成 Hadoop Distributes
File System (HDFS)分散式檔案系統Hadoop Database (HBase)分散式資料庫以及
Hadoop MapReduce分散式平行運算以下一一敘述
HDFS (Hadoop File system) 是根據Google提出的GFS(Google File System)所
延伸的主要就是將各個節點連結起來將這些節點組成一個大型的分散式檔案
系統可以有效的處理大量檔案並提供安全的儲存環境以及可以避免因為單一
的硬體發生異常而影響整個系統
而HDFS為了維護資料的一致性當使用者將資料存進去HDFS就不能去
更動或修改HDFS會將要儲存的資料複製副本分散儲存在各個不同的節點
所以當儲存資料的節點發生異常可藉由其他節點來復原
HBase (Hadoop Database)類似Google BigtableHBase架構在Hadoop HDFS
上的分散式資料庫與ㄧ般關聯式資料庫不同HBase使用列和行為索引存取資
料值以及每一筆資料都有一個時間戳記因此同一個欄位可以因為時間的不同
而存在多筆資料
HBase專門用來處理大規模的資料是由HMasrter以及HRegion組成一台
HMaster管理多部HRegion ServerHMaster負責監控與管理HRegion Server系統狀
態而HRegion Server利用記憶體存取快速的優點可以加速資料讀寫的動作
所以會先將資料存放在記憶體內之後再將資料存回HDFS
9
32 MapReduce
雲端運算最重要的關鍵即是MapReduce使用MapReduce模式將一個大問
題先讓程式開發人員分析問題將問題切割成許多小問題在將此小問題平行
分散給各個Mapper當Mapper處理完的結果在傳送到相對映的Reducer去做運
算Reducer將這些結果進行合併在把合併的結果輸出
Split 0
Split 1
Split 2
Mapper
Mapper
Mapper
Reducer
Reducer
Partition 0
Partition 1
Partition 0
Partition 1
Partition 0
Partition 1
Output
File0
Output
File1
Input
File
Master
User
Map
Phase
Intermediate file
(on local disks)
Reduce
PhaseOutput
File
圖一 MapReduce的運作流程圖
如圖一即為MapReduce流程圖
1 將輸入的資料切割成固定大小
2 將要執行的MapReduce程式複製到Master與每一台Worker
3 Master會挑選閒置的Worker當Mapper或Reducer
4 Mapper會從切割好的資料讀取相對映的資料會產生Key Value會先暫
存在記憶體內再週期性的傳送到Local Disc
5 執行Reducer程式的Worker讀取每一個Mapper的結果並進行排序以及彙
整再將整合的結果輸出
10
33 Heterogeneous Classification
MapReduce 在異構性環境下執行已經是越來越多人討論的議題如何將
每個節點分級也有相當多的Benchmark可以做測試本篇論文採用的Benchmark
為 Hardinfo透過虛擬機器去做測試
表一 Hardinfo benchmark
如表一1_2 前面的數字代表核心數目後面的數字代表 Memory 有多少
GB而這個 Hardinfo 本身內含有許多測試的軟件我們測了兩個實驗CPU
Blowfish 以及 CPU CryptoHash這兩個都是跟加密有關的CPU Blowfish 運行
在單核心以及四核心的虛擬機器上所花費的秒數兩個相差了 5 倍因此我
們定義異構性等級為 1 到 5也就是所謂的高異構性環境CPU CryptoHash 運行
在單核心以及四核心的虛擬機器上每秒能壓縮的資料相差了三倍因此我
們定義異構性等級為 1 到 3也就是所謂的高異構性環境我們之後的實驗根
據這兩個異構性等級做參數
11
Chapter 4 Dynamic Data Partitioning and Locality
Aware Virtual Machine Mapping
原始的 Hadoop 在同質性環境執行 MapReduce 程式每個節點運算能力大
致相同所以在 Map 階段並不會有互相等待的結果發生但是在異構性的
環境之下每個節點的 Worker 彼此之間運算速度不同導致先完成的必須得
等速度較慢的節點完成因而執行時間變長而在 Reduce 階段沒有考慮
Communication Locality 的問題即使是用虛擬機架設的環境也是一樣所以
隱藏著一些 Communication overhead 的問題本篇論文主要探討此兩問題
圖二 整體方法流程圖
如圖二所示將資料從 HDFS 讀取進來因為每個節點不能去從其他節點讀
取資料來做因此只能將自己節點資料作完等待其他節點完成後才可繼續
執性 Reduce 階段因此在 Map mpping 階段是根據節點內部的虛擬機性能來
決定節點內部資料的分配而不是固定資料大小丟給效能不一致的虛擬機器來做
12
運算在 Reduce mapping 階段是根據 Locality aware 來選擇機器選擇節省成本
最多的機器以及最後有個節點內部動態調整機制為了減少Reducer完成的時間
41 動態資料切割
在同質性環境 (即為每個節點設備大致相同)運行MapReduce當Worker
完成Map階段任務必須等待其他Worker完成才能進行下一個動作因為每台
節點運算能力大致相同所以當執行Map階段結束後每台節點完成時間是大
致相同的而在異構環境下 (每個節點設備不盡相同則會產生出一個問題在
運算效能不一致的情況會造成在Map程式執行完成的時間變長因為當資料相
同可是每個節點運算能力不一樣就會彼此互相牽制為了要避免此情況發生
所以本篇論文用動態資料切割的方法來解決此問題
圖三 根據節點能力分配相對應大小的資料
動態資料切割的方法得先知道每個Worker的運算能力根據運算能力動
態切割資料大小如圖三所示每個節點運算能力較好的Worker就分配到資料
較多的Partition去做處理而運算能力較差的Worker就分配到較少的Partition使
得每個節點內部的Worker完成時間接近就不會有處理速度比較快的節點完成後
13
必須要等待處理速度比較慢的節點而資料分配方式就是根據Performance
也就是前面所提到的異構性等級的數值相加起來 (Worker處理速度越快則等級
越高)將要處理的資料以及總數值相除會得到一個平均值這個平均值去乘
上等級也就是Worker要處理的資料量
42 Locality Aware Virtual Machine Mapping
由於虛擬機的使用可以充分利用資源所以現在一台實體機可架設多
台虛擬機所以同一台實體機內部有兩台虛擬機當這兩台互相交換資料的
時候其實網路的負載是很低的但是如果是兩台實體機交換資料網路的負
載會變很高在執行Map階段之後資料都儲存在Local disk裡Reducer要怎麼
選擇機器使得Communication locality節省更多而這個即是本篇論文要探討的
第二個問題
421 Best Fit
本篇論文提出了一個 Best Fit 方法這個方法的概念是讓 Reducer 選擇在哪
一台節點上運行使其 Communication locality 節省最多接下來在找出節點內
Performance 最好的 Worker 來當 Reducer而不是像 Hadoop 的 MapReduce 是照
順序去分配這樣的選擇方式是因為節點與節點之間資料傳遞的Communication
overhead 是相當大的而節點內部之間的 Communication overhead相較起來小
很多而讓 Communication locality 節省越多也可以讓 Communication overhead
降低
14
圖四 Best Fit挑選機器流程
1 如圖四所示假設一台實體機上(P1)架設兩台虛擬機(v1v2)根據虛擬
機的運算能力分配相對映的資料量v1即為25單位v2即為22單位以此類
推
2 執行Map程式產生出k值因為有三台Reducer(R1R2R3)所以產生出
3個k值v1虛擬機的k1值為7k2值為10k3值為8而這v1的所有k值相加即為
v1所負責的資料量v1虛擬機k1值為10k2值為9k3值為3而這v2的所有k值
相加為v2所負責的資料量v3也是一樣
3 先從R1要挑選哪台VM開始首先把每個VM所產生出的k1值相加得到一個
總和即為57單位底下看到有三個數值第一個數值即為R1如果在P1這
台機器上運行的話所耗費的遠端溝通成本(要到P2P3取資料的溝通成本)
則第二個數值即為R2在P2這台機器上運行的話所耗費的遠端溝通成本
第三個也是
4 把總共要處理的資料減掉到遠端耗費的溝通成本會得到一個數值即為
15
Communication localityR1如果選擇P1機器運行則Communication locality
為17單位R1如果選擇P2機器運行則Communication locality為18單位R1
如果選擇P3機器運行則Communication locality為22單位R1挑選最多的
Communication locality的機器來運行所以R1選擇P3機器來做運算
5 R1選擇P3實體機而P3實體機有2台虛擬機所以在根據虛擬機的運算能力
先挑選運算能力好的來做為R1
6 如果節點的虛擬機都被挑選完就選第二順位的節點
原始的HadoopR1挑選v1而R2挑選v2照順序的挑選所以沒有考慮到溝
通成本則本篇論文Best fit是根據Communication locality來挑選機器但是
可能在某ㄧ些情況可能不夠完善
圖五 Best Fit 挑選機器的不完善
如圖五所示當Communication locality可以選擇很高的節點卻因為前面的
Reducer把節點內部的Worker挑選完了所以逼不得已只能挑選第二順位的節
點可是這個Communication locality遠遠低於前面Reducer挑選的節點導致整體
的Communication locality大幅下降因此422 Priority即為改善的方法
16
422 Priority
為了確保每個Reducer都能挑選Communication locality最高的機器因此
此章節做了改善
1 在Reducer在挑選機器之前先判斷Reducer哪台要先下去做挑選
2 將每台Reducer最高的Communication locality的跟第二高的相減會得到一個
Difference locality在利用Difference locality下去做排序由大到小
3 Difference locality越大的代表那台Reducer要優先做挑選所以就從
Difference locality越大的挑選到Difference locality最小的
圖六 Priority挑選機器流程
1 如圖六所示R1總共的Data block為57單位R2為42單位R3為41單位經過
Shuffle階段之後
2 R1如果選擇P1這台機器能節省的Communication locality就是17單位R1如果選
擇P2這台機器能節省的Communication locality就是18單位R3如果選擇P2這台
機器能節省的Communication locality就是22單位
3 根據Communication locality將第一高的減掉第二高的會得到一個Difference
17
locality
4 根據此Difference locality排出哪個Reducer要先選取機器此例子的順序為
R2再來R3再來R1而Best Fit就是R1再來R2再來R3
Priority可以避免前面的Reducer把機器挑選完迫使只能選擇第二高的
Communication locality使這樣大幅降低的情況給消除而Best fit和Priority這兩
種方法大幅提高了Communication locality的狀況可是卻也導致了Reduce階段
的完成時間變長所以下章節主要敘述將Reduce階段完成時間優化
43 Loading Aware Virtual Machine Mapping
上述的兩種方法Best fitPriority都是為了降低節點彼此之間的溝通成本
但是卻引發了一個問題Reducer執行完成的時間比原始Hadoop還來得長為
了解決此問題本篇論文在這章節提出優化的方法前面兩種方法是根據節點
的Communication locality來決定要在哪一台Worker做運算當決定好Worker
的時候Reducer會先將運算能力較好的虛擬機器拿去做運算這樣使得運算較
快的機器並不會對映到運算較複雜的資料使得較早完成的機器還是得等候還沒
做好的機器造成時間上的延長所以本篇論文針對此部份做優化
圖七 Reducer對應到其相對效率的Worker
18
如圖七所示當Reducer都挑選好要在哪台實體機做在開始執行Reduce程
式之前我們根據要處理的資料量來分配相對映的機器而這虛擬機的交換
並不會影響到Communication locality因為都是在同一台實體機架設的虛擬機
器做交換
19
Chapter 5 Performance Analysis
本實驗以模擬的方式進行利用 C 語言程式撰寫可設定節點數量節點
裡的 Worker 數量資料大小異構性環境低 (h = 1-3)或高 (h = 1-5)透過模擬
的實驗數據分析基於 Hadoop 的 MapReduce 以及本篇論文透過 Map mapping
和 Reduce mapping 的方式進而改善原始 MapReduce 所造成的缺點
51 Communication Locality
本模擬實驗主要探討的是 Communication Locality圖八(a)和圖八(b)模擬環
境為低異構性圖八(c)和圖八(d)為高異構性環境固定每台實體機架設 2 台以
及 5 台虛擬機器固定 Worker 總數量分別為 102030要處理的資料為 900G
Communication locality(vm = 2 h = 1-3)
0
50
100
150
200
250
300
10 20 30
Number of vm
Dat
a lo
cali
ty
Hadoop
Best Fit
Priority
(a)
20
Communication locality(vm = 5 h = 1-3)
0
100
200
300
400
500
600
10 20 30Number of vm
Dat
a lo
cali
ty
Hadoop
Best Fit
Priority
(b)
Communcation Locality(vm = 2 h = 1-5)
0
50
100
150
200
250
300
10 20 30Number of vm
Dat
a lo
cali
ty
Hadoop
Best Fit
Priority
(c)
Communcation locality(vm = 5 h = 1-5)
0
100
200
300
400
500
600
10 20 30
Number of vm
Dat
a lo
cali
ty
Hadoop
Best Fit
Priority
(d)
圖八 Communication locality (a) low heterogeneity vm=2 (b) low heterogeneity
vm=5 (c) high heterogeneity vm=2 (d) high heterogeneity vm=5
21
由圖八(a)可看出本篇論文提出的兩個方法在低異構性環境所能節省的
Communication Locality 比原始的 Hadoop 提出的方法最多節省了 33的
Communication Locality圖八 (b)也最多節省了約 12的 Communication
Locality雖然節省在固定架設的虛擬機器為兩台的時候節省比較多但是
兩個實驗節省的 Communication Locality 量卻相差了快 2 倍原因是在於 Map 階
段完成的資料都儲存在 Local disc兩台實體機在交換資料的時候溝通成本是
很高的而建立在同一台實體機的兩台虛擬機器交換資料則溝通成本卻來的低
很多 因此溝通成本量的提高也會被實體機上架設的虛擬機器的多寡來影
響
由圖八(c)所示在高異構性最多可節省 27的 Communication Locality圖
八(d)則為 15的 Communication Locality分別從圖八(a)圖八(c)圖八(b)以及
圖八(d)可以看得出來Best Fit 和 Priority 不會隨著異構性環境的高低溝通成
本量會有大幅度的改變而 Priority 在節省的 Communication Locality 都會比 Best
Fit 都來的多一點因為Priority 可以避免前面的 Reducer 把機器挑選完迫使
只能選擇第二高的Communication location 因此大幅降低的情況給消除
52 Task Execution Time
此節實驗是要探討 Map 以及 Reduce 完成的時間圖九(a)和圖九(b)為低異構
性環境的實驗圖九(c)和圖九(d)為高異構性環境都是固定每台實體機架設 2
台以及 5 台虛擬機器所以固定虛擬機器總數量分別為 102030要處理
的資料為 900G
22
Map completion time(vm = 2 h = 1-3)
0
20
40
60
80
100
10 20 30
Number of vm
Sec
ond
Hadoop
Best Fit amp Priority
(a)
Map completion time(vm = 5 h = 1-3)
0
20
40
60
80
100
10 20 30Number of vm
Sec
ond
Hadoop
Best Fit amp Priority
(b)
Map completion time(vm = 2 h = 1-5)
0
20
40
60
80
100
10 20 30Number of vm
seco
nd
Hadoop
Best Fit amp Priority
(c)
23
Map completion time(vm = 5 h = 1-5)
0
20
40
60
80
100
10 20 30Number of vm
seco
nd
Hadoop
Best Fit amp Priority
(d)
圖九 Map completion time (a) low heterogeneity vm=2 (b) low heterogeneity
vm=5 (c) high heterogeneity vm=2 (d) high heterogeneity vm=5
圖九(a)圖九(b)圖九(c)以及圖九(d)顯示了本論文提出的兩個方法 Best Fit
和 Priority 他們完成的時間是一樣的因為兩個方法的 Map mapping 概念是一樣
的所以完成時間也會一樣在此實驗裡可發現 Best Fit 和 Priority 也會隨著
實體機上的虛擬機器數量增多而完成時間縮短而縮短的時間最多甚至可以達
到 44也可看出本論文的兩個方法在低異構性環境的效能比在高異構性環境
的效能來的較差所以在異構性越高的環境越能看得出 Best Fit 和 Priority
的優勢
24
Reduce completion time(vm = 2 h = 1-3)
0
20
40
60
80
100
120
10 20 30Number of vm
Sec
ond
Hadoop
Best Fit
Priority
(a)
Reduce completion time(vm = 5 h = 1-3)
0
20
40
60
80
100
120
10 20 30Number of vm
Sec
ond
Hadoop
Best Fit
Priority
(b)
Reduce completion time(vm = 2 h = 1-5)
0
20
40
60
80
100
120
10 20 30Number of vm
seco
nd
Hadoop
Best Fit
Priority
(c)
25
Reduce completion time(vm = 5 h = 1-5)
0
20
40
60
80
100
120
10 20 30Number of vm
Sec
ond
Hadoop
Best Fit
Priority
(d)
圖十 Reduce completion time (a) low heterogeneity vm=2 (b) low
heterogeneity vm=5 (c) high heterogeneity vm=2 (d) high heterogeneity vm=5
而在 Reduce 完成時間的方面不像 Map 的完成時間是一樣的因為選
擇 Reducer 的方式不同造成 Best Fit 以及 Priority 時間完成上有些許不同
如圖十(a)所示節省了 14的時間圖十(b)節省了 16的時間圖十(c)
節省了 23圖十(d)節省了 29由圖十(b)以及圖十(d)可見影響 Reduce
階段完成時間最主要的原因是異構性環境的問題當環境的異構性越高其
所節省的時間越多而圖十(c)以及圖十(d)所示一台實體機架設的虛擬機器數
量影響的範圍比較小
26
Total completion time (vm = 2 pm = 5 h = 1-3)
0 50 100 150 200 250
Hadoop
Best Fit
Priority
Met
hod
Second
Map Reduce
(a)
Total completion time(vm = 5 pm = 2 h = 1-3)
0 50 100 150 200
Hadoop
Best Fit
Priority
Met
hod
Second
Map Reduce
(b)
Total completion time(vm = 2 pm = 5 h = 1-5)
0 50 100 150 200 250
Hadoop
Best Fit
Priority
Met
hod
Second
Map Reduce
(c)
27
Total completion time(vm=5 pm = 2 h = 1-5)
0 50 100 150 200
Hadoop
Best Fit
Priority
Second
Met
hod
Map Reduce
(d)
圖十一 Total completion time (a) low heterogeneity vm=2 pm=5 (b) low
heterogeneity vm=5 pm=2 (c) high heterogeneity vm=2 pm=5 (d) high
heterogeneity vm=5 pm=2
由於前面分別是 Map以及 Reduce的完成時間為了想知道Map以及 Reduce
對於 MapReduce 的整體影響我們將前面的 Map 以及 Reduce 的完成時間在
處理資料的節點固定為 10 台 Worker將其做整合
從圖十一(a)圖十一(b)圖十一(c)圖十一(d)顯示 Best Fit 和 Priority 不論
是在低異構性或高異構性環境MapReduce 完成時間都比 Hadoop 的完成時間縮
短很多在低異構性環境最多可縮短到 29的時間在高異構性環境最多可縮
短 41的時間而造成 Hadoop 跟 Best Fit 和 Priority 在時間上差異如此大的原
因主要是在 Map 階段的完成時間因為Best Fit 和 Priority 是根據 Worker 的
效能來決定要處理的資料大小而 Hadoop 就是分配固定大小的資料給 Worker
運算所以在越高的異構性環境其縮短的時間會越明顯
28
Total completion time with different number of vm (h=1-3)
0
20
40
60
80
100
120
vm=2 vm=3 vm=4Number of vm per physical machine
Sec
ond
Hadoop
Best Fit
Priority
(a)
Total completion time with different number of vm (h=1-5)
0
20
40
60
80
100
120
vm=2 vm=3 vm=4Number of vm per physical machine
Sec
ond
Hadoop
Best Fit
Priority
(b)
圖十二 Total completion time with different number of vm (a) low heterogeneity
vm=2 worker=12 (b) high heterogeneity vm=5 worker=12
圖十二(a)是在低異構性環境圖十二(b)是在高異構性環境並且1 台實體
機架設 2 個3 個4 個虛擬機器使 Worker 數量固定 12 台處理的資料量為
600G
這個模擬實驗主要探討的是在一台實體機架設的虛擬機器數量對於
MapReduce 完成時間是否真正有影響圖十二(a)和圖十二(b)更可以顯示出 Best
Fit 和 Priority 在異構性越高的環境裏且一台實體機架設越多虛擬機器來當作
Worker 的時候可以縮短更多的時間前者會縮短 Map 的完成時間後者會縮
29
短 Reduce 的完成時間而 Hadoop 在異構性環境高的時候也有些微的縮短一
些時間
Total completion time with different data size (h=1-5)
0
20
40
60
80
100
120
140
400 600 800 1000 1200
Data
Sec
ond
Hadoop
Best Fit
Priority
圖十三 Total completion time with different data size
在上述的實驗中在同樣的資料大小處理的 Worker 數量越多的時候其
完成時間會縮短很多但是到達一定的數量的時候其縮短時間的效果就很低
所以就做了此實驗因為本篇論文就是要探討異構性的環境選擇高異構性
環境固定 Worker 數量 20 台資料大小由 400G 到 1200G探討資料大小對
MapReduce 以及 Worker 的影響如圖十三顯示出在 600G 以下的時候Map 加
上 Reduce 完成的時間突然靠近起來代表了當資料量越小的時候Best Fit 和
Priority 的方法跟原始的 Hadoop 的方法優勢會越來越少但相反的是當資料
量越大的時候雖然Best Fit 和 Priority 完成時間會增加但是跟 Hadoop 的
完成時間比會更加突顯
30
Total completion time (best fit)
0
10
20
30
40
50
60
70
80
(Without optimization) (Optimization)
Best Fit
Sec
ond
Map Reduce
(a)
Total completion time (priority)
0
10
20
30
40
50
60
70
80
(Without optimization) (Optimization)
Priority
Sec
ond
Map Reduce
(b)
圖十四 Total completion time of loading aware optimization (a) without
optimal (b) with optimization
圖十四(a)未使用優化技術圖十四(b)是使用優化技術同樣都是在高異構
性環境之下並且1 台實體機架設 5 個虛擬機器使 Worker 數量固定 15 台
處理的資料量為 900G
在本篇論文方法的部份有提到Loading Aware Virtual Machine Mapping的優
化技術由於此實驗上面的實驗數據都已經使用優化技術來改善時間因此
此實驗就是要探討這優化技術對於MapReduce完成時間的影響
由於Loading Aware Virtual Machine Mapping此優化技術是變動同一台實體
31
機內部的Reducer使得原本是根據Communication locality來選擇虛擬機器但
是在挑選的過程中並沒有依據處理資料的大小分配到其處理速度相對映的
虛擬機器而這優化技術就是將同一台實體機內的虛擬機器重新分配由於此
優化技術並不會影響Communication locality所以這部份並沒有在此實驗探討
圖十四(a)圖十四(b)顯示未使用優化技術的Best fit和Priority的MapReduce
完成時間雖然比Hadoop的方法好但是其Reduce phase完成時間上慢了一些
並且可以看出此優化技術並不會影響到Map phase主要影響的是在Reduce階
段在Reduce階段的完成時間上利用優化技術可以將Reduce階段時間縮短其13
32
Chapter 6 Conclusions and Future Works
目前 Hadoop 資料處理的環境還是應用在群集內節點效能是相同的情況下
如果是異構性環境可能就無法這麼有效率的處理本篇論文提出了兩個方法
動態資料切割和虛擬機對映以及一個優化技術 Loading aware virtual machine
mapping模擬實驗結果表明透過本篇方法來得比 Hadoop 縮短 41的時間以
及最多節省 Communication Locality 約莫 33尤其在異構性越高的環境以及
一台實體機器架設的虛擬機器數量越多改善的效果越明顯另外 Loading
aware virtual machine mapping 優化技術改善了 Reduce phase 的完成時間約莫
13
在未來研究上可以朝著動態調整 Reducer 數量的方向前進當固定大小的
資料上其實有時候過多的節點去運算消耗了大量的運算資源卻只得到一些
秒數的縮短如何利用適當的運算資源來得到最大的利益這是相當重要的議
題由於此實驗都是屬於模擬實驗希望在未來可以實際架設在機器上運行
透過 Benchmark得到真正的數據
33
Reference
1 Masato Asahara Shinji Nakadai and Takuya Araki ldquoLoadAtomizer A
Locality and IO Load aware Task Scheduler for MapReducerdquo in 4th IEEE
International Conference on Cloud Computing Technology and Science
(CloudCom) pp 317-324 2012
2 Paul Barham Boris Dragovic Keir Fraser Steven Hand Tim Harris Alex
Ho Rolf Neugebauer Ian Pratt and Andrew Warfield ldquoXen and the Art of
Virtualizationrdquo SOSP 03 Proceedings of the nineteenth ACM symposium
on Operating systems principles vol 37 Issue 5 pp 164-177 December
2003
3 Xiangping Bu Jia Rao and Cheng Zhong Xu ldquoInterference and
Locality-Aware Task Scheduling for MapReduce Applications in Virtual
Clustersrdquo Proceeding HPDC 13 Proceedings of the 22nd international
sym-posium on High-performance parallel and distributed computing pp
227-238 2013
4 Kasim Selcuk Candan Jong Wook Kim Parth Nagarkar Mithila Nagendra
and Ren-wei Yu ldquoScalable Multimedia Data Processing in Server Clustersrdquo
IEEE MultiMedia pp 3-5 2010
5 Fay Chang Jeffrey Dean Sanjay Ghemawat Wilson C Hsieh Deborah A
Wallach Mike Burrws Tushar Chandra Andrew Fikes and Robert EGruber
ldquoBigtable A Distributed Storage System for Structured Datardquo 7th UENIX
Symposium on Operating Systems Design and Implementation pp 205-218
2006
6 P C Chen Y L Su J B Chang and C K Shieh ldquoVariable-Sized Map and
Locality-Aware Reduce on Public-Resource Gridsrdquo in Proceedings
Conference Grid and Pervasive Computing (GPC 2010) pp 234-243 2010
May
7 Q Chen D Zhang M Guo Q Deng and S Guo ldquoSamr A self adaptive
mapreduce scheduling algorithm in heterogeneous environmentrdquo in 10th
IEEE International Conference on Computer and Information Technology
CIT rsquo10 (Washington DC USA) pp 2736ndash2743 2010
8 Jeffrey Dean and Sanjay Ghemawat ldquoMapReduce Simplified Data
Processing on Large Clustersrdquo Communications of the ACM vol 51 no 1
pp 107ndash113 2008
9 Yuanquan Fan Weiguo Wu Haijun Cao Huo Zhu Xu Zhao and Wei Wei
34
ldquoA heterogeneity-aware data distribution and rebalance method in Hadoop
clusterrdquo 2012 Seventh ChinaGrid Annual Conference pp 176-181 2012
10 Zacharia Fadika Elif Dede Jessica Hartog and Madhusudhan Govindaraju
ldquoMARLA MapReduce for Heterogeneous Clustersrdquo in 12th IEEEACM
International Symposium on Cluster Cloud and Grid Computing pp 49-56
2012
11 Sanjay Ghemawat Howard Gobioff and ShunTak Leung ldquoThe Google file
systemrdquo In Proceedings of 19th Symposium on Operating Systems
Principles pp 29-43 2003
12 Sven Groot ldquoJumbo Beyond MapReduce for Workload Balancingrdquo Fuzzy
Systems and Knowledge Discovery (FSKD) 2011 Eighth International
Conference on Cloud Computing Technology and Science vol 4 pp
2675-2678 2011 July
13 B Gufler N Augsten A Reiser and A Kemper ldquoHandling Data Skew in
MapReducerdquo in Proceedings of CLOSER pp 574ndash583 2011
14 Mohammad Hammoud and Majd F Sakr ldquoLocality-Aware Reduce Task
Scheduling for MapReducerdquo Third IEEE International Conference on
Cloud Computing Technology and Science pp 570-576 2011
15 C He Y Lu and D Swanson ldquoMatch-making A New MapReduce
Scheduling Techniquerdquo IEEE Third International Conference on Cloud
Computing Technology and Science (CloudCom) pp 40ndash47 2011
16 Hung Chang Hsiao Huesh Yi Chung Haiying Shen and Yu Chang
ChaoldquoLoad Re-balancing for Distributed File Systems in Cloudsrdquo IEEE
Trans on Parallel and Distributed Systems vol24 pp 951-962 2012
17 Shadi Ibrahim Hai Jin Lu Lu Song Wu Bingsheng He and Li Qi ldquoLEEN
LocalityFairness Aware Key Partitioning for MapReduce in the Cloudrdquo
2010 IEEE Second International Conference on Cloud Computing
Technology and Science (CloudCom) pp 17ndash24 2010
18 S Ibrahim H Jin L Lu L Qi S Wu and X Shi ldquoEvaluating MapReduce
on Virtual Machines The Hadoop Caserdquo Proceedings Conference Cloud
Computing (CloudCom 2009) Springer LNCS pp 519-528 2009 Dec
19 C Jin and R Buyya ldquoMapreduce programming model for net-based cloud
computingrdquo in Proceedings of the 15th International Euro-Par Conference
on Parallel Processing Euro-Par (Berlin Heidelberg) pp 417ndash428 2009
20 R Nanduri N Maheshwari A Reddyraja and V Varma ldquoJob aware
scheduling algorithm for Mapreduce frameworkrdquo in 3rd International
Conference on Cloud Computing Technology and Science
CLOUDCOM rsquo11 (Washington DC USA) pp 724ndash729 2011
35
21 Andrew J Page and Thomas J Naughton ldquoDynamic task scheduling using
genetic algorithms for heterogeneous distributed computingrdquo in 19th IEEE
International Parallel and Distributed Processing Symposium pp 189a
2005 April
22 Xiaoyu Sun Chen He and Ying Lu ldquoESAMR An Enhanced Self-Adaptive
MapReduce Scheduling Algorithmrdquo 2012 IEEE 18th International
Conference on Parallel and Distributed Systems pp 148-155 2012
23 Chao Tian Haojie Zhou Yongqiang He and Li Zha ldquoA Dynamic
MapReduce Scheduler for Heterogeneous Workloadsrdquo Eighth International
Conference on Grid and Cooperative Computing pp 218ndash244 2009 Aug
24 Jiong Xie Shu Yin Xiaojun Ruan Zhi-yang Ding Yun Tian James Majors
Adam Manzanares and Xiao Qin ldquoImproving mapreduce performance
through data placement in heterogeneous hadoop clustersrdquo in IPDPS
Workshops pp 1ndash9 2010
25 J Tan X Pan S Kavulya R Gandhi and P Narasimhan ldquoMochi Visual
Log-Analysis Based Tools for Debugging Hadooprdquo USENIX Workshop on
Hot Topics in Cloud Computing (HotCloud) pp 1-5 2009
26 Matei Zaharia Andy Konwinski Anthony D Joseph Randy Katz and Ion
Stoica ldquoImproving MapReduce Performance in Heterogeneous
Environmentsrdquo 8th Symposium on Operating Systems Design and
Implementation pp 29ndash42 2008 Dec
27 X Zhang Z Zhong S Feng B Tu and J Fan ldquoImproving Data locality of
MapReduce by Scheduling in Homogeneous Computing Environmentsrdquo in
9th IEEE International Symposium on Parallel and Distributed Processing
with Applications (ISPA) pp 120-126 2011
28 Apache hadoop Available from httphadoopapacheorg
29 MapReduce with a lot of examples for Mining datasets Available from
httpinfolabstanfordedu~ullmanmmdsbookpdf
Page 4
iii
Keywords MapReduce Cloud computing Hadoop Virtual machines Dynamic
Mapping
iv
致謝
本篇碩士論文能夠順利完成在此要誠摯感謝我的指導教授許慶賢老師在
這段期間隨著跟老師的互動與討論之下對於我所想探知的領域也慢慢的深
入研究在寫論文的過程老師不斷的協助我對於原本凌亂的想法做整合在
遇到我無法理解問題的時候能夠不厭其煩的利用一些例子來使我更容易了解
並且對我的論文提出一些看法以及意見使我得論文更有組織性
再來就是要感謝實驗室的各位學長可以即時的幫助我解決我遇到的困難
在寫論文的時候告知我該注意的地方避免重蹈覆轍另外要感謝的是碩士班
的同學平常互相討論互相勉勵對方另外還要感謝學弟妹能夠幫我處理雜
事使我能夠專心在寫論文上
最後要感謝的是我的家人在我就學期間能夠支持與鼓勵我使我無後顧
之憂能夠專心的在寫論文上讓我能夠順利完成我的學業最後僅以此文獻
給我的師長以及在學的時候支持我的各位朋友以及家人
v
Contents
摘要 i
ABSTRACT ii
致謝 iv
Contents v
List of Tables vii
List of Figures viii
Chapter 1 Introduction 1
11 Background 1
12 Motivation 2
13 Contribution 2
14 Organization 3
Chapter 2 Related Works 4
21 Homogeneous Environment 4
22 Heterogeneity Environment 5
Chapter 3 Preliminary 8
31 Hadoop 8
32 MapReduce 9
33 Heterogeneous Classification 10
Chapter 4 Dynamic Data Partitioning and Locality Aware Virtual Machine
Mapping 11
41 Dynamic Data Partitioning 12
42 Locality Aware Virtual Machine Mapping 13
421 Best Fit 13
422 Priority 16
43 Loading Aware Virtual Machine Mapping 17
Chapter 5 Performance Analysis 19
51 Communication Locality 19
52 Task Excution Time 21
vi
Chapter 6 Conclusions and Future Works 32
Reference 33
vii
List of Tables
表一 Hardinfo benchmark 10
viii
List of Figures
圖一 MapReduce 的運作流程圖 9
圖二 整體方法流程圖 11
圖三 根據節點能力分配相對應大小的資料 12
圖四 Best Fit 挑選機器流程 14
圖五 Best Fit 挑選機器的不完善 15
圖六 Priority 挑選機器流程 16
圖七 Reducer 對應到其相對效率的 Worker 17
圖八 Communication locality (a) low heterogeneity vm=2 (b) low heterogeneity
vm=5 (c) high heterogeneity vm=2 (d) high heterogeneity vm=5 19
圖九 Map completion time (a) low heterogeneity vm=2 (b) low heterogeneity
vm=5 (c) high heterogeneity vm=2 (d) high heterogeneity vm=5 22
圖十 Reduce completion time (a) low heterogeneity vm=2 (b) low heterogeneity
vm=5 (c) high heterogeneity vm=2 (d) high heterogeneity vm=5 24
圖十一 Total completion time (a) low heterogeneity vm=2 pm=5 (b) low
heterogeneity vm=5 pm=2 (c) high heterogeneity vm=2 pm=5 (d) high
heterogeneity vm=5 pm=2 26
圖十二 Total completion time with different number of vm (a) low heterogeneity
vm=2 worker=12 (b) high heterogeneity vm=5 worker=12 28
圖十三 Total completion time with different data size 29
圖十四 Total completion time of loading aware optimization (a) without
optimization (b) with optimization 30
1
Chapter 1 Introduction
11 Background
網路的發展慢慢的成為人們生活中不可或缺的一部分因而產生許多要處
理的大量資料而這些資料在處理上有些許不同要如何處理這些不同的資料
變成一個很重要的議題因此雲端運算這類專有名詞從而衍生出來而在此
背景之下Google在2003年提出分散式檔案系統架構Google File System(GFS)
[11]2004年提出MapReduce架構 [8]可用來處理大規模的資料處理以及2006
年提出BigTable [5]這是基於Google File System針對資料結構化儲存的分散式系
統
在過去幾十年前個人電腦還沒有這麼普遍的情況下當時的電腦主要還是以
大型主機為主所有的工作都只能透過那一台主機運行既不方便也沒有彈性
因此IBM則在當時開發了一套虛擬機監視器(Virtual Machine Monitor)藉此將
大型主機的資源分割成多個虛擬機器提供給使用者使用這些虛擬機器可以模
擬成多個操作環境進而比一個操作環境來的更有效率現今虛擬化技術 [2]越
來越成熟雲端運算環境透過此技術整合了分散在各處的資源使資源可做一
個統整藉此提供各項的資訊服務
雲端運算(Cloud Computing)簡單來說它不是一個技術而是一個概念希
望可以藉由雲端叢集 [4]透過網際網路來處理在雲端存放的龐大資料而
Google提出的MapReduce架構Map階段的時候將這些龐大資料拆解成許多小
資料再交給雲端叢集的每個節點去做運算Reduce在讓每個節點將運算後的
結果進行整合再回傳給使用者這樣的方式由原本只能單一處理變成平行
處理進而加快了處理速度
2
Google雖然提出了多個雲端運算的技術但是並沒有開放原始碼出來使
得企業們受到局限直到Apache開發出Hadoop平台 [25]企業或使用者才可以
自己研發相關的MapReduce技術 [18][19][20]不再被受到限制MapReduce技
術具有高容錯性資源使用率高平行處理使得它在企業界備受青睞
12 Motivation
在一個大的群集裡原型的MapReduce會將進來的資料切割成固定大小
主要節點會將這些資料分散給各節點去做運算但是如果在異構性環境
[21][23]就無法根據機器的處理速度動態的分配資料給相對映的機器去做運
算在Map階段節點處理速度相同的情況下每個節點完成的時間會大致相同
但是在節點處理速度不盡相同的情況下完成的時間彼此不一樣則會造成最
先處理好的機器得等待處理速度較慢的節點完成因而拖累完成時間而在
Reduce階段則考慮到Communication locality的問題Communication locality是
指說Reducer在此節點運算的時候所能節省的溝通成本(意指不用到遠端節點
取資料的溝通成本)原始的MapReduce在挑選機器的時候是有機器就拿去
做運算而沒考慮此問題
13 Contribution
本論文針對以上的敘述做了改進首先測試每台機器的運算效能在Map
階段的時候根據節點的運算效能來決定負責的運算量進而達到平均完成時間
相近在Reduce階段評估Communication locality再根據Communication locality
來決定Reducer要選擇在哪台機器使其節省更多的Communication locality最
後透過Loading Aware Virtual Machine Mapping來改善Reduce階段的完成時間
3
14 Organization
本論文研究探討在異構性環境下每個節點運算效能不一致的情況下為了
要避免MapReduce運算所造成校能不佳的情況動態的調整Map mapping以及
Reducer mapping
本論文章節介紹如下第一章緒論簡述雲端運算的研究背景及研究動機與
目的以此為基礎第二章相關研究介紹前人所提出的MapReduce改善方法
第三章Preliminary介紹HadoopMapRedcue的流程以及定義異構性環境第四
章演算法介紹MapReduce的各階段流程以及介紹本篇論文所提出的動態資料
切割和虛擬機對映兩種技術的流程另外提出了一個優化技術第五章性能分
析透過實驗模擬的結果將其結果分析與比較最後第六章為結論以及未來
可以繼續研究的方向
4
Chapter 2 Related Works
MapReduce 是目前非常流行的分散式運算的架構主要是透過網際網路來處
理在雲端上儲存的大量資料將要執行的 MapReduce 程式複製到 Master node 以
及各個WorkerMaster node會決定要給哪台Worker去執行Map程式或者Reduce
程式透過 Map 程式將資料切成許多區塊經過 Map 階段產生出 Key Value
將此 Key Value 存儲在 Local disc然後經過 Shuffle(將相同屬性的 key 排序在
一起)而 Reduce 程式將這些 Shuffle 後的結果進行整合最後再將結果產生出
來由於 MapReduce 一開始主要是在節點效能大致相同的情況下去執行對於
節點效能不一致的情況 (也就是所謂的異構性環境)導致會有一些效能不盡理
想的狀態出現 [10]並且隨著虛擬技術的成熟虛擬機器可以將實體機資源
更有效的利用慢慢的開始以虛擬機器作為 Cluster而且MapReduce 在以虛
擬機器建立起的異構性環境之下對於 IO 負載不平衡 [12][13][16]以及任務排
程 [1][6][15]不平均的部份目前已經有許多相關文獻在探討此方面
21 Homogeneous Environment
由 Shadi Ibrahim 等人在 2010 年時所提 LEEN [17]的方法在 Map 階段因
為原始的 MapReduce 架構沒有考慮資料的內容盲目的以資料數量區分導致
Shuffle 階段時會出現分配不平均的現象為了改善此部份LEEN 將每筆資料
計算出 Fairness Score 後根據 Locality [3][27]概念分析與比較將資料適當地放
在各個節點上達到平均分配的效果透過這樣的想法我們將此概念延伸到
Reducer 挑選機器是根據 Communication locality而不是盲目的去選擇有空的
Worker
5
MapReduce是主從式架構具有樹狀網路分佈的結構節點分布在不同的主
機上或者可能在不同的資料中心的主機上則兩個節點要溝通的話則需要
透過網路而頻寬會影響之間傳輸的速度在MapReduce的Worker接受到Master
的要求從而排程Map和ReduceHadoop企圖排程將比較靠近的資料做Map
tasks以避免在網路上增加過多的overhead至於Reduce tasks則沒有考慮到此部
份因此在進行shuffle的時候不必要的資料在網路上可能會降低校能遙遠
的節點資料傳送已經成為一個瓶頸而Mohammad Hammoud等人在2011提出
的論文著重在Reduce任務的部分透過網路位置做分區來做排程因此形成
了LARTS 的策略 [14]而且還觀察到MapReduce在Map Tasks完成後進行
shuffling的動作此步驟是用交錯的方式先前的方法在Shuffling這個動作的
時候使MapReduce的性能提高但是卻增加了網路的負載而LARTS保持了
此Shuffling的優勢還減少了網路的負載但是此篇論文著重在Reduce task的
部份至於Map task的部份並未做優化的部份
22 Heterogeneity Environment
Hadoop原先假設在節點相同的環境下運行但是實際上環境內的節點並
不是每次都是一致的當Hadoop運行在異構性環境對於性能上是有很大的落
差由Matei Zaharia等人提出的LATE (Longest Approximate Time to End) [26]針
對其任務的排程上做改良重新設計了一個新的Speculative task會估算完成時
間根據完成時間在去調整任務上的分配雖然對回應時間有點影響但是
整體性能明顯的比Hadoop改善很多而Quan Chen等人在2010年所提出的SAMR
(Self-adaptive MapReduce Scheduling Algorithm) [7]自動適應MapReduce的調動
排程主要是計算任務進度根據歷史資料動態調整Map任務以及Reduce任務
並且可以識別在節點上執行較慢的任務將其任務不做備份工作使其完成時
6
間可以降低在 2012年由Xiaoyu Sun等人提出的 ESAMR (An Enhanced
Self-Adaptive MapReduce Scheduling Algorithm) [22]增強自適應MapReduce的調
度算法以提高Speculative task在SAMR識別慢任務可能不是這麼準確但
是在ESMAR裡它們使用集群演算法轉化改進了這一部分使其識別慢任
務達到一定的準確ESAMR研究結果的誤判率明顯降低
由於Hadoop在異構性環境會造成資料分配不平均的現象所以由
Yuanquan Fan等人提出了在Map階段重新平衡資料分配的方法 [9]而此篇論文
平衡的方法有兩種(1) 根據性能來分配-主要是分成不同大小的資料區塊首先
將每個節點進行性能評估然後資料切成不同大小根據節點的計算能力來分
配相對應的節點(2) 資料動態搬遷-儘管不同大小的資料被分配在每一個節點
上再來估算任務完成時間將執行最慢的任務的部份資料轉移到執行最快的節
點有些任務可能會隨著時間的關係或者網路的關係慢慢延後所以將這些延
後的資料轉移給其他節點去運算其缺點就是資料的搬移時間和成本並沒考慮至
其中以及Reduce phase階段可能因為資料搬移的情況導致Reduce phase的
Communication overhead變重
傳統的 MapReduce 架構是考慮每台機器的規格都相同所以資料平均分
配後所處理完成的時間也都會是一樣在雲端運算環境中往往都是數百台或
著上千上萬台機器在同時運算機器的規格也不盡相同因此 Jiong Xie 等人在
2010 年所提出的 Data Placement [10]的方法將每個電腦區分出 3 個等級分別
是 FastestAverage 及 Slowest不同的等級取得運算資料份量也不同並建立一
張表紀錄目前有哪些機器處於忙碌壅塞狀態有那些機器處於閒置狀態並且
將忙碌的機器的資料分出 3 個等級平均分配資料直至平均為止使得每台
機器資源利用率是相近的雖然這樣的動機很好但是對於資料遷移所花的
時間以及成本是沒考慮的
根據上述研究不足的地方我們提出了MapReduce在異構性環境裡在Map
7
階段將資料切割成不固定大小依據節點能力的不同做出適當的配置在
Reduce階段根據Communication locality 找出適合在哪一台機器上執行最
後再透過優化技術把本篇論文方法的執行時間縮短一些
8
Chapter 3 Preliminary
31 Hadoop
Hadoop架構是由Apache所開發的開放原始碼提供了一個分散式系統的基
本架構Hadoop雲端運算技術主要由三個主要架構所組成 Hadoop Distributes
File System (HDFS)分散式檔案系統Hadoop Database (HBase)分散式資料庫以及
Hadoop MapReduce分散式平行運算以下一一敘述
HDFS (Hadoop File system) 是根據Google提出的GFS(Google File System)所
延伸的主要就是將各個節點連結起來將這些節點組成一個大型的分散式檔案
系統可以有效的處理大量檔案並提供安全的儲存環境以及可以避免因為單一
的硬體發生異常而影響整個系統
而HDFS為了維護資料的一致性當使用者將資料存進去HDFS就不能去
更動或修改HDFS會將要儲存的資料複製副本分散儲存在各個不同的節點
所以當儲存資料的節點發生異常可藉由其他節點來復原
HBase (Hadoop Database)類似Google BigtableHBase架構在Hadoop HDFS
上的分散式資料庫與ㄧ般關聯式資料庫不同HBase使用列和行為索引存取資
料值以及每一筆資料都有一個時間戳記因此同一個欄位可以因為時間的不同
而存在多筆資料
HBase專門用來處理大規模的資料是由HMasrter以及HRegion組成一台
HMaster管理多部HRegion ServerHMaster負責監控與管理HRegion Server系統狀
態而HRegion Server利用記憶體存取快速的優點可以加速資料讀寫的動作
所以會先將資料存放在記憶體內之後再將資料存回HDFS
9
32 MapReduce
雲端運算最重要的關鍵即是MapReduce使用MapReduce模式將一個大問
題先讓程式開發人員分析問題將問題切割成許多小問題在將此小問題平行
分散給各個Mapper當Mapper處理完的結果在傳送到相對映的Reducer去做運
算Reducer將這些結果進行合併在把合併的結果輸出
Split 0
Split 1
Split 2
Mapper
Mapper
Mapper
Reducer
Reducer
Partition 0
Partition 1
Partition 0
Partition 1
Partition 0
Partition 1
Output
File0
Output
File1
Input
File
Master
User
Map
Phase
Intermediate file
(on local disks)
Reduce
PhaseOutput
File
圖一 MapReduce的運作流程圖
如圖一即為MapReduce流程圖
1 將輸入的資料切割成固定大小
2 將要執行的MapReduce程式複製到Master與每一台Worker
3 Master會挑選閒置的Worker當Mapper或Reducer
4 Mapper會從切割好的資料讀取相對映的資料會產生Key Value會先暫
存在記憶體內再週期性的傳送到Local Disc
5 執行Reducer程式的Worker讀取每一個Mapper的結果並進行排序以及彙
整再將整合的結果輸出
10
33 Heterogeneous Classification
MapReduce 在異構性環境下執行已經是越來越多人討論的議題如何將
每個節點分級也有相當多的Benchmark可以做測試本篇論文採用的Benchmark
為 Hardinfo透過虛擬機器去做測試
表一 Hardinfo benchmark
如表一1_2 前面的數字代表核心數目後面的數字代表 Memory 有多少
GB而這個 Hardinfo 本身內含有許多測試的軟件我們測了兩個實驗CPU
Blowfish 以及 CPU CryptoHash這兩個都是跟加密有關的CPU Blowfish 運行
在單核心以及四核心的虛擬機器上所花費的秒數兩個相差了 5 倍因此我
們定義異構性等級為 1 到 5也就是所謂的高異構性環境CPU CryptoHash 運行
在單核心以及四核心的虛擬機器上每秒能壓縮的資料相差了三倍因此我
們定義異構性等級為 1 到 3也就是所謂的高異構性環境我們之後的實驗根
據這兩個異構性等級做參數
11
Chapter 4 Dynamic Data Partitioning and Locality
Aware Virtual Machine Mapping
原始的 Hadoop 在同質性環境執行 MapReduce 程式每個節點運算能力大
致相同所以在 Map 階段並不會有互相等待的結果發生但是在異構性的
環境之下每個節點的 Worker 彼此之間運算速度不同導致先完成的必須得
等速度較慢的節點完成因而執行時間變長而在 Reduce 階段沒有考慮
Communication Locality 的問題即使是用虛擬機架設的環境也是一樣所以
隱藏著一些 Communication overhead 的問題本篇論文主要探討此兩問題
圖二 整體方法流程圖
如圖二所示將資料從 HDFS 讀取進來因為每個節點不能去從其他節點讀
取資料來做因此只能將自己節點資料作完等待其他節點完成後才可繼續
執性 Reduce 階段因此在 Map mpping 階段是根據節點內部的虛擬機性能來
決定節點內部資料的分配而不是固定資料大小丟給效能不一致的虛擬機器來做
12
運算在 Reduce mapping 階段是根據 Locality aware 來選擇機器選擇節省成本
最多的機器以及最後有個節點內部動態調整機制為了減少Reducer完成的時間
41 動態資料切割
在同質性環境 (即為每個節點設備大致相同)運行MapReduce當Worker
完成Map階段任務必須等待其他Worker完成才能進行下一個動作因為每台
節點運算能力大致相同所以當執行Map階段結束後每台節點完成時間是大
致相同的而在異構環境下 (每個節點設備不盡相同則會產生出一個問題在
運算效能不一致的情況會造成在Map程式執行完成的時間變長因為當資料相
同可是每個節點運算能力不一樣就會彼此互相牽制為了要避免此情況發生
所以本篇論文用動態資料切割的方法來解決此問題
圖三 根據節點能力分配相對應大小的資料
動態資料切割的方法得先知道每個Worker的運算能力根據運算能力動
態切割資料大小如圖三所示每個節點運算能力較好的Worker就分配到資料
較多的Partition去做處理而運算能力較差的Worker就分配到較少的Partition使
得每個節點內部的Worker完成時間接近就不會有處理速度比較快的節點完成後
13
必須要等待處理速度比較慢的節點而資料分配方式就是根據Performance
也就是前面所提到的異構性等級的數值相加起來 (Worker處理速度越快則等級
越高)將要處理的資料以及總數值相除會得到一個平均值這個平均值去乘
上等級也就是Worker要處理的資料量
42 Locality Aware Virtual Machine Mapping
由於虛擬機的使用可以充分利用資源所以現在一台實體機可架設多
台虛擬機所以同一台實體機內部有兩台虛擬機當這兩台互相交換資料的
時候其實網路的負載是很低的但是如果是兩台實體機交換資料網路的負
載會變很高在執行Map階段之後資料都儲存在Local disk裡Reducer要怎麼
選擇機器使得Communication locality節省更多而這個即是本篇論文要探討的
第二個問題
421 Best Fit
本篇論文提出了一個 Best Fit 方法這個方法的概念是讓 Reducer 選擇在哪
一台節點上運行使其 Communication locality 節省最多接下來在找出節點內
Performance 最好的 Worker 來當 Reducer而不是像 Hadoop 的 MapReduce 是照
順序去分配這樣的選擇方式是因為節點與節點之間資料傳遞的Communication
overhead 是相當大的而節點內部之間的 Communication overhead相較起來小
很多而讓 Communication locality 節省越多也可以讓 Communication overhead
降低
14
圖四 Best Fit挑選機器流程
1 如圖四所示假設一台實體機上(P1)架設兩台虛擬機(v1v2)根據虛擬
機的運算能力分配相對映的資料量v1即為25單位v2即為22單位以此類
推
2 執行Map程式產生出k值因為有三台Reducer(R1R2R3)所以產生出
3個k值v1虛擬機的k1值為7k2值為10k3值為8而這v1的所有k值相加即為
v1所負責的資料量v1虛擬機k1值為10k2值為9k3值為3而這v2的所有k值
相加為v2所負責的資料量v3也是一樣
3 先從R1要挑選哪台VM開始首先把每個VM所產生出的k1值相加得到一個
總和即為57單位底下看到有三個數值第一個數值即為R1如果在P1這
台機器上運行的話所耗費的遠端溝通成本(要到P2P3取資料的溝通成本)
則第二個數值即為R2在P2這台機器上運行的話所耗費的遠端溝通成本
第三個也是
4 把總共要處理的資料減掉到遠端耗費的溝通成本會得到一個數值即為
15
Communication localityR1如果選擇P1機器運行則Communication locality
為17單位R1如果選擇P2機器運行則Communication locality為18單位R1
如果選擇P3機器運行則Communication locality為22單位R1挑選最多的
Communication locality的機器來運行所以R1選擇P3機器來做運算
5 R1選擇P3實體機而P3實體機有2台虛擬機所以在根據虛擬機的運算能力
先挑選運算能力好的來做為R1
6 如果節點的虛擬機都被挑選完就選第二順位的節點
原始的HadoopR1挑選v1而R2挑選v2照順序的挑選所以沒有考慮到溝
通成本則本篇論文Best fit是根據Communication locality來挑選機器但是
可能在某ㄧ些情況可能不夠完善
圖五 Best Fit 挑選機器的不完善
如圖五所示當Communication locality可以選擇很高的節點卻因為前面的
Reducer把節點內部的Worker挑選完了所以逼不得已只能挑選第二順位的節
點可是這個Communication locality遠遠低於前面Reducer挑選的節點導致整體
的Communication locality大幅下降因此422 Priority即為改善的方法
16
422 Priority
為了確保每個Reducer都能挑選Communication locality最高的機器因此
此章節做了改善
1 在Reducer在挑選機器之前先判斷Reducer哪台要先下去做挑選
2 將每台Reducer最高的Communication locality的跟第二高的相減會得到一個
Difference locality在利用Difference locality下去做排序由大到小
3 Difference locality越大的代表那台Reducer要優先做挑選所以就從
Difference locality越大的挑選到Difference locality最小的
圖六 Priority挑選機器流程
1 如圖六所示R1總共的Data block為57單位R2為42單位R3為41單位經過
Shuffle階段之後
2 R1如果選擇P1這台機器能節省的Communication locality就是17單位R1如果選
擇P2這台機器能節省的Communication locality就是18單位R3如果選擇P2這台
機器能節省的Communication locality就是22單位
3 根據Communication locality將第一高的減掉第二高的會得到一個Difference
17
locality
4 根據此Difference locality排出哪個Reducer要先選取機器此例子的順序為
R2再來R3再來R1而Best Fit就是R1再來R2再來R3
Priority可以避免前面的Reducer把機器挑選完迫使只能選擇第二高的
Communication locality使這樣大幅降低的情況給消除而Best fit和Priority這兩
種方法大幅提高了Communication locality的狀況可是卻也導致了Reduce階段
的完成時間變長所以下章節主要敘述將Reduce階段完成時間優化
43 Loading Aware Virtual Machine Mapping
上述的兩種方法Best fitPriority都是為了降低節點彼此之間的溝通成本
但是卻引發了一個問題Reducer執行完成的時間比原始Hadoop還來得長為
了解決此問題本篇論文在這章節提出優化的方法前面兩種方法是根據節點
的Communication locality來決定要在哪一台Worker做運算當決定好Worker
的時候Reducer會先將運算能力較好的虛擬機器拿去做運算這樣使得運算較
快的機器並不會對映到運算較複雜的資料使得較早完成的機器還是得等候還沒
做好的機器造成時間上的延長所以本篇論文針對此部份做優化
圖七 Reducer對應到其相對效率的Worker
18
如圖七所示當Reducer都挑選好要在哪台實體機做在開始執行Reduce程
式之前我們根據要處理的資料量來分配相對映的機器而這虛擬機的交換
並不會影響到Communication locality因為都是在同一台實體機架設的虛擬機
器做交換
19
Chapter 5 Performance Analysis
本實驗以模擬的方式進行利用 C 語言程式撰寫可設定節點數量節點
裡的 Worker 數量資料大小異構性環境低 (h = 1-3)或高 (h = 1-5)透過模擬
的實驗數據分析基於 Hadoop 的 MapReduce 以及本篇論文透過 Map mapping
和 Reduce mapping 的方式進而改善原始 MapReduce 所造成的缺點
51 Communication Locality
本模擬實驗主要探討的是 Communication Locality圖八(a)和圖八(b)模擬環
境為低異構性圖八(c)和圖八(d)為高異構性環境固定每台實體機架設 2 台以
及 5 台虛擬機器固定 Worker 總數量分別為 102030要處理的資料為 900G
Communication locality(vm = 2 h = 1-3)
0
50
100
150
200
250
300
10 20 30
Number of vm
Dat
a lo
cali
ty
Hadoop
Best Fit
Priority
(a)
20
Communication locality(vm = 5 h = 1-3)
0
100
200
300
400
500
600
10 20 30Number of vm
Dat
a lo
cali
ty
Hadoop
Best Fit
Priority
(b)
Communcation Locality(vm = 2 h = 1-5)
0
50
100
150
200
250
300
10 20 30Number of vm
Dat
a lo
cali
ty
Hadoop
Best Fit
Priority
(c)
Communcation locality(vm = 5 h = 1-5)
0
100
200
300
400
500
600
10 20 30
Number of vm
Dat
a lo
cali
ty
Hadoop
Best Fit
Priority
(d)
圖八 Communication locality (a) low heterogeneity vm=2 (b) low heterogeneity
vm=5 (c) high heterogeneity vm=2 (d) high heterogeneity vm=5
21
由圖八(a)可看出本篇論文提出的兩個方法在低異構性環境所能節省的
Communication Locality 比原始的 Hadoop 提出的方法最多節省了 33的
Communication Locality圖八 (b)也最多節省了約 12的 Communication
Locality雖然節省在固定架設的虛擬機器為兩台的時候節省比較多但是
兩個實驗節省的 Communication Locality 量卻相差了快 2 倍原因是在於 Map 階
段完成的資料都儲存在 Local disc兩台實體機在交換資料的時候溝通成本是
很高的而建立在同一台實體機的兩台虛擬機器交換資料則溝通成本卻來的低
很多 因此溝通成本量的提高也會被實體機上架設的虛擬機器的多寡來影
響
由圖八(c)所示在高異構性最多可節省 27的 Communication Locality圖
八(d)則為 15的 Communication Locality分別從圖八(a)圖八(c)圖八(b)以及
圖八(d)可以看得出來Best Fit 和 Priority 不會隨著異構性環境的高低溝通成
本量會有大幅度的改變而 Priority 在節省的 Communication Locality 都會比 Best
Fit 都來的多一點因為Priority 可以避免前面的 Reducer 把機器挑選完迫使
只能選擇第二高的Communication location 因此大幅降低的情況給消除
52 Task Execution Time
此節實驗是要探討 Map 以及 Reduce 完成的時間圖九(a)和圖九(b)為低異構
性環境的實驗圖九(c)和圖九(d)為高異構性環境都是固定每台實體機架設 2
台以及 5 台虛擬機器所以固定虛擬機器總數量分別為 102030要處理
的資料為 900G
22
Map completion time(vm = 2 h = 1-3)
0
20
40
60
80
100
10 20 30
Number of vm
Sec
ond
Hadoop
Best Fit amp Priority
(a)
Map completion time(vm = 5 h = 1-3)
0
20
40
60
80
100
10 20 30Number of vm
Sec
ond
Hadoop
Best Fit amp Priority
(b)
Map completion time(vm = 2 h = 1-5)
0
20
40
60
80
100
10 20 30Number of vm
seco
nd
Hadoop
Best Fit amp Priority
(c)
23
Map completion time(vm = 5 h = 1-5)
0
20
40
60
80
100
10 20 30Number of vm
seco
nd
Hadoop
Best Fit amp Priority
(d)
圖九 Map completion time (a) low heterogeneity vm=2 (b) low heterogeneity
vm=5 (c) high heterogeneity vm=2 (d) high heterogeneity vm=5
圖九(a)圖九(b)圖九(c)以及圖九(d)顯示了本論文提出的兩個方法 Best Fit
和 Priority 他們完成的時間是一樣的因為兩個方法的 Map mapping 概念是一樣
的所以完成時間也會一樣在此實驗裡可發現 Best Fit 和 Priority 也會隨著
實體機上的虛擬機器數量增多而完成時間縮短而縮短的時間最多甚至可以達
到 44也可看出本論文的兩個方法在低異構性環境的效能比在高異構性環境
的效能來的較差所以在異構性越高的環境越能看得出 Best Fit 和 Priority
的優勢
24
Reduce completion time(vm = 2 h = 1-3)
0
20
40
60
80
100
120
10 20 30Number of vm
Sec
ond
Hadoop
Best Fit
Priority
(a)
Reduce completion time(vm = 5 h = 1-3)
0
20
40
60
80
100
120
10 20 30Number of vm
Sec
ond
Hadoop
Best Fit
Priority
(b)
Reduce completion time(vm = 2 h = 1-5)
0
20
40
60
80
100
120
10 20 30Number of vm
seco
nd
Hadoop
Best Fit
Priority
(c)
25
Reduce completion time(vm = 5 h = 1-5)
0
20
40
60
80
100
120
10 20 30Number of vm
Sec
ond
Hadoop
Best Fit
Priority
(d)
圖十 Reduce completion time (a) low heterogeneity vm=2 (b) low
heterogeneity vm=5 (c) high heterogeneity vm=2 (d) high heterogeneity vm=5
而在 Reduce 完成時間的方面不像 Map 的完成時間是一樣的因為選
擇 Reducer 的方式不同造成 Best Fit 以及 Priority 時間完成上有些許不同
如圖十(a)所示節省了 14的時間圖十(b)節省了 16的時間圖十(c)
節省了 23圖十(d)節省了 29由圖十(b)以及圖十(d)可見影響 Reduce
階段完成時間最主要的原因是異構性環境的問題當環境的異構性越高其
所節省的時間越多而圖十(c)以及圖十(d)所示一台實體機架設的虛擬機器數
量影響的範圍比較小
26
Total completion time (vm = 2 pm = 5 h = 1-3)
0 50 100 150 200 250
Hadoop
Best Fit
Priority
Met
hod
Second
Map Reduce
(a)
Total completion time(vm = 5 pm = 2 h = 1-3)
0 50 100 150 200
Hadoop
Best Fit
Priority
Met
hod
Second
Map Reduce
(b)
Total completion time(vm = 2 pm = 5 h = 1-5)
0 50 100 150 200 250
Hadoop
Best Fit
Priority
Met
hod
Second
Map Reduce
(c)
27
Total completion time(vm=5 pm = 2 h = 1-5)
0 50 100 150 200
Hadoop
Best Fit
Priority
Second
Met
hod
Map Reduce
(d)
圖十一 Total completion time (a) low heterogeneity vm=2 pm=5 (b) low
heterogeneity vm=5 pm=2 (c) high heterogeneity vm=2 pm=5 (d) high
heterogeneity vm=5 pm=2
由於前面分別是 Map以及 Reduce的完成時間為了想知道Map以及 Reduce
對於 MapReduce 的整體影響我們將前面的 Map 以及 Reduce 的完成時間在
處理資料的節點固定為 10 台 Worker將其做整合
從圖十一(a)圖十一(b)圖十一(c)圖十一(d)顯示 Best Fit 和 Priority 不論
是在低異構性或高異構性環境MapReduce 完成時間都比 Hadoop 的完成時間縮
短很多在低異構性環境最多可縮短到 29的時間在高異構性環境最多可縮
短 41的時間而造成 Hadoop 跟 Best Fit 和 Priority 在時間上差異如此大的原
因主要是在 Map 階段的完成時間因為Best Fit 和 Priority 是根據 Worker 的
效能來決定要處理的資料大小而 Hadoop 就是分配固定大小的資料給 Worker
運算所以在越高的異構性環境其縮短的時間會越明顯
28
Total completion time with different number of vm (h=1-3)
0
20
40
60
80
100
120
vm=2 vm=3 vm=4Number of vm per physical machine
Sec
ond
Hadoop
Best Fit
Priority
(a)
Total completion time with different number of vm (h=1-5)
0
20
40
60
80
100
120
vm=2 vm=3 vm=4Number of vm per physical machine
Sec
ond
Hadoop
Best Fit
Priority
(b)
圖十二 Total completion time with different number of vm (a) low heterogeneity
vm=2 worker=12 (b) high heterogeneity vm=5 worker=12
圖十二(a)是在低異構性環境圖十二(b)是在高異構性環境並且1 台實體
機架設 2 個3 個4 個虛擬機器使 Worker 數量固定 12 台處理的資料量為
600G
這個模擬實驗主要探討的是在一台實體機架設的虛擬機器數量對於
MapReduce 完成時間是否真正有影響圖十二(a)和圖十二(b)更可以顯示出 Best
Fit 和 Priority 在異構性越高的環境裏且一台實體機架設越多虛擬機器來當作
Worker 的時候可以縮短更多的時間前者會縮短 Map 的完成時間後者會縮
29
短 Reduce 的完成時間而 Hadoop 在異構性環境高的時候也有些微的縮短一
些時間
Total completion time with different data size (h=1-5)
0
20
40
60
80
100
120
140
400 600 800 1000 1200
Data
Sec
ond
Hadoop
Best Fit
Priority
圖十三 Total completion time with different data size
在上述的實驗中在同樣的資料大小處理的 Worker 數量越多的時候其
完成時間會縮短很多但是到達一定的數量的時候其縮短時間的效果就很低
所以就做了此實驗因為本篇論文就是要探討異構性的環境選擇高異構性
環境固定 Worker 數量 20 台資料大小由 400G 到 1200G探討資料大小對
MapReduce 以及 Worker 的影響如圖十三顯示出在 600G 以下的時候Map 加
上 Reduce 完成的時間突然靠近起來代表了當資料量越小的時候Best Fit 和
Priority 的方法跟原始的 Hadoop 的方法優勢會越來越少但相反的是當資料
量越大的時候雖然Best Fit 和 Priority 完成時間會增加但是跟 Hadoop 的
完成時間比會更加突顯
30
Total completion time (best fit)
0
10
20
30
40
50
60
70
80
(Without optimization) (Optimization)
Best Fit
Sec
ond
Map Reduce
(a)
Total completion time (priority)
0
10
20
30
40
50
60
70
80
(Without optimization) (Optimization)
Priority
Sec
ond
Map Reduce
(b)
圖十四 Total completion time of loading aware optimization (a) without
optimal (b) with optimization
圖十四(a)未使用優化技術圖十四(b)是使用優化技術同樣都是在高異構
性環境之下並且1 台實體機架設 5 個虛擬機器使 Worker 數量固定 15 台
處理的資料量為 900G
在本篇論文方法的部份有提到Loading Aware Virtual Machine Mapping的優
化技術由於此實驗上面的實驗數據都已經使用優化技術來改善時間因此
此實驗就是要探討這優化技術對於MapReduce完成時間的影響
由於Loading Aware Virtual Machine Mapping此優化技術是變動同一台實體
31
機內部的Reducer使得原本是根據Communication locality來選擇虛擬機器但
是在挑選的過程中並沒有依據處理資料的大小分配到其處理速度相對映的
虛擬機器而這優化技術就是將同一台實體機內的虛擬機器重新分配由於此
優化技術並不會影響Communication locality所以這部份並沒有在此實驗探討
圖十四(a)圖十四(b)顯示未使用優化技術的Best fit和Priority的MapReduce
完成時間雖然比Hadoop的方法好但是其Reduce phase完成時間上慢了一些
並且可以看出此優化技術並不會影響到Map phase主要影響的是在Reduce階
段在Reduce階段的完成時間上利用優化技術可以將Reduce階段時間縮短其13
32
Chapter 6 Conclusions and Future Works
目前 Hadoop 資料處理的環境還是應用在群集內節點效能是相同的情況下
如果是異構性環境可能就無法這麼有效率的處理本篇論文提出了兩個方法
動態資料切割和虛擬機對映以及一個優化技術 Loading aware virtual machine
mapping模擬實驗結果表明透過本篇方法來得比 Hadoop 縮短 41的時間以
及最多節省 Communication Locality 約莫 33尤其在異構性越高的環境以及
一台實體機器架設的虛擬機器數量越多改善的效果越明顯另外 Loading
aware virtual machine mapping 優化技術改善了 Reduce phase 的完成時間約莫
13
在未來研究上可以朝著動態調整 Reducer 數量的方向前進當固定大小的
資料上其實有時候過多的節點去運算消耗了大量的運算資源卻只得到一些
秒數的縮短如何利用適當的運算資源來得到最大的利益這是相當重要的議
題由於此實驗都是屬於模擬實驗希望在未來可以實際架設在機器上運行
透過 Benchmark得到真正的數據
33
Reference
1 Masato Asahara Shinji Nakadai and Takuya Araki ldquoLoadAtomizer A
Locality and IO Load aware Task Scheduler for MapReducerdquo in 4th IEEE
International Conference on Cloud Computing Technology and Science
(CloudCom) pp 317-324 2012
2 Paul Barham Boris Dragovic Keir Fraser Steven Hand Tim Harris Alex
Ho Rolf Neugebauer Ian Pratt and Andrew Warfield ldquoXen and the Art of
Virtualizationrdquo SOSP 03 Proceedings of the nineteenth ACM symposium
on Operating systems principles vol 37 Issue 5 pp 164-177 December
2003
3 Xiangping Bu Jia Rao and Cheng Zhong Xu ldquoInterference and
Locality-Aware Task Scheduling for MapReduce Applications in Virtual
Clustersrdquo Proceeding HPDC 13 Proceedings of the 22nd international
sym-posium on High-performance parallel and distributed computing pp
227-238 2013
4 Kasim Selcuk Candan Jong Wook Kim Parth Nagarkar Mithila Nagendra
and Ren-wei Yu ldquoScalable Multimedia Data Processing in Server Clustersrdquo
IEEE MultiMedia pp 3-5 2010
5 Fay Chang Jeffrey Dean Sanjay Ghemawat Wilson C Hsieh Deborah A
Wallach Mike Burrws Tushar Chandra Andrew Fikes and Robert EGruber
ldquoBigtable A Distributed Storage System for Structured Datardquo 7th UENIX
Symposium on Operating Systems Design and Implementation pp 205-218
2006
6 P C Chen Y L Su J B Chang and C K Shieh ldquoVariable-Sized Map and
Locality-Aware Reduce on Public-Resource Gridsrdquo in Proceedings
Conference Grid and Pervasive Computing (GPC 2010) pp 234-243 2010
May
7 Q Chen D Zhang M Guo Q Deng and S Guo ldquoSamr A self adaptive
mapreduce scheduling algorithm in heterogeneous environmentrdquo in 10th
IEEE International Conference on Computer and Information Technology
CIT rsquo10 (Washington DC USA) pp 2736ndash2743 2010
8 Jeffrey Dean and Sanjay Ghemawat ldquoMapReduce Simplified Data
Processing on Large Clustersrdquo Communications of the ACM vol 51 no 1
pp 107ndash113 2008
9 Yuanquan Fan Weiguo Wu Haijun Cao Huo Zhu Xu Zhao and Wei Wei
34
ldquoA heterogeneity-aware data distribution and rebalance method in Hadoop
clusterrdquo 2012 Seventh ChinaGrid Annual Conference pp 176-181 2012
10 Zacharia Fadika Elif Dede Jessica Hartog and Madhusudhan Govindaraju
ldquoMARLA MapReduce for Heterogeneous Clustersrdquo in 12th IEEEACM
International Symposium on Cluster Cloud and Grid Computing pp 49-56
2012
11 Sanjay Ghemawat Howard Gobioff and ShunTak Leung ldquoThe Google file
systemrdquo In Proceedings of 19th Symposium on Operating Systems
Principles pp 29-43 2003
12 Sven Groot ldquoJumbo Beyond MapReduce for Workload Balancingrdquo Fuzzy
Systems and Knowledge Discovery (FSKD) 2011 Eighth International
Conference on Cloud Computing Technology and Science vol 4 pp
2675-2678 2011 July
13 B Gufler N Augsten A Reiser and A Kemper ldquoHandling Data Skew in
MapReducerdquo in Proceedings of CLOSER pp 574ndash583 2011
14 Mohammad Hammoud and Majd F Sakr ldquoLocality-Aware Reduce Task
Scheduling for MapReducerdquo Third IEEE International Conference on
Cloud Computing Technology and Science pp 570-576 2011
15 C He Y Lu and D Swanson ldquoMatch-making A New MapReduce
Scheduling Techniquerdquo IEEE Third International Conference on Cloud
Computing Technology and Science (CloudCom) pp 40ndash47 2011
16 Hung Chang Hsiao Huesh Yi Chung Haiying Shen and Yu Chang
ChaoldquoLoad Re-balancing for Distributed File Systems in Cloudsrdquo IEEE
Trans on Parallel and Distributed Systems vol24 pp 951-962 2012
17 Shadi Ibrahim Hai Jin Lu Lu Song Wu Bingsheng He and Li Qi ldquoLEEN
LocalityFairness Aware Key Partitioning for MapReduce in the Cloudrdquo
2010 IEEE Second International Conference on Cloud Computing
Technology and Science (CloudCom) pp 17ndash24 2010
18 S Ibrahim H Jin L Lu L Qi S Wu and X Shi ldquoEvaluating MapReduce
on Virtual Machines The Hadoop Caserdquo Proceedings Conference Cloud
Computing (CloudCom 2009) Springer LNCS pp 519-528 2009 Dec
19 C Jin and R Buyya ldquoMapreduce programming model for net-based cloud
computingrdquo in Proceedings of the 15th International Euro-Par Conference
on Parallel Processing Euro-Par (Berlin Heidelberg) pp 417ndash428 2009
20 R Nanduri N Maheshwari A Reddyraja and V Varma ldquoJob aware
scheduling algorithm for Mapreduce frameworkrdquo in 3rd International
Conference on Cloud Computing Technology and Science
CLOUDCOM rsquo11 (Washington DC USA) pp 724ndash729 2011
35
21 Andrew J Page and Thomas J Naughton ldquoDynamic task scheduling using
genetic algorithms for heterogeneous distributed computingrdquo in 19th IEEE
International Parallel and Distributed Processing Symposium pp 189a
2005 April
22 Xiaoyu Sun Chen He and Ying Lu ldquoESAMR An Enhanced Self-Adaptive
MapReduce Scheduling Algorithmrdquo 2012 IEEE 18th International
Conference on Parallel and Distributed Systems pp 148-155 2012
23 Chao Tian Haojie Zhou Yongqiang He and Li Zha ldquoA Dynamic
MapReduce Scheduler for Heterogeneous Workloadsrdquo Eighth International
Conference on Grid and Cooperative Computing pp 218ndash244 2009 Aug
24 Jiong Xie Shu Yin Xiaojun Ruan Zhi-yang Ding Yun Tian James Majors
Adam Manzanares and Xiao Qin ldquoImproving mapreduce performance
through data placement in heterogeneous hadoop clustersrdquo in IPDPS
Workshops pp 1ndash9 2010
25 J Tan X Pan S Kavulya R Gandhi and P Narasimhan ldquoMochi Visual
Log-Analysis Based Tools for Debugging Hadooprdquo USENIX Workshop on
Hot Topics in Cloud Computing (HotCloud) pp 1-5 2009
26 Matei Zaharia Andy Konwinski Anthony D Joseph Randy Katz and Ion
Stoica ldquoImproving MapReduce Performance in Heterogeneous
Environmentsrdquo 8th Symposium on Operating Systems Design and
Implementation pp 29ndash42 2008 Dec
27 X Zhang Z Zhong S Feng B Tu and J Fan ldquoImproving Data locality of
MapReduce by Scheduling in Homogeneous Computing Environmentsrdquo in
9th IEEE International Symposium on Parallel and Distributed Processing
with Applications (ISPA) pp 120-126 2011
28 Apache hadoop Available from httphadoopapacheorg
29 MapReduce with a lot of examples for Mining datasets Available from
httpinfolabstanfordedu~ullmanmmdsbookpdf
Page 5
iv
致謝
本篇碩士論文能夠順利完成在此要誠摯感謝我的指導教授許慶賢老師在
這段期間隨著跟老師的互動與討論之下對於我所想探知的領域也慢慢的深
入研究在寫論文的過程老師不斷的協助我對於原本凌亂的想法做整合在
遇到我無法理解問題的時候能夠不厭其煩的利用一些例子來使我更容易了解
並且對我的論文提出一些看法以及意見使我得論文更有組織性
再來就是要感謝實驗室的各位學長可以即時的幫助我解決我遇到的困難
在寫論文的時候告知我該注意的地方避免重蹈覆轍另外要感謝的是碩士班
的同學平常互相討論互相勉勵對方另外還要感謝學弟妹能夠幫我處理雜
事使我能夠專心在寫論文上
最後要感謝的是我的家人在我就學期間能夠支持與鼓勵我使我無後顧
之憂能夠專心的在寫論文上讓我能夠順利完成我的學業最後僅以此文獻
給我的師長以及在學的時候支持我的各位朋友以及家人
v
Contents
摘要 i
ABSTRACT ii
致謝 iv
Contents v
List of Tables vii
List of Figures viii
Chapter 1 Introduction 1
11 Background 1
12 Motivation 2
13 Contribution 2
14 Organization 3
Chapter 2 Related Works 4
21 Homogeneous Environment 4
22 Heterogeneity Environment 5
Chapter 3 Preliminary 8
31 Hadoop 8
32 MapReduce 9
33 Heterogeneous Classification 10
Chapter 4 Dynamic Data Partitioning and Locality Aware Virtual Machine
Mapping 11
41 Dynamic Data Partitioning 12
42 Locality Aware Virtual Machine Mapping 13
421 Best Fit 13
422 Priority 16
43 Loading Aware Virtual Machine Mapping 17
Chapter 5 Performance Analysis 19
51 Communication Locality 19
52 Task Excution Time 21
vi
Chapter 6 Conclusions and Future Works 32
Reference 33
vii
List of Tables
表一 Hardinfo benchmark 10
viii
List of Figures
圖一 MapReduce 的運作流程圖 9
圖二 整體方法流程圖 11
圖三 根據節點能力分配相對應大小的資料 12
圖四 Best Fit 挑選機器流程 14
圖五 Best Fit 挑選機器的不完善 15
圖六 Priority 挑選機器流程 16
圖七 Reducer 對應到其相對效率的 Worker 17
圖八 Communication locality (a) low heterogeneity vm=2 (b) low heterogeneity
vm=5 (c) high heterogeneity vm=2 (d) high heterogeneity vm=5 19
圖九 Map completion time (a) low heterogeneity vm=2 (b) low heterogeneity
vm=5 (c) high heterogeneity vm=2 (d) high heterogeneity vm=5 22
圖十 Reduce completion time (a) low heterogeneity vm=2 (b) low heterogeneity
vm=5 (c) high heterogeneity vm=2 (d) high heterogeneity vm=5 24
圖十一 Total completion time (a) low heterogeneity vm=2 pm=5 (b) low
heterogeneity vm=5 pm=2 (c) high heterogeneity vm=2 pm=5 (d) high
heterogeneity vm=5 pm=2 26
圖十二 Total completion time with different number of vm (a) low heterogeneity
vm=2 worker=12 (b) high heterogeneity vm=5 worker=12 28
圖十三 Total completion time with different data size 29
圖十四 Total completion time of loading aware optimization (a) without
optimization (b) with optimization 30
1
Chapter 1 Introduction
11 Background
網路的發展慢慢的成為人們生活中不可或缺的一部分因而產生許多要處
理的大量資料而這些資料在處理上有些許不同要如何處理這些不同的資料
變成一個很重要的議題因此雲端運算這類專有名詞從而衍生出來而在此
背景之下Google在2003年提出分散式檔案系統架構Google File System(GFS)
[11]2004年提出MapReduce架構 [8]可用來處理大規模的資料處理以及2006
年提出BigTable [5]這是基於Google File System針對資料結構化儲存的分散式系
統
在過去幾十年前個人電腦還沒有這麼普遍的情況下當時的電腦主要還是以
大型主機為主所有的工作都只能透過那一台主機運行既不方便也沒有彈性
因此IBM則在當時開發了一套虛擬機監視器(Virtual Machine Monitor)藉此將
大型主機的資源分割成多個虛擬機器提供給使用者使用這些虛擬機器可以模
擬成多個操作環境進而比一個操作環境來的更有效率現今虛擬化技術 [2]越
來越成熟雲端運算環境透過此技術整合了分散在各處的資源使資源可做一
個統整藉此提供各項的資訊服務
雲端運算(Cloud Computing)簡單來說它不是一個技術而是一個概念希
望可以藉由雲端叢集 [4]透過網際網路來處理在雲端存放的龐大資料而
Google提出的MapReduce架構Map階段的時候將這些龐大資料拆解成許多小
資料再交給雲端叢集的每個節點去做運算Reduce在讓每個節點將運算後的
結果進行整合再回傳給使用者這樣的方式由原本只能單一處理變成平行
處理進而加快了處理速度
2
Google雖然提出了多個雲端運算的技術但是並沒有開放原始碼出來使
得企業們受到局限直到Apache開發出Hadoop平台 [25]企業或使用者才可以
自己研發相關的MapReduce技術 [18][19][20]不再被受到限制MapReduce技
術具有高容錯性資源使用率高平行處理使得它在企業界備受青睞
12 Motivation
在一個大的群集裡原型的MapReduce會將進來的資料切割成固定大小
主要節點會將這些資料分散給各節點去做運算但是如果在異構性環境
[21][23]就無法根據機器的處理速度動態的分配資料給相對映的機器去做運
算在Map階段節點處理速度相同的情況下每個節點完成的時間會大致相同
但是在節點處理速度不盡相同的情況下完成的時間彼此不一樣則會造成最
先處理好的機器得等待處理速度較慢的節點完成因而拖累完成時間而在
Reduce階段則考慮到Communication locality的問題Communication locality是
指說Reducer在此節點運算的時候所能節省的溝通成本(意指不用到遠端節點
取資料的溝通成本)原始的MapReduce在挑選機器的時候是有機器就拿去
做運算而沒考慮此問題
13 Contribution
本論文針對以上的敘述做了改進首先測試每台機器的運算效能在Map
階段的時候根據節點的運算效能來決定負責的運算量進而達到平均完成時間
相近在Reduce階段評估Communication locality再根據Communication locality
來決定Reducer要選擇在哪台機器使其節省更多的Communication locality最
後透過Loading Aware Virtual Machine Mapping來改善Reduce階段的完成時間
3
14 Organization
本論文研究探討在異構性環境下每個節點運算效能不一致的情況下為了
要避免MapReduce運算所造成校能不佳的情況動態的調整Map mapping以及
Reducer mapping
本論文章節介紹如下第一章緒論簡述雲端運算的研究背景及研究動機與
目的以此為基礎第二章相關研究介紹前人所提出的MapReduce改善方法
第三章Preliminary介紹HadoopMapRedcue的流程以及定義異構性環境第四
章演算法介紹MapReduce的各階段流程以及介紹本篇論文所提出的動態資料
切割和虛擬機對映兩種技術的流程另外提出了一個優化技術第五章性能分
析透過實驗模擬的結果將其結果分析與比較最後第六章為結論以及未來
可以繼續研究的方向
4
Chapter 2 Related Works
MapReduce 是目前非常流行的分散式運算的架構主要是透過網際網路來處
理在雲端上儲存的大量資料將要執行的 MapReduce 程式複製到 Master node 以
及各個WorkerMaster node會決定要給哪台Worker去執行Map程式或者Reduce
程式透過 Map 程式將資料切成許多區塊經過 Map 階段產生出 Key Value
將此 Key Value 存儲在 Local disc然後經過 Shuffle(將相同屬性的 key 排序在
一起)而 Reduce 程式將這些 Shuffle 後的結果進行整合最後再將結果產生出
來由於 MapReduce 一開始主要是在節點效能大致相同的情況下去執行對於
節點效能不一致的情況 (也就是所謂的異構性環境)導致會有一些效能不盡理
想的狀態出現 [10]並且隨著虛擬技術的成熟虛擬機器可以將實體機資源
更有效的利用慢慢的開始以虛擬機器作為 Cluster而且MapReduce 在以虛
擬機器建立起的異構性環境之下對於 IO 負載不平衡 [12][13][16]以及任務排
程 [1][6][15]不平均的部份目前已經有許多相關文獻在探討此方面
21 Homogeneous Environment
由 Shadi Ibrahim 等人在 2010 年時所提 LEEN [17]的方法在 Map 階段因
為原始的 MapReduce 架構沒有考慮資料的內容盲目的以資料數量區分導致
Shuffle 階段時會出現分配不平均的現象為了改善此部份LEEN 將每筆資料
計算出 Fairness Score 後根據 Locality [3][27]概念分析與比較將資料適當地放
在各個節點上達到平均分配的效果透過這樣的想法我們將此概念延伸到
Reducer 挑選機器是根據 Communication locality而不是盲目的去選擇有空的
Worker
5
MapReduce是主從式架構具有樹狀網路分佈的結構節點分布在不同的主
機上或者可能在不同的資料中心的主機上則兩個節點要溝通的話則需要
透過網路而頻寬會影響之間傳輸的速度在MapReduce的Worker接受到Master
的要求從而排程Map和ReduceHadoop企圖排程將比較靠近的資料做Map
tasks以避免在網路上增加過多的overhead至於Reduce tasks則沒有考慮到此部
份因此在進行shuffle的時候不必要的資料在網路上可能會降低校能遙遠
的節點資料傳送已經成為一個瓶頸而Mohammad Hammoud等人在2011提出
的論文著重在Reduce任務的部分透過網路位置做分區來做排程因此形成
了LARTS 的策略 [14]而且還觀察到MapReduce在Map Tasks完成後進行
shuffling的動作此步驟是用交錯的方式先前的方法在Shuffling這個動作的
時候使MapReduce的性能提高但是卻增加了網路的負載而LARTS保持了
此Shuffling的優勢還減少了網路的負載但是此篇論文著重在Reduce task的
部份至於Map task的部份並未做優化的部份
22 Heterogeneity Environment
Hadoop原先假設在節點相同的環境下運行但是實際上環境內的節點並
不是每次都是一致的當Hadoop運行在異構性環境對於性能上是有很大的落
差由Matei Zaharia等人提出的LATE (Longest Approximate Time to End) [26]針
對其任務的排程上做改良重新設計了一個新的Speculative task會估算完成時
間根據完成時間在去調整任務上的分配雖然對回應時間有點影響但是
整體性能明顯的比Hadoop改善很多而Quan Chen等人在2010年所提出的SAMR
(Self-adaptive MapReduce Scheduling Algorithm) [7]自動適應MapReduce的調動
排程主要是計算任務進度根據歷史資料動態調整Map任務以及Reduce任務
並且可以識別在節點上執行較慢的任務將其任務不做備份工作使其完成時
6
間可以降低在 2012年由Xiaoyu Sun等人提出的 ESAMR (An Enhanced
Self-Adaptive MapReduce Scheduling Algorithm) [22]增強自適應MapReduce的調
度算法以提高Speculative task在SAMR識別慢任務可能不是這麼準確但
是在ESMAR裡它們使用集群演算法轉化改進了這一部分使其識別慢任
務達到一定的準確ESAMR研究結果的誤判率明顯降低
由於Hadoop在異構性環境會造成資料分配不平均的現象所以由
Yuanquan Fan等人提出了在Map階段重新平衡資料分配的方法 [9]而此篇論文
平衡的方法有兩種(1) 根據性能來分配-主要是分成不同大小的資料區塊首先
將每個節點進行性能評估然後資料切成不同大小根據節點的計算能力來分
配相對應的節點(2) 資料動態搬遷-儘管不同大小的資料被分配在每一個節點
上再來估算任務完成時間將執行最慢的任務的部份資料轉移到執行最快的節
點有些任務可能會隨著時間的關係或者網路的關係慢慢延後所以將這些延
後的資料轉移給其他節點去運算其缺點就是資料的搬移時間和成本並沒考慮至
其中以及Reduce phase階段可能因為資料搬移的情況導致Reduce phase的
Communication overhead變重
傳統的 MapReduce 架構是考慮每台機器的規格都相同所以資料平均分
配後所處理完成的時間也都會是一樣在雲端運算環境中往往都是數百台或
著上千上萬台機器在同時運算機器的規格也不盡相同因此 Jiong Xie 等人在
2010 年所提出的 Data Placement [10]的方法將每個電腦區分出 3 個等級分別
是 FastestAverage 及 Slowest不同的等級取得運算資料份量也不同並建立一
張表紀錄目前有哪些機器處於忙碌壅塞狀態有那些機器處於閒置狀態並且
將忙碌的機器的資料分出 3 個等級平均分配資料直至平均為止使得每台
機器資源利用率是相近的雖然這樣的動機很好但是對於資料遷移所花的
時間以及成本是沒考慮的
根據上述研究不足的地方我們提出了MapReduce在異構性環境裡在Map
7
階段將資料切割成不固定大小依據節點能力的不同做出適當的配置在
Reduce階段根據Communication locality 找出適合在哪一台機器上執行最
後再透過優化技術把本篇論文方法的執行時間縮短一些
8
Chapter 3 Preliminary
31 Hadoop
Hadoop架構是由Apache所開發的開放原始碼提供了一個分散式系統的基
本架構Hadoop雲端運算技術主要由三個主要架構所組成 Hadoop Distributes
File System (HDFS)分散式檔案系統Hadoop Database (HBase)分散式資料庫以及
Hadoop MapReduce分散式平行運算以下一一敘述
HDFS (Hadoop File system) 是根據Google提出的GFS(Google File System)所
延伸的主要就是將各個節點連結起來將這些節點組成一個大型的分散式檔案
系統可以有效的處理大量檔案並提供安全的儲存環境以及可以避免因為單一
的硬體發生異常而影響整個系統
而HDFS為了維護資料的一致性當使用者將資料存進去HDFS就不能去
更動或修改HDFS會將要儲存的資料複製副本分散儲存在各個不同的節點
所以當儲存資料的節點發生異常可藉由其他節點來復原
HBase (Hadoop Database)類似Google BigtableHBase架構在Hadoop HDFS
上的分散式資料庫與ㄧ般關聯式資料庫不同HBase使用列和行為索引存取資
料值以及每一筆資料都有一個時間戳記因此同一個欄位可以因為時間的不同
而存在多筆資料
HBase專門用來處理大規模的資料是由HMasrter以及HRegion組成一台
HMaster管理多部HRegion ServerHMaster負責監控與管理HRegion Server系統狀
態而HRegion Server利用記憶體存取快速的優點可以加速資料讀寫的動作
所以會先將資料存放在記憶體內之後再將資料存回HDFS
9
32 MapReduce
雲端運算最重要的關鍵即是MapReduce使用MapReduce模式將一個大問
題先讓程式開發人員分析問題將問題切割成許多小問題在將此小問題平行
分散給各個Mapper當Mapper處理完的結果在傳送到相對映的Reducer去做運
算Reducer將這些結果進行合併在把合併的結果輸出
Split 0
Split 1
Split 2
Mapper
Mapper
Mapper
Reducer
Reducer
Partition 0
Partition 1
Partition 0
Partition 1
Partition 0
Partition 1
Output
File0
Output
File1
Input
File
Master
User
Map
Phase
Intermediate file
(on local disks)
Reduce
PhaseOutput
File
圖一 MapReduce的運作流程圖
如圖一即為MapReduce流程圖
1 將輸入的資料切割成固定大小
2 將要執行的MapReduce程式複製到Master與每一台Worker
3 Master會挑選閒置的Worker當Mapper或Reducer
4 Mapper會從切割好的資料讀取相對映的資料會產生Key Value會先暫
存在記憶體內再週期性的傳送到Local Disc
5 執行Reducer程式的Worker讀取每一個Mapper的結果並進行排序以及彙
整再將整合的結果輸出
10
33 Heterogeneous Classification
MapReduce 在異構性環境下執行已經是越來越多人討論的議題如何將
每個節點分級也有相當多的Benchmark可以做測試本篇論文採用的Benchmark
為 Hardinfo透過虛擬機器去做測試
表一 Hardinfo benchmark
如表一1_2 前面的數字代表核心數目後面的數字代表 Memory 有多少
GB而這個 Hardinfo 本身內含有許多測試的軟件我們測了兩個實驗CPU
Blowfish 以及 CPU CryptoHash這兩個都是跟加密有關的CPU Blowfish 運行
在單核心以及四核心的虛擬機器上所花費的秒數兩個相差了 5 倍因此我
們定義異構性等級為 1 到 5也就是所謂的高異構性環境CPU CryptoHash 運行
在單核心以及四核心的虛擬機器上每秒能壓縮的資料相差了三倍因此我
們定義異構性等級為 1 到 3也就是所謂的高異構性環境我們之後的實驗根
據這兩個異構性等級做參數
11
Chapter 4 Dynamic Data Partitioning and Locality
Aware Virtual Machine Mapping
原始的 Hadoop 在同質性環境執行 MapReduce 程式每個節點運算能力大
致相同所以在 Map 階段並不會有互相等待的結果發生但是在異構性的
環境之下每個節點的 Worker 彼此之間運算速度不同導致先完成的必須得
等速度較慢的節點完成因而執行時間變長而在 Reduce 階段沒有考慮
Communication Locality 的問題即使是用虛擬機架設的環境也是一樣所以
隱藏著一些 Communication overhead 的問題本篇論文主要探討此兩問題
圖二 整體方法流程圖
如圖二所示將資料從 HDFS 讀取進來因為每個節點不能去從其他節點讀
取資料來做因此只能將自己節點資料作完等待其他節點完成後才可繼續
執性 Reduce 階段因此在 Map mpping 階段是根據節點內部的虛擬機性能來
決定節點內部資料的分配而不是固定資料大小丟給效能不一致的虛擬機器來做
12
運算在 Reduce mapping 階段是根據 Locality aware 來選擇機器選擇節省成本
最多的機器以及最後有個節點內部動態調整機制為了減少Reducer完成的時間
41 動態資料切割
在同質性環境 (即為每個節點設備大致相同)運行MapReduce當Worker
完成Map階段任務必須等待其他Worker完成才能進行下一個動作因為每台
節點運算能力大致相同所以當執行Map階段結束後每台節點完成時間是大
致相同的而在異構環境下 (每個節點設備不盡相同則會產生出一個問題在
運算效能不一致的情況會造成在Map程式執行完成的時間變長因為當資料相
同可是每個節點運算能力不一樣就會彼此互相牽制為了要避免此情況發生
所以本篇論文用動態資料切割的方法來解決此問題
圖三 根據節點能力分配相對應大小的資料
動態資料切割的方法得先知道每個Worker的運算能力根據運算能力動
態切割資料大小如圖三所示每個節點運算能力較好的Worker就分配到資料
較多的Partition去做處理而運算能力較差的Worker就分配到較少的Partition使
得每個節點內部的Worker完成時間接近就不會有處理速度比較快的節點完成後
13
必須要等待處理速度比較慢的節點而資料分配方式就是根據Performance
也就是前面所提到的異構性等級的數值相加起來 (Worker處理速度越快則等級
越高)將要處理的資料以及總數值相除會得到一個平均值這個平均值去乘
上等級也就是Worker要處理的資料量
42 Locality Aware Virtual Machine Mapping
由於虛擬機的使用可以充分利用資源所以現在一台實體機可架設多
台虛擬機所以同一台實體機內部有兩台虛擬機當這兩台互相交換資料的
時候其實網路的負載是很低的但是如果是兩台實體機交換資料網路的負
載會變很高在執行Map階段之後資料都儲存在Local disk裡Reducer要怎麼
選擇機器使得Communication locality節省更多而這個即是本篇論文要探討的
第二個問題
421 Best Fit
本篇論文提出了一個 Best Fit 方法這個方法的概念是讓 Reducer 選擇在哪
一台節點上運行使其 Communication locality 節省最多接下來在找出節點內
Performance 最好的 Worker 來當 Reducer而不是像 Hadoop 的 MapReduce 是照
順序去分配這樣的選擇方式是因為節點與節點之間資料傳遞的Communication
overhead 是相當大的而節點內部之間的 Communication overhead相較起來小
很多而讓 Communication locality 節省越多也可以讓 Communication overhead
降低
14
圖四 Best Fit挑選機器流程
1 如圖四所示假設一台實體機上(P1)架設兩台虛擬機(v1v2)根據虛擬
機的運算能力分配相對映的資料量v1即為25單位v2即為22單位以此類
推
2 執行Map程式產生出k值因為有三台Reducer(R1R2R3)所以產生出
3個k值v1虛擬機的k1值為7k2值為10k3值為8而這v1的所有k值相加即為
v1所負責的資料量v1虛擬機k1值為10k2值為9k3值為3而這v2的所有k值
相加為v2所負責的資料量v3也是一樣
3 先從R1要挑選哪台VM開始首先把每個VM所產生出的k1值相加得到一個
總和即為57單位底下看到有三個數值第一個數值即為R1如果在P1這
台機器上運行的話所耗費的遠端溝通成本(要到P2P3取資料的溝通成本)
則第二個數值即為R2在P2這台機器上運行的話所耗費的遠端溝通成本
第三個也是
4 把總共要處理的資料減掉到遠端耗費的溝通成本會得到一個數值即為
15
Communication localityR1如果選擇P1機器運行則Communication locality
為17單位R1如果選擇P2機器運行則Communication locality為18單位R1
如果選擇P3機器運行則Communication locality為22單位R1挑選最多的
Communication locality的機器來運行所以R1選擇P3機器來做運算
5 R1選擇P3實體機而P3實體機有2台虛擬機所以在根據虛擬機的運算能力
先挑選運算能力好的來做為R1
6 如果節點的虛擬機都被挑選完就選第二順位的節點
原始的HadoopR1挑選v1而R2挑選v2照順序的挑選所以沒有考慮到溝
通成本則本篇論文Best fit是根據Communication locality來挑選機器但是
可能在某ㄧ些情況可能不夠完善
圖五 Best Fit 挑選機器的不完善
如圖五所示當Communication locality可以選擇很高的節點卻因為前面的
Reducer把節點內部的Worker挑選完了所以逼不得已只能挑選第二順位的節
點可是這個Communication locality遠遠低於前面Reducer挑選的節點導致整體
的Communication locality大幅下降因此422 Priority即為改善的方法
16
422 Priority
為了確保每個Reducer都能挑選Communication locality最高的機器因此
此章節做了改善
1 在Reducer在挑選機器之前先判斷Reducer哪台要先下去做挑選
2 將每台Reducer最高的Communication locality的跟第二高的相減會得到一個
Difference locality在利用Difference locality下去做排序由大到小
3 Difference locality越大的代表那台Reducer要優先做挑選所以就從
Difference locality越大的挑選到Difference locality最小的
圖六 Priority挑選機器流程
1 如圖六所示R1總共的Data block為57單位R2為42單位R3為41單位經過
Shuffle階段之後
2 R1如果選擇P1這台機器能節省的Communication locality就是17單位R1如果選
擇P2這台機器能節省的Communication locality就是18單位R3如果選擇P2這台
機器能節省的Communication locality就是22單位
3 根據Communication locality將第一高的減掉第二高的會得到一個Difference
17
locality
4 根據此Difference locality排出哪個Reducer要先選取機器此例子的順序為
R2再來R3再來R1而Best Fit就是R1再來R2再來R3
Priority可以避免前面的Reducer把機器挑選完迫使只能選擇第二高的
Communication locality使這樣大幅降低的情況給消除而Best fit和Priority這兩
種方法大幅提高了Communication locality的狀況可是卻也導致了Reduce階段
的完成時間變長所以下章節主要敘述將Reduce階段完成時間優化
43 Loading Aware Virtual Machine Mapping
上述的兩種方法Best fitPriority都是為了降低節點彼此之間的溝通成本
但是卻引發了一個問題Reducer執行完成的時間比原始Hadoop還來得長為
了解決此問題本篇論文在這章節提出優化的方法前面兩種方法是根據節點
的Communication locality來決定要在哪一台Worker做運算當決定好Worker
的時候Reducer會先將運算能力較好的虛擬機器拿去做運算這樣使得運算較
快的機器並不會對映到運算較複雜的資料使得較早完成的機器還是得等候還沒
做好的機器造成時間上的延長所以本篇論文針對此部份做優化
圖七 Reducer對應到其相對效率的Worker
18
如圖七所示當Reducer都挑選好要在哪台實體機做在開始執行Reduce程
式之前我們根據要處理的資料量來分配相對映的機器而這虛擬機的交換
並不會影響到Communication locality因為都是在同一台實體機架設的虛擬機
器做交換
19
Chapter 5 Performance Analysis
本實驗以模擬的方式進行利用 C 語言程式撰寫可設定節點數量節點
裡的 Worker 數量資料大小異構性環境低 (h = 1-3)或高 (h = 1-5)透過模擬
的實驗數據分析基於 Hadoop 的 MapReduce 以及本篇論文透過 Map mapping
和 Reduce mapping 的方式進而改善原始 MapReduce 所造成的缺點
51 Communication Locality
本模擬實驗主要探討的是 Communication Locality圖八(a)和圖八(b)模擬環
境為低異構性圖八(c)和圖八(d)為高異構性環境固定每台實體機架設 2 台以
及 5 台虛擬機器固定 Worker 總數量分別為 102030要處理的資料為 900G
Communication locality(vm = 2 h = 1-3)
0
50
100
150
200
250
300
10 20 30
Number of vm
Dat
a lo
cali
ty
Hadoop
Best Fit
Priority
(a)
20
Communication locality(vm = 5 h = 1-3)
0
100
200
300
400
500
600
10 20 30Number of vm
Dat
a lo
cali
ty
Hadoop
Best Fit
Priority
(b)
Communcation Locality(vm = 2 h = 1-5)
0
50
100
150
200
250
300
10 20 30Number of vm
Dat
a lo
cali
ty
Hadoop
Best Fit
Priority
(c)
Communcation locality(vm = 5 h = 1-5)
0
100
200
300
400
500
600
10 20 30
Number of vm
Dat
a lo
cali
ty
Hadoop
Best Fit
Priority
(d)
圖八 Communication locality (a) low heterogeneity vm=2 (b) low heterogeneity
vm=5 (c) high heterogeneity vm=2 (d) high heterogeneity vm=5
21
由圖八(a)可看出本篇論文提出的兩個方法在低異構性環境所能節省的
Communication Locality 比原始的 Hadoop 提出的方法最多節省了 33的
Communication Locality圖八 (b)也最多節省了約 12的 Communication
Locality雖然節省在固定架設的虛擬機器為兩台的時候節省比較多但是
兩個實驗節省的 Communication Locality 量卻相差了快 2 倍原因是在於 Map 階
段完成的資料都儲存在 Local disc兩台實體機在交換資料的時候溝通成本是
很高的而建立在同一台實體機的兩台虛擬機器交換資料則溝通成本卻來的低
很多 因此溝通成本量的提高也會被實體機上架設的虛擬機器的多寡來影
響
由圖八(c)所示在高異構性最多可節省 27的 Communication Locality圖
八(d)則為 15的 Communication Locality分別從圖八(a)圖八(c)圖八(b)以及
圖八(d)可以看得出來Best Fit 和 Priority 不會隨著異構性環境的高低溝通成
本量會有大幅度的改變而 Priority 在節省的 Communication Locality 都會比 Best
Fit 都來的多一點因為Priority 可以避免前面的 Reducer 把機器挑選完迫使
只能選擇第二高的Communication location 因此大幅降低的情況給消除
52 Task Execution Time
此節實驗是要探討 Map 以及 Reduce 完成的時間圖九(a)和圖九(b)為低異構
性環境的實驗圖九(c)和圖九(d)為高異構性環境都是固定每台實體機架設 2
台以及 5 台虛擬機器所以固定虛擬機器總數量分別為 102030要處理
的資料為 900G
22
Map completion time(vm = 2 h = 1-3)
0
20
40
60
80
100
10 20 30
Number of vm
Sec
ond
Hadoop
Best Fit amp Priority
(a)
Map completion time(vm = 5 h = 1-3)
0
20
40
60
80
100
10 20 30Number of vm
Sec
ond
Hadoop
Best Fit amp Priority
(b)
Map completion time(vm = 2 h = 1-5)
0
20
40
60
80
100
10 20 30Number of vm
seco
nd
Hadoop
Best Fit amp Priority
(c)
23
Map completion time(vm = 5 h = 1-5)
0
20
40
60
80
100
10 20 30Number of vm
seco
nd
Hadoop
Best Fit amp Priority
(d)
圖九 Map completion time (a) low heterogeneity vm=2 (b) low heterogeneity
vm=5 (c) high heterogeneity vm=2 (d) high heterogeneity vm=5
圖九(a)圖九(b)圖九(c)以及圖九(d)顯示了本論文提出的兩個方法 Best Fit
和 Priority 他們完成的時間是一樣的因為兩個方法的 Map mapping 概念是一樣
的所以完成時間也會一樣在此實驗裡可發現 Best Fit 和 Priority 也會隨著
實體機上的虛擬機器數量增多而完成時間縮短而縮短的時間最多甚至可以達
到 44也可看出本論文的兩個方法在低異構性環境的效能比在高異構性環境
的效能來的較差所以在異構性越高的環境越能看得出 Best Fit 和 Priority
的優勢
24
Reduce completion time(vm = 2 h = 1-3)
0
20
40
60
80
100
120
10 20 30Number of vm
Sec
ond
Hadoop
Best Fit
Priority
(a)
Reduce completion time(vm = 5 h = 1-3)
0
20
40
60
80
100
120
10 20 30Number of vm
Sec
ond
Hadoop
Best Fit
Priority
(b)
Reduce completion time(vm = 2 h = 1-5)
0
20
40
60
80
100
120
10 20 30Number of vm
seco
nd
Hadoop
Best Fit
Priority
(c)
25
Reduce completion time(vm = 5 h = 1-5)
0
20
40
60
80
100
120
10 20 30Number of vm
Sec
ond
Hadoop
Best Fit
Priority
(d)
圖十 Reduce completion time (a) low heterogeneity vm=2 (b) low
heterogeneity vm=5 (c) high heterogeneity vm=2 (d) high heterogeneity vm=5
而在 Reduce 完成時間的方面不像 Map 的完成時間是一樣的因為選
擇 Reducer 的方式不同造成 Best Fit 以及 Priority 時間完成上有些許不同
如圖十(a)所示節省了 14的時間圖十(b)節省了 16的時間圖十(c)
節省了 23圖十(d)節省了 29由圖十(b)以及圖十(d)可見影響 Reduce
階段完成時間最主要的原因是異構性環境的問題當環境的異構性越高其
所節省的時間越多而圖十(c)以及圖十(d)所示一台實體機架設的虛擬機器數
量影響的範圍比較小
26
Total completion time (vm = 2 pm = 5 h = 1-3)
0 50 100 150 200 250
Hadoop
Best Fit
Priority
Met
hod
Second
Map Reduce
(a)
Total completion time(vm = 5 pm = 2 h = 1-3)
0 50 100 150 200
Hadoop
Best Fit
Priority
Met
hod
Second
Map Reduce
(b)
Total completion time(vm = 2 pm = 5 h = 1-5)
0 50 100 150 200 250
Hadoop
Best Fit
Priority
Met
hod
Second
Map Reduce
(c)
27
Total completion time(vm=5 pm = 2 h = 1-5)
0 50 100 150 200
Hadoop
Best Fit
Priority
Second
Met
hod
Map Reduce
(d)
圖十一 Total completion time (a) low heterogeneity vm=2 pm=5 (b) low
heterogeneity vm=5 pm=2 (c) high heterogeneity vm=2 pm=5 (d) high
heterogeneity vm=5 pm=2
由於前面分別是 Map以及 Reduce的完成時間為了想知道Map以及 Reduce
對於 MapReduce 的整體影響我們將前面的 Map 以及 Reduce 的完成時間在
處理資料的節點固定為 10 台 Worker將其做整合
從圖十一(a)圖十一(b)圖十一(c)圖十一(d)顯示 Best Fit 和 Priority 不論
是在低異構性或高異構性環境MapReduce 完成時間都比 Hadoop 的完成時間縮
短很多在低異構性環境最多可縮短到 29的時間在高異構性環境最多可縮
短 41的時間而造成 Hadoop 跟 Best Fit 和 Priority 在時間上差異如此大的原
因主要是在 Map 階段的完成時間因為Best Fit 和 Priority 是根據 Worker 的
效能來決定要處理的資料大小而 Hadoop 就是分配固定大小的資料給 Worker
運算所以在越高的異構性環境其縮短的時間會越明顯
28
Total completion time with different number of vm (h=1-3)
0
20
40
60
80
100
120
vm=2 vm=3 vm=4Number of vm per physical machine
Sec
ond
Hadoop
Best Fit
Priority
(a)
Total completion time with different number of vm (h=1-5)
0
20
40
60
80
100
120
vm=2 vm=3 vm=4Number of vm per physical machine
Sec
ond
Hadoop
Best Fit
Priority
(b)
圖十二 Total completion time with different number of vm (a) low heterogeneity
vm=2 worker=12 (b) high heterogeneity vm=5 worker=12
圖十二(a)是在低異構性環境圖十二(b)是在高異構性環境並且1 台實體
機架設 2 個3 個4 個虛擬機器使 Worker 數量固定 12 台處理的資料量為
600G
這個模擬實驗主要探討的是在一台實體機架設的虛擬機器數量對於
MapReduce 完成時間是否真正有影響圖十二(a)和圖十二(b)更可以顯示出 Best
Fit 和 Priority 在異構性越高的環境裏且一台實體機架設越多虛擬機器來當作
Worker 的時候可以縮短更多的時間前者會縮短 Map 的完成時間後者會縮
29
短 Reduce 的完成時間而 Hadoop 在異構性環境高的時候也有些微的縮短一
些時間
Total completion time with different data size (h=1-5)
0
20
40
60
80
100
120
140
400 600 800 1000 1200
Data
Sec
ond
Hadoop
Best Fit
Priority
圖十三 Total completion time with different data size
在上述的實驗中在同樣的資料大小處理的 Worker 數量越多的時候其
完成時間會縮短很多但是到達一定的數量的時候其縮短時間的效果就很低
所以就做了此實驗因為本篇論文就是要探討異構性的環境選擇高異構性
環境固定 Worker 數量 20 台資料大小由 400G 到 1200G探討資料大小對
MapReduce 以及 Worker 的影響如圖十三顯示出在 600G 以下的時候Map 加
上 Reduce 完成的時間突然靠近起來代表了當資料量越小的時候Best Fit 和
Priority 的方法跟原始的 Hadoop 的方法優勢會越來越少但相反的是當資料
量越大的時候雖然Best Fit 和 Priority 完成時間會增加但是跟 Hadoop 的
完成時間比會更加突顯
30
Total completion time (best fit)
0
10
20
30
40
50
60
70
80
(Without optimization) (Optimization)
Best Fit
Sec
ond
Map Reduce
(a)
Total completion time (priority)
0
10
20
30
40
50
60
70
80
(Without optimization) (Optimization)
Priority
Sec
ond
Map Reduce
(b)
圖十四 Total completion time of loading aware optimization (a) without
optimal (b) with optimization
圖十四(a)未使用優化技術圖十四(b)是使用優化技術同樣都是在高異構
性環境之下並且1 台實體機架設 5 個虛擬機器使 Worker 數量固定 15 台
處理的資料量為 900G
在本篇論文方法的部份有提到Loading Aware Virtual Machine Mapping的優
化技術由於此實驗上面的實驗數據都已經使用優化技術來改善時間因此
此實驗就是要探討這優化技術對於MapReduce完成時間的影響
由於Loading Aware Virtual Machine Mapping此優化技術是變動同一台實體
31
機內部的Reducer使得原本是根據Communication locality來選擇虛擬機器但
是在挑選的過程中並沒有依據處理資料的大小分配到其處理速度相對映的
虛擬機器而這優化技術就是將同一台實體機內的虛擬機器重新分配由於此
優化技術並不會影響Communication locality所以這部份並沒有在此實驗探討
圖十四(a)圖十四(b)顯示未使用優化技術的Best fit和Priority的MapReduce
完成時間雖然比Hadoop的方法好但是其Reduce phase完成時間上慢了一些
並且可以看出此優化技術並不會影響到Map phase主要影響的是在Reduce階
段在Reduce階段的完成時間上利用優化技術可以將Reduce階段時間縮短其13
32
Chapter 6 Conclusions and Future Works
目前 Hadoop 資料處理的環境還是應用在群集內節點效能是相同的情況下
如果是異構性環境可能就無法這麼有效率的處理本篇論文提出了兩個方法
動態資料切割和虛擬機對映以及一個優化技術 Loading aware virtual machine
mapping模擬實驗結果表明透過本篇方法來得比 Hadoop 縮短 41的時間以
及最多節省 Communication Locality 約莫 33尤其在異構性越高的環境以及
一台實體機器架設的虛擬機器數量越多改善的效果越明顯另外 Loading
aware virtual machine mapping 優化技術改善了 Reduce phase 的完成時間約莫
13
在未來研究上可以朝著動態調整 Reducer 數量的方向前進當固定大小的
資料上其實有時候過多的節點去運算消耗了大量的運算資源卻只得到一些
秒數的縮短如何利用適當的運算資源來得到最大的利益這是相當重要的議
題由於此實驗都是屬於模擬實驗希望在未來可以實際架設在機器上運行
透過 Benchmark得到真正的數據
33
Reference
1 Masato Asahara Shinji Nakadai and Takuya Araki ldquoLoadAtomizer A
Locality and IO Load aware Task Scheduler for MapReducerdquo in 4th IEEE
International Conference on Cloud Computing Technology and Science
(CloudCom) pp 317-324 2012
2 Paul Barham Boris Dragovic Keir Fraser Steven Hand Tim Harris Alex
Ho Rolf Neugebauer Ian Pratt and Andrew Warfield ldquoXen and the Art of
Virtualizationrdquo SOSP 03 Proceedings of the nineteenth ACM symposium
on Operating systems principles vol 37 Issue 5 pp 164-177 December
2003
3 Xiangping Bu Jia Rao and Cheng Zhong Xu ldquoInterference and
Locality-Aware Task Scheduling for MapReduce Applications in Virtual
Clustersrdquo Proceeding HPDC 13 Proceedings of the 22nd international
sym-posium on High-performance parallel and distributed computing pp
227-238 2013
4 Kasim Selcuk Candan Jong Wook Kim Parth Nagarkar Mithila Nagendra
and Ren-wei Yu ldquoScalable Multimedia Data Processing in Server Clustersrdquo
IEEE MultiMedia pp 3-5 2010
5 Fay Chang Jeffrey Dean Sanjay Ghemawat Wilson C Hsieh Deborah A
Wallach Mike Burrws Tushar Chandra Andrew Fikes and Robert EGruber
ldquoBigtable A Distributed Storage System for Structured Datardquo 7th UENIX
Symposium on Operating Systems Design and Implementation pp 205-218
2006
6 P C Chen Y L Su J B Chang and C K Shieh ldquoVariable-Sized Map and
Locality-Aware Reduce on Public-Resource Gridsrdquo in Proceedings
Conference Grid and Pervasive Computing (GPC 2010) pp 234-243 2010
May
7 Q Chen D Zhang M Guo Q Deng and S Guo ldquoSamr A self adaptive
mapreduce scheduling algorithm in heterogeneous environmentrdquo in 10th
IEEE International Conference on Computer and Information Technology
CIT rsquo10 (Washington DC USA) pp 2736ndash2743 2010
8 Jeffrey Dean and Sanjay Ghemawat ldquoMapReduce Simplified Data
Processing on Large Clustersrdquo Communications of the ACM vol 51 no 1
pp 107ndash113 2008
9 Yuanquan Fan Weiguo Wu Haijun Cao Huo Zhu Xu Zhao and Wei Wei
34
ldquoA heterogeneity-aware data distribution and rebalance method in Hadoop
clusterrdquo 2012 Seventh ChinaGrid Annual Conference pp 176-181 2012
10 Zacharia Fadika Elif Dede Jessica Hartog and Madhusudhan Govindaraju
ldquoMARLA MapReduce for Heterogeneous Clustersrdquo in 12th IEEEACM
International Symposium on Cluster Cloud and Grid Computing pp 49-56
2012
11 Sanjay Ghemawat Howard Gobioff and ShunTak Leung ldquoThe Google file
systemrdquo In Proceedings of 19th Symposium on Operating Systems
Principles pp 29-43 2003
12 Sven Groot ldquoJumbo Beyond MapReduce for Workload Balancingrdquo Fuzzy
Systems and Knowledge Discovery (FSKD) 2011 Eighth International
Conference on Cloud Computing Technology and Science vol 4 pp
2675-2678 2011 July
13 B Gufler N Augsten A Reiser and A Kemper ldquoHandling Data Skew in
MapReducerdquo in Proceedings of CLOSER pp 574ndash583 2011
14 Mohammad Hammoud and Majd F Sakr ldquoLocality-Aware Reduce Task
Scheduling for MapReducerdquo Third IEEE International Conference on
Cloud Computing Technology and Science pp 570-576 2011
15 C He Y Lu and D Swanson ldquoMatch-making A New MapReduce
Scheduling Techniquerdquo IEEE Third International Conference on Cloud
Computing Technology and Science (CloudCom) pp 40ndash47 2011
16 Hung Chang Hsiao Huesh Yi Chung Haiying Shen and Yu Chang
ChaoldquoLoad Re-balancing for Distributed File Systems in Cloudsrdquo IEEE
Trans on Parallel and Distributed Systems vol24 pp 951-962 2012
17 Shadi Ibrahim Hai Jin Lu Lu Song Wu Bingsheng He and Li Qi ldquoLEEN
LocalityFairness Aware Key Partitioning for MapReduce in the Cloudrdquo
2010 IEEE Second International Conference on Cloud Computing
Technology and Science (CloudCom) pp 17ndash24 2010
18 S Ibrahim H Jin L Lu L Qi S Wu and X Shi ldquoEvaluating MapReduce
on Virtual Machines The Hadoop Caserdquo Proceedings Conference Cloud
Computing (CloudCom 2009) Springer LNCS pp 519-528 2009 Dec
19 C Jin and R Buyya ldquoMapreduce programming model for net-based cloud
computingrdquo in Proceedings of the 15th International Euro-Par Conference
on Parallel Processing Euro-Par (Berlin Heidelberg) pp 417ndash428 2009
20 R Nanduri N Maheshwari A Reddyraja and V Varma ldquoJob aware
scheduling algorithm for Mapreduce frameworkrdquo in 3rd International
Conference on Cloud Computing Technology and Science
CLOUDCOM rsquo11 (Washington DC USA) pp 724ndash729 2011
35
21 Andrew J Page and Thomas J Naughton ldquoDynamic task scheduling using
genetic algorithms for heterogeneous distributed computingrdquo in 19th IEEE
International Parallel and Distributed Processing Symposium pp 189a
2005 April
22 Xiaoyu Sun Chen He and Ying Lu ldquoESAMR An Enhanced Self-Adaptive
MapReduce Scheduling Algorithmrdquo 2012 IEEE 18th International
Conference on Parallel and Distributed Systems pp 148-155 2012
23 Chao Tian Haojie Zhou Yongqiang He and Li Zha ldquoA Dynamic
MapReduce Scheduler for Heterogeneous Workloadsrdquo Eighth International
Conference on Grid and Cooperative Computing pp 218ndash244 2009 Aug
24 Jiong Xie Shu Yin Xiaojun Ruan Zhi-yang Ding Yun Tian James Majors
Adam Manzanares and Xiao Qin ldquoImproving mapreduce performance
through data placement in heterogeneous hadoop clustersrdquo in IPDPS
Workshops pp 1ndash9 2010
25 J Tan X Pan S Kavulya R Gandhi and P Narasimhan ldquoMochi Visual
Log-Analysis Based Tools for Debugging Hadooprdquo USENIX Workshop on
Hot Topics in Cloud Computing (HotCloud) pp 1-5 2009
26 Matei Zaharia Andy Konwinski Anthony D Joseph Randy Katz and Ion
Stoica ldquoImproving MapReduce Performance in Heterogeneous
Environmentsrdquo 8th Symposium on Operating Systems Design and
Implementation pp 29ndash42 2008 Dec
27 X Zhang Z Zhong S Feng B Tu and J Fan ldquoImproving Data locality of
MapReduce by Scheduling in Homogeneous Computing Environmentsrdquo in
9th IEEE International Symposium on Parallel and Distributed Processing
with Applications (ISPA) pp 120-126 2011
28 Apache hadoop Available from httphadoopapacheorg
29 MapReduce with a lot of examples for Mining datasets Available from
httpinfolabstanfordedu~ullmanmmdsbookpdf
Page 6
v
Contents
摘要 i
ABSTRACT ii
致謝 iv
Contents v
List of Tables vii
List of Figures viii
Chapter 1 Introduction 1
11 Background 1
12 Motivation 2
13 Contribution 2
14 Organization 3
Chapter 2 Related Works 4
21 Homogeneous Environment 4
22 Heterogeneity Environment 5
Chapter 3 Preliminary 8
31 Hadoop 8
32 MapReduce 9
33 Heterogeneous Classification 10
Chapter 4 Dynamic Data Partitioning and Locality Aware Virtual Machine
Mapping 11
41 Dynamic Data Partitioning 12
42 Locality Aware Virtual Machine Mapping 13
421 Best Fit 13
422 Priority 16
43 Loading Aware Virtual Machine Mapping 17
Chapter 5 Performance Analysis 19
51 Communication Locality 19
52 Task Excution Time 21
vi
Chapter 6 Conclusions and Future Works 32
Reference 33
vii
List of Tables
表一 Hardinfo benchmark 10
viii
List of Figures
圖一 MapReduce 的運作流程圖 9
圖二 整體方法流程圖 11
圖三 根據節點能力分配相對應大小的資料 12
圖四 Best Fit 挑選機器流程 14
圖五 Best Fit 挑選機器的不完善 15
圖六 Priority 挑選機器流程 16
圖七 Reducer 對應到其相對效率的 Worker 17
圖八 Communication locality (a) low heterogeneity vm=2 (b) low heterogeneity
vm=5 (c) high heterogeneity vm=2 (d) high heterogeneity vm=5 19
圖九 Map completion time (a) low heterogeneity vm=2 (b) low heterogeneity
vm=5 (c) high heterogeneity vm=2 (d) high heterogeneity vm=5 22
圖十 Reduce completion time (a) low heterogeneity vm=2 (b) low heterogeneity
vm=5 (c) high heterogeneity vm=2 (d) high heterogeneity vm=5 24
圖十一 Total completion time (a) low heterogeneity vm=2 pm=5 (b) low
heterogeneity vm=5 pm=2 (c) high heterogeneity vm=2 pm=5 (d) high
heterogeneity vm=5 pm=2 26
圖十二 Total completion time with different number of vm (a) low heterogeneity
vm=2 worker=12 (b) high heterogeneity vm=5 worker=12 28
圖十三 Total completion time with different data size 29
圖十四 Total completion time of loading aware optimization (a) without
optimization (b) with optimization 30
1
Chapter 1 Introduction
11 Background
網路的發展慢慢的成為人們生活中不可或缺的一部分因而產生許多要處
理的大量資料而這些資料在處理上有些許不同要如何處理這些不同的資料
變成一個很重要的議題因此雲端運算這類專有名詞從而衍生出來而在此
背景之下Google在2003年提出分散式檔案系統架構Google File System(GFS)
[11]2004年提出MapReduce架構 [8]可用來處理大規模的資料處理以及2006
年提出BigTable [5]這是基於Google File System針對資料結構化儲存的分散式系
統
在過去幾十年前個人電腦還沒有這麼普遍的情況下當時的電腦主要還是以
大型主機為主所有的工作都只能透過那一台主機運行既不方便也沒有彈性
因此IBM則在當時開發了一套虛擬機監視器(Virtual Machine Monitor)藉此將
大型主機的資源分割成多個虛擬機器提供給使用者使用這些虛擬機器可以模
擬成多個操作環境進而比一個操作環境來的更有效率現今虛擬化技術 [2]越
來越成熟雲端運算環境透過此技術整合了分散在各處的資源使資源可做一
個統整藉此提供各項的資訊服務
雲端運算(Cloud Computing)簡單來說它不是一個技術而是一個概念希
望可以藉由雲端叢集 [4]透過網際網路來處理在雲端存放的龐大資料而
Google提出的MapReduce架構Map階段的時候將這些龐大資料拆解成許多小
資料再交給雲端叢集的每個節點去做運算Reduce在讓每個節點將運算後的
結果進行整合再回傳給使用者這樣的方式由原本只能單一處理變成平行
處理進而加快了處理速度
2
Google雖然提出了多個雲端運算的技術但是並沒有開放原始碼出來使
得企業們受到局限直到Apache開發出Hadoop平台 [25]企業或使用者才可以
自己研發相關的MapReduce技術 [18][19][20]不再被受到限制MapReduce技
術具有高容錯性資源使用率高平行處理使得它在企業界備受青睞
12 Motivation
在一個大的群集裡原型的MapReduce會將進來的資料切割成固定大小
主要節點會將這些資料分散給各節點去做運算但是如果在異構性環境
[21][23]就無法根據機器的處理速度動態的分配資料給相對映的機器去做運
算在Map階段節點處理速度相同的情況下每個節點完成的時間會大致相同
但是在節點處理速度不盡相同的情況下完成的時間彼此不一樣則會造成最
先處理好的機器得等待處理速度較慢的節點完成因而拖累完成時間而在
Reduce階段則考慮到Communication locality的問題Communication locality是
指說Reducer在此節點運算的時候所能節省的溝通成本(意指不用到遠端節點
取資料的溝通成本)原始的MapReduce在挑選機器的時候是有機器就拿去
做運算而沒考慮此問題
13 Contribution
本論文針對以上的敘述做了改進首先測試每台機器的運算效能在Map
階段的時候根據節點的運算效能來決定負責的運算量進而達到平均完成時間
相近在Reduce階段評估Communication locality再根據Communication locality
來決定Reducer要選擇在哪台機器使其節省更多的Communication locality最
後透過Loading Aware Virtual Machine Mapping來改善Reduce階段的完成時間
3
14 Organization
本論文研究探討在異構性環境下每個節點運算效能不一致的情況下為了
要避免MapReduce運算所造成校能不佳的情況動態的調整Map mapping以及
Reducer mapping
本論文章節介紹如下第一章緒論簡述雲端運算的研究背景及研究動機與
目的以此為基礎第二章相關研究介紹前人所提出的MapReduce改善方法
第三章Preliminary介紹HadoopMapRedcue的流程以及定義異構性環境第四
章演算法介紹MapReduce的各階段流程以及介紹本篇論文所提出的動態資料
切割和虛擬機對映兩種技術的流程另外提出了一個優化技術第五章性能分
析透過實驗模擬的結果將其結果分析與比較最後第六章為結論以及未來
可以繼續研究的方向
4
Chapter 2 Related Works
MapReduce 是目前非常流行的分散式運算的架構主要是透過網際網路來處
理在雲端上儲存的大量資料將要執行的 MapReduce 程式複製到 Master node 以
及各個WorkerMaster node會決定要給哪台Worker去執行Map程式或者Reduce
程式透過 Map 程式將資料切成許多區塊經過 Map 階段產生出 Key Value
將此 Key Value 存儲在 Local disc然後經過 Shuffle(將相同屬性的 key 排序在
一起)而 Reduce 程式將這些 Shuffle 後的結果進行整合最後再將結果產生出
來由於 MapReduce 一開始主要是在節點效能大致相同的情況下去執行對於
節點效能不一致的情況 (也就是所謂的異構性環境)導致會有一些效能不盡理
想的狀態出現 [10]並且隨著虛擬技術的成熟虛擬機器可以將實體機資源
更有效的利用慢慢的開始以虛擬機器作為 Cluster而且MapReduce 在以虛
擬機器建立起的異構性環境之下對於 IO 負載不平衡 [12][13][16]以及任務排
程 [1][6][15]不平均的部份目前已經有許多相關文獻在探討此方面
21 Homogeneous Environment
由 Shadi Ibrahim 等人在 2010 年時所提 LEEN [17]的方法在 Map 階段因
為原始的 MapReduce 架構沒有考慮資料的內容盲目的以資料數量區分導致
Shuffle 階段時會出現分配不平均的現象為了改善此部份LEEN 將每筆資料
計算出 Fairness Score 後根據 Locality [3][27]概念分析與比較將資料適當地放
在各個節點上達到平均分配的效果透過這樣的想法我們將此概念延伸到
Reducer 挑選機器是根據 Communication locality而不是盲目的去選擇有空的
Worker
5
MapReduce是主從式架構具有樹狀網路分佈的結構節點分布在不同的主
機上或者可能在不同的資料中心的主機上則兩個節點要溝通的話則需要
透過網路而頻寬會影響之間傳輸的速度在MapReduce的Worker接受到Master
的要求從而排程Map和ReduceHadoop企圖排程將比較靠近的資料做Map
tasks以避免在網路上增加過多的overhead至於Reduce tasks則沒有考慮到此部
份因此在進行shuffle的時候不必要的資料在網路上可能會降低校能遙遠
的節點資料傳送已經成為一個瓶頸而Mohammad Hammoud等人在2011提出
的論文著重在Reduce任務的部分透過網路位置做分區來做排程因此形成
了LARTS 的策略 [14]而且還觀察到MapReduce在Map Tasks完成後進行
shuffling的動作此步驟是用交錯的方式先前的方法在Shuffling這個動作的
時候使MapReduce的性能提高但是卻增加了網路的負載而LARTS保持了
此Shuffling的優勢還減少了網路的負載但是此篇論文著重在Reduce task的
部份至於Map task的部份並未做優化的部份
22 Heterogeneity Environment
Hadoop原先假設在節點相同的環境下運行但是實際上環境內的節點並
不是每次都是一致的當Hadoop運行在異構性環境對於性能上是有很大的落
差由Matei Zaharia等人提出的LATE (Longest Approximate Time to End) [26]針
對其任務的排程上做改良重新設計了一個新的Speculative task會估算完成時
間根據完成時間在去調整任務上的分配雖然對回應時間有點影響但是
整體性能明顯的比Hadoop改善很多而Quan Chen等人在2010年所提出的SAMR
(Self-adaptive MapReduce Scheduling Algorithm) [7]自動適應MapReduce的調動
排程主要是計算任務進度根據歷史資料動態調整Map任務以及Reduce任務
並且可以識別在節點上執行較慢的任務將其任務不做備份工作使其完成時
6
間可以降低在 2012年由Xiaoyu Sun等人提出的 ESAMR (An Enhanced
Self-Adaptive MapReduce Scheduling Algorithm) [22]增強自適應MapReduce的調
度算法以提高Speculative task在SAMR識別慢任務可能不是這麼準確但
是在ESMAR裡它們使用集群演算法轉化改進了這一部分使其識別慢任
務達到一定的準確ESAMR研究結果的誤判率明顯降低
由於Hadoop在異構性環境會造成資料分配不平均的現象所以由
Yuanquan Fan等人提出了在Map階段重新平衡資料分配的方法 [9]而此篇論文
平衡的方法有兩種(1) 根據性能來分配-主要是分成不同大小的資料區塊首先
將每個節點進行性能評估然後資料切成不同大小根據節點的計算能力來分
配相對應的節點(2) 資料動態搬遷-儘管不同大小的資料被分配在每一個節點
上再來估算任務完成時間將執行最慢的任務的部份資料轉移到執行最快的節
點有些任務可能會隨著時間的關係或者網路的關係慢慢延後所以將這些延
後的資料轉移給其他節點去運算其缺點就是資料的搬移時間和成本並沒考慮至
其中以及Reduce phase階段可能因為資料搬移的情況導致Reduce phase的
Communication overhead變重
傳統的 MapReduce 架構是考慮每台機器的規格都相同所以資料平均分
配後所處理完成的時間也都會是一樣在雲端運算環境中往往都是數百台或
著上千上萬台機器在同時運算機器的規格也不盡相同因此 Jiong Xie 等人在
2010 年所提出的 Data Placement [10]的方法將每個電腦區分出 3 個等級分別
是 FastestAverage 及 Slowest不同的等級取得運算資料份量也不同並建立一
張表紀錄目前有哪些機器處於忙碌壅塞狀態有那些機器處於閒置狀態並且
將忙碌的機器的資料分出 3 個等級平均分配資料直至平均為止使得每台
機器資源利用率是相近的雖然這樣的動機很好但是對於資料遷移所花的
時間以及成本是沒考慮的
根據上述研究不足的地方我們提出了MapReduce在異構性環境裡在Map
7
階段將資料切割成不固定大小依據節點能力的不同做出適當的配置在
Reduce階段根據Communication locality 找出適合在哪一台機器上執行最
後再透過優化技術把本篇論文方法的執行時間縮短一些
8
Chapter 3 Preliminary
31 Hadoop
Hadoop架構是由Apache所開發的開放原始碼提供了一個分散式系統的基
本架構Hadoop雲端運算技術主要由三個主要架構所組成 Hadoop Distributes
File System (HDFS)分散式檔案系統Hadoop Database (HBase)分散式資料庫以及
Hadoop MapReduce分散式平行運算以下一一敘述
HDFS (Hadoop File system) 是根據Google提出的GFS(Google File System)所
延伸的主要就是將各個節點連結起來將這些節點組成一個大型的分散式檔案
系統可以有效的處理大量檔案並提供安全的儲存環境以及可以避免因為單一
的硬體發生異常而影響整個系統
而HDFS為了維護資料的一致性當使用者將資料存進去HDFS就不能去
更動或修改HDFS會將要儲存的資料複製副本分散儲存在各個不同的節點
所以當儲存資料的節點發生異常可藉由其他節點來復原
HBase (Hadoop Database)類似Google BigtableHBase架構在Hadoop HDFS
上的分散式資料庫與ㄧ般關聯式資料庫不同HBase使用列和行為索引存取資
料值以及每一筆資料都有一個時間戳記因此同一個欄位可以因為時間的不同
而存在多筆資料
HBase專門用來處理大規模的資料是由HMasrter以及HRegion組成一台
HMaster管理多部HRegion ServerHMaster負責監控與管理HRegion Server系統狀
態而HRegion Server利用記憶體存取快速的優點可以加速資料讀寫的動作
所以會先將資料存放在記憶體內之後再將資料存回HDFS
9
32 MapReduce
雲端運算最重要的關鍵即是MapReduce使用MapReduce模式將一個大問
題先讓程式開發人員分析問題將問題切割成許多小問題在將此小問題平行
分散給各個Mapper當Mapper處理完的結果在傳送到相對映的Reducer去做運
算Reducer將這些結果進行合併在把合併的結果輸出
Split 0
Split 1
Split 2
Mapper
Mapper
Mapper
Reducer
Reducer
Partition 0
Partition 1
Partition 0
Partition 1
Partition 0
Partition 1
Output
File0
Output
File1
Input
File
Master
User
Map
Phase
Intermediate file
(on local disks)
Reduce
PhaseOutput
File
圖一 MapReduce的運作流程圖
如圖一即為MapReduce流程圖
1 將輸入的資料切割成固定大小
2 將要執行的MapReduce程式複製到Master與每一台Worker
3 Master會挑選閒置的Worker當Mapper或Reducer
4 Mapper會從切割好的資料讀取相對映的資料會產生Key Value會先暫
存在記憶體內再週期性的傳送到Local Disc
5 執行Reducer程式的Worker讀取每一個Mapper的結果並進行排序以及彙
整再將整合的結果輸出
10
33 Heterogeneous Classification
MapReduce 在異構性環境下執行已經是越來越多人討論的議題如何將
每個節點分級也有相當多的Benchmark可以做測試本篇論文採用的Benchmark
為 Hardinfo透過虛擬機器去做測試
表一 Hardinfo benchmark
如表一1_2 前面的數字代表核心數目後面的數字代表 Memory 有多少
GB而這個 Hardinfo 本身內含有許多測試的軟件我們測了兩個實驗CPU
Blowfish 以及 CPU CryptoHash這兩個都是跟加密有關的CPU Blowfish 運行
在單核心以及四核心的虛擬機器上所花費的秒數兩個相差了 5 倍因此我
們定義異構性等級為 1 到 5也就是所謂的高異構性環境CPU CryptoHash 運行
在單核心以及四核心的虛擬機器上每秒能壓縮的資料相差了三倍因此我
們定義異構性等級為 1 到 3也就是所謂的高異構性環境我們之後的實驗根
據這兩個異構性等級做參數
11
Chapter 4 Dynamic Data Partitioning and Locality
Aware Virtual Machine Mapping
原始的 Hadoop 在同質性環境執行 MapReduce 程式每個節點運算能力大
致相同所以在 Map 階段並不會有互相等待的結果發生但是在異構性的
環境之下每個節點的 Worker 彼此之間運算速度不同導致先完成的必須得
等速度較慢的節點完成因而執行時間變長而在 Reduce 階段沒有考慮
Communication Locality 的問題即使是用虛擬機架設的環境也是一樣所以
隱藏著一些 Communication overhead 的問題本篇論文主要探討此兩問題
圖二 整體方法流程圖
如圖二所示將資料從 HDFS 讀取進來因為每個節點不能去從其他節點讀
取資料來做因此只能將自己節點資料作完等待其他節點完成後才可繼續
執性 Reduce 階段因此在 Map mpping 階段是根據節點內部的虛擬機性能來
決定節點內部資料的分配而不是固定資料大小丟給效能不一致的虛擬機器來做
12
運算在 Reduce mapping 階段是根據 Locality aware 來選擇機器選擇節省成本
最多的機器以及最後有個節點內部動態調整機制為了減少Reducer完成的時間
41 動態資料切割
在同質性環境 (即為每個節點設備大致相同)運行MapReduce當Worker
完成Map階段任務必須等待其他Worker完成才能進行下一個動作因為每台
節點運算能力大致相同所以當執行Map階段結束後每台節點完成時間是大
致相同的而在異構環境下 (每個節點設備不盡相同則會產生出一個問題在
運算效能不一致的情況會造成在Map程式執行完成的時間變長因為當資料相
同可是每個節點運算能力不一樣就會彼此互相牽制為了要避免此情況發生
所以本篇論文用動態資料切割的方法來解決此問題
圖三 根據節點能力分配相對應大小的資料
動態資料切割的方法得先知道每個Worker的運算能力根據運算能力動
態切割資料大小如圖三所示每個節點運算能力較好的Worker就分配到資料
較多的Partition去做處理而運算能力較差的Worker就分配到較少的Partition使
得每個節點內部的Worker完成時間接近就不會有處理速度比較快的節點完成後
13
必須要等待處理速度比較慢的節點而資料分配方式就是根據Performance
也就是前面所提到的異構性等級的數值相加起來 (Worker處理速度越快則等級
越高)將要處理的資料以及總數值相除會得到一個平均值這個平均值去乘
上等級也就是Worker要處理的資料量
42 Locality Aware Virtual Machine Mapping
由於虛擬機的使用可以充分利用資源所以現在一台實體機可架設多
台虛擬機所以同一台實體機內部有兩台虛擬機當這兩台互相交換資料的
時候其實網路的負載是很低的但是如果是兩台實體機交換資料網路的負
載會變很高在執行Map階段之後資料都儲存在Local disk裡Reducer要怎麼
選擇機器使得Communication locality節省更多而這個即是本篇論文要探討的
第二個問題
421 Best Fit
本篇論文提出了一個 Best Fit 方法這個方法的概念是讓 Reducer 選擇在哪
一台節點上運行使其 Communication locality 節省最多接下來在找出節點內
Performance 最好的 Worker 來當 Reducer而不是像 Hadoop 的 MapReduce 是照
順序去分配這樣的選擇方式是因為節點與節點之間資料傳遞的Communication
overhead 是相當大的而節點內部之間的 Communication overhead相較起來小
很多而讓 Communication locality 節省越多也可以讓 Communication overhead
降低
14
圖四 Best Fit挑選機器流程
1 如圖四所示假設一台實體機上(P1)架設兩台虛擬機(v1v2)根據虛擬
機的運算能力分配相對映的資料量v1即為25單位v2即為22單位以此類
推
2 執行Map程式產生出k值因為有三台Reducer(R1R2R3)所以產生出
3個k值v1虛擬機的k1值為7k2值為10k3值為8而這v1的所有k值相加即為
v1所負責的資料量v1虛擬機k1值為10k2值為9k3值為3而這v2的所有k值
相加為v2所負責的資料量v3也是一樣
3 先從R1要挑選哪台VM開始首先把每個VM所產生出的k1值相加得到一個
總和即為57單位底下看到有三個數值第一個數值即為R1如果在P1這
台機器上運行的話所耗費的遠端溝通成本(要到P2P3取資料的溝通成本)
則第二個數值即為R2在P2這台機器上運行的話所耗費的遠端溝通成本
第三個也是
4 把總共要處理的資料減掉到遠端耗費的溝通成本會得到一個數值即為
15
Communication localityR1如果選擇P1機器運行則Communication locality
為17單位R1如果選擇P2機器運行則Communication locality為18單位R1
如果選擇P3機器運行則Communication locality為22單位R1挑選最多的
Communication locality的機器來運行所以R1選擇P3機器來做運算
5 R1選擇P3實體機而P3實體機有2台虛擬機所以在根據虛擬機的運算能力
先挑選運算能力好的來做為R1
6 如果節點的虛擬機都被挑選完就選第二順位的節點
原始的HadoopR1挑選v1而R2挑選v2照順序的挑選所以沒有考慮到溝
通成本則本篇論文Best fit是根據Communication locality來挑選機器但是
可能在某ㄧ些情況可能不夠完善
圖五 Best Fit 挑選機器的不完善
如圖五所示當Communication locality可以選擇很高的節點卻因為前面的
Reducer把節點內部的Worker挑選完了所以逼不得已只能挑選第二順位的節
點可是這個Communication locality遠遠低於前面Reducer挑選的節點導致整體
的Communication locality大幅下降因此422 Priority即為改善的方法
16
422 Priority
為了確保每個Reducer都能挑選Communication locality最高的機器因此
此章節做了改善
1 在Reducer在挑選機器之前先判斷Reducer哪台要先下去做挑選
2 將每台Reducer最高的Communication locality的跟第二高的相減會得到一個
Difference locality在利用Difference locality下去做排序由大到小
3 Difference locality越大的代表那台Reducer要優先做挑選所以就從
Difference locality越大的挑選到Difference locality最小的
圖六 Priority挑選機器流程
1 如圖六所示R1總共的Data block為57單位R2為42單位R3為41單位經過
Shuffle階段之後
2 R1如果選擇P1這台機器能節省的Communication locality就是17單位R1如果選
擇P2這台機器能節省的Communication locality就是18單位R3如果選擇P2這台
機器能節省的Communication locality就是22單位
3 根據Communication locality將第一高的減掉第二高的會得到一個Difference
17
locality
4 根據此Difference locality排出哪個Reducer要先選取機器此例子的順序為
R2再來R3再來R1而Best Fit就是R1再來R2再來R3
Priority可以避免前面的Reducer把機器挑選完迫使只能選擇第二高的
Communication locality使這樣大幅降低的情況給消除而Best fit和Priority這兩
種方法大幅提高了Communication locality的狀況可是卻也導致了Reduce階段
的完成時間變長所以下章節主要敘述將Reduce階段完成時間優化
43 Loading Aware Virtual Machine Mapping
上述的兩種方法Best fitPriority都是為了降低節點彼此之間的溝通成本
但是卻引發了一個問題Reducer執行完成的時間比原始Hadoop還來得長為
了解決此問題本篇論文在這章節提出優化的方法前面兩種方法是根據節點
的Communication locality來決定要在哪一台Worker做運算當決定好Worker
的時候Reducer會先將運算能力較好的虛擬機器拿去做運算這樣使得運算較
快的機器並不會對映到運算較複雜的資料使得較早完成的機器還是得等候還沒
做好的機器造成時間上的延長所以本篇論文針對此部份做優化
圖七 Reducer對應到其相對效率的Worker
18
如圖七所示當Reducer都挑選好要在哪台實體機做在開始執行Reduce程
式之前我們根據要處理的資料量來分配相對映的機器而這虛擬機的交換
並不會影響到Communication locality因為都是在同一台實體機架設的虛擬機
器做交換
19
Chapter 5 Performance Analysis
本實驗以模擬的方式進行利用 C 語言程式撰寫可設定節點數量節點
裡的 Worker 數量資料大小異構性環境低 (h = 1-3)或高 (h = 1-5)透過模擬
的實驗數據分析基於 Hadoop 的 MapReduce 以及本篇論文透過 Map mapping
和 Reduce mapping 的方式進而改善原始 MapReduce 所造成的缺點
51 Communication Locality
本模擬實驗主要探討的是 Communication Locality圖八(a)和圖八(b)模擬環
境為低異構性圖八(c)和圖八(d)為高異構性環境固定每台實體機架設 2 台以
及 5 台虛擬機器固定 Worker 總數量分別為 102030要處理的資料為 900G
Communication locality(vm = 2 h = 1-3)
0
50
100
150
200
250
300
10 20 30
Number of vm
Dat
a lo
cali
ty
Hadoop
Best Fit
Priority
(a)
20
Communication locality(vm = 5 h = 1-3)
0
100
200
300
400
500
600
10 20 30Number of vm
Dat
a lo
cali
ty
Hadoop
Best Fit
Priority
(b)
Communcation Locality(vm = 2 h = 1-5)
0
50
100
150
200
250
300
10 20 30Number of vm
Dat
a lo
cali
ty
Hadoop
Best Fit
Priority
(c)
Communcation locality(vm = 5 h = 1-5)
0
100
200
300
400
500
600
10 20 30
Number of vm
Dat
a lo
cali
ty
Hadoop
Best Fit
Priority
(d)
圖八 Communication locality (a) low heterogeneity vm=2 (b) low heterogeneity
vm=5 (c) high heterogeneity vm=2 (d) high heterogeneity vm=5
21
由圖八(a)可看出本篇論文提出的兩個方法在低異構性環境所能節省的
Communication Locality 比原始的 Hadoop 提出的方法最多節省了 33的
Communication Locality圖八 (b)也最多節省了約 12的 Communication
Locality雖然節省在固定架設的虛擬機器為兩台的時候節省比較多但是
兩個實驗節省的 Communication Locality 量卻相差了快 2 倍原因是在於 Map 階
段完成的資料都儲存在 Local disc兩台實體機在交換資料的時候溝通成本是
很高的而建立在同一台實體機的兩台虛擬機器交換資料則溝通成本卻來的低
很多 因此溝通成本量的提高也會被實體機上架設的虛擬機器的多寡來影
響
由圖八(c)所示在高異構性最多可節省 27的 Communication Locality圖
八(d)則為 15的 Communication Locality分別從圖八(a)圖八(c)圖八(b)以及
圖八(d)可以看得出來Best Fit 和 Priority 不會隨著異構性環境的高低溝通成
本量會有大幅度的改變而 Priority 在節省的 Communication Locality 都會比 Best
Fit 都來的多一點因為Priority 可以避免前面的 Reducer 把機器挑選完迫使
只能選擇第二高的Communication location 因此大幅降低的情況給消除
52 Task Execution Time
此節實驗是要探討 Map 以及 Reduce 完成的時間圖九(a)和圖九(b)為低異構
性環境的實驗圖九(c)和圖九(d)為高異構性環境都是固定每台實體機架設 2
台以及 5 台虛擬機器所以固定虛擬機器總數量分別為 102030要處理
的資料為 900G
22
Map completion time(vm = 2 h = 1-3)
0
20
40
60
80
100
10 20 30
Number of vm
Sec
ond
Hadoop
Best Fit amp Priority
(a)
Map completion time(vm = 5 h = 1-3)
0
20
40
60
80
100
10 20 30Number of vm
Sec
ond
Hadoop
Best Fit amp Priority
(b)
Map completion time(vm = 2 h = 1-5)
0
20
40
60
80
100
10 20 30Number of vm
seco
nd
Hadoop
Best Fit amp Priority
(c)
23
Map completion time(vm = 5 h = 1-5)
0
20
40
60
80
100
10 20 30Number of vm
seco
nd
Hadoop
Best Fit amp Priority
(d)
圖九 Map completion time (a) low heterogeneity vm=2 (b) low heterogeneity
vm=5 (c) high heterogeneity vm=2 (d) high heterogeneity vm=5
圖九(a)圖九(b)圖九(c)以及圖九(d)顯示了本論文提出的兩個方法 Best Fit
和 Priority 他們完成的時間是一樣的因為兩個方法的 Map mapping 概念是一樣
的所以完成時間也會一樣在此實驗裡可發現 Best Fit 和 Priority 也會隨著
實體機上的虛擬機器數量增多而完成時間縮短而縮短的時間最多甚至可以達
到 44也可看出本論文的兩個方法在低異構性環境的效能比在高異構性環境
的效能來的較差所以在異構性越高的環境越能看得出 Best Fit 和 Priority
的優勢
24
Reduce completion time(vm = 2 h = 1-3)
0
20
40
60
80
100
120
10 20 30Number of vm
Sec
ond
Hadoop
Best Fit
Priority
(a)
Reduce completion time(vm = 5 h = 1-3)
0
20
40
60
80
100
120
10 20 30Number of vm
Sec
ond
Hadoop
Best Fit
Priority
(b)
Reduce completion time(vm = 2 h = 1-5)
0
20
40
60
80
100
120
10 20 30Number of vm
seco
nd
Hadoop
Best Fit
Priority
(c)
25
Reduce completion time(vm = 5 h = 1-5)
0
20
40
60
80
100
120
10 20 30Number of vm
Sec
ond
Hadoop
Best Fit
Priority
(d)
圖十 Reduce completion time (a) low heterogeneity vm=2 (b) low
heterogeneity vm=5 (c) high heterogeneity vm=2 (d) high heterogeneity vm=5
而在 Reduce 完成時間的方面不像 Map 的完成時間是一樣的因為選
擇 Reducer 的方式不同造成 Best Fit 以及 Priority 時間完成上有些許不同
如圖十(a)所示節省了 14的時間圖十(b)節省了 16的時間圖十(c)
節省了 23圖十(d)節省了 29由圖十(b)以及圖十(d)可見影響 Reduce
階段完成時間最主要的原因是異構性環境的問題當環境的異構性越高其
所節省的時間越多而圖十(c)以及圖十(d)所示一台實體機架設的虛擬機器數
量影響的範圍比較小
26
Total completion time (vm = 2 pm = 5 h = 1-3)
0 50 100 150 200 250
Hadoop
Best Fit
Priority
Met
hod
Second
Map Reduce
(a)
Total completion time(vm = 5 pm = 2 h = 1-3)
0 50 100 150 200
Hadoop
Best Fit
Priority
Met
hod
Second
Map Reduce
(b)
Total completion time(vm = 2 pm = 5 h = 1-5)
0 50 100 150 200 250
Hadoop
Best Fit
Priority
Met
hod
Second
Map Reduce
(c)
27
Total completion time(vm=5 pm = 2 h = 1-5)
0 50 100 150 200
Hadoop
Best Fit
Priority
Second
Met
hod
Map Reduce
(d)
圖十一 Total completion time (a) low heterogeneity vm=2 pm=5 (b) low
heterogeneity vm=5 pm=2 (c) high heterogeneity vm=2 pm=5 (d) high
heterogeneity vm=5 pm=2
由於前面分別是 Map以及 Reduce的完成時間為了想知道Map以及 Reduce
對於 MapReduce 的整體影響我們將前面的 Map 以及 Reduce 的完成時間在
處理資料的節點固定為 10 台 Worker將其做整合
從圖十一(a)圖十一(b)圖十一(c)圖十一(d)顯示 Best Fit 和 Priority 不論
是在低異構性或高異構性環境MapReduce 完成時間都比 Hadoop 的完成時間縮
短很多在低異構性環境最多可縮短到 29的時間在高異構性環境最多可縮
短 41的時間而造成 Hadoop 跟 Best Fit 和 Priority 在時間上差異如此大的原
因主要是在 Map 階段的完成時間因為Best Fit 和 Priority 是根據 Worker 的
效能來決定要處理的資料大小而 Hadoop 就是分配固定大小的資料給 Worker
運算所以在越高的異構性環境其縮短的時間會越明顯
28
Total completion time with different number of vm (h=1-3)
0
20
40
60
80
100
120
vm=2 vm=3 vm=4Number of vm per physical machine
Sec
ond
Hadoop
Best Fit
Priority
(a)
Total completion time with different number of vm (h=1-5)
0
20
40
60
80
100
120
vm=2 vm=3 vm=4Number of vm per physical machine
Sec
ond
Hadoop
Best Fit
Priority
(b)
圖十二 Total completion time with different number of vm (a) low heterogeneity
vm=2 worker=12 (b) high heterogeneity vm=5 worker=12
圖十二(a)是在低異構性環境圖十二(b)是在高異構性環境並且1 台實體
機架設 2 個3 個4 個虛擬機器使 Worker 數量固定 12 台處理的資料量為
600G
這個模擬實驗主要探討的是在一台實體機架設的虛擬機器數量對於
MapReduce 完成時間是否真正有影響圖十二(a)和圖十二(b)更可以顯示出 Best
Fit 和 Priority 在異構性越高的環境裏且一台實體機架設越多虛擬機器來當作
Worker 的時候可以縮短更多的時間前者會縮短 Map 的完成時間後者會縮
29
短 Reduce 的完成時間而 Hadoop 在異構性環境高的時候也有些微的縮短一
些時間
Total completion time with different data size (h=1-5)
0
20
40
60
80
100
120
140
400 600 800 1000 1200
Data
Sec
ond
Hadoop
Best Fit
Priority
圖十三 Total completion time with different data size
在上述的實驗中在同樣的資料大小處理的 Worker 數量越多的時候其
完成時間會縮短很多但是到達一定的數量的時候其縮短時間的效果就很低
所以就做了此實驗因為本篇論文就是要探討異構性的環境選擇高異構性
環境固定 Worker 數量 20 台資料大小由 400G 到 1200G探討資料大小對
MapReduce 以及 Worker 的影響如圖十三顯示出在 600G 以下的時候Map 加
上 Reduce 完成的時間突然靠近起來代表了當資料量越小的時候Best Fit 和
Priority 的方法跟原始的 Hadoop 的方法優勢會越來越少但相反的是當資料
量越大的時候雖然Best Fit 和 Priority 完成時間會增加但是跟 Hadoop 的
完成時間比會更加突顯
30
Total completion time (best fit)
0
10
20
30
40
50
60
70
80
(Without optimization) (Optimization)
Best Fit
Sec
ond
Map Reduce
(a)
Total completion time (priority)
0
10
20
30
40
50
60
70
80
(Without optimization) (Optimization)
Priority
Sec
ond
Map Reduce
(b)
圖十四 Total completion time of loading aware optimization (a) without
optimal (b) with optimization
圖十四(a)未使用優化技術圖十四(b)是使用優化技術同樣都是在高異構
性環境之下並且1 台實體機架設 5 個虛擬機器使 Worker 數量固定 15 台
處理的資料量為 900G
在本篇論文方法的部份有提到Loading Aware Virtual Machine Mapping的優
化技術由於此實驗上面的實驗數據都已經使用優化技術來改善時間因此
此實驗就是要探討這優化技術對於MapReduce完成時間的影響
由於Loading Aware Virtual Machine Mapping此優化技術是變動同一台實體
31
機內部的Reducer使得原本是根據Communication locality來選擇虛擬機器但
是在挑選的過程中並沒有依據處理資料的大小分配到其處理速度相對映的
虛擬機器而這優化技術就是將同一台實體機內的虛擬機器重新分配由於此
優化技術並不會影響Communication locality所以這部份並沒有在此實驗探討
圖十四(a)圖十四(b)顯示未使用優化技術的Best fit和Priority的MapReduce
完成時間雖然比Hadoop的方法好但是其Reduce phase完成時間上慢了一些
並且可以看出此優化技術並不會影響到Map phase主要影響的是在Reduce階
段在Reduce階段的完成時間上利用優化技術可以將Reduce階段時間縮短其13
32
Chapter 6 Conclusions and Future Works
目前 Hadoop 資料處理的環境還是應用在群集內節點效能是相同的情況下
如果是異構性環境可能就無法這麼有效率的處理本篇論文提出了兩個方法
動態資料切割和虛擬機對映以及一個優化技術 Loading aware virtual machine
mapping模擬實驗結果表明透過本篇方法來得比 Hadoop 縮短 41的時間以
及最多節省 Communication Locality 約莫 33尤其在異構性越高的環境以及
一台實體機器架設的虛擬機器數量越多改善的效果越明顯另外 Loading
aware virtual machine mapping 優化技術改善了 Reduce phase 的完成時間約莫
13
在未來研究上可以朝著動態調整 Reducer 數量的方向前進當固定大小的
資料上其實有時候過多的節點去運算消耗了大量的運算資源卻只得到一些
秒數的縮短如何利用適當的運算資源來得到最大的利益這是相當重要的議
題由於此實驗都是屬於模擬實驗希望在未來可以實際架設在機器上運行
透過 Benchmark得到真正的數據
33
Reference
1 Masato Asahara Shinji Nakadai and Takuya Araki ldquoLoadAtomizer A
Locality and IO Load aware Task Scheduler for MapReducerdquo in 4th IEEE
International Conference on Cloud Computing Technology and Science
(CloudCom) pp 317-324 2012
2 Paul Barham Boris Dragovic Keir Fraser Steven Hand Tim Harris Alex
Ho Rolf Neugebauer Ian Pratt and Andrew Warfield ldquoXen and the Art of
Virtualizationrdquo SOSP 03 Proceedings of the nineteenth ACM symposium
on Operating systems principles vol 37 Issue 5 pp 164-177 December
2003
3 Xiangping Bu Jia Rao and Cheng Zhong Xu ldquoInterference and
Locality-Aware Task Scheduling for MapReduce Applications in Virtual
Clustersrdquo Proceeding HPDC 13 Proceedings of the 22nd international
sym-posium on High-performance parallel and distributed computing pp
227-238 2013
4 Kasim Selcuk Candan Jong Wook Kim Parth Nagarkar Mithila Nagendra
and Ren-wei Yu ldquoScalable Multimedia Data Processing in Server Clustersrdquo
IEEE MultiMedia pp 3-5 2010
5 Fay Chang Jeffrey Dean Sanjay Ghemawat Wilson C Hsieh Deborah A
Wallach Mike Burrws Tushar Chandra Andrew Fikes and Robert EGruber
ldquoBigtable A Distributed Storage System for Structured Datardquo 7th UENIX
Symposium on Operating Systems Design and Implementation pp 205-218
2006
6 P C Chen Y L Su J B Chang and C K Shieh ldquoVariable-Sized Map and
Locality-Aware Reduce on Public-Resource Gridsrdquo in Proceedings
Conference Grid and Pervasive Computing (GPC 2010) pp 234-243 2010
May
7 Q Chen D Zhang M Guo Q Deng and S Guo ldquoSamr A self adaptive
mapreduce scheduling algorithm in heterogeneous environmentrdquo in 10th
IEEE International Conference on Computer and Information Technology
CIT rsquo10 (Washington DC USA) pp 2736ndash2743 2010
8 Jeffrey Dean and Sanjay Ghemawat ldquoMapReduce Simplified Data
Processing on Large Clustersrdquo Communications of the ACM vol 51 no 1
pp 107ndash113 2008
9 Yuanquan Fan Weiguo Wu Haijun Cao Huo Zhu Xu Zhao and Wei Wei
34
ldquoA heterogeneity-aware data distribution and rebalance method in Hadoop
clusterrdquo 2012 Seventh ChinaGrid Annual Conference pp 176-181 2012
10 Zacharia Fadika Elif Dede Jessica Hartog and Madhusudhan Govindaraju
ldquoMARLA MapReduce for Heterogeneous Clustersrdquo in 12th IEEEACM
International Symposium on Cluster Cloud and Grid Computing pp 49-56
2012
11 Sanjay Ghemawat Howard Gobioff and ShunTak Leung ldquoThe Google file
systemrdquo In Proceedings of 19th Symposium on Operating Systems
Principles pp 29-43 2003
12 Sven Groot ldquoJumbo Beyond MapReduce for Workload Balancingrdquo Fuzzy
Systems and Knowledge Discovery (FSKD) 2011 Eighth International
Conference on Cloud Computing Technology and Science vol 4 pp
2675-2678 2011 July
13 B Gufler N Augsten A Reiser and A Kemper ldquoHandling Data Skew in
MapReducerdquo in Proceedings of CLOSER pp 574ndash583 2011
14 Mohammad Hammoud and Majd F Sakr ldquoLocality-Aware Reduce Task
Scheduling for MapReducerdquo Third IEEE International Conference on
Cloud Computing Technology and Science pp 570-576 2011
15 C He Y Lu and D Swanson ldquoMatch-making A New MapReduce
Scheduling Techniquerdquo IEEE Third International Conference on Cloud
Computing Technology and Science (CloudCom) pp 40ndash47 2011
16 Hung Chang Hsiao Huesh Yi Chung Haiying Shen and Yu Chang
ChaoldquoLoad Re-balancing for Distributed File Systems in Cloudsrdquo IEEE
Trans on Parallel and Distributed Systems vol24 pp 951-962 2012
17 Shadi Ibrahim Hai Jin Lu Lu Song Wu Bingsheng He and Li Qi ldquoLEEN
LocalityFairness Aware Key Partitioning for MapReduce in the Cloudrdquo
2010 IEEE Second International Conference on Cloud Computing
Technology and Science (CloudCom) pp 17ndash24 2010
18 S Ibrahim H Jin L Lu L Qi S Wu and X Shi ldquoEvaluating MapReduce
on Virtual Machines The Hadoop Caserdquo Proceedings Conference Cloud
Computing (CloudCom 2009) Springer LNCS pp 519-528 2009 Dec
19 C Jin and R Buyya ldquoMapreduce programming model for net-based cloud
computingrdquo in Proceedings of the 15th International Euro-Par Conference
on Parallel Processing Euro-Par (Berlin Heidelberg) pp 417ndash428 2009
20 R Nanduri N Maheshwari A Reddyraja and V Varma ldquoJob aware
scheduling algorithm for Mapreduce frameworkrdquo in 3rd International
Conference on Cloud Computing Technology and Science
CLOUDCOM rsquo11 (Washington DC USA) pp 724ndash729 2011
35
21 Andrew J Page and Thomas J Naughton ldquoDynamic task scheduling using
genetic algorithms for heterogeneous distributed computingrdquo in 19th IEEE
International Parallel and Distributed Processing Symposium pp 189a
2005 April
22 Xiaoyu Sun Chen He and Ying Lu ldquoESAMR An Enhanced Self-Adaptive
MapReduce Scheduling Algorithmrdquo 2012 IEEE 18th International
Conference on Parallel and Distributed Systems pp 148-155 2012
23 Chao Tian Haojie Zhou Yongqiang He and Li Zha ldquoA Dynamic
MapReduce Scheduler for Heterogeneous Workloadsrdquo Eighth International
Conference on Grid and Cooperative Computing pp 218ndash244 2009 Aug
24 Jiong Xie Shu Yin Xiaojun Ruan Zhi-yang Ding Yun Tian James Majors
Adam Manzanares and Xiao Qin ldquoImproving mapreduce performance
through data placement in heterogeneous hadoop clustersrdquo in IPDPS
Workshops pp 1ndash9 2010
25 J Tan X Pan S Kavulya R Gandhi and P Narasimhan ldquoMochi Visual
Log-Analysis Based Tools for Debugging Hadooprdquo USENIX Workshop on
Hot Topics in Cloud Computing (HotCloud) pp 1-5 2009
26 Matei Zaharia Andy Konwinski Anthony D Joseph Randy Katz and Ion
Stoica ldquoImproving MapReduce Performance in Heterogeneous
Environmentsrdquo 8th Symposium on Operating Systems Design and
Implementation pp 29ndash42 2008 Dec
27 X Zhang Z Zhong S Feng B Tu and J Fan ldquoImproving Data locality of
MapReduce by Scheduling in Homogeneous Computing Environmentsrdquo in
9th IEEE International Symposium on Parallel and Distributed Processing
with Applications (ISPA) pp 120-126 2011
28 Apache hadoop Available from httphadoopapacheorg
29 MapReduce with a lot of examples for Mining datasets Available from
httpinfolabstanfordedu~ullmanmmdsbookpdf
Page 7
vi
Chapter 6 Conclusions and Future Works 32
Reference 33
vii
List of Tables
表一 Hardinfo benchmark 10
viii
List of Figures
圖一 MapReduce 的運作流程圖 9
圖二 整體方法流程圖 11
圖三 根據節點能力分配相對應大小的資料 12
圖四 Best Fit 挑選機器流程 14
圖五 Best Fit 挑選機器的不完善 15
圖六 Priority 挑選機器流程 16
圖七 Reducer 對應到其相對效率的 Worker 17
圖八 Communication locality (a) low heterogeneity vm=2 (b) low heterogeneity
vm=5 (c) high heterogeneity vm=2 (d) high heterogeneity vm=5 19
圖九 Map completion time (a) low heterogeneity vm=2 (b) low heterogeneity
vm=5 (c) high heterogeneity vm=2 (d) high heterogeneity vm=5 22
圖十 Reduce completion time (a) low heterogeneity vm=2 (b) low heterogeneity
vm=5 (c) high heterogeneity vm=2 (d) high heterogeneity vm=5 24
圖十一 Total completion time (a) low heterogeneity vm=2 pm=5 (b) low
heterogeneity vm=5 pm=2 (c) high heterogeneity vm=2 pm=5 (d) high
heterogeneity vm=5 pm=2 26
圖十二 Total completion time with different number of vm (a) low heterogeneity
vm=2 worker=12 (b) high heterogeneity vm=5 worker=12 28
圖十三 Total completion time with different data size 29
圖十四 Total completion time of loading aware optimization (a) without
optimization (b) with optimization 30
1
Chapter 1 Introduction
11 Background
網路的發展慢慢的成為人們生活中不可或缺的一部分因而產生許多要處
理的大量資料而這些資料在處理上有些許不同要如何處理這些不同的資料
變成一個很重要的議題因此雲端運算這類專有名詞從而衍生出來而在此
背景之下Google在2003年提出分散式檔案系統架構Google File System(GFS)
[11]2004年提出MapReduce架構 [8]可用來處理大規模的資料處理以及2006
年提出BigTable [5]這是基於Google File System針對資料結構化儲存的分散式系
統
在過去幾十年前個人電腦還沒有這麼普遍的情況下當時的電腦主要還是以
大型主機為主所有的工作都只能透過那一台主機運行既不方便也沒有彈性
因此IBM則在當時開發了一套虛擬機監視器(Virtual Machine Monitor)藉此將
大型主機的資源分割成多個虛擬機器提供給使用者使用這些虛擬機器可以模
擬成多個操作環境進而比一個操作環境來的更有效率現今虛擬化技術 [2]越
來越成熟雲端運算環境透過此技術整合了分散在各處的資源使資源可做一
個統整藉此提供各項的資訊服務
雲端運算(Cloud Computing)簡單來說它不是一個技術而是一個概念希
望可以藉由雲端叢集 [4]透過網際網路來處理在雲端存放的龐大資料而
Google提出的MapReduce架構Map階段的時候將這些龐大資料拆解成許多小
資料再交給雲端叢集的每個節點去做運算Reduce在讓每個節點將運算後的
結果進行整合再回傳給使用者這樣的方式由原本只能單一處理變成平行
處理進而加快了處理速度
2
Google雖然提出了多個雲端運算的技術但是並沒有開放原始碼出來使
得企業們受到局限直到Apache開發出Hadoop平台 [25]企業或使用者才可以
自己研發相關的MapReduce技術 [18][19][20]不再被受到限制MapReduce技
術具有高容錯性資源使用率高平行處理使得它在企業界備受青睞
12 Motivation
在一個大的群集裡原型的MapReduce會將進來的資料切割成固定大小
主要節點會將這些資料分散給各節點去做運算但是如果在異構性環境
[21][23]就無法根據機器的處理速度動態的分配資料給相對映的機器去做運
算在Map階段節點處理速度相同的情況下每個節點完成的時間會大致相同
但是在節點處理速度不盡相同的情況下完成的時間彼此不一樣則會造成最
先處理好的機器得等待處理速度較慢的節點完成因而拖累完成時間而在
Reduce階段則考慮到Communication locality的問題Communication locality是
指說Reducer在此節點運算的時候所能節省的溝通成本(意指不用到遠端節點
取資料的溝通成本)原始的MapReduce在挑選機器的時候是有機器就拿去
做運算而沒考慮此問題
13 Contribution
本論文針對以上的敘述做了改進首先測試每台機器的運算效能在Map
階段的時候根據節點的運算效能來決定負責的運算量進而達到平均完成時間
相近在Reduce階段評估Communication locality再根據Communication locality
來決定Reducer要選擇在哪台機器使其節省更多的Communication locality最
後透過Loading Aware Virtual Machine Mapping來改善Reduce階段的完成時間
3
14 Organization
本論文研究探討在異構性環境下每個節點運算效能不一致的情況下為了
要避免MapReduce運算所造成校能不佳的情況動態的調整Map mapping以及
Reducer mapping
本論文章節介紹如下第一章緒論簡述雲端運算的研究背景及研究動機與
目的以此為基礎第二章相關研究介紹前人所提出的MapReduce改善方法
第三章Preliminary介紹HadoopMapRedcue的流程以及定義異構性環境第四
章演算法介紹MapReduce的各階段流程以及介紹本篇論文所提出的動態資料
切割和虛擬機對映兩種技術的流程另外提出了一個優化技術第五章性能分
析透過實驗模擬的結果將其結果分析與比較最後第六章為結論以及未來
可以繼續研究的方向
4
Chapter 2 Related Works
MapReduce 是目前非常流行的分散式運算的架構主要是透過網際網路來處
理在雲端上儲存的大量資料將要執行的 MapReduce 程式複製到 Master node 以
及各個WorkerMaster node會決定要給哪台Worker去執行Map程式或者Reduce
程式透過 Map 程式將資料切成許多區塊經過 Map 階段產生出 Key Value
將此 Key Value 存儲在 Local disc然後經過 Shuffle(將相同屬性的 key 排序在
一起)而 Reduce 程式將這些 Shuffle 後的結果進行整合最後再將結果產生出
來由於 MapReduce 一開始主要是在節點效能大致相同的情況下去執行對於
節點效能不一致的情況 (也就是所謂的異構性環境)導致會有一些效能不盡理
想的狀態出現 [10]並且隨著虛擬技術的成熟虛擬機器可以將實體機資源
更有效的利用慢慢的開始以虛擬機器作為 Cluster而且MapReduce 在以虛
擬機器建立起的異構性環境之下對於 IO 負載不平衡 [12][13][16]以及任務排
程 [1][6][15]不平均的部份目前已經有許多相關文獻在探討此方面
21 Homogeneous Environment
由 Shadi Ibrahim 等人在 2010 年時所提 LEEN [17]的方法在 Map 階段因
為原始的 MapReduce 架構沒有考慮資料的內容盲目的以資料數量區分導致
Shuffle 階段時會出現分配不平均的現象為了改善此部份LEEN 將每筆資料
計算出 Fairness Score 後根據 Locality [3][27]概念分析與比較將資料適當地放
在各個節點上達到平均分配的效果透過這樣的想法我們將此概念延伸到
Reducer 挑選機器是根據 Communication locality而不是盲目的去選擇有空的
Worker
5
MapReduce是主從式架構具有樹狀網路分佈的結構節點分布在不同的主
機上或者可能在不同的資料中心的主機上則兩個節點要溝通的話則需要
透過網路而頻寬會影響之間傳輸的速度在MapReduce的Worker接受到Master
的要求從而排程Map和ReduceHadoop企圖排程將比較靠近的資料做Map
tasks以避免在網路上增加過多的overhead至於Reduce tasks則沒有考慮到此部
份因此在進行shuffle的時候不必要的資料在網路上可能會降低校能遙遠
的節點資料傳送已經成為一個瓶頸而Mohammad Hammoud等人在2011提出
的論文著重在Reduce任務的部分透過網路位置做分區來做排程因此形成
了LARTS 的策略 [14]而且還觀察到MapReduce在Map Tasks完成後進行
shuffling的動作此步驟是用交錯的方式先前的方法在Shuffling這個動作的
時候使MapReduce的性能提高但是卻增加了網路的負載而LARTS保持了
此Shuffling的優勢還減少了網路的負載但是此篇論文著重在Reduce task的
部份至於Map task的部份並未做優化的部份
22 Heterogeneity Environment
Hadoop原先假設在節點相同的環境下運行但是實際上環境內的節點並
不是每次都是一致的當Hadoop運行在異構性環境對於性能上是有很大的落
差由Matei Zaharia等人提出的LATE (Longest Approximate Time to End) [26]針
對其任務的排程上做改良重新設計了一個新的Speculative task會估算完成時
間根據完成時間在去調整任務上的分配雖然對回應時間有點影響但是
整體性能明顯的比Hadoop改善很多而Quan Chen等人在2010年所提出的SAMR
(Self-adaptive MapReduce Scheduling Algorithm) [7]自動適應MapReduce的調動
排程主要是計算任務進度根據歷史資料動態調整Map任務以及Reduce任務
並且可以識別在節點上執行較慢的任務將其任務不做備份工作使其完成時
6
間可以降低在 2012年由Xiaoyu Sun等人提出的 ESAMR (An Enhanced
Self-Adaptive MapReduce Scheduling Algorithm) [22]增強自適應MapReduce的調
度算法以提高Speculative task在SAMR識別慢任務可能不是這麼準確但
是在ESMAR裡它們使用集群演算法轉化改進了這一部分使其識別慢任
務達到一定的準確ESAMR研究結果的誤判率明顯降低
由於Hadoop在異構性環境會造成資料分配不平均的現象所以由
Yuanquan Fan等人提出了在Map階段重新平衡資料分配的方法 [9]而此篇論文
平衡的方法有兩種(1) 根據性能來分配-主要是分成不同大小的資料區塊首先
將每個節點進行性能評估然後資料切成不同大小根據節點的計算能力來分
配相對應的節點(2) 資料動態搬遷-儘管不同大小的資料被分配在每一個節點
上再來估算任務完成時間將執行最慢的任務的部份資料轉移到執行最快的節
點有些任務可能會隨著時間的關係或者網路的關係慢慢延後所以將這些延
後的資料轉移給其他節點去運算其缺點就是資料的搬移時間和成本並沒考慮至
其中以及Reduce phase階段可能因為資料搬移的情況導致Reduce phase的
Communication overhead變重
傳統的 MapReduce 架構是考慮每台機器的規格都相同所以資料平均分
配後所處理完成的時間也都會是一樣在雲端運算環境中往往都是數百台或
著上千上萬台機器在同時運算機器的規格也不盡相同因此 Jiong Xie 等人在
2010 年所提出的 Data Placement [10]的方法將每個電腦區分出 3 個等級分別
是 FastestAverage 及 Slowest不同的等級取得運算資料份量也不同並建立一
張表紀錄目前有哪些機器處於忙碌壅塞狀態有那些機器處於閒置狀態並且
將忙碌的機器的資料分出 3 個等級平均分配資料直至平均為止使得每台
機器資源利用率是相近的雖然這樣的動機很好但是對於資料遷移所花的
時間以及成本是沒考慮的
根據上述研究不足的地方我們提出了MapReduce在異構性環境裡在Map
7
階段將資料切割成不固定大小依據節點能力的不同做出適當的配置在
Reduce階段根據Communication locality 找出適合在哪一台機器上執行最
後再透過優化技術把本篇論文方法的執行時間縮短一些
8
Chapter 3 Preliminary
31 Hadoop
Hadoop架構是由Apache所開發的開放原始碼提供了一個分散式系統的基
本架構Hadoop雲端運算技術主要由三個主要架構所組成 Hadoop Distributes
File System (HDFS)分散式檔案系統Hadoop Database (HBase)分散式資料庫以及
Hadoop MapReduce分散式平行運算以下一一敘述
HDFS (Hadoop File system) 是根據Google提出的GFS(Google File System)所
延伸的主要就是將各個節點連結起來將這些節點組成一個大型的分散式檔案
系統可以有效的處理大量檔案並提供安全的儲存環境以及可以避免因為單一
的硬體發生異常而影響整個系統
而HDFS為了維護資料的一致性當使用者將資料存進去HDFS就不能去
更動或修改HDFS會將要儲存的資料複製副本分散儲存在各個不同的節點
所以當儲存資料的節點發生異常可藉由其他節點來復原
HBase (Hadoop Database)類似Google BigtableHBase架構在Hadoop HDFS
上的分散式資料庫與ㄧ般關聯式資料庫不同HBase使用列和行為索引存取資
料值以及每一筆資料都有一個時間戳記因此同一個欄位可以因為時間的不同
而存在多筆資料
HBase專門用來處理大規模的資料是由HMasrter以及HRegion組成一台
HMaster管理多部HRegion ServerHMaster負責監控與管理HRegion Server系統狀
態而HRegion Server利用記憶體存取快速的優點可以加速資料讀寫的動作
所以會先將資料存放在記憶體內之後再將資料存回HDFS
9
32 MapReduce
雲端運算最重要的關鍵即是MapReduce使用MapReduce模式將一個大問
題先讓程式開發人員分析問題將問題切割成許多小問題在將此小問題平行
分散給各個Mapper當Mapper處理完的結果在傳送到相對映的Reducer去做運
算Reducer將這些結果進行合併在把合併的結果輸出
Split 0
Split 1
Split 2
Mapper
Mapper
Mapper
Reducer
Reducer
Partition 0
Partition 1
Partition 0
Partition 1
Partition 0
Partition 1
Output
File0
Output
File1
Input
File
Master
User
Map
Phase
Intermediate file
(on local disks)
Reduce
PhaseOutput
File
圖一 MapReduce的運作流程圖
如圖一即為MapReduce流程圖
1 將輸入的資料切割成固定大小
2 將要執行的MapReduce程式複製到Master與每一台Worker
3 Master會挑選閒置的Worker當Mapper或Reducer
4 Mapper會從切割好的資料讀取相對映的資料會產生Key Value會先暫
存在記憶體內再週期性的傳送到Local Disc
5 執行Reducer程式的Worker讀取每一個Mapper的結果並進行排序以及彙
整再將整合的結果輸出
10
33 Heterogeneous Classification
MapReduce 在異構性環境下執行已經是越來越多人討論的議題如何將
每個節點分級也有相當多的Benchmark可以做測試本篇論文採用的Benchmark
為 Hardinfo透過虛擬機器去做測試
表一 Hardinfo benchmark
如表一1_2 前面的數字代表核心數目後面的數字代表 Memory 有多少
GB而這個 Hardinfo 本身內含有許多測試的軟件我們測了兩個實驗CPU
Blowfish 以及 CPU CryptoHash這兩個都是跟加密有關的CPU Blowfish 運行
在單核心以及四核心的虛擬機器上所花費的秒數兩個相差了 5 倍因此我
們定義異構性等級為 1 到 5也就是所謂的高異構性環境CPU CryptoHash 運行
在單核心以及四核心的虛擬機器上每秒能壓縮的資料相差了三倍因此我
們定義異構性等級為 1 到 3也就是所謂的高異構性環境我們之後的實驗根
據這兩個異構性等級做參數
11
Chapter 4 Dynamic Data Partitioning and Locality
Aware Virtual Machine Mapping
原始的 Hadoop 在同質性環境執行 MapReduce 程式每個節點運算能力大
致相同所以在 Map 階段並不會有互相等待的結果發生但是在異構性的
環境之下每個節點的 Worker 彼此之間運算速度不同導致先完成的必須得
等速度較慢的節點完成因而執行時間變長而在 Reduce 階段沒有考慮
Communication Locality 的問題即使是用虛擬機架設的環境也是一樣所以
隱藏著一些 Communication overhead 的問題本篇論文主要探討此兩問題
圖二 整體方法流程圖
如圖二所示將資料從 HDFS 讀取進來因為每個節點不能去從其他節點讀
取資料來做因此只能將自己節點資料作完等待其他節點完成後才可繼續
執性 Reduce 階段因此在 Map mpping 階段是根據節點內部的虛擬機性能來
決定節點內部資料的分配而不是固定資料大小丟給效能不一致的虛擬機器來做
12
運算在 Reduce mapping 階段是根據 Locality aware 來選擇機器選擇節省成本
最多的機器以及最後有個節點內部動態調整機制為了減少Reducer完成的時間
41 動態資料切割
在同質性環境 (即為每個節點設備大致相同)運行MapReduce當Worker
完成Map階段任務必須等待其他Worker完成才能進行下一個動作因為每台
節點運算能力大致相同所以當執行Map階段結束後每台節點完成時間是大
致相同的而在異構環境下 (每個節點設備不盡相同則會產生出一個問題在
運算效能不一致的情況會造成在Map程式執行完成的時間變長因為當資料相
同可是每個節點運算能力不一樣就會彼此互相牽制為了要避免此情況發生
所以本篇論文用動態資料切割的方法來解決此問題
圖三 根據節點能力分配相對應大小的資料
動態資料切割的方法得先知道每個Worker的運算能力根據運算能力動
態切割資料大小如圖三所示每個節點運算能力較好的Worker就分配到資料
較多的Partition去做處理而運算能力較差的Worker就分配到較少的Partition使
得每個節點內部的Worker完成時間接近就不會有處理速度比較快的節點完成後
13
必須要等待處理速度比較慢的節點而資料分配方式就是根據Performance
也就是前面所提到的異構性等級的數值相加起來 (Worker處理速度越快則等級
越高)將要處理的資料以及總數值相除會得到一個平均值這個平均值去乘
上等級也就是Worker要處理的資料量
42 Locality Aware Virtual Machine Mapping
由於虛擬機的使用可以充分利用資源所以現在一台實體機可架設多
台虛擬機所以同一台實體機內部有兩台虛擬機當這兩台互相交換資料的
時候其實網路的負載是很低的但是如果是兩台實體機交換資料網路的負
載會變很高在執行Map階段之後資料都儲存在Local disk裡Reducer要怎麼
選擇機器使得Communication locality節省更多而這個即是本篇論文要探討的
第二個問題
421 Best Fit
本篇論文提出了一個 Best Fit 方法這個方法的概念是讓 Reducer 選擇在哪
一台節點上運行使其 Communication locality 節省最多接下來在找出節點內
Performance 最好的 Worker 來當 Reducer而不是像 Hadoop 的 MapReduce 是照
順序去分配這樣的選擇方式是因為節點與節點之間資料傳遞的Communication
overhead 是相當大的而節點內部之間的 Communication overhead相較起來小
很多而讓 Communication locality 節省越多也可以讓 Communication overhead
降低
14
圖四 Best Fit挑選機器流程
1 如圖四所示假設一台實體機上(P1)架設兩台虛擬機(v1v2)根據虛擬
機的運算能力分配相對映的資料量v1即為25單位v2即為22單位以此類
推
2 執行Map程式產生出k值因為有三台Reducer(R1R2R3)所以產生出
3個k值v1虛擬機的k1值為7k2值為10k3值為8而這v1的所有k值相加即為
v1所負責的資料量v1虛擬機k1值為10k2值為9k3值為3而這v2的所有k值
相加為v2所負責的資料量v3也是一樣
3 先從R1要挑選哪台VM開始首先把每個VM所產生出的k1值相加得到一個
總和即為57單位底下看到有三個數值第一個數值即為R1如果在P1這
台機器上運行的話所耗費的遠端溝通成本(要到P2P3取資料的溝通成本)
則第二個數值即為R2在P2這台機器上運行的話所耗費的遠端溝通成本
第三個也是
4 把總共要處理的資料減掉到遠端耗費的溝通成本會得到一個數值即為
15
Communication localityR1如果選擇P1機器運行則Communication locality
為17單位R1如果選擇P2機器運行則Communication locality為18單位R1
如果選擇P3機器運行則Communication locality為22單位R1挑選最多的
Communication locality的機器來運行所以R1選擇P3機器來做運算
5 R1選擇P3實體機而P3實體機有2台虛擬機所以在根據虛擬機的運算能力
先挑選運算能力好的來做為R1
6 如果節點的虛擬機都被挑選完就選第二順位的節點
原始的HadoopR1挑選v1而R2挑選v2照順序的挑選所以沒有考慮到溝
通成本則本篇論文Best fit是根據Communication locality來挑選機器但是
可能在某ㄧ些情況可能不夠完善
圖五 Best Fit 挑選機器的不完善
如圖五所示當Communication locality可以選擇很高的節點卻因為前面的
Reducer把節點內部的Worker挑選完了所以逼不得已只能挑選第二順位的節
點可是這個Communication locality遠遠低於前面Reducer挑選的節點導致整體
的Communication locality大幅下降因此422 Priority即為改善的方法
16
422 Priority
為了確保每個Reducer都能挑選Communication locality最高的機器因此
此章節做了改善
1 在Reducer在挑選機器之前先判斷Reducer哪台要先下去做挑選
2 將每台Reducer最高的Communication locality的跟第二高的相減會得到一個
Difference locality在利用Difference locality下去做排序由大到小
3 Difference locality越大的代表那台Reducer要優先做挑選所以就從
Difference locality越大的挑選到Difference locality最小的
圖六 Priority挑選機器流程
1 如圖六所示R1總共的Data block為57單位R2為42單位R3為41單位經過
Shuffle階段之後
2 R1如果選擇P1這台機器能節省的Communication locality就是17單位R1如果選
擇P2這台機器能節省的Communication locality就是18單位R3如果選擇P2這台
機器能節省的Communication locality就是22單位
3 根據Communication locality將第一高的減掉第二高的會得到一個Difference
17
locality
4 根據此Difference locality排出哪個Reducer要先選取機器此例子的順序為
R2再來R3再來R1而Best Fit就是R1再來R2再來R3
Priority可以避免前面的Reducer把機器挑選完迫使只能選擇第二高的
Communication locality使這樣大幅降低的情況給消除而Best fit和Priority這兩
種方法大幅提高了Communication locality的狀況可是卻也導致了Reduce階段
的完成時間變長所以下章節主要敘述將Reduce階段完成時間優化
43 Loading Aware Virtual Machine Mapping
上述的兩種方法Best fitPriority都是為了降低節點彼此之間的溝通成本
但是卻引發了一個問題Reducer執行完成的時間比原始Hadoop還來得長為
了解決此問題本篇論文在這章節提出優化的方法前面兩種方法是根據節點
的Communication locality來決定要在哪一台Worker做運算當決定好Worker
的時候Reducer會先將運算能力較好的虛擬機器拿去做運算這樣使得運算較
快的機器並不會對映到運算較複雜的資料使得較早完成的機器還是得等候還沒
做好的機器造成時間上的延長所以本篇論文針對此部份做優化
圖七 Reducer對應到其相對效率的Worker
18
如圖七所示當Reducer都挑選好要在哪台實體機做在開始執行Reduce程
式之前我們根據要處理的資料量來分配相對映的機器而這虛擬機的交換
並不會影響到Communication locality因為都是在同一台實體機架設的虛擬機
器做交換
19
Chapter 5 Performance Analysis
本實驗以模擬的方式進行利用 C 語言程式撰寫可設定節點數量節點
裡的 Worker 數量資料大小異構性環境低 (h = 1-3)或高 (h = 1-5)透過模擬
的實驗數據分析基於 Hadoop 的 MapReduce 以及本篇論文透過 Map mapping
和 Reduce mapping 的方式進而改善原始 MapReduce 所造成的缺點
51 Communication Locality
本模擬實驗主要探討的是 Communication Locality圖八(a)和圖八(b)模擬環
境為低異構性圖八(c)和圖八(d)為高異構性環境固定每台實體機架設 2 台以
及 5 台虛擬機器固定 Worker 總數量分別為 102030要處理的資料為 900G
Communication locality(vm = 2 h = 1-3)
0
50
100
150
200
250
300
10 20 30
Number of vm
Dat
a lo
cali
ty
Hadoop
Best Fit
Priority
(a)
20
Communication locality(vm = 5 h = 1-3)
0
100
200
300
400
500
600
10 20 30Number of vm
Dat
a lo
cali
ty
Hadoop
Best Fit
Priority
(b)
Communcation Locality(vm = 2 h = 1-5)
0
50
100
150
200
250
300
10 20 30Number of vm
Dat
a lo
cali
ty
Hadoop
Best Fit
Priority
(c)
Communcation locality(vm = 5 h = 1-5)
0
100
200
300
400
500
600
10 20 30
Number of vm
Dat
a lo
cali
ty
Hadoop
Best Fit
Priority
(d)
圖八 Communication locality (a) low heterogeneity vm=2 (b) low heterogeneity
vm=5 (c) high heterogeneity vm=2 (d) high heterogeneity vm=5
21
由圖八(a)可看出本篇論文提出的兩個方法在低異構性環境所能節省的
Communication Locality 比原始的 Hadoop 提出的方法最多節省了 33的
Communication Locality圖八 (b)也最多節省了約 12的 Communication
Locality雖然節省在固定架設的虛擬機器為兩台的時候節省比較多但是
兩個實驗節省的 Communication Locality 量卻相差了快 2 倍原因是在於 Map 階
段完成的資料都儲存在 Local disc兩台實體機在交換資料的時候溝通成本是
很高的而建立在同一台實體機的兩台虛擬機器交換資料則溝通成本卻來的低
很多 因此溝通成本量的提高也會被實體機上架設的虛擬機器的多寡來影
響
由圖八(c)所示在高異構性最多可節省 27的 Communication Locality圖
八(d)則為 15的 Communication Locality分別從圖八(a)圖八(c)圖八(b)以及
圖八(d)可以看得出來Best Fit 和 Priority 不會隨著異構性環境的高低溝通成
本量會有大幅度的改變而 Priority 在節省的 Communication Locality 都會比 Best
Fit 都來的多一點因為Priority 可以避免前面的 Reducer 把機器挑選完迫使
只能選擇第二高的Communication location 因此大幅降低的情況給消除
52 Task Execution Time
此節實驗是要探討 Map 以及 Reduce 完成的時間圖九(a)和圖九(b)為低異構
性環境的實驗圖九(c)和圖九(d)為高異構性環境都是固定每台實體機架設 2
台以及 5 台虛擬機器所以固定虛擬機器總數量分別為 102030要處理
的資料為 900G
22
Map completion time(vm = 2 h = 1-3)
0
20
40
60
80
100
10 20 30
Number of vm
Sec
ond
Hadoop
Best Fit amp Priority
(a)
Map completion time(vm = 5 h = 1-3)
0
20
40
60
80
100
10 20 30Number of vm
Sec
ond
Hadoop
Best Fit amp Priority
(b)
Map completion time(vm = 2 h = 1-5)
0
20
40
60
80
100
10 20 30Number of vm
seco
nd
Hadoop
Best Fit amp Priority
(c)
23
Map completion time(vm = 5 h = 1-5)
0
20
40
60
80
100
10 20 30Number of vm
seco
nd
Hadoop
Best Fit amp Priority
(d)
圖九 Map completion time (a) low heterogeneity vm=2 (b) low heterogeneity
vm=5 (c) high heterogeneity vm=2 (d) high heterogeneity vm=5
圖九(a)圖九(b)圖九(c)以及圖九(d)顯示了本論文提出的兩個方法 Best Fit
和 Priority 他們完成的時間是一樣的因為兩個方法的 Map mapping 概念是一樣
的所以完成時間也會一樣在此實驗裡可發現 Best Fit 和 Priority 也會隨著
實體機上的虛擬機器數量增多而完成時間縮短而縮短的時間最多甚至可以達
到 44也可看出本論文的兩個方法在低異構性環境的效能比在高異構性環境
的效能來的較差所以在異構性越高的環境越能看得出 Best Fit 和 Priority
的優勢
24
Reduce completion time(vm = 2 h = 1-3)
0
20
40
60
80
100
120
10 20 30Number of vm
Sec
ond
Hadoop
Best Fit
Priority
(a)
Reduce completion time(vm = 5 h = 1-3)
0
20
40
60
80
100
120
10 20 30Number of vm
Sec
ond
Hadoop
Best Fit
Priority
(b)
Reduce completion time(vm = 2 h = 1-5)
0
20
40
60
80
100
120
10 20 30Number of vm
seco
nd
Hadoop
Best Fit
Priority
(c)
25
Reduce completion time(vm = 5 h = 1-5)
0
20
40
60
80
100
120
10 20 30Number of vm
Sec
ond
Hadoop
Best Fit
Priority
(d)
圖十 Reduce completion time (a) low heterogeneity vm=2 (b) low
heterogeneity vm=5 (c) high heterogeneity vm=2 (d) high heterogeneity vm=5
而在 Reduce 完成時間的方面不像 Map 的完成時間是一樣的因為選
擇 Reducer 的方式不同造成 Best Fit 以及 Priority 時間完成上有些許不同
如圖十(a)所示節省了 14的時間圖十(b)節省了 16的時間圖十(c)
節省了 23圖十(d)節省了 29由圖十(b)以及圖十(d)可見影響 Reduce
階段完成時間最主要的原因是異構性環境的問題當環境的異構性越高其
所節省的時間越多而圖十(c)以及圖十(d)所示一台實體機架設的虛擬機器數
量影響的範圍比較小
26
Total completion time (vm = 2 pm = 5 h = 1-3)
0 50 100 150 200 250
Hadoop
Best Fit
Priority
Met
hod
Second
Map Reduce
(a)
Total completion time(vm = 5 pm = 2 h = 1-3)
0 50 100 150 200
Hadoop
Best Fit
Priority
Met
hod
Second
Map Reduce
(b)
Total completion time(vm = 2 pm = 5 h = 1-5)
0 50 100 150 200 250
Hadoop
Best Fit
Priority
Met
hod
Second
Map Reduce
(c)
27
Total completion time(vm=5 pm = 2 h = 1-5)
0 50 100 150 200
Hadoop
Best Fit
Priority
Second
Met
hod
Map Reduce
(d)
圖十一 Total completion time (a) low heterogeneity vm=2 pm=5 (b) low
heterogeneity vm=5 pm=2 (c) high heterogeneity vm=2 pm=5 (d) high
heterogeneity vm=5 pm=2
由於前面分別是 Map以及 Reduce的完成時間為了想知道Map以及 Reduce
對於 MapReduce 的整體影響我們將前面的 Map 以及 Reduce 的完成時間在
處理資料的節點固定為 10 台 Worker將其做整合
從圖十一(a)圖十一(b)圖十一(c)圖十一(d)顯示 Best Fit 和 Priority 不論
是在低異構性或高異構性環境MapReduce 完成時間都比 Hadoop 的完成時間縮
短很多在低異構性環境最多可縮短到 29的時間在高異構性環境最多可縮
短 41的時間而造成 Hadoop 跟 Best Fit 和 Priority 在時間上差異如此大的原
因主要是在 Map 階段的完成時間因為Best Fit 和 Priority 是根據 Worker 的
效能來決定要處理的資料大小而 Hadoop 就是分配固定大小的資料給 Worker
運算所以在越高的異構性環境其縮短的時間會越明顯
28
Total completion time with different number of vm (h=1-3)
0
20
40
60
80
100
120
vm=2 vm=3 vm=4Number of vm per physical machine
Sec
ond
Hadoop
Best Fit
Priority
(a)
Total completion time with different number of vm (h=1-5)
0
20
40
60
80
100
120
vm=2 vm=3 vm=4Number of vm per physical machine
Sec
ond
Hadoop
Best Fit
Priority
(b)
圖十二 Total completion time with different number of vm (a) low heterogeneity
vm=2 worker=12 (b) high heterogeneity vm=5 worker=12
圖十二(a)是在低異構性環境圖十二(b)是在高異構性環境並且1 台實體
機架設 2 個3 個4 個虛擬機器使 Worker 數量固定 12 台處理的資料量為
600G
這個模擬實驗主要探討的是在一台實體機架設的虛擬機器數量對於
MapReduce 完成時間是否真正有影響圖十二(a)和圖十二(b)更可以顯示出 Best
Fit 和 Priority 在異構性越高的環境裏且一台實體機架設越多虛擬機器來當作
Worker 的時候可以縮短更多的時間前者會縮短 Map 的完成時間後者會縮
29
短 Reduce 的完成時間而 Hadoop 在異構性環境高的時候也有些微的縮短一
些時間
Total completion time with different data size (h=1-5)
0
20
40
60
80
100
120
140
400 600 800 1000 1200
Data
Sec
ond
Hadoop
Best Fit
Priority
圖十三 Total completion time with different data size
在上述的實驗中在同樣的資料大小處理的 Worker 數量越多的時候其
完成時間會縮短很多但是到達一定的數量的時候其縮短時間的效果就很低
所以就做了此實驗因為本篇論文就是要探討異構性的環境選擇高異構性
環境固定 Worker 數量 20 台資料大小由 400G 到 1200G探討資料大小對
MapReduce 以及 Worker 的影響如圖十三顯示出在 600G 以下的時候Map 加
上 Reduce 完成的時間突然靠近起來代表了當資料量越小的時候Best Fit 和
Priority 的方法跟原始的 Hadoop 的方法優勢會越來越少但相反的是當資料
量越大的時候雖然Best Fit 和 Priority 完成時間會增加但是跟 Hadoop 的
完成時間比會更加突顯
30
Total completion time (best fit)
0
10
20
30
40
50
60
70
80
(Without optimization) (Optimization)
Best Fit
Sec
ond
Map Reduce
(a)
Total completion time (priority)
0
10
20
30
40
50
60
70
80
(Without optimization) (Optimization)
Priority
Sec
ond
Map Reduce
(b)
圖十四 Total completion time of loading aware optimization (a) without
optimal (b) with optimization
圖十四(a)未使用優化技術圖十四(b)是使用優化技術同樣都是在高異構
性環境之下並且1 台實體機架設 5 個虛擬機器使 Worker 數量固定 15 台
處理的資料量為 900G
在本篇論文方法的部份有提到Loading Aware Virtual Machine Mapping的優
化技術由於此實驗上面的實驗數據都已經使用優化技術來改善時間因此
此實驗就是要探討這優化技術對於MapReduce完成時間的影響
由於Loading Aware Virtual Machine Mapping此優化技術是變動同一台實體
31
機內部的Reducer使得原本是根據Communication locality來選擇虛擬機器但
是在挑選的過程中並沒有依據處理資料的大小分配到其處理速度相對映的
虛擬機器而這優化技術就是將同一台實體機內的虛擬機器重新分配由於此
優化技術並不會影響Communication locality所以這部份並沒有在此實驗探討
圖十四(a)圖十四(b)顯示未使用優化技術的Best fit和Priority的MapReduce
完成時間雖然比Hadoop的方法好但是其Reduce phase完成時間上慢了一些
並且可以看出此優化技術並不會影響到Map phase主要影響的是在Reduce階
段在Reduce階段的完成時間上利用優化技術可以將Reduce階段時間縮短其13
32
Chapter 6 Conclusions and Future Works
目前 Hadoop 資料處理的環境還是應用在群集內節點效能是相同的情況下
如果是異構性環境可能就無法這麼有效率的處理本篇論文提出了兩個方法
動態資料切割和虛擬機對映以及一個優化技術 Loading aware virtual machine
mapping模擬實驗結果表明透過本篇方法來得比 Hadoop 縮短 41的時間以
及最多節省 Communication Locality 約莫 33尤其在異構性越高的環境以及
一台實體機器架設的虛擬機器數量越多改善的效果越明顯另外 Loading
aware virtual machine mapping 優化技術改善了 Reduce phase 的完成時間約莫
13
在未來研究上可以朝著動態調整 Reducer 數量的方向前進當固定大小的
資料上其實有時候過多的節點去運算消耗了大量的運算資源卻只得到一些
秒數的縮短如何利用適當的運算資源來得到最大的利益這是相當重要的議
題由於此實驗都是屬於模擬實驗希望在未來可以實際架設在機器上運行
透過 Benchmark得到真正的數據
33
Reference
1 Masato Asahara Shinji Nakadai and Takuya Araki ldquoLoadAtomizer A
Locality and IO Load aware Task Scheduler for MapReducerdquo in 4th IEEE
International Conference on Cloud Computing Technology and Science
(CloudCom) pp 317-324 2012
2 Paul Barham Boris Dragovic Keir Fraser Steven Hand Tim Harris Alex
Ho Rolf Neugebauer Ian Pratt and Andrew Warfield ldquoXen and the Art of
Virtualizationrdquo SOSP 03 Proceedings of the nineteenth ACM symposium
on Operating systems principles vol 37 Issue 5 pp 164-177 December
2003
3 Xiangping Bu Jia Rao and Cheng Zhong Xu ldquoInterference and
Locality-Aware Task Scheduling for MapReduce Applications in Virtual
Clustersrdquo Proceeding HPDC 13 Proceedings of the 22nd international
sym-posium on High-performance parallel and distributed computing pp
227-238 2013
4 Kasim Selcuk Candan Jong Wook Kim Parth Nagarkar Mithila Nagendra
and Ren-wei Yu ldquoScalable Multimedia Data Processing in Server Clustersrdquo
IEEE MultiMedia pp 3-5 2010
5 Fay Chang Jeffrey Dean Sanjay Ghemawat Wilson C Hsieh Deborah A
Wallach Mike Burrws Tushar Chandra Andrew Fikes and Robert EGruber
ldquoBigtable A Distributed Storage System for Structured Datardquo 7th UENIX
Symposium on Operating Systems Design and Implementation pp 205-218
2006
6 P C Chen Y L Su J B Chang and C K Shieh ldquoVariable-Sized Map and
Locality-Aware Reduce on Public-Resource Gridsrdquo in Proceedings
Conference Grid and Pervasive Computing (GPC 2010) pp 234-243 2010
May
7 Q Chen D Zhang M Guo Q Deng and S Guo ldquoSamr A self adaptive
mapreduce scheduling algorithm in heterogeneous environmentrdquo in 10th
IEEE International Conference on Computer and Information Technology
CIT rsquo10 (Washington DC USA) pp 2736ndash2743 2010
8 Jeffrey Dean and Sanjay Ghemawat ldquoMapReduce Simplified Data
Processing on Large Clustersrdquo Communications of the ACM vol 51 no 1
pp 107ndash113 2008
9 Yuanquan Fan Weiguo Wu Haijun Cao Huo Zhu Xu Zhao and Wei Wei
34
ldquoA heterogeneity-aware data distribution and rebalance method in Hadoop
clusterrdquo 2012 Seventh ChinaGrid Annual Conference pp 176-181 2012
10 Zacharia Fadika Elif Dede Jessica Hartog and Madhusudhan Govindaraju
ldquoMARLA MapReduce for Heterogeneous Clustersrdquo in 12th IEEEACM
International Symposium on Cluster Cloud and Grid Computing pp 49-56
2012
11 Sanjay Ghemawat Howard Gobioff and ShunTak Leung ldquoThe Google file
systemrdquo In Proceedings of 19th Symposium on Operating Systems
Principles pp 29-43 2003
12 Sven Groot ldquoJumbo Beyond MapReduce for Workload Balancingrdquo Fuzzy
Systems and Knowledge Discovery (FSKD) 2011 Eighth International
Conference on Cloud Computing Technology and Science vol 4 pp
2675-2678 2011 July
13 B Gufler N Augsten A Reiser and A Kemper ldquoHandling Data Skew in
MapReducerdquo in Proceedings of CLOSER pp 574ndash583 2011
14 Mohammad Hammoud and Majd F Sakr ldquoLocality-Aware Reduce Task
Scheduling for MapReducerdquo Third IEEE International Conference on
Cloud Computing Technology and Science pp 570-576 2011
15 C He Y Lu and D Swanson ldquoMatch-making A New MapReduce
Scheduling Techniquerdquo IEEE Third International Conference on Cloud
Computing Technology and Science (CloudCom) pp 40ndash47 2011
16 Hung Chang Hsiao Huesh Yi Chung Haiying Shen and Yu Chang
ChaoldquoLoad Re-balancing for Distributed File Systems in Cloudsrdquo IEEE
Trans on Parallel and Distributed Systems vol24 pp 951-962 2012
17 Shadi Ibrahim Hai Jin Lu Lu Song Wu Bingsheng He and Li Qi ldquoLEEN
LocalityFairness Aware Key Partitioning for MapReduce in the Cloudrdquo
2010 IEEE Second International Conference on Cloud Computing
Technology and Science (CloudCom) pp 17ndash24 2010
18 S Ibrahim H Jin L Lu L Qi S Wu and X Shi ldquoEvaluating MapReduce
on Virtual Machines The Hadoop Caserdquo Proceedings Conference Cloud
Computing (CloudCom 2009) Springer LNCS pp 519-528 2009 Dec
19 C Jin and R Buyya ldquoMapreduce programming model for net-based cloud
computingrdquo in Proceedings of the 15th International Euro-Par Conference
on Parallel Processing Euro-Par (Berlin Heidelberg) pp 417ndash428 2009
20 R Nanduri N Maheshwari A Reddyraja and V Varma ldquoJob aware
scheduling algorithm for Mapreduce frameworkrdquo in 3rd International
Conference on Cloud Computing Technology and Science
CLOUDCOM rsquo11 (Washington DC USA) pp 724ndash729 2011
35
21 Andrew J Page and Thomas J Naughton ldquoDynamic task scheduling using
genetic algorithms for heterogeneous distributed computingrdquo in 19th IEEE
International Parallel and Distributed Processing Symposium pp 189a
2005 April
22 Xiaoyu Sun Chen He and Ying Lu ldquoESAMR An Enhanced Self-Adaptive
MapReduce Scheduling Algorithmrdquo 2012 IEEE 18th International
Conference on Parallel and Distributed Systems pp 148-155 2012
23 Chao Tian Haojie Zhou Yongqiang He and Li Zha ldquoA Dynamic
MapReduce Scheduler for Heterogeneous Workloadsrdquo Eighth International
Conference on Grid and Cooperative Computing pp 218ndash244 2009 Aug
24 Jiong Xie Shu Yin Xiaojun Ruan Zhi-yang Ding Yun Tian James Majors
Adam Manzanares and Xiao Qin ldquoImproving mapreduce performance
through data placement in heterogeneous hadoop clustersrdquo in IPDPS
Workshops pp 1ndash9 2010
25 J Tan X Pan S Kavulya R Gandhi and P Narasimhan ldquoMochi Visual
Log-Analysis Based Tools for Debugging Hadooprdquo USENIX Workshop on
Hot Topics in Cloud Computing (HotCloud) pp 1-5 2009
26 Matei Zaharia Andy Konwinski Anthony D Joseph Randy Katz and Ion
Stoica ldquoImproving MapReduce Performance in Heterogeneous
Environmentsrdquo 8th Symposium on Operating Systems Design and
Implementation pp 29ndash42 2008 Dec
27 X Zhang Z Zhong S Feng B Tu and J Fan ldquoImproving Data locality of
MapReduce by Scheduling in Homogeneous Computing Environmentsrdquo in
9th IEEE International Symposium on Parallel and Distributed Processing
with Applications (ISPA) pp 120-126 2011
28 Apache hadoop Available from httphadoopapacheorg
29 MapReduce with a lot of examples for Mining datasets Available from
httpinfolabstanfordedu~ullmanmmdsbookpdf
Page 8
vii
List of Tables
表一 Hardinfo benchmark 10
viii
List of Figures
圖一 MapReduce 的運作流程圖 9
圖二 整體方法流程圖 11
圖三 根據節點能力分配相對應大小的資料 12
圖四 Best Fit 挑選機器流程 14
圖五 Best Fit 挑選機器的不完善 15
圖六 Priority 挑選機器流程 16
圖七 Reducer 對應到其相對效率的 Worker 17
圖八 Communication locality (a) low heterogeneity vm=2 (b) low heterogeneity
vm=5 (c) high heterogeneity vm=2 (d) high heterogeneity vm=5 19
圖九 Map completion time (a) low heterogeneity vm=2 (b) low heterogeneity
vm=5 (c) high heterogeneity vm=2 (d) high heterogeneity vm=5 22
圖十 Reduce completion time (a) low heterogeneity vm=2 (b) low heterogeneity
vm=5 (c) high heterogeneity vm=2 (d) high heterogeneity vm=5 24
圖十一 Total completion time (a) low heterogeneity vm=2 pm=5 (b) low
heterogeneity vm=5 pm=2 (c) high heterogeneity vm=2 pm=5 (d) high
heterogeneity vm=5 pm=2 26
圖十二 Total completion time with different number of vm (a) low heterogeneity
vm=2 worker=12 (b) high heterogeneity vm=5 worker=12 28
圖十三 Total completion time with different data size 29
圖十四 Total completion time of loading aware optimization (a) without
optimization (b) with optimization 30
1
Chapter 1 Introduction
11 Background
網路的發展慢慢的成為人們生活中不可或缺的一部分因而產生許多要處
理的大量資料而這些資料在處理上有些許不同要如何處理這些不同的資料
變成一個很重要的議題因此雲端運算這類專有名詞從而衍生出來而在此
背景之下Google在2003年提出分散式檔案系統架構Google File System(GFS)
[11]2004年提出MapReduce架構 [8]可用來處理大規模的資料處理以及2006
年提出BigTable [5]這是基於Google File System針對資料結構化儲存的分散式系
統
在過去幾十年前個人電腦還沒有這麼普遍的情況下當時的電腦主要還是以
大型主機為主所有的工作都只能透過那一台主機運行既不方便也沒有彈性
因此IBM則在當時開發了一套虛擬機監視器(Virtual Machine Monitor)藉此將
大型主機的資源分割成多個虛擬機器提供給使用者使用這些虛擬機器可以模
擬成多個操作環境進而比一個操作環境來的更有效率現今虛擬化技術 [2]越
來越成熟雲端運算環境透過此技術整合了分散在各處的資源使資源可做一
個統整藉此提供各項的資訊服務
雲端運算(Cloud Computing)簡單來說它不是一個技術而是一個概念希
望可以藉由雲端叢集 [4]透過網際網路來處理在雲端存放的龐大資料而
Google提出的MapReduce架構Map階段的時候將這些龐大資料拆解成許多小
資料再交給雲端叢集的每個節點去做運算Reduce在讓每個節點將運算後的
結果進行整合再回傳給使用者這樣的方式由原本只能單一處理變成平行
處理進而加快了處理速度
2
Google雖然提出了多個雲端運算的技術但是並沒有開放原始碼出來使
得企業們受到局限直到Apache開發出Hadoop平台 [25]企業或使用者才可以
自己研發相關的MapReduce技術 [18][19][20]不再被受到限制MapReduce技
術具有高容錯性資源使用率高平行處理使得它在企業界備受青睞
12 Motivation
在一個大的群集裡原型的MapReduce會將進來的資料切割成固定大小
主要節點會將這些資料分散給各節點去做運算但是如果在異構性環境
[21][23]就無法根據機器的處理速度動態的分配資料給相對映的機器去做運
算在Map階段節點處理速度相同的情況下每個節點完成的時間會大致相同
但是在節點處理速度不盡相同的情況下完成的時間彼此不一樣則會造成最
先處理好的機器得等待處理速度較慢的節點完成因而拖累完成時間而在
Reduce階段則考慮到Communication locality的問題Communication locality是
指說Reducer在此節點運算的時候所能節省的溝通成本(意指不用到遠端節點
取資料的溝通成本)原始的MapReduce在挑選機器的時候是有機器就拿去
做運算而沒考慮此問題
13 Contribution
本論文針對以上的敘述做了改進首先測試每台機器的運算效能在Map
階段的時候根據節點的運算效能來決定負責的運算量進而達到平均完成時間
相近在Reduce階段評估Communication locality再根據Communication locality
來決定Reducer要選擇在哪台機器使其節省更多的Communication locality最
後透過Loading Aware Virtual Machine Mapping來改善Reduce階段的完成時間
3
14 Organization
本論文研究探討在異構性環境下每個節點運算效能不一致的情況下為了
要避免MapReduce運算所造成校能不佳的情況動態的調整Map mapping以及
Reducer mapping
本論文章節介紹如下第一章緒論簡述雲端運算的研究背景及研究動機與
目的以此為基礎第二章相關研究介紹前人所提出的MapReduce改善方法
第三章Preliminary介紹HadoopMapRedcue的流程以及定義異構性環境第四
章演算法介紹MapReduce的各階段流程以及介紹本篇論文所提出的動態資料
切割和虛擬機對映兩種技術的流程另外提出了一個優化技術第五章性能分
析透過實驗模擬的結果將其結果分析與比較最後第六章為結論以及未來
可以繼續研究的方向
4
Chapter 2 Related Works
MapReduce 是目前非常流行的分散式運算的架構主要是透過網際網路來處
理在雲端上儲存的大量資料將要執行的 MapReduce 程式複製到 Master node 以
及各個WorkerMaster node會決定要給哪台Worker去執行Map程式或者Reduce
程式透過 Map 程式將資料切成許多區塊經過 Map 階段產生出 Key Value
將此 Key Value 存儲在 Local disc然後經過 Shuffle(將相同屬性的 key 排序在
一起)而 Reduce 程式將這些 Shuffle 後的結果進行整合最後再將結果產生出
來由於 MapReduce 一開始主要是在節點效能大致相同的情況下去執行對於
節點效能不一致的情況 (也就是所謂的異構性環境)導致會有一些效能不盡理
想的狀態出現 [10]並且隨著虛擬技術的成熟虛擬機器可以將實體機資源
更有效的利用慢慢的開始以虛擬機器作為 Cluster而且MapReduce 在以虛
擬機器建立起的異構性環境之下對於 IO 負載不平衡 [12][13][16]以及任務排
程 [1][6][15]不平均的部份目前已經有許多相關文獻在探討此方面
21 Homogeneous Environment
由 Shadi Ibrahim 等人在 2010 年時所提 LEEN [17]的方法在 Map 階段因
為原始的 MapReduce 架構沒有考慮資料的內容盲目的以資料數量區分導致
Shuffle 階段時會出現分配不平均的現象為了改善此部份LEEN 將每筆資料
計算出 Fairness Score 後根據 Locality [3][27]概念分析與比較將資料適當地放
在各個節點上達到平均分配的效果透過這樣的想法我們將此概念延伸到
Reducer 挑選機器是根據 Communication locality而不是盲目的去選擇有空的
Worker
5
MapReduce是主從式架構具有樹狀網路分佈的結構節點分布在不同的主
機上或者可能在不同的資料中心的主機上則兩個節點要溝通的話則需要
透過網路而頻寬會影響之間傳輸的速度在MapReduce的Worker接受到Master
的要求從而排程Map和ReduceHadoop企圖排程將比較靠近的資料做Map
tasks以避免在網路上增加過多的overhead至於Reduce tasks則沒有考慮到此部
份因此在進行shuffle的時候不必要的資料在網路上可能會降低校能遙遠
的節點資料傳送已經成為一個瓶頸而Mohammad Hammoud等人在2011提出
的論文著重在Reduce任務的部分透過網路位置做分區來做排程因此形成
了LARTS 的策略 [14]而且還觀察到MapReduce在Map Tasks完成後進行
shuffling的動作此步驟是用交錯的方式先前的方法在Shuffling這個動作的
時候使MapReduce的性能提高但是卻增加了網路的負載而LARTS保持了
此Shuffling的優勢還減少了網路的負載但是此篇論文著重在Reduce task的
部份至於Map task的部份並未做優化的部份
22 Heterogeneity Environment
Hadoop原先假設在節點相同的環境下運行但是實際上環境內的節點並
不是每次都是一致的當Hadoop運行在異構性環境對於性能上是有很大的落
差由Matei Zaharia等人提出的LATE (Longest Approximate Time to End) [26]針
對其任務的排程上做改良重新設計了一個新的Speculative task會估算完成時
間根據完成時間在去調整任務上的分配雖然對回應時間有點影響但是
整體性能明顯的比Hadoop改善很多而Quan Chen等人在2010年所提出的SAMR
(Self-adaptive MapReduce Scheduling Algorithm) [7]自動適應MapReduce的調動
排程主要是計算任務進度根據歷史資料動態調整Map任務以及Reduce任務
並且可以識別在節點上執行較慢的任務將其任務不做備份工作使其完成時
6
間可以降低在 2012年由Xiaoyu Sun等人提出的 ESAMR (An Enhanced
Self-Adaptive MapReduce Scheduling Algorithm) [22]增強自適應MapReduce的調
度算法以提高Speculative task在SAMR識別慢任務可能不是這麼準確但
是在ESMAR裡它們使用集群演算法轉化改進了這一部分使其識別慢任
務達到一定的準確ESAMR研究結果的誤判率明顯降低
由於Hadoop在異構性環境會造成資料分配不平均的現象所以由
Yuanquan Fan等人提出了在Map階段重新平衡資料分配的方法 [9]而此篇論文
平衡的方法有兩種(1) 根據性能來分配-主要是分成不同大小的資料區塊首先
將每個節點進行性能評估然後資料切成不同大小根據節點的計算能力來分
配相對應的節點(2) 資料動態搬遷-儘管不同大小的資料被分配在每一個節點
上再來估算任務完成時間將執行最慢的任務的部份資料轉移到執行最快的節
點有些任務可能會隨著時間的關係或者網路的關係慢慢延後所以將這些延
後的資料轉移給其他節點去運算其缺點就是資料的搬移時間和成本並沒考慮至
其中以及Reduce phase階段可能因為資料搬移的情況導致Reduce phase的
Communication overhead變重
傳統的 MapReduce 架構是考慮每台機器的規格都相同所以資料平均分
配後所處理完成的時間也都會是一樣在雲端運算環境中往往都是數百台或
著上千上萬台機器在同時運算機器的規格也不盡相同因此 Jiong Xie 等人在
2010 年所提出的 Data Placement [10]的方法將每個電腦區分出 3 個等級分別
是 FastestAverage 及 Slowest不同的等級取得運算資料份量也不同並建立一
張表紀錄目前有哪些機器處於忙碌壅塞狀態有那些機器處於閒置狀態並且
將忙碌的機器的資料分出 3 個等級平均分配資料直至平均為止使得每台
機器資源利用率是相近的雖然這樣的動機很好但是對於資料遷移所花的
時間以及成本是沒考慮的
根據上述研究不足的地方我們提出了MapReduce在異構性環境裡在Map
7
階段將資料切割成不固定大小依據節點能力的不同做出適當的配置在
Reduce階段根據Communication locality 找出適合在哪一台機器上執行最
後再透過優化技術把本篇論文方法的執行時間縮短一些
8
Chapter 3 Preliminary
31 Hadoop
Hadoop架構是由Apache所開發的開放原始碼提供了一個分散式系統的基
本架構Hadoop雲端運算技術主要由三個主要架構所組成 Hadoop Distributes
File System (HDFS)分散式檔案系統Hadoop Database (HBase)分散式資料庫以及
Hadoop MapReduce分散式平行運算以下一一敘述
HDFS (Hadoop File system) 是根據Google提出的GFS(Google File System)所
延伸的主要就是將各個節點連結起來將這些節點組成一個大型的分散式檔案
系統可以有效的處理大量檔案並提供安全的儲存環境以及可以避免因為單一
的硬體發生異常而影響整個系統
而HDFS為了維護資料的一致性當使用者將資料存進去HDFS就不能去
更動或修改HDFS會將要儲存的資料複製副本分散儲存在各個不同的節點
所以當儲存資料的節點發生異常可藉由其他節點來復原
HBase (Hadoop Database)類似Google BigtableHBase架構在Hadoop HDFS
上的分散式資料庫與ㄧ般關聯式資料庫不同HBase使用列和行為索引存取資
料值以及每一筆資料都有一個時間戳記因此同一個欄位可以因為時間的不同
而存在多筆資料
HBase專門用來處理大規模的資料是由HMasrter以及HRegion組成一台
HMaster管理多部HRegion ServerHMaster負責監控與管理HRegion Server系統狀
態而HRegion Server利用記憶體存取快速的優點可以加速資料讀寫的動作
所以會先將資料存放在記憶體內之後再將資料存回HDFS
9
32 MapReduce
雲端運算最重要的關鍵即是MapReduce使用MapReduce模式將一個大問
題先讓程式開發人員分析問題將問題切割成許多小問題在將此小問題平行
分散給各個Mapper當Mapper處理完的結果在傳送到相對映的Reducer去做運
算Reducer將這些結果進行合併在把合併的結果輸出
Split 0
Split 1
Split 2
Mapper
Mapper
Mapper
Reducer
Reducer
Partition 0
Partition 1
Partition 0
Partition 1
Partition 0
Partition 1
Output
File0
Output
File1
Input
File
Master
User
Map
Phase
Intermediate file
(on local disks)
Reduce
PhaseOutput
File
圖一 MapReduce的運作流程圖
如圖一即為MapReduce流程圖
1 將輸入的資料切割成固定大小
2 將要執行的MapReduce程式複製到Master與每一台Worker
3 Master會挑選閒置的Worker當Mapper或Reducer
4 Mapper會從切割好的資料讀取相對映的資料會產生Key Value會先暫
存在記憶體內再週期性的傳送到Local Disc
5 執行Reducer程式的Worker讀取每一個Mapper的結果並進行排序以及彙
整再將整合的結果輸出
10
33 Heterogeneous Classification
MapReduce 在異構性環境下執行已經是越來越多人討論的議題如何將
每個節點分級也有相當多的Benchmark可以做測試本篇論文採用的Benchmark
為 Hardinfo透過虛擬機器去做測試
表一 Hardinfo benchmark
如表一1_2 前面的數字代表核心數目後面的數字代表 Memory 有多少
GB而這個 Hardinfo 本身內含有許多測試的軟件我們測了兩個實驗CPU
Blowfish 以及 CPU CryptoHash這兩個都是跟加密有關的CPU Blowfish 運行
在單核心以及四核心的虛擬機器上所花費的秒數兩個相差了 5 倍因此我
們定義異構性等級為 1 到 5也就是所謂的高異構性環境CPU CryptoHash 運行
在單核心以及四核心的虛擬機器上每秒能壓縮的資料相差了三倍因此我
們定義異構性等級為 1 到 3也就是所謂的高異構性環境我們之後的實驗根
據這兩個異構性等級做參數
11
Chapter 4 Dynamic Data Partitioning and Locality
Aware Virtual Machine Mapping
原始的 Hadoop 在同質性環境執行 MapReduce 程式每個節點運算能力大
致相同所以在 Map 階段並不會有互相等待的結果發生但是在異構性的
環境之下每個節點的 Worker 彼此之間運算速度不同導致先完成的必須得
等速度較慢的節點完成因而執行時間變長而在 Reduce 階段沒有考慮
Communication Locality 的問題即使是用虛擬機架設的環境也是一樣所以
隱藏著一些 Communication overhead 的問題本篇論文主要探討此兩問題
圖二 整體方法流程圖
如圖二所示將資料從 HDFS 讀取進來因為每個節點不能去從其他節點讀
取資料來做因此只能將自己節點資料作完等待其他節點完成後才可繼續
執性 Reduce 階段因此在 Map mpping 階段是根據節點內部的虛擬機性能來
決定節點內部資料的分配而不是固定資料大小丟給效能不一致的虛擬機器來做
12
運算在 Reduce mapping 階段是根據 Locality aware 來選擇機器選擇節省成本
最多的機器以及最後有個節點內部動態調整機制為了減少Reducer完成的時間
41 動態資料切割
在同質性環境 (即為每個節點設備大致相同)運行MapReduce當Worker
完成Map階段任務必須等待其他Worker完成才能進行下一個動作因為每台
節點運算能力大致相同所以當執行Map階段結束後每台節點完成時間是大
致相同的而在異構環境下 (每個節點設備不盡相同則會產生出一個問題在
運算效能不一致的情況會造成在Map程式執行完成的時間變長因為當資料相
同可是每個節點運算能力不一樣就會彼此互相牽制為了要避免此情況發生
所以本篇論文用動態資料切割的方法來解決此問題
圖三 根據節點能力分配相對應大小的資料
動態資料切割的方法得先知道每個Worker的運算能力根據運算能力動
態切割資料大小如圖三所示每個節點運算能力較好的Worker就分配到資料
較多的Partition去做處理而運算能力較差的Worker就分配到較少的Partition使
得每個節點內部的Worker完成時間接近就不會有處理速度比較快的節點完成後
13
必須要等待處理速度比較慢的節點而資料分配方式就是根據Performance
也就是前面所提到的異構性等級的數值相加起來 (Worker處理速度越快則等級
越高)將要處理的資料以及總數值相除會得到一個平均值這個平均值去乘
上等級也就是Worker要處理的資料量
42 Locality Aware Virtual Machine Mapping
由於虛擬機的使用可以充分利用資源所以現在一台實體機可架設多
台虛擬機所以同一台實體機內部有兩台虛擬機當這兩台互相交換資料的
時候其實網路的負載是很低的但是如果是兩台實體機交換資料網路的負
載會變很高在執行Map階段之後資料都儲存在Local disk裡Reducer要怎麼
選擇機器使得Communication locality節省更多而這個即是本篇論文要探討的
第二個問題
421 Best Fit
本篇論文提出了一個 Best Fit 方法這個方法的概念是讓 Reducer 選擇在哪
一台節點上運行使其 Communication locality 節省最多接下來在找出節點內
Performance 最好的 Worker 來當 Reducer而不是像 Hadoop 的 MapReduce 是照
順序去分配這樣的選擇方式是因為節點與節點之間資料傳遞的Communication
overhead 是相當大的而節點內部之間的 Communication overhead相較起來小
很多而讓 Communication locality 節省越多也可以讓 Communication overhead
降低
14
圖四 Best Fit挑選機器流程
1 如圖四所示假設一台實體機上(P1)架設兩台虛擬機(v1v2)根據虛擬
機的運算能力分配相對映的資料量v1即為25單位v2即為22單位以此類
推
2 執行Map程式產生出k值因為有三台Reducer(R1R2R3)所以產生出
3個k值v1虛擬機的k1值為7k2值為10k3值為8而這v1的所有k值相加即為
v1所負責的資料量v1虛擬機k1值為10k2值為9k3值為3而這v2的所有k值
相加為v2所負責的資料量v3也是一樣
3 先從R1要挑選哪台VM開始首先把每個VM所產生出的k1值相加得到一個
總和即為57單位底下看到有三個數值第一個數值即為R1如果在P1這
台機器上運行的話所耗費的遠端溝通成本(要到P2P3取資料的溝通成本)
則第二個數值即為R2在P2這台機器上運行的話所耗費的遠端溝通成本
第三個也是
4 把總共要處理的資料減掉到遠端耗費的溝通成本會得到一個數值即為
15
Communication localityR1如果選擇P1機器運行則Communication locality
為17單位R1如果選擇P2機器運行則Communication locality為18單位R1
如果選擇P3機器運行則Communication locality為22單位R1挑選最多的
Communication locality的機器來運行所以R1選擇P3機器來做運算
5 R1選擇P3實體機而P3實體機有2台虛擬機所以在根據虛擬機的運算能力
先挑選運算能力好的來做為R1
6 如果節點的虛擬機都被挑選完就選第二順位的節點
原始的HadoopR1挑選v1而R2挑選v2照順序的挑選所以沒有考慮到溝
通成本則本篇論文Best fit是根據Communication locality來挑選機器但是
可能在某ㄧ些情況可能不夠完善
圖五 Best Fit 挑選機器的不完善
如圖五所示當Communication locality可以選擇很高的節點卻因為前面的
Reducer把節點內部的Worker挑選完了所以逼不得已只能挑選第二順位的節
點可是這個Communication locality遠遠低於前面Reducer挑選的節點導致整體
的Communication locality大幅下降因此422 Priority即為改善的方法
16
422 Priority
為了確保每個Reducer都能挑選Communication locality最高的機器因此
此章節做了改善
1 在Reducer在挑選機器之前先判斷Reducer哪台要先下去做挑選
2 將每台Reducer最高的Communication locality的跟第二高的相減會得到一個
Difference locality在利用Difference locality下去做排序由大到小
3 Difference locality越大的代表那台Reducer要優先做挑選所以就從
Difference locality越大的挑選到Difference locality最小的
圖六 Priority挑選機器流程
1 如圖六所示R1總共的Data block為57單位R2為42單位R3為41單位經過
Shuffle階段之後
2 R1如果選擇P1這台機器能節省的Communication locality就是17單位R1如果選
擇P2這台機器能節省的Communication locality就是18單位R3如果選擇P2這台
機器能節省的Communication locality就是22單位
3 根據Communication locality將第一高的減掉第二高的會得到一個Difference
17
locality
4 根據此Difference locality排出哪個Reducer要先選取機器此例子的順序為
R2再來R3再來R1而Best Fit就是R1再來R2再來R3
Priority可以避免前面的Reducer把機器挑選完迫使只能選擇第二高的
Communication locality使這樣大幅降低的情況給消除而Best fit和Priority這兩
種方法大幅提高了Communication locality的狀況可是卻也導致了Reduce階段
的完成時間變長所以下章節主要敘述將Reduce階段完成時間優化
43 Loading Aware Virtual Machine Mapping
上述的兩種方法Best fitPriority都是為了降低節點彼此之間的溝通成本
但是卻引發了一個問題Reducer執行完成的時間比原始Hadoop還來得長為
了解決此問題本篇論文在這章節提出優化的方法前面兩種方法是根據節點
的Communication locality來決定要在哪一台Worker做運算當決定好Worker
的時候Reducer會先將運算能力較好的虛擬機器拿去做運算這樣使得運算較
快的機器並不會對映到運算較複雜的資料使得較早完成的機器還是得等候還沒
做好的機器造成時間上的延長所以本篇論文針對此部份做優化
圖七 Reducer對應到其相對效率的Worker
18
如圖七所示當Reducer都挑選好要在哪台實體機做在開始執行Reduce程
式之前我們根據要處理的資料量來分配相對映的機器而這虛擬機的交換
並不會影響到Communication locality因為都是在同一台實體機架設的虛擬機
器做交換
19
Chapter 5 Performance Analysis
本實驗以模擬的方式進行利用 C 語言程式撰寫可設定節點數量節點
裡的 Worker 數量資料大小異構性環境低 (h = 1-3)或高 (h = 1-5)透過模擬
的實驗數據分析基於 Hadoop 的 MapReduce 以及本篇論文透過 Map mapping
和 Reduce mapping 的方式進而改善原始 MapReduce 所造成的缺點
51 Communication Locality
本模擬實驗主要探討的是 Communication Locality圖八(a)和圖八(b)模擬環
境為低異構性圖八(c)和圖八(d)為高異構性環境固定每台實體機架設 2 台以
及 5 台虛擬機器固定 Worker 總數量分別為 102030要處理的資料為 900G
Communication locality(vm = 2 h = 1-3)
0
50
100
150
200
250
300
10 20 30
Number of vm
Dat
a lo
cali
ty
Hadoop
Best Fit
Priority
(a)
20
Communication locality(vm = 5 h = 1-3)
0
100
200
300
400
500
600
10 20 30Number of vm
Dat
a lo
cali
ty
Hadoop
Best Fit
Priority
(b)
Communcation Locality(vm = 2 h = 1-5)
0
50
100
150
200
250
300
10 20 30Number of vm
Dat
a lo
cali
ty
Hadoop
Best Fit
Priority
(c)
Communcation locality(vm = 5 h = 1-5)
0
100
200
300
400
500
600
10 20 30
Number of vm
Dat
a lo
cali
ty
Hadoop
Best Fit
Priority
(d)
圖八 Communication locality (a) low heterogeneity vm=2 (b) low heterogeneity
vm=5 (c) high heterogeneity vm=2 (d) high heterogeneity vm=5
21
由圖八(a)可看出本篇論文提出的兩個方法在低異構性環境所能節省的
Communication Locality 比原始的 Hadoop 提出的方法最多節省了 33的
Communication Locality圖八 (b)也最多節省了約 12的 Communication
Locality雖然節省在固定架設的虛擬機器為兩台的時候節省比較多但是
兩個實驗節省的 Communication Locality 量卻相差了快 2 倍原因是在於 Map 階
段完成的資料都儲存在 Local disc兩台實體機在交換資料的時候溝通成本是
很高的而建立在同一台實體機的兩台虛擬機器交換資料則溝通成本卻來的低
很多 因此溝通成本量的提高也會被實體機上架設的虛擬機器的多寡來影
響
由圖八(c)所示在高異構性最多可節省 27的 Communication Locality圖
八(d)則為 15的 Communication Locality分別從圖八(a)圖八(c)圖八(b)以及
圖八(d)可以看得出來Best Fit 和 Priority 不會隨著異構性環境的高低溝通成
本量會有大幅度的改變而 Priority 在節省的 Communication Locality 都會比 Best
Fit 都來的多一點因為Priority 可以避免前面的 Reducer 把機器挑選完迫使
只能選擇第二高的Communication location 因此大幅降低的情況給消除
52 Task Execution Time
此節實驗是要探討 Map 以及 Reduce 完成的時間圖九(a)和圖九(b)為低異構
性環境的實驗圖九(c)和圖九(d)為高異構性環境都是固定每台實體機架設 2
台以及 5 台虛擬機器所以固定虛擬機器總數量分別為 102030要處理
的資料為 900G
22
Map completion time(vm = 2 h = 1-3)
0
20
40
60
80
100
10 20 30
Number of vm
Sec
ond
Hadoop
Best Fit amp Priority
(a)
Map completion time(vm = 5 h = 1-3)
0
20
40
60
80
100
10 20 30Number of vm
Sec
ond
Hadoop
Best Fit amp Priority
(b)
Map completion time(vm = 2 h = 1-5)
0
20
40
60
80
100
10 20 30Number of vm
seco
nd
Hadoop
Best Fit amp Priority
(c)
23
Map completion time(vm = 5 h = 1-5)
0
20
40
60
80
100
10 20 30Number of vm
seco
nd
Hadoop
Best Fit amp Priority
(d)
圖九 Map completion time (a) low heterogeneity vm=2 (b) low heterogeneity
vm=5 (c) high heterogeneity vm=2 (d) high heterogeneity vm=5
圖九(a)圖九(b)圖九(c)以及圖九(d)顯示了本論文提出的兩個方法 Best Fit
和 Priority 他們完成的時間是一樣的因為兩個方法的 Map mapping 概念是一樣
的所以完成時間也會一樣在此實驗裡可發現 Best Fit 和 Priority 也會隨著
實體機上的虛擬機器數量增多而完成時間縮短而縮短的時間最多甚至可以達
到 44也可看出本論文的兩個方法在低異構性環境的效能比在高異構性環境
的效能來的較差所以在異構性越高的環境越能看得出 Best Fit 和 Priority
的優勢
24
Reduce completion time(vm = 2 h = 1-3)
0
20
40
60
80
100
120
10 20 30Number of vm
Sec
ond
Hadoop
Best Fit
Priority
(a)
Reduce completion time(vm = 5 h = 1-3)
0
20
40
60
80
100
120
10 20 30Number of vm
Sec
ond
Hadoop
Best Fit
Priority
(b)
Reduce completion time(vm = 2 h = 1-5)
0
20
40
60
80
100
120
10 20 30Number of vm
seco
nd
Hadoop
Best Fit
Priority
(c)
25
Reduce completion time(vm = 5 h = 1-5)
0
20
40
60
80
100
120
10 20 30Number of vm
Sec
ond
Hadoop
Best Fit
Priority
(d)
圖十 Reduce completion time (a) low heterogeneity vm=2 (b) low
heterogeneity vm=5 (c) high heterogeneity vm=2 (d) high heterogeneity vm=5
而在 Reduce 完成時間的方面不像 Map 的完成時間是一樣的因為選
擇 Reducer 的方式不同造成 Best Fit 以及 Priority 時間完成上有些許不同
如圖十(a)所示節省了 14的時間圖十(b)節省了 16的時間圖十(c)
節省了 23圖十(d)節省了 29由圖十(b)以及圖十(d)可見影響 Reduce
階段完成時間最主要的原因是異構性環境的問題當環境的異構性越高其
所節省的時間越多而圖十(c)以及圖十(d)所示一台實體機架設的虛擬機器數
量影響的範圍比較小
26
Total completion time (vm = 2 pm = 5 h = 1-3)
0 50 100 150 200 250
Hadoop
Best Fit
Priority
Met
hod
Second
Map Reduce
(a)
Total completion time(vm = 5 pm = 2 h = 1-3)
0 50 100 150 200
Hadoop
Best Fit
Priority
Met
hod
Second
Map Reduce
(b)
Total completion time(vm = 2 pm = 5 h = 1-5)
0 50 100 150 200 250
Hadoop
Best Fit
Priority
Met
hod
Second
Map Reduce
(c)
27
Total completion time(vm=5 pm = 2 h = 1-5)
0 50 100 150 200
Hadoop
Best Fit
Priority
Second
Met
hod
Map Reduce
(d)
圖十一 Total completion time (a) low heterogeneity vm=2 pm=5 (b) low
heterogeneity vm=5 pm=2 (c) high heterogeneity vm=2 pm=5 (d) high
heterogeneity vm=5 pm=2
由於前面分別是 Map以及 Reduce的完成時間為了想知道Map以及 Reduce
對於 MapReduce 的整體影響我們將前面的 Map 以及 Reduce 的完成時間在
處理資料的節點固定為 10 台 Worker將其做整合
從圖十一(a)圖十一(b)圖十一(c)圖十一(d)顯示 Best Fit 和 Priority 不論
是在低異構性或高異構性環境MapReduce 完成時間都比 Hadoop 的完成時間縮
短很多在低異構性環境最多可縮短到 29的時間在高異構性環境最多可縮
短 41的時間而造成 Hadoop 跟 Best Fit 和 Priority 在時間上差異如此大的原
因主要是在 Map 階段的完成時間因為Best Fit 和 Priority 是根據 Worker 的
效能來決定要處理的資料大小而 Hadoop 就是分配固定大小的資料給 Worker
運算所以在越高的異構性環境其縮短的時間會越明顯
28
Total completion time with different number of vm (h=1-3)
0
20
40
60
80
100
120
vm=2 vm=3 vm=4Number of vm per physical machine
Sec
ond
Hadoop
Best Fit
Priority
(a)
Total completion time with different number of vm (h=1-5)
0
20
40
60
80
100
120
vm=2 vm=3 vm=4Number of vm per physical machine
Sec
ond
Hadoop
Best Fit
Priority
(b)
圖十二 Total completion time with different number of vm (a) low heterogeneity
vm=2 worker=12 (b) high heterogeneity vm=5 worker=12
圖十二(a)是在低異構性環境圖十二(b)是在高異構性環境並且1 台實體
機架設 2 個3 個4 個虛擬機器使 Worker 數量固定 12 台處理的資料量為
600G
這個模擬實驗主要探討的是在一台實體機架設的虛擬機器數量對於
MapReduce 完成時間是否真正有影響圖十二(a)和圖十二(b)更可以顯示出 Best
Fit 和 Priority 在異構性越高的環境裏且一台實體機架設越多虛擬機器來當作
Worker 的時候可以縮短更多的時間前者會縮短 Map 的完成時間後者會縮
29
短 Reduce 的完成時間而 Hadoop 在異構性環境高的時候也有些微的縮短一
些時間
Total completion time with different data size (h=1-5)
0
20
40
60
80
100
120
140
400 600 800 1000 1200
Data
Sec
ond
Hadoop
Best Fit
Priority
圖十三 Total completion time with different data size
在上述的實驗中在同樣的資料大小處理的 Worker 數量越多的時候其
完成時間會縮短很多但是到達一定的數量的時候其縮短時間的效果就很低
所以就做了此實驗因為本篇論文就是要探討異構性的環境選擇高異構性
環境固定 Worker 數量 20 台資料大小由 400G 到 1200G探討資料大小對
MapReduce 以及 Worker 的影響如圖十三顯示出在 600G 以下的時候Map 加
上 Reduce 完成的時間突然靠近起來代表了當資料量越小的時候Best Fit 和
Priority 的方法跟原始的 Hadoop 的方法優勢會越來越少但相反的是當資料
量越大的時候雖然Best Fit 和 Priority 完成時間會增加但是跟 Hadoop 的
完成時間比會更加突顯
30
Total completion time (best fit)
0
10
20
30
40
50
60
70
80
(Without optimization) (Optimization)
Best Fit
Sec
ond
Map Reduce
(a)
Total completion time (priority)
0
10
20
30
40
50
60
70
80
(Without optimization) (Optimization)
Priority
Sec
ond
Map Reduce
(b)
圖十四 Total completion time of loading aware optimization (a) without
optimal (b) with optimization
圖十四(a)未使用優化技術圖十四(b)是使用優化技術同樣都是在高異構
性環境之下並且1 台實體機架設 5 個虛擬機器使 Worker 數量固定 15 台
處理的資料量為 900G
在本篇論文方法的部份有提到Loading Aware Virtual Machine Mapping的優
化技術由於此實驗上面的實驗數據都已經使用優化技術來改善時間因此
此實驗就是要探討這優化技術對於MapReduce完成時間的影響
由於Loading Aware Virtual Machine Mapping此優化技術是變動同一台實體
31
機內部的Reducer使得原本是根據Communication locality來選擇虛擬機器但
是在挑選的過程中並沒有依據處理資料的大小分配到其處理速度相對映的
虛擬機器而這優化技術就是將同一台實體機內的虛擬機器重新分配由於此
優化技術並不會影響Communication locality所以這部份並沒有在此實驗探討
圖十四(a)圖十四(b)顯示未使用優化技術的Best fit和Priority的MapReduce
完成時間雖然比Hadoop的方法好但是其Reduce phase完成時間上慢了一些
並且可以看出此優化技術並不會影響到Map phase主要影響的是在Reduce階
段在Reduce階段的完成時間上利用優化技術可以將Reduce階段時間縮短其13
32
Chapter 6 Conclusions and Future Works
目前 Hadoop 資料處理的環境還是應用在群集內節點效能是相同的情況下
如果是異構性環境可能就無法這麼有效率的處理本篇論文提出了兩個方法
動態資料切割和虛擬機對映以及一個優化技術 Loading aware virtual machine
mapping模擬實驗結果表明透過本篇方法來得比 Hadoop 縮短 41的時間以
及最多節省 Communication Locality 約莫 33尤其在異構性越高的環境以及
一台實體機器架設的虛擬機器數量越多改善的效果越明顯另外 Loading
aware virtual machine mapping 優化技術改善了 Reduce phase 的完成時間約莫
13
在未來研究上可以朝著動態調整 Reducer 數量的方向前進當固定大小的
資料上其實有時候過多的節點去運算消耗了大量的運算資源卻只得到一些
秒數的縮短如何利用適當的運算資源來得到最大的利益這是相當重要的議
題由於此實驗都是屬於模擬實驗希望在未來可以實際架設在機器上運行
透過 Benchmark得到真正的數據
33
Reference
1 Masato Asahara Shinji Nakadai and Takuya Araki ldquoLoadAtomizer A
Locality and IO Load aware Task Scheduler for MapReducerdquo in 4th IEEE
International Conference on Cloud Computing Technology and Science
(CloudCom) pp 317-324 2012
2 Paul Barham Boris Dragovic Keir Fraser Steven Hand Tim Harris Alex
Ho Rolf Neugebauer Ian Pratt and Andrew Warfield ldquoXen and the Art of
Virtualizationrdquo SOSP 03 Proceedings of the nineteenth ACM symposium
on Operating systems principles vol 37 Issue 5 pp 164-177 December
2003
3 Xiangping Bu Jia Rao and Cheng Zhong Xu ldquoInterference and
Locality-Aware Task Scheduling for MapReduce Applications in Virtual
Clustersrdquo Proceeding HPDC 13 Proceedings of the 22nd international
sym-posium on High-performance parallel and distributed computing pp
227-238 2013
4 Kasim Selcuk Candan Jong Wook Kim Parth Nagarkar Mithila Nagendra
and Ren-wei Yu ldquoScalable Multimedia Data Processing in Server Clustersrdquo
IEEE MultiMedia pp 3-5 2010
5 Fay Chang Jeffrey Dean Sanjay Ghemawat Wilson C Hsieh Deborah A
Wallach Mike Burrws Tushar Chandra Andrew Fikes and Robert EGruber
ldquoBigtable A Distributed Storage System for Structured Datardquo 7th UENIX
Symposium on Operating Systems Design and Implementation pp 205-218
2006
6 P C Chen Y L Su J B Chang and C K Shieh ldquoVariable-Sized Map and
Locality-Aware Reduce on Public-Resource Gridsrdquo in Proceedings
Conference Grid and Pervasive Computing (GPC 2010) pp 234-243 2010
May
7 Q Chen D Zhang M Guo Q Deng and S Guo ldquoSamr A self adaptive
mapreduce scheduling algorithm in heterogeneous environmentrdquo in 10th
IEEE International Conference on Computer and Information Technology
CIT rsquo10 (Washington DC USA) pp 2736ndash2743 2010
8 Jeffrey Dean and Sanjay Ghemawat ldquoMapReduce Simplified Data
Processing on Large Clustersrdquo Communications of the ACM vol 51 no 1
pp 107ndash113 2008
9 Yuanquan Fan Weiguo Wu Haijun Cao Huo Zhu Xu Zhao and Wei Wei
34
ldquoA heterogeneity-aware data distribution and rebalance method in Hadoop
clusterrdquo 2012 Seventh ChinaGrid Annual Conference pp 176-181 2012
10 Zacharia Fadika Elif Dede Jessica Hartog and Madhusudhan Govindaraju
ldquoMARLA MapReduce for Heterogeneous Clustersrdquo in 12th IEEEACM
International Symposium on Cluster Cloud and Grid Computing pp 49-56
2012
11 Sanjay Ghemawat Howard Gobioff and ShunTak Leung ldquoThe Google file
systemrdquo In Proceedings of 19th Symposium on Operating Systems
Principles pp 29-43 2003
12 Sven Groot ldquoJumbo Beyond MapReduce for Workload Balancingrdquo Fuzzy
Systems and Knowledge Discovery (FSKD) 2011 Eighth International
Conference on Cloud Computing Technology and Science vol 4 pp
2675-2678 2011 July
13 B Gufler N Augsten A Reiser and A Kemper ldquoHandling Data Skew in
MapReducerdquo in Proceedings of CLOSER pp 574ndash583 2011
14 Mohammad Hammoud and Majd F Sakr ldquoLocality-Aware Reduce Task
Scheduling for MapReducerdquo Third IEEE International Conference on
Cloud Computing Technology and Science pp 570-576 2011
15 C He Y Lu and D Swanson ldquoMatch-making A New MapReduce
Scheduling Techniquerdquo IEEE Third International Conference on Cloud
Computing Technology and Science (CloudCom) pp 40ndash47 2011
16 Hung Chang Hsiao Huesh Yi Chung Haiying Shen and Yu Chang
ChaoldquoLoad Re-balancing for Distributed File Systems in Cloudsrdquo IEEE
Trans on Parallel and Distributed Systems vol24 pp 951-962 2012
17 Shadi Ibrahim Hai Jin Lu Lu Song Wu Bingsheng He and Li Qi ldquoLEEN
LocalityFairness Aware Key Partitioning for MapReduce in the Cloudrdquo
2010 IEEE Second International Conference on Cloud Computing
Technology and Science (CloudCom) pp 17ndash24 2010
18 S Ibrahim H Jin L Lu L Qi S Wu and X Shi ldquoEvaluating MapReduce
on Virtual Machines The Hadoop Caserdquo Proceedings Conference Cloud
Computing (CloudCom 2009) Springer LNCS pp 519-528 2009 Dec
19 C Jin and R Buyya ldquoMapreduce programming model for net-based cloud
computingrdquo in Proceedings of the 15th International Euro-Par Conference
on Parallel Processing Euro-Par (Berlin Heidelberg) pp 417ndash428 2009
20 R Nanduri N Maheshwari A Reddyraja and V Varma ldquoJob aware
scheduling algorithm for Mapreduce frameworkrdquo in 3rd International
Conference on Cloud Computing Technology and Science
CLOUDCOM rsquo11 (Washington DC USA) pp 724ndash729 2011
35
21 Andrew J Page and Thomas J Naughton ldquoDynamic task scheduling using
genetic algorithms for heterogeneous distributed computingrdquo in 19th IEEE
International Parallel and Distributed Processing Symposium pp 189a
2005 April
22 Xiaoyu Sun Chen He and Ying Lu ldquoESAMR An Enhanced Self-Adaptive
MapReduce Scheduling Algorithmrdquo 2012 IEEE 18th International
Conference on Parallel and Distributed Systems pp 148-155 2012
23 Chao Tian Haojie Zhou Yongqiang He and Li Zha ldquoA Dynamic
MapReduce Scheduler for Heterogeneous Workloadsrdquo Eighth International
Conference on Grid and Cooperative Computing pp 218ndash244 2009 Aug
24 Jiong Xie Shu Yin Xiaojun Ruan Zhi-yang Ding Yun Tian James Majors
Adam Manzanares and Xiao Qin ldquoImproving mapreduce performance
through data placement in heterogeneous hadoop clustersrdquo in IPDPS
Workshops pp 1ndash9 2010
25 J Tan X Pan S Kavulya R Gandhi and P Narasimhan ldquoMochi Visual
Log-Analysis Based Tools for Debugging Hadooprdquo USENIX Workshop on
Hot Topics in Cloud Computing (HotCloud) pp 1-5 2009
26 Matei Zaharia Andy Konwinski Anthony D Joseph Randy Katz and Ion
Stoica ldquoImproving MapReduce Performance in Heterogeneous
Environmentsrdquo 8th Symposium on Operating Systems Design and
Implementation pp 29ndash42 2008 Dec
27 X Zhang Z Zhong S Feng B Tu and J Fan ldquoImproving Data locality of
MapReduce by Scheduling in Homogeneous Computing Environmentsrdquo in
9th IEEE International Symposium on Parallel and Distributed Processing
with Applications (ISPA) pp 120-126 2011
28 Apache hadoop Available from httphadoopapacheorg
29 MapReduce with a lot of examples for Mining datasets Available from
httpinfolabstanfordedu~ullmanmmdsbookpdf
Page 9
viii
List of Figures
圖一 MapReduce 的運作流程圖 9
圖二 整體方法流程圖 11
圖三 根據節點能力分配相對應大小的資料 12
圖四 Best Fit 挑選機器流程 14
圖五 Best Fit 挑選機器的不完善 15
圖六 Priority 挑選機器流程 16
圖七 Reducer 對應到其相對效率的 Worker 17
圖八 Communication locality (a) low heterogeneity vm=2 (b) low heterogeneity
vm=5 (c) high heterogeneity vm=2 (d) high heterogeneity vm=5 19
圖九 Map completion time (a) low heterogeneity vm=2 (b) low heterogeneity
vm=5 (c) high heterogeneity vm=2 (d) high heterogeneity vm=5 22
圖十 Reduce completion time (a) low heterogeneity vm=2 (b) low heterogeneity
vm=5 (c) high heterogeneity vm=2 (d) high heterogeneity vm=5 24
圖十一 Total completion time (a) low heterogeneity vm=2 pm=5 (b) low
heterogeneity vm=5 pm=2 (c) high heterogeneity vm=2 pm=5 (d) high
heterogeneity vm=5 pm=2 26
圖十二 Total completion time with different number of vm (a) low heterogeneity
vm=2 worker=12 (b) high heterogeneity vm=5 worker=12 28
圖十三 Total completion time with different data size 29
圖十四 Total completion time of loading aware optimization (a) without
optimization (b) with optimization 30
1
Chapter 1 Introduction
11 Background
網路的發展慢慢的成為人們生活中不可或缺的一部分因而產生許多要處
理的大量資料而這些資料在處理上有些許不同要如何處理這些不同的資料
變成一個很重要的議題因此雲端運算這類專有名詞從而衍生出來而在此
背景之下Google在2003年提出分散式檔案系統架構Google File System(GFS)
[11]2004年提出MapReduce架構 [8]可用來處理大規模的資料處理以及2006
年提出BigTable [5]這是基於Google File System針對資料結構化儲存的分散式系
統
在過去幾十年前個人電腦還沒有這麼普遍的情況下當時的電腦主要還是以
大型主機為主所有的工作都只能透過那一台主機運行既不方便也沒有彈性
因此IBM則在當時開發了一套虛擬機監視器(Virtual Machine Monitor)藉此將
大型主機的資源分割成多個虛擬機器提供給使用者使用這些虛擬機器可以模
擬成多個操作環境進而比一個操作環境來的更有效率現今虛擬化技術 [2]越
來越成熟雲端運算環境透過此技術整合了分散在各處的資源使資源可做一
個統整藉此提供各項的資訊服務
雲端運算(Cloud Computing)簡單來說它不是一個技術而是一個概念希
望可以藉由雲端叢集 [4]透過網際網路來處理在雲端存放的龐大資料而
Google提出的MapReduce架構Map階段的時候將這些龐大資料拆解成許多小
資料再交給雲端叢集的每個節點去做運算Reduce在讓每個節點將運算後的
結果進行整合再回傳給使用者這樣的方式由原本只能單一處理變成平行
處理進而加快了處理速度
2
Google雖然提出了多個雲端運算的技術但是並沒有開放原始碼出來使
得企業們受到局限直到Apache開發出Hadoop平台 [25]企業或使用者才可以
自己研發相關的MapReduce技術 [18][19][20]不再被受到限制MapReduce技
術具有高容錯性資源使用率高平行處理使得它在企業界備受青睞
12 Motivation
在一個大的群集裡原型的MapReduce會將進來的資料切割成固定大小
主要節點會將這些資料分散給各節點去做運算但是如果在異構性環境
[21][23]就無法根據機器的處理速度動態的分配資料給相對映的機器去做運
算在Map階段節點處理速度相同的情況下每個節點完成的時間會大致相同
但是在節點處理速度不盡相同的情況下完成的時間彼此不一樣則會造成最
先處理好的機器得等待處理速度較慢的節點完成因而拖累完成時間而在
Reduce階段則考慮到Communication locality的問題Communication locality是
指說Reducer在此節點運算的時候所能節省的溝通成本(意指不用到遠端節點
取資料的溝通成本)原始的MapReduce在挑選機器的時候是有機器就拿去
做運算而沒考慮此問題
13 Contribution
本論文針對以上的敘述做了改進首先測試每台機器的運算效能在Map
階段的時候根據節點的運算效能來決定負責的運算量進而達到平均完成時間
相近在Reduce階段評估Communication locality再根據Communication locality
來決定Reducer要選擇在哪台機器使其節省更多的Communication locality最
後透過Loading Aware Virtual Machine Mapping來改善Reduce階段的完成時間
3
14 Organization
本論文研究探討在異構性環境下每個節點運算效能不一致的情況下為了
要避免MapReduce運算所造成校能不佳的情況動態的調整Map mapping以及
Reducer mapping
本論文章節介紹如下第一章緒論簡述雲端運算的研究背景及研究動機與
目的以此為基礎第二章相關研究介紹前人所提出的MapReduce改善方法
第三章Preliminary介紹HadoopMapRedcue的流程以及定義異構性環境第四
章演算法介紹MapReduce的各階段流程以及介紹本篇論文所提出的動態資料
切割和虛擬機對映兩種技術的流程另外提出了一個優化技術第五章性能分
析透過實驗模擬的結果將其結果分析與比較最後第六章為結論以及未來
可以繼續研究的方向
4
Chapter 2 Related Works
MapReduce 是目前非常流行的分散式運算的架構主要是透過網際網路來處
理在雲端上儲存的大量資料將要執行的 MapReduce 程式複製到 Master node 以
及各個WorkerMaster node會決定要給哪台Worker去執行Map程式或者Reduce
程式透過 Map 程式將資料切成許多區塊經過 Map 階段產生出 Key Value
將此 Key Value 存儲在 Local disc然後經過 Shuffle(將相同屬性的 key 排序在
一起)而 Reduce 程式將這些 Shuffle 後的結果進行整合最後再將結果產生出
來由於 MapReduce 一開始主要是在節點效能大致相同的情況下去執行對於
節點效能不一致的情況 (也就是所謂的異構性環境)導致會有一些效能不盡理
想的狀態出現 [10]並且隨著虛擬技術的成熟虛擬機器可以將實體機資源
更有效的利用慢慢的開始以虛擬機器作為 Cluster而且MapReduce 在以虛
擬機器建立起的異構性環境之下對於 IO 負載不平衡 [12][13][16]以及任務排
程 [1][6][15]不平均的部份目前已經有許多相關文獻在探討此方面
21 Homogeneous Environment
由 Shadi Ibrahim 等人在 2010 年時所提 LEEN [17]的方法在 Map 階段因
為原始的 MapReduce 架構沒有考慮資料的內容盲目的以資料數量區分導致
Shuffle 階段時會出現分配不平均的現象為了改善此部份LEEN 將每筆資料
計算出 Fairness Score 後根據 Locality [3][27]概念分析與比較將資料適當地放
在各個節點上達到平均分配的效果透過這樣的想法我們將此概念延伸到
Reducer 挑選機器是根據 Communication locality而不是盲目的去選擇有空的
Worker
5
MapReduce是主從式架構具有樹狀網路分佈的結構節點分布在不同的主
機上或者可能在不同的資料中心的主機上則兩個節點要溝通的話則需要
透過網路而頻寬會影響之間傳輸的速度在MapReduce的Worker接受到Master
的要求從而排程Map和ReduceHadoop企圖排程將比較靠近的資料做Map
tasks以避免在網路上增加過多的overhead至於Reduce tasks則沒有考慮到此部
份因此在進行shuffle的時候不必要的資料在網路上可能會降低校能遙遠
的節點資料傳送已經成為一個瓶頸而Mohammad Hammoud等人在2011提出
的論文著重在Reduce任務的部分透過網路位置做分區來做排程因此形成
了LARTS 的策略 [14]而且還觀察到MapReduce在Map Tasks完成後進行
shuffling的動作此步驟是用交錯的方式先前的方法在Shuffling這個動作的
時候使MapReduce的性能提高但是卻增加了網路的負載而LARTS保持了
此Shuffling的優勢還減少了網路的負載但是此篇論文著重在Reduce task的
部份至於Map task的部份並未做優化的部份
22 Heterogeneity Environment
Hadoop原先假設在節點相同的環境下運行但是實際上環境內的節點並
不是每次都是一致的當Hadoop運行在異構性環境對於性能上是有很大的落
差由Matei Zaharia等人提出的LATE (Longest Approximate Time to End) [26]針
對其任務的排程上做改良重新設計了一個新的Speculative task會估算完成時
間根據完成時間在去調整任務上的分配雖然對回應時間有點影響但是
整體性能明顯的比Hadoop改善很多而Quan Chen等人在2010年所提出的SAMR
(Self-adaptive MapReduce Scheduling Algorithm) [7]自動適應MapReduce的調動
排程主要是計算任務進度根據歷史資料動態調整Map任務以及Reduce任務
並且可以識別在節點上執行較慢的任務將其任務不做備份工作使其完成時
6
間可以降低在 2012年由Xiaoyu Sun等人提出的 ESAMR (An Enhanced
Self-Adaptive MapReduce Scheduling Algorithm) [22]增強自適應MapReduce的調
度算法以提高Speculative task在SAMR識別慢任務可能不是這麼準確但
是在ESMAR裡它們使用集群演算法轉化改進了這一部分使其識別慢任
務達到一定的準確ESAMR研究結果的誤判率明顯降低
由於Hadoop在異構性環境會造成資料分配不平均的現象所以由
Yuanquan Fan等人提出了在Map階段重新平衡資料分配的方法 [9]而此篇論文
平衡的方法有兩種(1) 根據性能來分配-主要是分成不同大小的資料區塊首先
將每個節點進行性能評估然後資料切成不同大小根據節點的計算能力來分
配相對應的節點(2) 資料動態搬遷-儘管不同大小的資料被分配在每一個節點
上再來估算任務完成時間將執行最慢的任務的部份資料轉移到執行最快的節
點有些任務可能會隨著時間的關係或者網路的關係慢慢延後所以將這些延
後的資料轉移給其他節點去運算其缺點就是資料的搬移時間和成本並沒考慮至
其中以及Reduce phase階段可能因為資料搬移的情況導致Reduce phase的
Communication overhead變重
傳統的 MapReduce 架構是考慮每台機器的規格都相同所以資料平均分
配後所處理完成的時間也都會是一樣在雲端運算環境中往往都是數百台或
著上千上萬台機器在同時運算機器的規格也不盡相同因此 Jiong Xie 等人在
2010 年所提出的 Data Placement [10]的方法將每個電腦區分出 3 個等級分別
是 FastestAverage 及 Slowest不同的等級取得運算資料份量也不同並建立一
張表紀錄目前有哪些機器處於忙碌壅塞狀態有那些機器處於閒置狀態並且
將忙碌的機器的資料分出 3 個等級平均分配資料直至平均為止使得每台
機器資源利用率是相近的雖然這樣的動機很好但是對於資料遷移所花的
時間以及成本是沒考慮的
根據上述研究不足的地方我們提出了MapReduce在異構性環境裡在Map
7
階段將資料切割成不固定大小依據節點能力的不同做出適當的配置在
Reduce階段根據Communication locality 找出適合在哪一台機器上執行最
後再透過優化技術把本篇論文方法的執行時間縮短一些
8
Chapter 3 Preliminary
31 Hadoop
Hadoop架構是由Apache所開發的開放原始碼提供了一個分散式系統的基
本架構Hadoop雲端運算技術主要由三個主要架構所組成 Hadoop Distributes
File System (HDFS)分散式檔案系統Hadoop Database (HBase)分散式資料庫以及
Hadoop MapReduce分散式平行運算以下一一敘述
HDFS (Hadoop File system) 是根據Google提出的GFS(Google File System)所
延伸的主要就是將各個節點連結起來將這些節點組成一個大型的分散式檔案
系統可以有效的處理大量檔案並提供安全的儲存環境以及可以避免因為單一
的硬體發生異常而影響整個系統
而HDFS為了維護資料的一致性當使用者將資料存進去HDFS就不能去
更動或修改HDFS會將要儲存的資料複製副本分散儲存在各個不同的節點
所以當儲存資料的節點發生異常可藉由其他節點來復原
HBase (Hadoop Database)類似Google BigtableHBase架構在Hadoop HDFS
上的分散式資料庫與ㄧ般關聯式資料庫不同HBase使用列和行為索引存取資
料值以及每一筆資料都有一個時間戳記因此同一個欄位可以因為時間的不同
而存在多筆資料
HBase專門用來處理大規模的資料是由HMasrter以及HRegion組成一台
HMaster管理多部HRegion ServerHMaster負責監控與管理HRegion Server系統狀
態而HRegion Server利用記憶體存取快速的優點可以加速資料讀寫的動作
所以會先將資料存放在記憶體內之後再將資料存回HDFS
9
32 MapReduce
雲端運算最重要的關鍵即是MapReduce使用MapReduce模式將一個大問
題先讓程式開發人員分析問題將問題切割成許多小問題在將此小問題平行
分散給各個Mapper當Mapper處理完的結果在傳送到相對映的Reducer去做運
算Reducer將這些結果進行合併在把合併的結果輸出
Split 0
Split 1
Split 2
Mapper
Mapper
Mapper
Reducer
Reducer
Partition 0
Partition 1
Partition 0
Partition 1
Partition 0
Partition 1
Output
File0
Output
File1
Input
File
Master
User
Map
Phase
Intermediate file
(on local disks)
Reduce
PhaseOutput
File
圖一 MapReduce的運作流程圖
如圖一即為MapReduce流程圖
1 將輸入的資料切割成固定大小
2 將要執行的MapReduce程式複製到Master與每一台Worker
3 Master會挑選閒置的Worker當Mapper或Reducer
4 Mapper會從切割好的資料讀取相對映的資料會產生Key Value會先暫
存在記憶體內再週期性的傳送到Local Disc
5 執行Reducer程式的Worker讀取每一個Mapper的結果並進行排序以及彙
整再將整合的結果輸出
10
33 Heterogeneous Classification
MapReduce 在異構性環境下執行已經是越來越多人討論的議題如何將
每個節點分級也有相當多的Benchmark可以做測試本篇論文採用的Benchmark
為 Hardinfo透過虛擬機器去做測試
表一 Hardinfo benchmark
如表一1_2 前面的數字代表核心數目後面的數字代表 Memory 有多少
GB而這個 Hardinfo 本身內含有許多測試的軟件我們測了兩個實驗CPU
Blowfish 以及 CPU CryptoHash這兩個都是跟加密有關的CPU Blowfish 運行
在單核心以及四核心的虛擬機器上所花費的秒數兩個相差了 5 倍因此我
們定義異構性等級為 1 到 5也就是所謂的高異構性環境CPU CryptoHash 運行
在單核心以及四核心的虛擬機器上每秒能壓縮的資料相差了三倍因此我
們定義異構性等級為 1 到 3也就是所謂的高異構性環境我們之後的實驗根
據這兩個異構性等級做參數
11
Chapter 4 Dynamic Data Partitioning and Locality
Aware Virtual Machine Mapping
原始的 Hadoop 在同質性環境執行 MapReduce 程式每個節點運算能力大
致相同所以在 Map 階段並不會有互相等待的結果發生但是在異構性的
環境之下每個節點的 Worker 彼此之間運算速度不同導致先完成的必須得
等速度較慢的節點完成因而執行時間變長而在 Reduce 階段沒有考慮
Communication Locality 的問題即使是用虛擬機架設的環境也是一樣所以
隱藏著一些 Communication overhead 的問題本篇論文主要探討此兩問題
圖二 整體方法流程圖
如圖二所示將資料從 HDFS 讀取進來因為每個節點不能去從其他節點讀
取資料來做因此只能將自己節點資料作完等待其他節點完成後才可繼續
執性 Reduce 階段因此在 Map mpping 階段是根據節點內部的虛擬機性能來
決定節點內部資料的分配而不是固定資料大小丟給效能不一致的虛擬機器來做
12
運算在 Reduce mapping 階段是根據 Locality aware 來選擇機器選擇節省成本
最多的機器以及最後有個節點內部動態調整機制為了減少Reducer完成的時間
41 動態資料切割
在同質性環境 (即為每個節點設備大致相同)運行MapReduce當Worker
完成Map階段任務必須等待其他Worker完成才能進行下一個動作因為每台
節點運算能力大致相同所以當執行Map階段結束後每台節點完成時間是大
致相同的而在異構環境下 (每個節點設備不盡相同則會產生出一個問題在
運算效能不一致的情況會造成在Map程式執行完成的時間變長因為當資料相
同可是每個節點運算能力不一樣就會彼此互相牽制為了要避免此情況發生
所以本篇論文用動態資料切割的方法來解決此問題
圖三 根據節點能力分配相對應大小的資料
動態資料切割的方法得先知道每個Worker的運算能力根據運算能力動
態切割資料大小如圖三所示每個節點運算能力較好的Worker就分配到資料
較多的Partition去做處理而運算能力較差的Worker就分配到較少的Partition使
得每個節點內部的Worker完成時間接近就不會有處理速度比較快的節點完成後
13
必須要等待處理速度比較慢的節點而資料分配方式就是根據Performance
也就是前面所提到的異構性等級的數值相加起來 (Worker處理速度越快則等級
越高)將要處理的資料以及總數值相除會得到一個平均值這個平均值去乘
上等級也就是Worker要處理的資料量
42 Locality Aware Virtual Machine Mapping
由於虛擬機的使用可以充分利用資源所以現在一台實體機可架設多
台虛擬機所以同一台實體機內部有兩台虛擬機當這兩台互相交換資料的
時候其實網路的負載是很低的但是如果是兩台實體機交換資料網路的負
載會變很高在執行Map階段之後資料都儲存在Local disk裡Reducer要怎麼
選擇機器使得Communication locality節省更多而這個即是本篇論文要探討的
第二個問題
421 Best Fit
本篇論文提出了一個 Best Fit 方法這個方法的概念是讓 Reducer 選擇在哪
一台節點上運行使其 Communication locality 節省最多接下來在找出節點內
Performance 最好的 Worker 來當 Reducer而不是像 Hadoop 的 MapReduce 是照
順序去分配這樣的選擇方式是因為節點與節點之間資料傳遞的Communication
overhead 是相當大的而節點內部之間的 Communication overhead相較起來小
很多而讓 Communication locality 節省越多也可以讓 Communication overhead
降低
14
圖四 Best Fit挑選機器流程
1 如圖四所示假設一台實體機上(P1)架設兩台虛擬機(v1v2)根據虛擬
機的運算能力分配相對映的資料量v1即為25單位v2即為22單位以此類
推
2 執行Map程式產生出k值因為有三台Reducer(R1R2R3)所以產生出
3個k值v1虛擬機的k1值為7k2值為10k3值為8而這v1的所有k值相加即為
v1所負責的資料量v1虛擬機k1值為10k2值為9k3值為3而這v2的所有k值
相加為v2所負責的資料量v3也是一樣
3 先從R1要挑選哪台VM開始首先把每個VM所產生出的k1值相加得到一個
總和即為57單位底下看到有三個數值第一個數值即為R1如果在P1這
台機器上運行的話所耗費的遠端溝通成本(要到P2P3取資料的溝通成本)
則第二個數值即為R2在P2這台機器上運行的話所耗費的遠端溝通成本
第三個也是
4 把總共要處理的資料減掉到遠端耗費的溝通成本會得到一個數值即為
15
Communication localityR1如果選擇P1機器運行則Communication locality
為17單位R1如果選擇P2機器運行則Communication locality為18單位R1
如果選擇P3機器運行則Communication locality為22單位R1挑選最多的
Communication locality的機器來運行所以R1選擇P3機器來做運算
5 R1選擇P3實體機而P3實體機有2台虛擬機所以在根據虛擬機的運算能力
先挑選運算能力好的來做為R1
6 如果節點的虛擬機都被挑選完就選第二順位的節點
原始的HadoopR1挑選v1而R2挑選v2照順序的挑選所以沒有考慮到溝
通成本則本篇論文Best fit是根據Communication locality來挑選機器但是
可能在某ㄧ些情況可能不夠完善
圖五 Best Fit 挑選機器的不完善
如圖五所示當Communication locality可以選擇很高的節點卻因為前面的
Reducer把節點內部的Worker挑選完了所以逼不得已只能挑選第二順位的節
點可是這個Communication locality遠遠低於前面Reducer挑選的節點導致整體
的Communication locality大幅下降因此422 Priority即為改善的方法
16
422 Priority
為了確保每個Reducer都能挑選Communication locality最高的機器因此
此章節做了改善
1 在Reducer在挑選機器之前先判斷Reducer哪台要先下去做挑選
2 將每台Reducer最高的Communication locality的跟第二高的相減會得到一個
Difference locality在利用Difference locality下去做排序由大到小
3 Difference locality越大的代表那台Reducer要優先做挑選所以就從
Difference locality越大的挑選到Difference locality最小的
圖六 Priority挑選機器流程
1 如圖六所示R1總共的Data block為57單位R2為42單位R3為41單位經過
Shuffle階段之後
2 R1如果選擇P1這台機器能節省的Communication locality就是17單位R1如果選
擇P2這台機器能節省的Communication locality就是18單位R3如果選擇P2這台
機器能節省的Communication locality就是22單位
3 根據Communication locality將第一高的減掉第二高的會得到一個Difference
17
locality
4 根據此Difference locality排出哪個Reducer要先選取機器此例子的順序為
R2再來R3再來R1而Best Fit就是R1再來R2再來R3
Priority可以避免前面的Reducer把機器挑選完迫使只能選擇第二高的
Communication locality使這樣大幅降低的情況給消除而Best fit和Priority這兩
種方法大幅提高了Communication locality的狀況可是卻也導致了Reduce階段
的完成時間變長所以下章節主要敘述將Reduce階段完成時間優化
43 Loading Aware Virtual Machine Mapping
上述的兩種方法Best fitPriority都是為了降低節點彼此之間的溝通成本
但是卻引發了一個問題Reducer執行完成的時間比原始Hadoop還來得長為
了解決此問題本篇論文在這章節提出優化的方法前面兩種方法是根據節點
的Communication locality來決定要在哪一台Worker做運算當決定好Worker
的時候Reducer會先將運算能力較好的虛擬機器拿去做運算這樣使得運算較
快的機器並不會對映到運算較複雜的資料使得較早完成的機器還是得等候還沒
做好的機器造成時間上的延長所以本篇論文針對此部份做優化
圖七 Reducer對應到其相對效率的Worker
18
如圖七所示當Reducer都挑選好要在哪台實體機做在開始執行Reduce程
式之前我們根據要處理的資料量來分配相對映的機器而這虛擬機的交換
並不會影響到Communication locality因為都是在同一台實體機架設的虛擬機
器做交換
19
Chapter 5 Performance Analysis
本實驗以模擬的方式進行利用 C 語言程式撰寫可設定節點數量節點
裡的 Worker 數量資料大小異構性環境低 (h = 1-3)或高 (h = 1-5)透過模擬
的實驗數據分析基於 Hadoop 的 MapReduce 以及本篇論文透過 Map mapping
和 Reduce mapping 的方式進而改善原始 MapReduce 所造成的缺點
51 Communication Locality
本模擬實驗主要探討的是 Communication Locality圖八(a)和圖八(b)模擬環
境為低異構性圖八(c)和圖八(d)為高異構性環境固定每台實體機架設 2 台以
及 5 台虛擬機器固定 Worker 總數量分別為 102030要處理的資料為 900G
Communication locality(vm = 2 h = 1-3)
0
50
100
150
200
250
300
10 20 30
Number of vm
Dat
a lo
cali
ty
Hadoop
Best Fit
Priority
(a)
20
Communication locality(vm = 5 h = 1-3)
0
100
200
300
400
500
600
10 20 30Number of vm
Dat
a lo
cali
ty
Hadoop
Best Fit
Priority
(b)
Communcation Locality(vm = 2 h = 1-5)
0
50
100
150
200
250
300
10 20 30Number of vm
Dat
a lo
cali
ty
Hadoop
Best Fit
Priority
(c)
Communcation locality(vm = 5 h = 1-5)
0
100
200
300
400
500
600
10 20 30
Number of vm
Dat
a lo
cali
ty
Hadoop
Best Fit
Priority
(d)
圖八 Communication locality (a) low heterogeneity vm=2 (b) low heterogeneity
vm=5 (c) high heterogeneity vm=2 (d) high heterogeneity vm=5
21
由圖八(a)可看出本篇論文提出的兩個方法在低異構性環境所能節省的
Communication Locality 比原始的 Hadoop 提出的方法最多節省了 33的
Communication Locality圖八 (b)也最多節省了約 12的 Communication
Locality雖然節省在固定架設的虛擬機器為兩台的時候節省比較多但是
兩個實驗節省的 Communication Locality 量卻相差了快 2 倍原因是在於 Map 階
段完成的資料都儲存在 Local disc兩台實體機在交換資料的時候溝通成本是
很高的而建立在同一台實體機的兩台虛擬機器交換資料則溝通成本卻來的低
很多 因此溝通成本量的提高也會被實體機上架設的虛擬機器的多寡來影
響
由圖八(c)所示在高異構性最多可節省 27的 Communication Locality圖
八(d)則為 15的 Communication Locality分別從圖八(a)圖八(c)圖八(b)以及
圖八(d)可以看得出來Best Fit 和 Priority 不會隨著異構性環境的高低溝通成
本量會有大幅度的改變而 Priority 在節省的 Communication Locality 都會比 Best
Fit 都來的多一點因為Priority 可以避免前面的 Reducer 把機器挑選完迫使
只能選擇第二高的Communication location 因此大幅降低的情況給消除
52 Task Execution Time
此節實驗是要探討 Map 以及 Reduce 完成的時間圖九(a)和圖九(b)為低異構
性環境的實驗圖九(c)和圖九(d)為高異構性環境都是固定每台實體機架設 2
台以及 5 台虛擬機器所以固定虛擬機器總數量分別為 102030要處理
的資料為 900G
22
Map completion time(vm = 2 h = 1-3)
0
20
40
60
80
100
10 20 30
Number of vm
Sec
ond
Hadoop
Best Fit amp Priority
(a)
Map completion time(vm = 5 h = 1-3)
0
20
40
60
80
100
10 20 30Number of vm
Sec
ond
Hadoop
Best Fit amp Priority
(b)
Map completion time(vm = 2 h = 1-5)
0
20
40
60
80
100
10 20 30Number of vm
seco
nd
Hadoop
Best Fit amp Priority
(c)
23
Map completion time(vm = 5 h = 1-5)
0
20
40
60
80
100
10 20 30Number of vm
seco
nd
Hadoop
Best Fit amp Priority
(d)
圖九 Map completion time (a) low heterogeneity vm=2 (b) low heterogeneity
vm=5 (c) high heterogeneity vm=2 (d) high heterogeneity vm=5
圖九(a)圖九(b)圖九(c)以及圖九(d)顯示了本論文提出的兩個方法 Best Fit
和 Priority 他們完成的時間是一樣的因為兩個方法的 Map mapping 概念是一樣
的所以完成時間也會一樣在此實驗裡可發現 Best Fit 和 Priority 也會隨著
實體機上的虛擬機器數量增多而完成時間縮短而縮短的時間最多甚至可以達
到 44也可看出本論文的兩個方法在低異構性環境的效能比在高異構性環境
的效能來的較差所以在異構性越高的環境越能看得出 Best Fit 和 Priority
的優勢
24
Reduce completion time(vm = 2 h = 1-3)
0
20
40
60
80
100
120
10 20 30Number of vm
Sec
ond
Hadoop
Best Fit
Priority
(a)
Reduce completion time(vm = 5 h = 1-3)
0
20
40
60
80
100
120
10 20 30Number of vm
Sec
ond
Hadoop
Best Fit
Priority
(b)
Reduce completion time(vm = 2 h = 1-5)
0
20
40
60
80
100
120
10 20 30Number of vm
seco
nd
Hadoop
Best Fit
Priority
(c)
25
Reduce completion time(vm = 5 h = 1-5)
0
20
40
60
80
100
120
10 20 30Number of vm
Sec
ond
Hadoop
Best Fit
Priority
(d)
圖十 Reduce completion time (a) low heterogeneity vm=2 (b) low
heterogeneity vm=5 (c) high heterogeneity vm=2 (d) high heterogeneity vm=5
而在 Reduce 完成時間的方面不像 Map 的完成時間是一樣的因為選
擇 Reducer 的方式不同造成 Best Fit 以及 Priority 時間完成上有些許不同
如圖十(a)所示節省了 14的時間圖十(b)節省了 16的時間圖十(c)
節省了 23圖十(d)節省了 29由圖十(b)以及圖十(d)可見影響 Reduce
階段完成時間最主要的原因是異構性環境的問題當環境的異構性越高其
所節省的時間越多而圖十(c)以及圖十(d)所示一台實體機架設的虛擬機器數
量影響的範圍比較小
26
Total completion time (vm = 2 pm = 5 h = 1-3)
0 50 100 150 200 250
Hadoop
Best Fit
Priority
Met
hod
Second
Map Reduce
(a)
Total completion time(vm = 5 pm = 2 h = 1-3)
0 50 100 150 200
Hadoop
Best Fit
Priority
Met
hod
Second
Map Reduce
(b)
Total completion time(vm = 2 pm = 5 h = 1-5)
0 50 100 150 200 250
Hadoop
Best Fit
Priority
Met
hod
Second
Map Reduce
(c)
27
Total completion time(vm=5 pm = 2 h = 1-5)
0 50 100 150 200
Hadoop
Best Fit
Priority
Second
Met
hod
Map Reduce
(d)
圖十一 Total completion time (a) low heterogeneity vm=2 pm=5 (b) low
heterogeneity vm=5 pm=2 (c) high heterogeneity vm=2 pm=5 (d) high
heterogeneity vm=5 pm=2
由於前面分別是 Map以及 Reduce的完成時間為了想知道Map以及 Reduce
對於 MapReduce 的整體影響我們將前面的 Map 以及 Reduce 的完成時間在
處理資料的節點固定為 10 台 Worker將其做整合
從圖十一(a)圖十一(b)圖十一(c)圖十一(d)顯示 Best Fit 和 Priority 不論
是在低異構性或高異構性環境MapReduce 完成時間都比 Hadoop 的完成時間縮
短很多在低異構性環境最多可縮短到 29的時間在高異構性環境最多可縮
短 41的時間而造成 Hadoop 跟 Best Fit 和 Priority 在時間上差異如此大的原
因主要是在 Map 階段的完成時間因為Best Fit 和 Priority 是根據 Worker 的
效能來決定要處理的資料大小而 Hadoop 就是分配固定大小的資料給 Worker
運算所以在越高的異構性環境其縮短的時間會越明顯
28
Total completion time with different number of vm (h=1-3)
0
20
40
60
80
100
120
vm=2 vm=3 vm=4Number of vm per physical machine
Sec
ond
Hadoop
Best Fit
Priority
(a)
Total completion time with different number of vm (h=1-5)
0
20
40
60
80
100
120
vm=2 vm=3 vm=4Number of vm per physical machine
Sec
ond
Hadoop
Best Fit
Priority
(b)
圖十二 Total completion time with different number of vm (a) low heterogeneity
vm=2 worker=12 (b) high heterogeneity vm=5 worker=12
圖十二(a)是在低異構性環境圖十二(b)是在高異構性環境並且1 台實體
機架設 2 個3 個4 個虛擬機器使 Worker 數量固定 12 台處理的資料量為
600G
這個模擬實驗主要探討的是在一台實體機架設的虛擬機器數量對於
MapReduce 完成時間是否真正有影響圖十二(a)和圖十二(b)更可以顯示出 Best
Fit 和 Priority 在異構性越高的環境裏且一台實體機架設越多虛擬機器來當作
Worker 的時候可以縮短更多的時間前者會縮短 Map 的完成時間後者會縮
29
短 Reduce 的完成時間而 Hadoop 在異構性環境高的時候也有些微的縮短一
些時間
Total completion time with different data size (h=1-5)
0
20
40
60
80
100
120
140
400 600 800 1000 1200
Data
Sec
ond
Hadoop
Best Fit
Priority
圖十三 Total completion time with different data size
在上述的實驗中在同樣的資料大小處理的 Worker 數量越多的時候其
完成時間會縮短很多但是到達一定的數量的時候其縮短時間的效果就很低
所以就做了此實驗因為本篇論文就是要探討異構性的環境選擇高異構性
環境固定 Worker 數量 20 台資料大小由 400G 到 1200G探討資料大小對
MapReduce 以及 Worker 的影響如圖十三顯示出在 600G 以下的時候Map 加
上 Reduce 完成的時間突然靠近起來代表了當資料量越小的時候Best Fit 和
Priority 的方法跟原始的 Hadoop 的方法優勢會越來越少但相反的是當資料
量越大的時候雖然Best Fit 和 Priority 完成時間會增加但是跟 Hadoop 的
完成時間比會更加突顯
30
Total completion time (best fit)
0
10
20
30
40
50
60
70
80
(Without optimization) (Optimization)
Best Fit
Sec
ond
Map Reduce
(a)
Total completion time (priority)
0
10
20
30
40
50
60
70
80
(Without optimization) (Optimization)
Priority
Sec
ond
Map Reduce
(b)
圖十四 Total completion time of loading aware optimization (a) without
optimal (b) with optimization
圖十四(a)未使用優化技術圖十四(b)是使用優化技術同樣都是在高異構
性環境之下並且1 台實體機架設 5 個虛擬機器使 Worker 數量固定 15 台
處理的資料量為 900G
在本篇論文方法的部份有提到Loading Aware Virtual Machine Mapping的優
化技術由於此實驗上面的實驗數據都已經使用優化技術來改善時間因此
此實驗就是要探討這優化技術對於MapReduce完成時間的影響
由於Loading Aware Virtual Machine Mapping此優化技術是變動同一台實體
31
機內部的Reducer使得原本是根據Communication locality來選擇虛擬機器但
是在挑選的過程中並沒有依據處理資料的大小分配到其處理速度相對映的
虛擬機器而這優化技術就是將同一台實體機內的虛擬機器重新分配由於此
優化技術並不會影響Communication locality所以這部份並沒有在此實驗探討
圖十四(a)圖十四(b)顯示未使用優化技術的Best fit和Priority的MapReduce
完成時間雖然比Hadoop的方法好但是其Reduce phase完成時間上慢了一些
並且可以看出此優化技術並不會影響到Map phase主要影響的是在Reduce階
段在Reduce階段的完成時間上利用優化技術可以將Reduce階段時間縮短其13
32
Chapter 6 Conclusions and Future Works
目前 Hadoop 資料處理的環境還是應用在群集內節點效能是相同的情況下
如果是異構性環境可能就無法這麼有效率的處理本篇論文提出了兩個方法
動態資料切割和虛擬機對映以及一個優化技術 Loading aware virtual machine
mapping模擬實驗結果表明透過本篇方法來得比 Hadoop 縮短 41的時間以
及最多節省 Communication Locality 約莫 33尤其在異構性越高的環境以及
一台實體機器架設的虛擬機器數量越多改善的效果越明顯另外 Loading
aware virtual machine mapping 優化技術改善了 Reduce phase 的完成時間約莫
13
在未來研究上可以朝著動態調整 Reducer 數量的方向前進當固定大小的
資料上其實有時候過多的節點去運算消耗了大量的運算資源卻只得到一些
秒數的縮短如何利用適當的運算資源來得到最大的利益這是相當重要的議
題由於此實驗都是屬於模擬實驗希望在未來可以實際架設在機器上運行
透過 Benchmark得到真正的數據
33
Reference
1 Masato Asahara Shinji Nakadai and Takuya Araki ldquoLoadAtomizer A
Locality and IO Load aware Task Scheduler for MapReducerdquo in 4th IEEE
International Conference on Cloud Computing Technology and Science
(CloudCom) pp 317-324 2012
2 Paul Barham Boris Dragovic Keir Fraser Steven Hand Tim Harris Alex
Ho Rolf Neugebauer Ian Pratt and Andrew Warfield ldquoXen and the Art of
Virtualizationrdquo SOSP 03 Proceedings of the nineteenth ACM symposium
on Operating systems principles vol 37 Issue 5 pp 164-177 December
2003
3 Xiangping Bu Jia Rao and Cheng Zhong Xu ldquoInterference and
Locality-Aware Task Scheduling for MapReduce Applications in Virtual
Clustersrdquo Proceeding HPDC 13 Proceedings of the 22nd international
sym-posium on High-performance parallel and distributed computing pp
227-238 2013
4 Kasim Selcuk Candan Jong Wook Kim Parth Nagarkar Mithila Nagendra
and Ren-wei Yu ldquoScalable Multimedia Data Processing in Server Clustersrdquo
IEEE MultiMedia pp 3-5 2010
5 Fay Chang Jeffrey Dean Sanjay Ghemawat Wilson C Hsieh Deborah A
Wallach Mike Burrws Tushar Chandra Andrew Fikes and Robert EGruber
ldquoBigtable A Distributed Storage System for Structured Datardquo 7th UENIX
Symposium on Operating Systems Design and Implementation pp 205-218
2006
6 P C Chen Y L Su J B Chang and C K Shieh ldquoVariable-Sized Map and
Locality-Aware Reduce on Public-Resource Gridsrdquo in Proceedings
Conference Grid and Pervasive Computing (GPC 2010) pp 234-243 2010
May
7 Q Chen D Zhang M Guo Q Deng and S Guo ldquoSamr A self adaptive
mapreduce scheduling algorithm in heterogeneous environmentrdquo in 10th
IEEE International Conference on Computer and Information Technology
CIT rsquo10 (Washington DC USA) pp 2736ndash2743 2010
8 Jeffrey Dean and Sanjay Ghemawat ldquoMapReduce Simplified Data
Processing on Large Clustersrdquo Communications of the ACM vol 51 no 1
pp 107ndash113 2008
9 Yuanquan Fan Weiguo Wu Haijun Cao Huo Zhu Xu Zhao and Wei Wei
34
ldquoA heterogeneity-aware data distribution and rebalance method in Hadoop
clusterrdquo 2012 Seventh ChinaGrid Annual Conference pp 176-181 2012
10 Zacharia Fadika Elif Dede Jessica Hartog and Madhusudhan Govindaraju
ldquoMARLA MapReduce for Heterogeneous Clustersrdquo in 12th IEEEACM
International Symposium on Cluster Cloud and Grid Computing pp 49-56
2012
11 Sanjay Ghemawat Howard Gobioff and ShunTak Leung ldquoThe Google file
systemrdquo In Proceedings of 19th Symposium on Operating Systems
Principles pp 29-43 2003
12 Sven Groot ldquoJumbo Beyond MapReduce for Workload Balancingrdquo Fuzzy
Systems and Knowledge Discovery (FSKD) 2011 Eighth International
Conference on Cloud Computing Technology and Science vol 4 pp
2675-2678 2011 July
13 B Gufler N Augsten A Reiser and A Kemper ldquoHandling Data Skew in
MapReducerdquo in Proceedings of CLOSER pp 574ndash583 2011
14 Mohammad Hammoud and Majd F Sakr ldquoLocality-Aware Reduce Task
Scheduling for MapReducerdquo Third IEEE International Conference on
Cloud Computing Technology and Science pp 570-576 2011
15 C He Y Lu and D Swanson ldquoMatch-making A New MapReduce
Scheduling Techniquerdquo IEEE Third International Conference on Cloud
Computing Technology and Science (CloudCom) pp 40ndash47 2011
16 Hung Chang Hsiao Huesh Yi Chung Haiying Shen and Yu Chang
ChaoldquoLoad Re-balancing for Distributed File Systems in Cloudsrdquo IEEE
Trans on Parallel and Distributed Systems vol24 pp 951-962 2012
17 Shadi Ibrahim Hai Jin Lu Lu Song Wu Bingsheng He and Li Qi ldquoLEEN
LocalityFairness Aware Key Partitioning for MapReduce in the Cloudrdquo
2010 IEEE Second International Conference on Cloud Computing
Technology and Science (CloudCom) pp 17ndash24 2010
18 S Ibrahim H Jin L Lu L Qi S Wu and X Shi ldquoEvaluating MapReduce
on Virtual Machines The Hadoop Caserdquo Proceedings Conference Cloud
Computing (CloudCom 2009) Springer LNCS pp 519-528 2009 Dec
19 C Jin and R Buyya ldquoMapreduce programming model for net-based cloud
computingrdquo in Proceedings of the 15th International Euro-Par Conference
on Parallel Processing Euro-Par (Berlin Heidelberg) pp 417ndash428 2009
20 R Nanduri N Maheshwari A Reddyraja and V Varma ldquoJob aware
scheduling algorithm for Mapreduce frameworkrdquo in 3rd International
Conference on Cloud Computing Technology and Science
CLOUDCOM rsquo11 (Washington DC USA) pp 724ndash729 2011
35
21 Andrew J Page and Thomas J Naughton ldquoDynamic task scheduling using
genetic algorithms for heterogeneous distributed computingrdquo in 19th IEEE
International Parallel and Distributed Processing Symposium pp 189a
2005 April
22 Xiaoyu Sun Chen He and Ying Lu ldquoESAMR An Enhanced Self-Adaptive
MapReduce Scheduling Algorithmrdquo 2012 IEEE 18th International
Conference on Parallel and Distributed Systems pp 148-155 2012
23 Chao Tian Haojie Zhou Yongqiang He and Li Zha ldquoA Dynamic
MapReduce Scheduler for Heterogeneous Workloadsrdquo Eighth International
Conference on Grid and Cooperative Computing pp 218ndash244 2009 Aug
24 Jiong Xie Shu Yin Xiaojun Ruan Zhi-yang Ding Yun Tian James Majors
Adam Manzanares and Xiao Qin ldquoImproving mapreduce performance
through data placement in heterogeneous hadoop clustersrdquo in IPDPS
Workshops pp 1ndash9 2010
25 J Tan X Pan S Kavulya R Gandhi and P Narasimhan ldquoMochi Visual
Log-Analysis Based Tools for Debugging Hadooprdquo USENIX Workshop on
Hot Topics in Cloud Computing (HotCloud) pp 1-5 2009
26 Matei Zaharia Andy Konwinski Anthony D Joseph Randy Katz and Ion
Stoica ldquoImproving MapReduce Performance in Heterogeneous
Environmentsrdquo 8th Symposium on Operating Systems Design and
Implementation pp 29ndash42 2008 Dec
27 X Zhang Z Zhong S Feng B Tu and J Fan ldquoImproving Data locality of
MapReduce by Scheduling in Homogeneous Computing Environmentsrdquo in
9th IEEE International Symposium on Parallel and Distributed Processing
with Applications (ISPA) pp 120-126 2011
28 Apache hadoop Available from httphadoopapacheorg
29 MapReduce with a lot of examples for Mining datasets Available from
httpinfolabstanfordedu~ullmanmmdsbookpdf
Page 10
1
Chapter 1 Introduction
11 Background
網路的發展慢慢的成為人們生活中不可或缺的一部分因而產生許多要處
理的大量資料而這些資料在處理上有些許不同要如何處理這些不同的資料
變成一個很重要的議題因此雲端運算這類專有名詞從而衍生出來而在此
背景之下Google在2003年提出分散式檔案系統架構Google File System(GFS)
[11]2004年提出MapReduce架構 [8]可用來處理大規模的資料處理以及2006
年提出BigTable [5]這是基於Google File System針對資料結構化儲存的分散式系
統
在過去幾十年前個人電腦還沒有這麼普遍的情況下當時的電腦主要還是以
大型主機為主所有的工作都只能透過那一台主機運行既不方便也沒有彈性
因此IBM則在當時開發了一套虛擬機監視器(Virtual Machine Monitor)藉此將
大型主機的資源分割成多個虛擬機器提供給使用者使用這些虛擬機器可以模
擬成多個操作環境進而比一個操作環境來的更有效率現今虛擬化技術 [2]越
來越成熟雲端運算環境透過此技術整合了分散在各處的資源使資源可做一
個統整藉此提供各項的資訊服務
雲端運算(Cloud Computing)簡單來說它不是一個技術而是一個概念希
望可以藉由雲端叢集 [4]透過網際網路來處理在雲端存放的龐大資料而
Google提出的MapReduce架構Map階段的時候將這些龐大資料拆解成許多小
資料再交給雲端叢集的每個節點去做運算Reduce在讓每個節點將運算後的
結果進行整合再回傳給使用者這樣的方式由原本只能單一處理變成平行
處理進而加快了處理速度
2
Google雖然提出了多個雲端運算的技術但是並沒有開放原始碼出來使
得企業們受到局限直到Apache開發出Hadoop平台 [25]企業或使用者才可以
自己研發相關的MapReduce技術 [18][19][20]不再被受到限制MapReduce技
術具有高容錯性資源使用率高平行處理使得它在企業界備受青睞
12 Motivation
在一個大的群集裡原型的MapReduce會將進來的資料切割成固定大小
主要節點會將這些資料分散給各節點去做運算但是如果在異構性環境
[21][23]就無法根據機器的處理速度動態的分配資料給相對映的機器去做運
算在Map階段節點處理速度相同的情況下每個節點完成的時間會大致相同
但是在節點處理速度不盡相同的情況下完成的時間彼此不一樣則會造成最
先處理好的機器得等待處理速度較慢的節點完成因而拖累完成時間而在
Reduce階段則考慮到Communication locality的問題Communication locality是
指說Reducer在此節點運算的時候所能節省的溝通成本(意指不用到遠端節點
取資料的溝通成本)原始的MapReduce在挑選機器的時候是有機器就拿去
做運算而沒考慮此問題
13 Contribution
本論文針對以上的敘述做了改進首先測試每台機器的運算效能在Map
階段的時候根據節點的運算效能來決定負責的運算量進而達到平均完成時間
相近在Reduce階段評估Communication locality再根據Communication locality
來決定Reducer要選擇在哪台機器使其節省更多的Communication locality最
後透過Loading Aware Virtual Machine Mapping來改善Reduce階段的完成時間
3
14 Organization
本論文研究探討在異構性環境下每個節點運算效能不一致的情況下為了
要避免MapReduce運算所造成校能不佳的情況動態的調整Map mapping以及
Reducer mapping
本論文章節介紹如下第一章緒論簡述雲端運算的研究背景及研究動機與
目的以此為基礎第二章相關研究介紹前人所提出的MapReduce改善方法
第三章Preliminary介紹HadoopMapRedcue的流程以及定義異構性環境第四
章演算法介紹MapReduce的各階段流程以及介紹本篇論文所提出的動態資料
切割和虛擬機對映兩種技術的流程另外提出了一個優化技術第五章性能分
析透過實驗模擬的結果將其結果分析與比較最後第六章為結論以及未來
可以繼續研究的方向
4
Chapter 2 Related Works
MapReduce 是目前非常流行的分散式運算的架構主要是透過網際網路來處
理在雲端上儲存的大量資料將要執行的 MapReduce 程式複製到 Master node 以
及各個WorkerMaster node會決定要給哪台Worker去執行Map程式或者Reduce
程式透過 Map 程式將資料切成許多區塊經過 Map 階段產生出 Key Value
將此 Key Value 存儲在 Local disc然後經過 Shuffle(將相同屬性的 key 排序在
一起)而 Reduce 程式將這些 Shuffle 後的結果進行整合最後再將結果產生出
來由於 MapReduce 一開始主要是在節點效能大致相同的情況下去執行對於
節點效能不一致的情況 (也就是所謂的異構性環境)導致會有一些效能不盡理
想的狀態出現 [10]並且隨著虛擬技術的成熟虛擬機器可以將實體機資源
更有效的利用慢慢的開始以虛擬機器作為 Cluster而且MapReduce 在以虛
擬機器建立起的異構性環境之下對於 IO 負載不平衡 [12][13][16]以及任務排
程 [1][6][15]不平均的部份目前已經有許多相關文獻在探討此方面
21 Homogeneous Environment
由 Shadi Ibrahim 等人在 2010 年時所提 LEEN [17]的方法在 Map 階段因
為原始的 MapReduce 架構沒有考慮資料的內容盲目的以資料數量區分導致
Shuffle 階段時會出現分配不平均的現象為了改善此部份LEEN 將每筆資料
計算出 Fairness Score 後根據 Locality [3][27]概念分析與比較將資料適當地放
在各個節點上達到平均分配的效果透過這樣的想法我們將此概念延伸到
Reducer 挑選機器是根據 Communication locality而不是盲目的去選擇有空的
Worker
5
MapReduce是主從式架構具有樹狀網路分佈的結構節點分布在不同的主
機上或者可能在不同的資料中心的主機上則兩個節點要溝通的話則需要
透過網路而頻寬會影響之間傳輸的速度在MapReduce的Worker接受到Master
的要求從而排程Map和ReduceHadoop企圖排程將比較靠近的資料做Map
tasks以避免在網路上增加過多的overhead至於Reduce tasks則沒有考慮到此部
份因此在進行shuffle的時候不必要的資料在網路上可能會降低校能遙遠
的節點資料傳送已經成為一個瓶頸而Mohammad Hammoud等人在2011提出
的論文著重在Reduce任務的部分透過網路位置做分區來做排程因此形成
了LARTS 的策略 [14]而且還觀察到MapReduce在Map Tasks完成後進行
shuffling的動作此步驟是用交錯的方式先前的方法在Shuffling這個動作的
時候使MapReduce的性能提高但是卻增加了網路的負載而LARTS保持了
此Shuffling的優勢還減少了網路的負載但是此篇論文著重在Reduce task的
部份至於Map task的部份並未做優化的部份
22 Heterogeneity Environment
Hadoop原先假設在節點相同的環境下運行但是實際上環境內的節點並
不是每次都是一致的當Hadoop運行在異構性環境對於性能上是有很大的落
差由Matei Zaharia等人提出的LATE (Longest Approximate Time to End) [26]針
對其任務的排程上做改良重新設計了一個新的Speculative task會估算完成時
間根據完成時間在去調整任務上的分配雖然對回應時間有點影響但是
整體性能明顯的比Hadoop改善很多而Quan Chen等人在2010年所提出的SAMR
(Self-adaptive MapReduce Scheduling Algorithm) [7]自動適應MapReduce的調動
排程主要是計算任務進度根據歷史資料動態調整Map任務以及Reduce任務
並且可以識別在節點上執行較慢的任務將其任務不做備份工作使其完成時
6
間可以降低在 2012年由Xiaoyu Sun等人提出的 ESAMR (An Enhanced
Self-Adaptive MapReduce Scheduling Algorithm) [22]增強自適應MapReduce的調
度算法以提高Speculative task在SAMR識別慢任務可能不是這麼準確但
是在ESMAR裡它們使用集群演算法轉化改進了這一部分使其識別慢任
務達到一定的準確ESAMR研究結果的誤判率明顯降低
由於Hadoop在異構性環境會造成資料分配不平均的現象所以由
Yuanquan Fan等人提出了在Map階段重新平衡資料分配的方法 [9]而此篇論文
平衡的方法有兩種(1) 根據性能來分配-主要是分成不同大小的資料區塊首先
將每個節點進行性能評估然後資料切成不同大小根據節點的計算能力來分
配相對應的節點(2) 資料動態搬遷-儘管不同大小的資料被分配在每一個節點
上再來估算任務完成時間將執行最慢的任務的部份資料轉移到執行最快的節
點有些任務可能會隨著時間的關係或者網路的關係慢慢延後所以將這些延
後的資料轉移給其他節點去運算其缺點就是資料的搬移時間和成本並沒考慮至
其中以及Reduce phase階段可能因為資料搬移的情況導致Reduce phase的
Communication overhead變重
傳統的 MapReduce 架構是考慮每台機器的規格都相同所以資料平均分
配後所處理完成的時間也都會是一樣在雲端運算環境中往往都是數百台或
著上千上萬台機器在同時運算機器的規格也不盡相同因此 Jiong Xie 等人在
2010 年所提出的 Data Placement [10]的方法將每個電腦區分出 3 個等級分別
是 FastestAverage 及 Slowest不同的等級取得運算資料份量也不同並建立一
張表紀錄目前有哪些機器處於忙碌壅塞狀態有那些機器處於閒置狀態並且
將忙碌的機器的資料分出 3 個等級平均分配資料直至平均為止使得每台
機器資源利用率是相近的雖然這樣的動機很好但是對於資料遷移所花的
時間以及成本是沒考慮的
根據上述研究不足的地方我們提出了MapReduce在異構性環境裡在Map
7
階段將資料切割成不固定大小依據節點能力的不同做出適當的配置在
Reduce階段根據Communication locality 找出適合在哪一台機器上執行最
後再透過優化技術把本篇論文方法的執行時間縮短一些
8
Chapter 3 Preliminary
31 Hadoop
Hadoop架構是由Apache所開發的開放原始碼提供了一個分散式系統的基
本架構Hadoop雲端運算技術主要由三個主要架構所組成 Hadoop Distributes
File System (HDFS)分散式檔案系統Hadoop Database (HBase)分散式資料庫以及
Hadoop MapReduce分散式平行運算以下一一敘述
HDFS (Hadoop File system) 是根據Google提出的GFS(Google File System)所
延伸的主要就是將各個節點連結起來將這些節點組成一個大型的分散式檔案
系統可以有效的處理大量檔案並提供安全的儲存環境以及可以避免因為單一
的硬體發生異常而影響整個系統
而HDFS為了維護資料的一致性當使用者將資料存進去HDFS就不能去
更動或修改HDFS會將要儲存的資料複製副本分散儲存在各個不同的節點
所以當儲存資料的節點發生異常可藉由其他節點來復原
HBase (Hadoop Database)類似Google BigtableHBase架構在Hadoop HDFS
上的分散式資料庫與ㄧ般關聯式資料庫不同HBase使用列和行為索引存取資
料值以及每一筆資料都有一個時間戳記因此同一個欄位可以因為時間的不同
而存在多筆資料
HBase專門用來處理大規模的資料是由HMasrter以及HRegion組成一台
HMaster管理多部HRegion ServerHMaster負責監控與管理HRegion Server系統狀
態而HRegion Server利用記憶體存取快速的優點可以加速資料讀寫的動作
所以會先將資料存放在記憶體內之後再將資料存回HDFS
9
32 MapReduce
雲端運算最重要的關鍵即是MapReduce使用MapReduce模式將一個大問
題先讓程式開發人員分析問題將問題切割成許多小問題在將此小問題平行
分散給各個Mapper當Mapper處理完的結果在傳送到相對映的Reducer去做運
算Reducer將這些結果進行合併在把合併的結果輸出
Split 0
Split 1
Split 2
Mapper
Mapper
Mapper
Reducer
Reducer
Partition 0
Partition 1
Partition 0
Partition 1
Partition 0
Partition 1
Output
File0
Output
File1
Input
File
Master
User
Map
Phase
Intermediate file
(on local disks)
Reduce
PhaseOutput
File
圖一 MapReduce的運作流程圖
如圖一即為MapReduce流程圖
1 將輸入的資料切割成固定大小
2 將要執行的MapReduce程式複製到Master與每一台Worker
3 Master會挑選閒置的Worker當Mapper或Reducer
4 Mapper會從切割好的資料讀取相對映的資料會產生Key Value會先暫
存在記憶體內再週期性的傳送到Local Disc
5 執行Reducer程式的Worker讀取每一個Mapper的結果並進行排序以及彙
整再將整合的結果輸出
10
33 Heterogeneous Classification
MapReduce 在異構性環境下執行已經是越來越多人討論的議題如何將
每個節點分級也有相當多的Benchmark可以做測試本篇論文採用的Benchmark
為 Hardinfo透過虛擬機器去做測試
表一 Hardinfo benchmark
如表一1_2 前面的數字代表核心數目後面的數字代表 Memory 有多少
GB而這個 Hardinfo 本身內含有許多測試的軟件我們測了兩個實驗CPU
Blowfish 以及 CPU CryptoHash這兩個都是跟加密有關的CPU Blowfish 運行
在單核心以及四核心的虛擬機器上所花費的秒數兩個相差了 5 倍因此我
們定義異構性等級為 1 到 5也就是所謂的高異構性環境CPU CryptoHash 運行
在單核心以及四核心的虛擬機器上每秒能壓縮的資料相差了三倍因此我
們定義異構性等級為 1 到 3也就是所謂的高異構性環境我們之後的實驗根
據這兩個異構性等級做參數
11
Chapter 4 Dynamic Data Partitioning and Locality
Aware Virtual Machine Mapping
原始的 Hadoop 在同質性環境執行 MapReduce 程式每個節點運算能力大
致相同所以在 Map 階段並不會有互相等待的結果發生但是在異構性的
環境之下每個節點的 Worker 彼此之間運算速度不同導致先完成的必須得
等速度較慢的節點完成因而執行時間變長而在 Reduce 階段沒有考慮
Communication Locality 的問題即使是用虛擬機架設的環境也是一樣所以
隱藏著一些 Communication overhead 的問題本篇論文主要探討此兩問題
圖二 整體方法流程圖
如圖二所示將資料從 HDFS 讀取進來因為每個節點不能去從其他節點讀
取資料來做因此只能將自己節點資料作完等待其他節點完成後才可繼續
執性 Reduce 階段因此在 Map mpping 階段是根據節點內部的虛擬機性能來
決定節點內部資料的分配而不是固定資料大小丟給效能不一致的虛擬機器來做
12
運算在 Reduce mapping 階段是根據 Locality aware 來選擇機器選擇節省成本
最多的機器以及最後有個節點內部動態調整機制為了減少Reducer完成的時間
41 動態資料切割
在同質性環境 (即為每個節點設備大致相同)運行MapReduce當Worker
完成Map階段任務必須等待其他Worker完成才能進行下一個動作因為每台
節點運算能力大致相同所以當執行Map階段結束後每台節點完成時間是大
致相同的而在異構環境下 (每個節點設備不盡相同則會產生出一個問題在
運算效能不一致的情況會造成在Map程式執行完成的時間變長因為當資料相
同可是每個節點運算能力不一樣就會彼此互相牽制為了要避免此情況發生
所以本篇論文用動態資料切割的方法來解決此問題
圖三 根據節點能力分配相對應大小的資料
動態資料切割的方法得先知道每個Worker的運算能力根據運算能力動
態切割資料大小如圖三所示每個節點運算能力較好的Worker就分配到資料
較多的Partition去做處理而運算能力較差的Worker就分配到較少的Partition使
得每個節點內部的Worker完成時間接近就不會有處理速度比較快的節點完成後
13
必須要等待處理速度比較慢的節點而資料分配方式就是根據Performance
也就是前面所提到的異構性等級的數值相加起來 (Worker處理速度越快則等級
越高)將要處理的資料以及總數值相除會得到一個平均值這個平均值去乘
上等級也就是Worker要處理的資料量
42 Locality Aware Virtual Machine Mapping
由於虛擬機的使用可以充分利用資源所以現在一台實體機可架設多
台虛擬機所以同一台實體機內部有兩台虛擬機當這兩台互相交換資料的
時候其實網路的負載是很低的但是如果是兩台實體機交換資料網路的負
載會變很高在執行Map階段之後資料都儲存在Local disk裡Reducer要怎麼
選擇機器使得Communication locality節省更多而這個即是本篇論文要探討的
第二個問題
421 Best Fit
本篇論文提出了一個 Best Fit 方法這個方法的概念是讓 Reducer 選擇在哪
一台節點上運行使其 Communication locality 節省最多接下來在找出節點內
Performance 最好的 Worker 來當 Reducer而不是像 Hadoop 的 MapReduce 是照
順序去分配這樣的選擇方式是因為節點與節點之間資料傳遞的Communication
overhead 是相當大的而節點內部之間的 Communication overhead相較起來小
很多而讓 Communication locality 節省越多也可以讓 Communication overhead
降低
14
圖四 Best Fit挑選機器流程
1 如圖四所示假設一台實體機上(P1)架設兩台虛擬機(v1v2)根據虛擬
機的運算能力分配相對映的資料量v1即為25單位v2即為22單位以此類
推
2 執行Map程式產生出k值因為有三台Reducer(R1R2R3)所以產生出
3個k值v1虛擬機的k1值為7k2值為10k3值為8而這v1的所有k值相加即為
v1所負責的資料量v1虛擬機k1值為10k2值為9k3值為3而這v2的所有k值
相加為v2所負責的資料量v3也是一樣
3 先從R1要挑選哪台VM開始首先把每個VM所產生出的k1值相加得到一個
總和即為57單位底下看到有三個數值第一個數值即為R1如果在P1這
台機器上運行的話所耗費的遠端溝通成本(要到P2P3取資料的溝通成本)
則第二個數值即為R2在P2這台機器上運行的話所耗費的遠端溝通成本
第三個也是
4 把總共要處理的資料減掉到遠端耗費的溝通成本會得到一個數值即為
15
Communication localityR1如果選擇P1機器運行則Communication locality
為17單位R1如果選擇P2機器運行則Communication locality為18單位R1
如果選擇P3機器運行則Communication locality為22單位R1挑選最多的
Communication locality的機器來運行所以R1選擇P3機器來做運算
5 R1選擇P3實體機而P3實體機有2台虛擬機所以在根據虛擬機的運算能力
先挑選運算能力好的來做為R1
6 如果節點的虛擬機都被挑選完就選第二順位的節點
原始的HadoopR1挑選v1而R2挑選v2照順序的挑選所以沒有考慮到溝
通成本則本篇論文Best fit是根據Communication locality來挑選機器但是
可能在某ㄧ些情況可能不夠完善
圖五 Best Fit 挑選機器的不完善
如圖五所示當Communication locality可以選擇很高的節點卻因為前面的
Reducer把節點內部的Worker挑選完了所以逼不得已只能挑選第二順位的節
點可是這個Communication locality遠遠低於前面Reducer挑選的節點導致整體
的Communication locality大幅下降因此422 Priority即為改善的方法
16
422 Priority
為了確保每個Reducer都能挑選Communication locality最高的機器因此
此章節做了改善
1 在Reducer在挑選機器之前先判斷Reducer哪台要先下去做挑選
2 將每台Reducer最高的Communication locality的跟第二高的相減會得到一個
Difference locality在利用Difference locality下去做排序由大到小
3 Difference locality越大的代表那台Reducer要優先做挑選所以就從
Difference locality越大的挑選到Difference locality最小的
圖六 Priority挑選機器流程
1 如圖六所示R1總共的Data block為57單位R2為42單位R3為41單位經過
Shuffle階段之後
2 R1如果選擇P1這台機器能節省的Communication locality就是17單位R1如果選
擇P2這台機器能節省的Communication locality就是18單位R3如果選擇P2這台
機器能節省的Communication locality就是22單位
3 根據Communication locality將第一高的減掉第二高的會得到一個Difference
17
locality
4 根據此Difference locality排出哪個Reducer要先選取機器此例子的順序為
R2再來R3再來R1而Best Fit就是R1再來R2再來R3
Priority可以避免前面的Reducer把機器挑選完迫使只能選擇第二高的
Communication locality使這樣大幅降低的情況給消除而Best fit和Priority這兩
種方法大幅提高了Communication locality的狀況可是卻也導致了Reduce階段
的完成時間變長所以下章節主要敘述將Reduce階段完成時間優化
43 Loading Aware Virtual Machine Mapping
上述的兩種方法Best fitPriority都是為了降低節點彼此之間的溝通成本
但是卻引發了一個問題Reducer執行完成的時間比原始Hadoop還來得長為
了解決此問題本篇論文在這章節提出優化的方法前面兩種方法是根據節點
的Communication locality來決定要在哪一台Worker做運算當決定好Worker
的時候Reducer會先將運算能力較好的虛擬機器拿去做運算這樣使得運算較
快的機器並不會對映到運算較複雜的資料使得較早完成的機器還是得等候還沒
做好的機器造成時間上的延長所以本篇論文針對此部份做優化
圖七 Reducer對應到其相對效率的Worker
18
如圖七所示當Reducer都挑選好要在哪台實體機做在開始執行Reduce程
式之前我們根據要處理的資料量來分配相對映的機器而這虛擬機的交換
並不會影響到Communication locality因為都是在同一台實體機架設的虛擬機
器做交換
19
Chapter 5 Performance Analysis
本實驗以模擬的方式進行利用 C 語言程式撰寫可設定節點數量節點
裡的 Worker 數量資料大小異構性環境低 (h = 1-3)或高 (h = 1-5)透過模擬
的實驗數據分析基於 Hadoop 的 MapReduce 以及本篇論文透過 Map mapping
和 Reduce mapping 的方式進而改善原始 MapReduce 所造成的缺點
51 Communication Locality
本模擬實驗主要探討的是 Communication Locality圖八(a)和圖八(b)模擬環
境為低異構性圖八(c)和圖八(d)為高異構性環境固定每台實體機架設 2 台以
及 5 台虛擬機器固定 Worker 總數量分別為 102030要處理的資料為 900G
Communication locality(vm = 2 h = 1-3)
0
50
100
150
200
250
300
10 20 30
Number of vm
Dat
a lo
cali
ty
Hadoop
Best Fit
Priority
(a)
20
Communication locality(vm = 5 h = 1-3)
0
100
200
300
400
500
600
10 20 30Number of vm
Dat
a lo
cali
ty
Hadoop
Best Fit
Priority
(b)
Communcation Locality(vm = 2 h = 1-5)
0
50
100
150
200
250
300
10 20 30Number of vm
Dat
a lo
cali
ty
Hadoop
Best Fit
Priority
(c)
Communcation locality(vm = 5 h = 1-5)
0
100
200
300
400
500
600
10 20 30
Number of vm
Dat
a lo
cali
ty
Hadoop
Best Fit
Priority
(d)
圖八 Communication locality (a) low heterogeneity vm=2 (b) low heterogeneity
vm=5 (c) high heterogeneity vm=2 (d) high heterogeneity vm=5
21
由圖八(a)可看出本篇論文提出的兩個方法在低異構性環境所能節省的
Communication Locality 比原始的 Hadoop 提出的方法最多節省了 33的
Communication Locality圖八 (b)也最多節省了約 12的 Communication
Locality雖然節省在固定架設的虛擬機器為兩台的時候節省比較多但是
兩個實驗節省的 Communication Locality 量卻相差了快 2 倍原因是在於 Map 階
段完成的資料都儲存在 Local disc兩台實體機在交換資料的時候溝通成本是
很高的而建立在同一台實體機的兩台虛擬機器交換資料則溝通成本卻來的低
很多 因此溝通成本量的提高也會被實體機上架設的虛擬機器的多寡來影
響
由圖八(c)所示在高異構性最多可節省 27的 Communication Locality圖
八(d)則為 15的 Communication Locality分別從圖八(a)圖八(c)圖八(b)以及
圖八(d)可以看得出來Best Fit 和 Priority 不會隨著異構性環境的高低溝通成
本量會有大幅度的改變而 Priority 在節省的 Communication Locality 都會比 Best
Fit 都來的多一點因為Priority 可以避免前面的 Reducer 把機器挑選完迫使
只能選擇第二高的Communication location 因此大幅降低的情況給消除
52 Task Execution Time
此節實驗是要探討 Map 以及 Reduce 完成的時間圖九(a)和圖九(b)為低異構
性環境的實驗圖九(c)和圖九(d)為高異構性環境都是固定每台實體機架設 2
台以及 5 台虛擬機器所以固定虛擬機器總數量分別為 102030要處理
的資料為 900G
22
Map completion time(vm = 2 h = 1-3)
0
20
40
60
80
100
10 20 30
Number of vm
Sec
ond
Hadoop
Best Fit amp Priority
(a)
Map completion time(vm = 5 h = 1-3)
0
20
40
60
80
100
10 20 30Number of vm
Sec
ond
Hadoop
Best Fit amp Priority
(b)
Map completion time(vm = 2 h = 1-5)
0
20
40
60
80
100
10 20 30Number of vm
seco
nd
Hadoop
Best Fit amp Priority
(c)
23
Map completion time(vm = 5 h = 1-5)
0
20
40
60
80
100
10 20 30Number of vm
seco
nd
Hadoop
Best Fit amp Priority
(d)
圖九 Map completion time (a) low heterogeneity vm=2 (b) low heterogeneity
vm=5 (c) high heterogeneity vm=2 (d) high heterogeneity vm=5
圖九(a)圖九(b)圖九(c)以及圖九(d)顯示了本論文提出的兩個方法 Best Fit
和 Priority 他們完成的時間是一樣的因為兩個方法的 Map mapping 概念是一樣
的所以完成時間也會一樣在此實驗裡可發現 Best Fit 和 Priority 也會隨著
實體機上的虛擬機器數量增多而完成時間縮短而縮短的時間最多甚至可以達
到 44也可看出本論文的兩個方法在低異構性環境的效能比在高異構性環境
的效能來的較差所以在異構性越高的環境越能看得出 Best Fit 和 Priority
的優勢
24
Reduce completion time(vm = 2 h = 1-3)
0
20
40
60
80
100
120
10 20 30Number of vm
Sec
ond
Hadoop
Best Fit
Priority
(a)
Reduce completion time(vm = 5 h = 1-3)
0
20
40
60
80
100
120
10 20 30Number of vm
Sec
ond
Hadoop
Best Fit
Priority
(b)
Reduce completion time(vm = 2 h = 1-5)
0
20
40
60
80
100
120
10 20 30Number of vm
seco
nd
Hadoop
Best Fit
Priority
(c)
25
Reduce completion time(vm = 5 h = 1-5)
0
20
40
60
80
100
120
10 20 30Number of vm
Sec
ond
Hadoop
Best Fit
Priority
(d)
圖十 Reduce completion time (a) low heterogeneity vm=2 (b) low
heterogeneity vm=5 (c) high heterogeneity vm=2 (d) high heterogeneity vm=5
而在 Reduce 完成時間的方面不像 Map 的完成時間是一樣的因為選
擇 Reducer 的方式不同造成 Best Fit 以及 Priority 時間完成上有些許不同
如圖十(a)所示節省了 14的時間圖十(b)節省了 16的時間圖十(c)
節省了 23圖十(d)節省了 29由圖十(b)以及圖十(d)可見影響 Reduce
階段完成時間最主要的原因是異構性環境的問題當環境的異構性越高其
所節省的時間越多而圖十(c)以及圖十(d)所示一台實體機架設的虛擬機器數
量影響的範圍比較小
26
Total completion time (vm = 2 pm = 5 h = 1-3)
0 50 100 150 200 250
Hadoop
Best Fit
Priority
Met
hod
Second
Map Reduce
(a)
Total completion time(vm = 5 pm = 2 h = 1-3)
0 50 100 150 200
Hadoop
Best Fit
Priority
Met
hod
Second
Map Reduce
(b)
Total completion time(vm = 2 pm = 5 h = 1-5)
0 50 100 150 200 250
Hadoop
Best Fit
Priority
Met
hod
Second
Map Reduce
(c)
27
Total completion time(vm=5 pm = 2 h = 1-5)
0 50 100 150 200
Hadoop
Best Fit
Priority
Second
Met
hod
Map Reduce
(d)
圖十一 Total completion time (a) low heterogeneity vm=2 pm=5 (b) low
heterogeneity vm=5 pm=2 (c) high heterogeneity vm=2 pm=5 (d) high
heterogeneity vm=5 pm=2
由於前面分別是 Map以及 Reduce的完成時間為了想知道Map以及 Reduce
對於 MapReduce 的整體影響我們將前面的 Map 以及 Reduce 的完成時間在
處理資料的節點固定為 10 台 Worker將其做整合
從圖十一(a)圖十一(b)圖十一(c)圖十一(d)顯示 Best Fit 和 Priority 不論
是在低異構性或高異構性環境MapReduce 完成時間都比 Hadoop 的完成時間縮
短很多在低異構性環境最多可縮短到 29的時間在高異構性環境最多可縮
短 41的時間而造成 Hadoop 跟 Best Fit 和 Priority 在時間上差異如此大的原
因主要是在 Map 階段的完成時間因為Best Fit 和 Priority 是根據 Worker 的
效能來決定要處理的資料大小而 Hadoop 就是分配固定大小的資料給 Worker
運算所以在越高的異構性環境其縮短的時間會越明顯
28
Total completion time with different number of vm (h=1-3)
0
20
40
60
80
100
120
vm=2 vm=3 vm=4Number of vm per physical machine
Sec
ond
Hadoop
Best Fit
Priority
(a)
Total completion time with different number of vm (h=1-5)
0
20
40
60
80
100
120
vm=2 vm=3 vm=4Number of vm per physical machine
Sec
ond
Hadoop
Best Fit
Priority
(b)
圖十二 Total completion time with different number of vm (a) low heterogeneity
vm=2 worker=12 (b) high heterogeneity vm=5 worker=12
圖十二(a)是在低異構性環境圖十二(b)是在高異構性環境並且1 台實體
機架設 2 個3 個4 個虛擬機器使 Worker 數量固定 12 台處理的資料量為
600G
這個模擬實驗主要探討的是在一台實體機架設的虛擬機器數量對於
MapReduce 完成時間是否真正有影響圖十二(a)和圖十二(b)更可以顯示出 Best
Fit 和 Priority 在異構性越高的環境裏且一台實體機架設越多虛擬機器來當作
Worker 的時候可以縮短更多的時間前者會縮短 Map 的完成時間後者會縮
29
短 Reduce 的完成時間而 Hadoop 在異構性環境高的時候也有些微的縮短一
些時間
Total completion time with different data size (h=1-5)
0
20
40
60
80
100
120
140
400 600 800 1000 1200
Data
Sec
ond
Hadoop
Best Fit
Priority
圖十三 Total completion time with different data size
在上述的實驗中在同樣的資料大小處理的 Worker 數量越多的時候其
完成時間會縮短很多但是到達一定的數量的時候其縮短時間的效果就很低
所以就做了此實驗因為本篇論文就是要探討異構性的環境選擇高異構性
環境固定 Worker 數量 20 台資料大小由 400G 到 1200G探討資料大小對
MapReduce 以及 Worker 的影響如圖十三顯示出在 600G 以下的時候Map 加
上 Reduce 完成的時間突然靠近起來代表了當資料量越小的時候Best Fit 和
Priority 的方法跟原始的 Hadoop 的方法優勢會越來越少但相反的是當資料
量越大的時候雖然Best Fit 和 Priority 完成時間會增加但是跟 Hadoop 的
完成時間比會更加突顯
30
Total completion time (best fit)
0
10
20
30
40
50
60
70
80
(Without optimization) (Optimization)
Best Fit
Sec
ond
Map Reduce
(a)
Total completion time (priority)
0
10
20
30
40
50
60
70
80
(Without optimization) (Optimization)
Priority
Sec
ond
Map Reduce
(b)
圖十四 Total completion time of loading aware optimization (a) without
optimal (b) with optimization
圖十四(a)未使用優化技術圖十四(b)是使用優化技術同樣都是在高異構
性環境之下並且1 台實體機架設 5 個虛擬機器使 Worker 數量固定 15 台
處理的資料量為 900G
在本篇論文方法的部份有提到Loading Aware Virtual Machine Mapping的優
化技術由於此實驗上面的實驗數據都已經使用優化技術來改善時間因此
此實驗就是要探討這優化技術對於MapReduce完成時間的影響
由於Loading Aware Virtual Machine Mapping此優化技術是變動同一台實體
31
機內部的Reducer使得原本是根據Communication locality來選擇虛擬機器但
是在挑選的過程中並沒有依據處理資料的大小分配到其處理速度相對映的
虛擬機器而這優化技術就是將同一台實體機內的虛擬機器重新分配由於此
優化技術並不會影響Communication locality所以這部份並沒有在此實驗探討
圖十四(a)圖十四(b)顯示未使用優化技術的Best fit和Priority的MapReduce
完成時間雖然比Hadoop的方法好但是其Reduce phase完成時間上慢了一些
並且可以看出此優化技術並不會影響到Map phase主要影響的是在Reduce階
段在Reduce階段的完成時間上利用優化技術可以將Reduce階段時間縮短其13
32
Chapter 6 Conclusions and Future Works
目前 Hadoop 資料處理的環境還是應用在群集內節點效能是相同的情況下
如果是異構性環境可能就無法這麼有效率的處理本篇論文提出了兩個方法
動態資料切割和虛擬機對映以及一個優化技術 Loading aware virtual machine
mapping模擬實驗結果表明透過本篇方法來得比 Hadoop 縮短 41的時間以
及最多節省 Communication Locality 約莫 33尤其在異構性越高的環境以及
一台實體機器架設的虛擬機器數量越多改善的效果越明顯另外 Loading
aware virtual machine mapping 優化技術改善了 Reduce phase 的完成時間約莫
13
在未來研究上可以朝著動態調整 Reducer 數量的方向前進當固定大小的
資料上其實有時候過多的節點去運算消耗了大量的運算資源卻只得到一些
秒數的縮短如何利用適當的運算資源來得到最大的利益這是相當重要的議
題由於此實驗都是屬於模擬實驗希望在未來可以實際架設在機器上運行
透過 Benchmark得到真正的數據
33
Reference
1 Masato Asahara Shinji Nakadai and Takuya Araki ldquoLoadAtomizer A
Locality and IO Load aware Task Scheduler for MapReducerdquo in 4th IEEE
International Conference on Cloud Computing Technology and Science
(CloudCom) pp 317-324 2012
2 Paul Barham Boris Dragovic Keir Fraser Steven Hand Tim Harris Alex
Ho Rolf Neugebauer Ian Pratt and Andrew Warfield ldquoXen and the Art of
Virtualizationrdquo SOSP 03 Proceedings of the nineteenth ACM symposium
on Operating systems principles vol 37 Issue 5 pp 164-177 December
2003
3 Xiangping Bu Jia Rao and Cheng Zhong Xu ldquoInterference and
Locality-Aware Task Scheduling for MapReduce Applications in Virtual
Clustersrdquo Proceeding HPDC 13 Proceedings of the 22nd international
sym-posium on High-performance parallel and distributed computing pp
227-238 2013
4 Kasim Selcuk Candan Jong Wook Kim Parth Nagarkar Mithila Nagendra
and Ren-wei Yu ldquoScalable Multimedia Data Processing in Server Clustersrdquo
IEEE MultiMedia pp 3-5 2010
5 Fay Chang Jeffrey Dean Sanjay Ghemawat Wilson C Hsieh Deborah A
Wallach Mike Burrws Tushar Chandra Andrew Fikes and Robert EGruber
ldquoBigtable A Distributed Storage System for Structured Datardquo 7th UENIX
Symposium on Operating Systems Design and Implementation pp 205-218
2006
6 P C Chen Y L Su J B Chang and C K Shieh ldquoVariable-Sized Map and
Locality-Aware Reduce on Public-Resource Gridsrdquo in Proceedings
Conference Grid and Pervasive Computing (GPC 2010) pp 234-243 2010
May
7 Q Chen D Zhang M Guo Q Deng and S Guo ldquoSamr A self adaptive
mapreduce scheduling algorithm in heterogeneous environmentrdquo in 10th
IEEE International Conference on Computer and Information Technology
CIT rsquo10 (Washington DC USA) pp 2736ndash2743 2010
8 Jeffrey Dean and Sanjay Ghemawat ldquoMapReduce Simplified Data
Processing on Large Clustersrdquo Communications of the ACM vol 51 no 1
pp 107ndash113 2008
9 Yuanquan Fan Weiguo Wu Haijun Cao Huo Zhu Xu Zhao and Wei Wei
34
ldquoA heterogeneity-aware data distribution and rebalance method in Hadoop
clusterrdquo 2012 Seventh ChinaGrid Annual Conference pp 176-181 2012
10 Zacharia Fadika Elif Dede Jessica Hartog and Madhusudhan Govindaraju
ldquoMARLA MapReduce for Heterogeneous Clustersrdquo in 12th IEEEACM
International Symposium on Cluster Cloud and Grid Computing pp 49-56
2012
11 Sanjay Ghemawat Howard Gobioff and ShunTak Leung ldquoThe Google file
systemrdquo In Proceedings of 19th Symposium on Operating Systems
Principles pp 29-43 2003
12 Sven Groot ldquoJumbo Beyond MapReduce for Workload Balancingrdquo Fuzzy
Systems and Knowledge Discovery (FSKD) 2011 Eighth International
Conference on Cloud Computing Technology and Science vol 4 pp
2675-2678 2011 July
13 B Gufler N Augsten A Reiser and A Kemper ldquoHandling Data Skew in
MapReducerdquo in Proceedings of CLOSER pp 574ndash583 2011
14 Mohammad Hammoud and Majd F Sakr ldquoLocality-Aware Reduce Task
Scheduling for MapReducerdquo Third IEEE International Conference on
Cloud Computing Technology and Science pp 570-576 2011
15 C He Y Lu and D Swanson ldquoMatch-making A New MapReduce
Scheduling Techniquerdquo IEEE Third International Conference on Cloud
Computing Technology and Science (CloudCom) pp 40ndash47 2011
16 Hung Chang Hsiao Huesh Yi Chung Haiying Shen and Yu Chang
ChaoldquoLoad Re-balancing for Distributed File Systems in Cloudsrdquo IEEE
Trans on Parallel and Distributed Systems vol24 pp 951-962 2012
17 Shadi Ibrahim Hai Jin Lu Lu Song Wu Bingsheng He and Li Qi ldquoLEEN
LocalityFairness Aware Key Partitioning for MapReduce in the Cloudrdquo
2010 IEEE Second International Conference on Cloud Computing
Technology and Science (CloudCom) pp 17ndash24 2010
18 S Ibrahim H Jin L Lu L Qi S Wu and X Shi ldquoEvaluating MapReduce
on Virtual Machines The Hadoop Caserdquo Proceedings Conference Cloud
Computing (CloudCom 2009) Springer LNCS pp 519-528 2009 Dec
19 C Jin and R Buyya ldquoMapreduce programming model for net-based cloud
computingrdquo in Proceedings of the 15th International Euro-Par Conference
on Parallel Processing Euro-Par (Berlin Heidelberg) pp 417ndash428 2009
20 R Nanduri N Maheshwari A Reddyraja and V Varma ldquoJob aware
scheduling algorithm for Mapreduce frameworkrdquo in 3rd International
Conference on Cloud Computing Technology and Science
CLOUDCOM rsquo11 (Washington DC USA) pp 724ndash729 2011
35
21 Andrew J Page and Thomas J Naughton ldquoDynamic task scheduling using
genetic algorithms for heterogeneous distributed computingrdquo in 19th IEEE
International Parallel and Distributed Processing Symposium pp 189a
2005 April
22 Xiaoyu Sun Chen He and Ying Lu ldquoESAMR An Enhanced Self-Adaptive
MapReduce Scheduling Algorithmrdquo 2012 IEEE 18th International
Conference on Parallel and Distributed Systems pp 148-155 2012
23 Chao Tian Haojie Zhou Yongqiang He and Li Zha ldquoA Dynamic
MapReduce Scheduler for Heterogeneous Workloadsrdquo Eighth International
Conference on Grid and Cooperative Computing pp 218ndash244 2009 Aug
24 Jiong Xie Shu Yin Xiaojun Ruan Zhi-yang Ding Yun Tian James Majors
Adam Manzanares and Xiao Qin ldquoImproving mapreduce performance
through data placement in heterogeneous hadoop clustersrdquo in IPDPS
Workshops pp 1ndash9 2010
25 J Tan X Pan S Kavulya R Gandhi and P Narasimhan ldquoMochi Visual
Log-Analysis Based Tools for Debugging Hadooprdquo USENIX Workshop on
Hot Topics in Cloud Computing (HotCloud) pp 1-5 2009
26 Matei Zaharia Andy Konwinski Anthony D Joseph Randy Katz and Ion
Stoica ldquoImproving MapReduce Performance in Heterogeneous
Environmentsrdquo 8th Symposium on Operating Systems Design and
Implementation pp 29ndash42 2008 Dec
27 X Zhang Z Zhong S Feng B Tu and J Fan ldquoImproving Data locality of
MapReduce by Scheduling in Homogeneous Computing Environmentsrdquo in
9th IEEE International Symposium on Parallel and Distributed Processing
with Applications (ISPA) pp 120-126 2011
28 Apache hadoop Available from httphadoopapacheorg
29 MapReduce with a lot of examples for Mining datasets Available from
httpinfolabstanfordedu~ullmanmmdsbookpdf
Page 11
2
Google雖然提出了多個雲端運算的技術但是並沒有開放原始碼出來使
得企業們受到局限直到Apache開發出Hadoop平台 [25]企業或使用者才可以
自己研發相關的MapReduce技術 [18][19][20]不再被受到限制MapReduce技
術具有高容錯性資源使用率高平行處理使得它在企業界備受青睞
12 Motivation
在一個大的群集裡原型的MapReduce會將進來的資料切割成固定大小
主要節點會將這些資料分散給各節點去做運算但是如果在異構性環境
[21][23]就無法根據機器的處理速度動態的分配資料給相對映的機器去做運
算在Map階段節點處理速度相同的情況下每個節點完成的時間會大致相同
但是在節點處理速度不盡相同的情況下完成的時間彼此不一樣則會造成最
先處理好的機器得等待處理速度較慢的節點完成因而拖累完成時間而在
Reduce階段則考慮到Communication locality的問題Communication locality是
指說Reducer在此節點運算的時候所能節省的溝通成本(意指不用到遠端節點
取資料的溝通成本)原始的MapReduce在挑選機器的時候是有機器就拿去
做運算而沒考慮此問題
13 Contribution
本論文針對以上的敘述做了改進首先測試每台機器的運算效能在Map
階段的時候根據節點的運算效能來決定負責的運算量進而達到平均完成時間
相近在Reduce階段評估Communication locality再根據Communication locality
來決定Reducer要選擇在哪台機器使其節省更多的Communication locality最
後透過Loading Aware Virtual Machine Mapping來改善Reduce階段的完成時間
3
14 Organization
本論文研究探討在異構性環境下每個節點運算效能不一致的情況下為了
要避免MapReduce運算所造成校能不佳的情況動態的調整Map mapping以及
Reducer mapping
本論文章節介紹如下第一章緒論簡述雲端運算的研究背景及研究動機與
目的以此為基礎第二章相關研究介紹前人所提出的MapReduce改善方法
第三章Preliminary介紹HadoopMapRedcue的流程以及定義異構性環境第四
章演算法介紹MapReduce的各階段流程以及介紹本篇論文所提出的動態資料
切割和虛擬機對映兩種技術的流程另外提出了一個優化技術第五章性能分
析透過實驗模擬的結果將其結果分析與比較最後第六章為結論以及未來
可以繼續研究的方向
4
Chapter 2 Related Works
MapReduce 是目前非常流行的分散式運算的架構主要是透過網際網路來處
理在雲端上儲存的大量資料將要執行的 MapReduce 程式複製到 Master node 以
及各個WorkerMaster node會決定要給哪台Worker去執行Map程式或者Reduce
程式透過 Map 程式將資料切成許多區塊經過 Map 階段產生出 Key Value
將此 Key Value 存儲在 Local disc然後經過 Shuffle(將相同屬性的 key 排序在
一起)而 Reduce 程式將這些 Shuffle 後的結果進行整合最後再將結果產生出
來由於 MapReduce 一開始主要是在節點效能大致相同的情況下去執行對於
節點效能不一致的情況 (也就是所謂的異構性環境)導致會有一些效能不盡理
想的狀態出現 [10]並且隨著虛擬技術的成熟虛擬機器可以將實體機資源
更有效的利用慢慢的開始以虛擬機器作為 Cluster而且MapReduce 在以虛
擬機器建立起的異構性環境之下對於 IO 負載不平衡 [12][13][16]以及任務排
程 [1][6][15]不平均的部份目前已經有許多相關文獻在探討此方面
21 Homogeneous Environment
由 Shadi Ibrahim 等人在 2010 年時所提 LEEN [17]的方法在 Map 階段因
為原始的 MapReduce 架構沒有考慮資料的內容盲目的以資料數量區分導致
Shuffle 階段時會出現分配不平均的現象為了改善此部份LEEN 將每筆資料
計算出 Fairness Score 後根據 Locality [3][27]概念分析與比較將資料適當地放
在各個節點上達到平均分配的效果透過這樣的想法我們將此概念延伸到
Reducer 挑選機器是根據 Communication locality而不是盲目的去選擇有空的
Worker
5
MapReduce是主從式架構具有樹狀網路分佈的結構節點分布在不同的主
機上或者可能在不同的資料中心的主機上則兩個節點要溝通的話則需要
透過網路而頻寬會影響之間傳輸的速度在MapReduce的Worker接受到Master
的要求從而排程Map和ReduceHadoop企圖排程將比較靠近的資料做Map
tasks以避免在網路上增加過多的overhead至於Reduce tasks則沒有考慮到此部
份因此在進行shuffle的時候不必要的資料在網路上可能會降低校能遙遠
的節點資料傳送已經成為一個瓶頸而Mohammad Hammoud等人在2011提出
的論文著重在Reduce任務的部分透過網路位置做分區來做排程因此形成
了LARTS 的策略 [14]而且還觀察到MapReduce在Map Tasks完成後進行
shuffling的動作此步驟是用交錯的方式先前的方法在Shuffling這個動作的
時候使MapReduce的性能提高但是卻增加了網路的負載而LARTS保持了
此Shuffling的優勢還減少了網路的負載但是此篇論文著重在Reduce task的
部份至於Map task的部份並未做優化的部份
22 Heterogeneity Environment
Hadoop原先假設在節點相同的環境下運行但是實際上環境內的節點並
不是每次都是一致的當Hadoop運行在異構性環境對於性能上是有很大的落
差由Matei Zaharia等人提出的LATE (Longest Approximate Time to End) [26]針
對其任務的排程上做改良重新設計了一個新的Speculative task會估算完成時
間根據完成時間在去調整任務上的分配雖然對回應時間有點影響但是
整體性能明顯的比Hadoop改善很多而Quan Chen等人在2010年所提出的SAMR
(Self-adaptive MapReduce Scheduling Algorithm) [7]自動適應MapReduce的調動
排程主要是計算任務進度根據歷史資料動態調整Map任務以及Reduce任務
並且可以識別在節點上執行較慢的任務將其任務不做備份工作使其完成時
6
間可以降低在 2012年由Xiaoyu Sun等人提出的 ESAMR (An Enhanced
Self-Adaptive MapReduce Scheduling Algorithm) [22]增強自適應MapReduce的調
度算法以提高Speculative task在SAMR識別慢任務可能不是這麼準確但
是在ESMAR裡它們使用集群演算法轉化改進了這一部分使其識別慢任
務達到一定的準確ESAMR研究結果的誤判率明顯降低
由於Hadoop在異構性環境會造成資料分配不平均的現象所以由
Yuanquan Fan等人提出了在Map階段重新平衡資料分配的方法 [9]而此篇論文
平衡的方法有兩種(1) 根據性能來分配-主要是分成不同大小的資料區塊首先
將每個節點進行性能評估然後資料切成不同大小根據節點的計算能力來分
配相對應的節點(2) 資料動態搬遷-儘管不同大小的資料被分配在每一個節點
上再來估算任務完成時間將執行最慢的任務的部份資料轉移到執行最快的節
點有些任務可能會隨著時間的關係或者網路的關係慢慢延後所以將這些延
後的資料轉移給其他節點去運算其缺點就是資料的搬移時間和成本並沒考慮至
其中以及Reduce phase階段可能因為資料搬移的情況導致Reduce phase的
Communication overhead變重
傳統的 MapReduce 架構是考慮每台機器的規格都相同所以資料平均分
配後所處理完成的時間也都會是一樣在雲端運算環境中往往都是數百台或
著上千上萬台機器在同時運算機器的規格也不盡相同因此 Jiong Xie 等人在
2010 年所提出的 Data Placement [10]的方法將每個電腦區分出 3 個等級分別
是 FastestAverage 及 Slowest不同的等級取得運算資料份量也不同並建立一
張表紀錄目前有哪些機器處於忙碌壅塞狀態有那些機器處於閒置狀態並且
將忙碌的機器的資料分出 3 個等級平均分配資料直至平均為止使得每台
機器資源利用率是相近的雖然這樣的動機很好但是對於資料遷移所花的
時間以及成本是沒考慮的
根據上述研究不足的地方我們提出了MapReduce在異構性環境裡在Map
7
階段將資料切割成不固定大小依據節點能力的不同做出適當的配置在
Reduce階段根據Communication locality 找出適合在哪一台機器上執行最
後再透過優化技術把本篇論文方法的執行時間縮短一些
8
Chapter 3 Preliminary
31 Hadoop
Hadoop架構是由Apache所開發的開放原始碼提供了一個分散式系統的基
本架構Hadoop雲端運算技術主要由三個主要架構所組成 Hadoop Distributes
File System (HDFS)分散式檔案系統Hadoop Database (HBase)分散式資料庫以及
Hadoop MapReduce分散式平行運算以下一一敘述
HDFS (Hadoop File system) 是根據Google提出的GFS(Google File System)所
延伸的主要就是將各個節點連結起來將這些節點組成一個大型的分散式檔案
系統可以有效的處理大量檔案並提供安全的儲存環境以及可以避免因為單一
的硬體發生異常而影響整個系統
而HDFS為了維護資料的一致性當使用者將資料存進去HDFS就不能去
更動或修改HDFS會將要儲存的資料複製副本分散儲存在各個不同的節點
所以當儲存資料的節點發生異常可藉由其他節點來復原
HBase (Hadoop Database)類似Google BigtableHBase架構在Hadoop HDFS
上的分散式資料庫與ㄧ般關聯式資料庫不同HBase使用列和行為索引存取資
料值以及每一筆資料都有一個時間戳記因此同一個欄位可以因為時間的不同
而存在多筆資料
HBase專門用來處理大規模的資料是由HMasrter以及HRegion組成一台
HMaster管理多部HRegion ServerHMaster負責監控與管理HRegion Server系統狀
態而HRegion Server利用記憶體存取快速的優點可以加速資料讀寫的動作
所以會先將資料存放在記憶體內之後再將資料存回HDFS
9
32 MapReduce
雲端運算最重要的關鍵即是MapReduce使用MapReduce模式將一個大問
題先讓程式開發人員分析問題將問題切割成許多小問題在將此小問題平行
分散給各個Mapper當Mapper處理完的結果在傳送到相對映的Reducer去做運
算Reducer將這些結果進行合併在把合併的結果輸出
Split 0
Split 1
Split 2
Mapper
Mapper
Mapper
Reducer
Reducer
Partition 0
Partition 1
Partition 0
Partition 1
Partition 0
Partition 1
Output
File0
Output
File1
Input
File
Master
User
Map
Phase
Intermediate file
(on local disks)
Reduce
PhaseOutput
File
圖一 MapReduce的運作流程圖
如圖一即為MapReduce流程圖
1 將輸入的資料切割成固定大小
2 將要執行的MapReduce程式複製到Master與每一台Worker
3 Master會挑選閒置的Worker當Mapper或Reducer
4 Mapper會從切割好的資料讀取相對映的資料會產生Key Value會先暫
存在記憶體內再週期性的傳送到Local Disc
5 執行Reducer程式的Worker讀取每一個Mapper的結果並進行排序以及彙
整再將整合的結果輸出
10
33 Heterogeneous Classification
MapReduce 在異構性環境下執行已經是越來越多人討論的議題如何將
每個節點分級也有相當多的Benchmark可以做測試本篇論文採用的Benchmark
為 Hardinfo透過虛擬機器去做測試
表一 Hardinfo benchmark
如表一1_2 前面的數字代表核心數目後面的數字代表 Memory 有多少
GB而這個 Hardinfo 本身內含有許多測試的軟件我們測了兩個實驗CPU
Blowfish 以及 CPU CryptoHash這兩個都是跟加密有關的CPU Blowfish 運行
在單核心以及四核心的虛擬機器上所花費的秒數兩個相差了 5 倍因此我
們定義異構性等級為 1 到 5也就是所謂的高異構性環境CPU CryptoHash 運行
在單核心以及四核心的虛擬機器上每秒能壓縮的資料相差了三倍因此我
們定義異構性等級為 1 到 3也就是所謂的高異構性環境我們之後的實驗根
據這兩個異構性等級做參數
11
Chapter 4 Dynamic Data Partitioning and Locality
Aware Virtual Machine Mapping
原始的 Hadoop 在同質性環境執行 MapReduce 程式每個節點運算能力大
致相同所以在 Map 階段並不會有互相等待的結果發生但是在異構性的
環境之下每個節點的 Worker 彼此之間運算速度不同導致先完成的必須得
等速度較慢的節點完成因而執行時間變長而在 Reduce 階段沒有考慮
Communication Locality 的問題即使是用虛擬機架設的環境也是一樣所以
隱藏著一些 Communication overhead 的問題本篇論文主要探討此兩問題
圖二 整體方法流程圖
如圖二所示將資料從 HDFS 讀取進來因為每個節點不能去從其他節點讀
取資料來做因此只能將自己節點資料作完等待其他節點完成後才可繼續
執性 Reduce 階段因此在 Map mpping 階段是根據節點內部的虛擬機性能來
決定節點內部資料的分配而不是固定資料大小丟給效能不一致的虛擬機器來做
12
運算在 Reduce mapping 階段是根據 Locality aware 來選擇機器選擇節省成本
最多的機器以及最後有個節點內部動態調整機制為了減少Reducer完成的時間
41 動態資料切割
在同質性環境 (即為每個節點設備大致相同)運行MapReduce當Worker
完成Map階段任務必須等待其他Worker完成才能進行下一個動作因為每台
節點運算能力大致相同所以當執行Map階段結束後每台節點完成時間是大
致相同的而在異構環境下 (每個節點設備不盡相同則會產生出一個問題在
運算效能不一致的情況會造成在Map程式執行完成的時間變長因為當資料相
同可是每個節點運算能力不一樣就會彼此互相牽制為了要避免此情況發生
所以本篇論文用動態資料切割的方法來解決此問題
圖三 根據節點能力分配相對應大小的資料
動態資料切割的方法得先知道每個Worker的運算能力根據運算能力動
態切割資料大小如圖三所示每個節點運算能力較好的Worker就分配到資料
較多的Partition去做處理而運算能力較差的Worker就分配到較少的Partition使
得每個節點內部的Worker完成時間接近就不會有處理速度比較快的節點完成後
13
必須要等待處理速度比較慢的節點而資料分配方式就是根據Performance
也就是前面所提到的異構性等級的數值相加起來 (Worker處理速度越快則等級
越高)將要處理的資料以及總數值相除會得到一個平均值這個平均值去乘
上等級也就是Worker要處理的資料量
42 Locality Aware Virtual Machine Mapping
由於虛擬機的使用可以充分利用資源所以現在一台實體機可架設多
台虛擬機所以同一台實體機內部有兩台虛擬機當這兩台互相交換資料的
時候其實網路的負載是很低的但是如果是兩台實體機交換資料網路的負
載會變很高在執行Map階段之後資料都儲存在Local disk裡Reducer要怎麼
選擇機器使得Communication locality節省更多而這個即是本篇論文要探討的
第二個問題
421 Best Fit
本篇論文提出了一個 Best Fit 方法這個方法的概念是讓 Reducer 選擇在哪
一台節點上運行使其 Communication locality 節省最多接下來在找出節點內
Performance 最好的 Worker 來當 Reducer而不是像 Hadoop 的 MapReduce 是照
順序去分配這樣的選擇方式是因為節點與節點之間資料傳遞的Communication
overhead 是相當大的而節點內部之間的 Communication overhead相較起來小
很多而讓 Communication locality 節省越多也可以讓 Communication overhead
降低
14
圖四 Best Fit挑選機器流程
1 如圖四所示假設一台實體機上(P1)架設兩台虛擬機(v1v2)根據虛擬
機的運算能力分配相對映的資料量v1即為25單位v2即為22單位以此類
推
2 執行Map程式產生出k值因為有三台Reducer(R1R2R3)所以產生出
3個k值v1虛擬機的k1值為7k2值為10k3值為8而這v1的所有k值相加即為
v1所負責的資料量v1虛擬機k1值為10k2值為9k3值為3而這v2的所有k值
相加為v2所負責的資料量v3也是一樣
3 先從R1要挑選哪台VM開始首先把每個VM所產生出的k1值相加得到一個
總和即為57單位底下看到有三個數值第一個數值即為R1如果在P1這
台機器上運行的話所耗費的遠端溝通成本(要到P2P3取資料的溝通成本)
則第二個數值即為R2在P2這台機器上運行的話所耗費的遠端溝通成本
第三個也是
4 把總共要處理的資料減掉到遠端耗費的溝通成本會得到一個數值即為
15
Communication localityR1如果選擇P1機器運行則Communication locality
為17單位R1如果選擇P2機器運行則Communication locality為18單位R1
如果選擇P3機器運行則Communication locality為22單位R1挑選最多的
Communication locality的機器來運行所以R1選擇P3機器來做運算
5 R1選擇P3實體機而P3實體機有2台虛擬機所以在根據虛擬機的運算能力
先挑選運算能力好的來做為R1
6 如果節點的虛擬機都被挑選完就選第二順位的節點
原始的HadoopR1挑選v1而R2挑選v2照順序的挑選所以沒有考慮到溝
通成本則本篇論文Best fit是根據Communication locality來挑選機器但是
可能在某ㄧ些情況可能不夠完善
圖五 Best Fit 挑選機器的不完善
如圖五所示當Communication locality可以選擇很高的節點卻因為前面的
Reducer把節點內部的Worker挑選完了所以逼不得已只能挑選第二順位的節
點可是這個Communication locality遠遠低於前面Reducer挑選的節點導致整體
的Communication locality大幅下降因此422 Priority即為改善的方法
16
422 Priority
為了確保每個Reducer都能挑選Communication locality最高的機器因此
此章節做了改善
1 在Reducer在挑選機器之前先判斷Reducer哪台要先下去做挑選
2 將每台Reducer最高的Communication locality的跟第二高的相減會得到一個
Difference locality在利用Difference locality下去做排序由大到小
3 Difference locality越大的代表那台Reducer要優先做挑選所以就從
Difference locality越大的挑選到Difference locality最小的
圖六 Priority挑選機器流程
1 如圖六所示R1總共的Data block為57單位R2為42單位R3為41單位經過
Shuffle階段之後
2 R1如果選擇P1這台機器能節省的Communication locality就是17單位R1如果選
擇P2這台機器能節省的Communication locality就是18單位R3如果選擇P2這台
機器能節省的Communication locality就是22單位
3 根據Communication locality將第一高的減掉第二高的會得到一個Difference
17
locality
4 根據此Difference locality排出哪個Reducer要先選取機器此例子的順序為
R2再來R3再來R1而Best Fit就是R1再來R2再來R3
Priority可以避免前面的Reducer把機器挑選完迫使只能選擇第二高的
Communication locality使這樣大幅降低的情況給消除而Best fit和Priority這兩
種方法大幅提高了Communication locality的狀況可是卻也導致了Reduce階段
的完成時間變長所以下章節主要敘述將Reduce階段完成時間優化
43 Loading Aware Virtual Machine Mapping
上述的兩種方法Best fitPriority都是為了降低節點彼此之間的溝通成本
但是卻引發了一個問題Reducer執行完成的時間比原始Hadoop還來得長為
了解決此問題本篇論文在這章節提出優化的方法前面兩種方法是根據節點
的Communication locality來決定要在哪一台Worker做運算當決定好Worker
的時候Reducer會先將運算能力較好的虛擬機器拿去做運算這樣使得運算較
快的機器並不會對映到運算較複雜的資料使得較早完成的機器還是得等候還沒
做好的機器造成時間上的延長所以本篇論文針對此部份做優化
圖七 Reducer對應到其相對效率的Worker
18
如圖七所示當Reducer都挑選好要在哪台實體機做在開始執行Reduce程
式之前我們根據要處理的資料量來分配相對映的機器而這虛擬機的交換
並不會影響到Communication locality因為都是在同一台實體機架設的虛擬機
器做交換
19
Chapter 5 Performance Analysis
本實驗以模擬的方式進行利用 C 語言程式撰寫可設定節點數量節點
裡的 Worker 數量資料大小異構性環境低 (h = 1-3)或高 (h = 1-5)透過模擬
的實驗數據分析基於 Hadoop 的 MapReduce 以及本篇論文透過 Map mapping
和 Reduce mapping 的方式進而改善原始 MapReduce 所造成的缺點
51 Communication Locality
本模擬實驗主要探討的是 Communication Locality圖八(a)和圖八(b)模擬環
境為低異構性圖八(c)和圖八(d)為高異構性環境固定每台實體機架設 2 台以
及 5 台虛擬機器固定 Worker 總數量分別為 102030要處理的資料為 900G
Communication locality(vm = 2 h = 1-3)
0
50
100
150
200
250
300
10 20 30
Number of vm
Dat
a lo
cali
ty
Hadoop
Best Fit
Priority
(a)
20
Communication locality(vm = 5 h = 1-3)
0
100
200
300
400
500
600
10 20 30Number of vm
Dat
a lo
cali
ty
Hadoop
Best Fit
Priority
(b)
Communcation Locality(vm = 2 h = 1-5)
0
50
100
150
200
250
300
10 20 30Number of vm
Dat
a lo
cali
ty
Hadoop
Best Fit
Priority
(c)
Communcation locality(vm = 5 h = 1-5)
0
100
200
300
400
500
600
10 20 30
Number of vm
Dat
a lo
cali
ty
Hadoop
Best Fit
Priority
(d)
圖八 Communication locality (a) low heterogeneity vm=2 (b) low heterogeneity
vm=5 (c) high heterogeneity vm=2 (d) high heterogeneity vm=5
21
由圖八(a)可看出本篇論文提出的兩個方法在低異構性環境所能節省的
Communication Locality 比原始的 Hadoop 提出的方法最多節省了 33的
Communication Locality圖八 (b)也最多節省了約 12的 Communication
Locality雖然節省在固定架設的虛擬機器為兩台的時候節省比較多但是
兩個實驗節省的 Communication Locality 量卻相差了快 2 倍原因是在於 Map 階
段完成的資料都儲存在 Local disc兩台實體機在交換資料的時候溝通成本是
很高的而建立在同一台實體機的兩台虛擬機器交換資料則溝通成本卻來的低
很多 因此溝通成本量的提高也會被實體機上架設的虛擬機器的多寡來影
響
由圖八(c)所示在高異構性最多可節省 27的 Communication Locality圖
八(d)則為 15的 Communication Locality分別從圖八(a)圖八(c)圖八(b)以及
圖八(d)可以看得出來Best Fit 和 Priority 不會隨著異構性環境的高低溝通成
本量會有大幅度的改變而 Priority 在節省的 Communication Locality 都會比 Best
Fit 都來的多一點因為Priority 可以避免前面的 Reducer 把機器挑選完迫使
只能選擇第二高的Communication location 因此大幅降低的情況給消除
52 Task Execution Time
此節實驗是要探討 Map 以及 Reduce 完成的時間圖九(a)和圖九(b)為低異構
性環境的實驗圖九(c)和圖九(d)為高異構性環境都是固定每台實體機架設 2
台以及 5 台虛擬機器所以固定虛擬機器總數量分別為 102030要處理
的資料為 900G
22
Map completion time(vm = 2 h = 1-3)
0
20
40
60
80
100
10 20 30
Number of vm
Sec
ond
Hadoop
Best Fit amp Priority
(a)
Map completion time(vm = 5 h = 1-3)
0
20
40
60
80
100
10 20 30Number of vm
Sec
ond
Hadoop
Best Fit amp Priority
(b)
Map completion time(vm = 2 h = 1-5)
0
20
40
60
80
100
10 20 30Number of vm
seco
nd
Hadoop
Best Fit amp Priority
(c)
23
Map completion time(vm = 5 h = 1-5)
0
20
40
60
80
100
10 20 30Number of vm
seco
nd
Hadoop
Best Fit amp Priority
(d)
圖九 Map completion time (a) low heterogeneity vm=2 (b) low heterogeneity
vm=5 (c) high heterogeneity vm=2 (d) high heterogeneity vm=5
圖九(a)圖九(b)圖九(c)以及圖九(d)顯示了本論文提出的兩個方法 Best Fit
和 Priority 他們完成的時間是一樣的因為兩個方法的 Map mapping 概念是一樣
的所以完成時間也會一樣在此實驗裡可發現 Best Fit 和 Priority 也會隨著
實體機上的虛擬機器數量增多而完成時間縮短而縮短的時間最多甚至可以達
到 44也可看出本論文的兩個方法在低異構性環境的效能比在高異構性環境
的效能來的較差所以在異構性越高的環境越能看得出 Best Fit 和 Priority
的優勢
24
Reduce completion time(vm = 2 h = 1-3)
0
20
40
60
80
100
120
10 20 30Number of vm
Sec
ond
Hadoop
Best Fit
Priority
(a)
Reduce completion time(vm = 5 h = 1-3)
0
20
40
60
80
100
120
10 20 30Number of vm
Sec
ond
Hadoop
Best Fit
Priority
(b)
Reduce completion time(vm = 2 h = 1-5)
0
20
40
60
80
100
120
10 20 30Number of vm
seco
nd
Hadoop
Best Fit
Priority
(c)
25
Reduce completion time(vm = 5 h = 1-5)
0
20
40
60
80
100
120
10 20 30Number of vm
Sec
ond
Hadoop
Best Fit
Priority
(d)
圖十 Reduce completion time (a) low heterogeneity vm=2 (b) low
heterogeneity vm=5 (c) high heterogeneity vm=2 (d) high heterogeneity vm=5
而在 Reduce 完成時間的方面不像 Map 的完成時間是一樣的因為選
擇 Reducer 的方式不同造成 Best Fit 以及 Priority 時間完成上有些許不同
如圖十(a)所示節省了 14的時間圖十(b)節省了 16的時間圖十(c)
節省了 23圖十(d)節省了 29由圖十(b)以及圖十(d)可見影響 Reduce
階段完成時間最主要的原因是異構性環境的問題當環境的異構性越高其
所節省的時間越多而圖十(c)以及圖十(d)所示一台實體機架設的虛擬機器數
量影響的範圍比較小
26
Total completion time (vm = 2 pm = 5 h = 1-3)
0 50 100 150 200 250
Hadoop
Best Fit
Priority
Met
hod
Second
Map Reduce
(a)
Total completion time(vm = 5 pm = 2 h = 1-3)
0 50 100 150 200
Hadoop
Best Fit
Priority
Met
hod
Second
Map Reduce
(b)
Total completion time(vm = 2 pm = 5 h = 1-5)
0 50 100 150 200 250
Hadoop
Best Fit
Priority
Met
hod
Second
Map Reduce
(c)
27
Total completion time(vm=5 pm = 2 h = 1-5)
0 50 100 150 200
Hadoop
Best Fit
Priority
Second
Met
hod
Map Reduce
(d)
圖十一 Total completion time (a) low heterogeneity vm=2 pm=5 (b) low
heterogeneity vm=5 pm=2 (c) high heterogeneity vm=2 pm=5 (d) high
heterogeneity vm=5 pm=2
由於前面分別是 Map以及 Reduce的完成時間為了想知道Map以及 Reduce
對於 MapReduce 的整體影響我們將前面的 Map 以及 Reduce 的完成時間在
處理資料的節點固定為 10 台 Worker將其做整合
從圖十一(a)圖十一(b)圖十一(c)圖十一(d)顯示 Best Fit 和 Priority 不論
是在低異構性或高異構性環境MapReduce 完成時間都比 Hadoop 的完成時間縮
短很多在低異構性環境最多可縮短到 29的時間在高異構性環境最多可縮
短 41的時間而造成 Hadoop 跟 Best Fit 和 Priority 在時間上差異如此大的原
因主要是在 Map 階段的完成時間因為Best Fit 和 Priority 是根據 Worker 的
效能來決定要處理的資料大小而 Hadoop 就是分配固定大小的資料給 Worker
運算所以在越高的異構性環境其縮短的時間會越明顯
28
Total completion time with different number of vm (h=1-3)
0
20
40
60
80
100
120
vm=2 vm=3 vm=4Number of vm per physical machine
Sec
ond
Hadoop
Best Fit
Priority
(a)
Total completion time with different number of vm (h=1-5)
0
20
40
60
80
100
120
vm=2 vm=3 vm=4Number of vm per physical machine
Sec
ond
Hadoop
Best Fit
Priority
(b)
圖十二 Total completion time with different number of vm (a) low heterogeneity
vm=2 worker=12 (b) high heterogeneity vm=5 worker=12
圖十二(a)是在低異構性環境圖十二(b)是在高異構性環境並且1 台實體
機架設 2 個3 個4 個虛擬機器使 Worker 數量固定 12 台處理的資料量為
600G
這個模擬實驗主要探討的是在一台實體機架設的虛擬機器數量對於
MapReduce 完成時間是否真正有影響圖十二(a)和圖十二(b)更可以顯示出 Best
Fit 和 Priority 在異構性越高的環境裏且一台實體機架設越多虛擬機器來當作
Worker 的時候可以縮短更多的時間前者會縮短 Map 的完成時間後者會縮
29
短 Reduce 的完成時間而 Hadoop 在異構性環境高的時候也有些微的縮短一
些時間
Total completion time with different data size (h=1-5)
0
20
40
60
80
100
120
140
400 600 800 1000 1200
Data
Sec
ond
Hadoop
Best Fit
Priority
圖十三 Total completion time with different data size
在上述的實驗中在同樣的資料大小處理的 Worker 數量越多的時候其
完成時間會縮短很多但是到達一定的數量的時候其縮短時間的效果就很低
所以就做了此實驗因為本篇論文就是要探討異構性的環境選擇高異構性
環境固定 Worker 數量 20 台資料大小由 400G 到 1200G探討資料大小對
MapReduce 以及 Worker 的影響如圖十三顯示出在 600G 以下的時候Map 加
上 Reduce 完成的時間突然靠近起來代表了當資料量越小的時候Best Fit 和
Priority 的方法跟原始的 Hadoop 的方法優勢會越來越少但相反的是當資料
量越大的時候雖然Best Fit 和 Priority 完成時間會增加但是跟 Hadoop 的
完成時間比會更加突顯
30
Total completion time (best fit)
0
10
20
30
40
50
60
70
80
(Without optimization) (Optimization)
Best Fit
Sec
ond
Map Reduce
(a)
Total completion time (priority)
0
10
20
30
40
50
60
70
80
(Without optimization) (Optimization)
Priority
Sec
ond
Map Reduce
(b)
圖十四 Total completion time of loading aware optimization (a) without
optimal (b) with optimization
圖十四(a)未使用優化技術圖十四(b)是使用優化技術同樣都是在高異構
性環境之下並且1 台實體機架設 5 個虛擬機器使 Worker 數量固定 15 台
處理的資料量為 900G
在本篇論文方法的部份有提到Loading Aware Virtual Machine Mapping的優
化技術由於此實驗上面的實驗數據都已經使用優化技術來改善時間因此
此實驗就是要探討這優化技術對於MapReduce完成時間的影響
由於Loading Aware Virtual Machine Mapping此優化技術是變動同一台實體
31
機內部的Reducer使得原本是根據Communication locality來選擇虛擬機器但
是在挑選的過程中並沒有依據處理資料的大小分配到其處理速度相對映的
虛擬機器而這優化技術就是將同一台實體機內的虛擬機器重新分配由於此
優化技術並不會影響Communication locality所以這部份並沒有在此實驗探討
圖十四(a)圖十四(b)顯示未使用優化技術的Best fit和Priority的MapReduce
完成時間雖然比Hadoop的方法好但是其Reduce phase完成時間上慢了一些
並且可以看出此優化技術並不會影響到Map phase主要影響的是在Reduce階
段在Reduce階段的完成時間上利用優化技術可以將Reduce階段時間縮短其13
32
Chapter 6 Conclusions and Future Works
目前 Hadoop 資料處理的環境還是應用在群集內節點效能是相同的情況下
如果是異構性環境可能就無法這麼有效率的處理本篇論文提出了兩個方法
動態資料切割和虛擬機對映以及一個優化技術 Loading aware virtual machine
mapping模擬實驗結果表明透過本篇方法來得比 Hadoop 縮短 41的時間以
及最多節省 Communication Locality 約莫 33尤其在異構性越高的環境以及
一台實體機器架設的虛擬機器數量越多改善的效果越明顯另外 Loading
aware virtual machine mapping 優化技術改善了 Reduce phase 的完成時間約莫
13
在未來研究上可以朝著動態調整 Reducer 數量的方向前進當固定大小的
資料上其實有時候過多的節點去運算消耗了大量的運算資源卻只得到一些
秒數的縮短如何利用適當的運算資源來得到最大的利益這是相當重要的議
題由於此實驗都是屬於模擬實驗希望在未來可以實際架設在機器上運行
透過 Benchmark得到真正的數據
33
Reference
1 Masato Asahara Shinji Nakadai and Takuya Araki ldquoLoadAtomizer A
Locality and IO Load aware Task Scheduler for MapReducerdquo in 4th IEEE
International Conference on Cloud Computing Technology and Science
(CloudCom) pp 317-324 2012
2 Paul Barham Boris Dragovic Keir Fraser Steven Hand Tim Harris Alex
Ho Rolf Neugebauer Ian Pratt and Andrew Warfield ldquoXen and the Art of
Virtualizationrdquo SOSP 03 Proceedings of the nineteenth ACM symposium
on Operating systems principles vol 37 Issue 5 pp 164-177 December
2003
3 Xiangping Bu Jia Rao and Cheng Zhong Xu ldquoInterference and
Locality-Aware Task Scheduling for MapReduce Applications in Virtual
Clustersrdquo Proceeding HPDC 13 Proceedings of the 22nd international
sym-posium on High-performance parallel and distributed computing pp
227-238 2013
4 Kasim Selcuk Candan Jong Wook Kim Parth Nagarkar Mithila Nagendra
and Ren-wei Yu ldquoScalable Multimedia Data Processing in Server Clustersrdquo
IEEE MultiMedia pp 3-5 2010
5 Fay Chang Jeffrey Dean Sanjay Ghemawat Wilson C Hsieh Deborah A
Wallach Mike Burrws Tushar Chandra Andrew Fikes and Robert EGruber
ldquoBigtable A Distributed Storage System for Structured Datardquo 7th UENIX
Symposium on Operating Systems Design and Implementation pp 205-218
2006
6 P C Chen Y L Su J B Chang and C K Shieh ldquoVariable-Sized Map and
Locality-Aware Reduce on Public-Resource Gridsrdquo in Proceedings
Conference Grid and Pervasive Computing (GPC 2010) pp 234-243 2010
May
7 Q Chen D Zhang M Guo Q Deng and S Guo ldquoSamr A self adaptive
mapreduce scheduling algorithm in heterogeneous environmentrdquo in 10th
IEEE International Conference on Computer and Information Technology
CIT rsquo10 (Washington DC USA) pp 2736ndash2743 2010
8 Jeffrey Dean and Sanjay Ghemawat ldquoMapReduce Simplified Data
Processing on Large Clustersrdquo Communications of the ACM vol 51 no 1
pp 107ndash113 2008
9 Yuanquan Fan Weiguo Wu Haijun Cao Huo Zhu Xu Zhao and Wei Wei
34
ldquoA heterogeneity-aware data distribution and rebalance method in Hadoop
clusterrdquo 2012 Seventh ChinaGrid Annual Conference pp 176-181 2012
10 Zacharia Fadika Elif Dede Jessica Hartog and Madhusudhan Govindaraju
ldquoMARLA MapReduce for Heterogeneous Clustersrdquo in 12th IEEEACM
International Symposium on Cluster Cloud and Grid Computing pp 49-56
2012
11 Sanjay Ghemawat Howard Gobioff and ShunTak Leung ldquoThe Google file
systemrdquo In Proceedings of 19th Symposium on Operating Systems
Principles pp 29-43 2003
12 Sven Groot ldquoJumbo Beyond MapReduce for Workload Balancingrdquo Fuzzy
Systems and Knowledge Discovery (FSKD) 2011 Eighth International
Conference on Cloud Computing Technology and Science vol 4 pp
2675-2678 2011 July
13 B Gufler N Augsten A Reiser and A Kemper ldquoHandling Data Skew in
MapReducerdquo in Proceedings of CLOSER pp 574ndash583 2011
14 Mohammad Hammoud and Majd F Sakr ldquoLocality-Aware Reduce Task
Scheduling for MapReducerdquo Third IEEE International Conference on
Cloud Computing Technology and Science pp 570-576 2011
15 C He Y Lu and D Swanson ldquoMatch-making A New MapReduce
Scheduling Techniquerdquo IEEE Third International Conference on Cloud
Computing Technology and Science (CloudCom) pp 40ndash47 2011
16 Hung Chang Hsiao Huesh Yi Chung Haiying Shen and Yu Chang
ChaoldquoLoad Re-balancing for Distributed File Systems in Cloudsrdquo IEEE
Trans on Parallel and Distributed Systems vol24 pp 951-962 2012
17 Shadi Ibrahim Hai Jin Lu Lu Song Wu Bingsheng He and Li Qi ldquoLEEN
LocalityFairness Aware Key Partitioning for MapReduce in the Cloudrdquo
2010 IEEE Second International Conference on Cloud Computing
Technology and Science (CloudCom) pp 17ndash24 2010
18 S Ibrahim H Jin L Lu L Qi S Wu and X Shi ldquoEvaluating MapReduce
on Virtual Machines The Hadoop Caserdquo Proceedings Conference Cloud
Computing (CloudCom 2009) Springer LNCS pp 519-528 2009 Dec
19 C Jin and R Buyya ldquoMapreduce programming model for net-based cloud
computingrdquo in Proceedings of the 15th International Euro-Par Conference
on Parallel Processing Euro-Par (Berlin Heidelberg) pp 417ndash428 2009
20 R Nanduri N Maheshwari A Reddyraja and V Varma ldquoJob aware
scheduling algorithm for Mapreduce frameworkrdquo in 3rd International
Conference on Cloud Computing Technology and Science
CLOUDCOM rsquo11 (Washington DC USA) pp 724ndash729 2011
35
21 Andrew J Page and Thomas J Naughton ldquoDynamic task scheduling using
genetic algorithms for heterogeneous distributed computingrdquo in 19th IEEE
International Parallel and Distributed Processing Symposium pp 189a
2005 April
22 Xiaoyu Sun Chen He and Ying Lu ldquoESAMR An Enhanced Self-Adaptive
MapReduce Scheduling Algorithmrdquo 2012 IEEE 18th International
Conference on Parallel and Distributed Systems pp 148-155 2012
23 Chao Tian Haojie Zhou Yongqiang He and Li Zha ldquoA Dynamic
MapReduce Scheduler for Heterogeneous Workloadsrdquo Eighth International
Conference on Grid and Cooperative Computing pp 218ndash244 2009 Aug
24 Jiong Xie Shu Yin Xiaojun Ruan Zhi-yang Ding Yun Tian James Majors
Adam Manzanares and Xiao Qin ldquoImproving mapreduce performance
through data placement in heterogeneous hadoop clustersrdquo in IPDPS
Workshops pp 1ndash9 2010
25 J Tan X Pan S Kavulya R Gandhi and P Narasimhan ldquoMochi Visual
Log-Analysis Based Tools for Debugging Hadooprdquo USENIX Workshop on
Hot Topics in Cloud Computing (HotCloud) pp 1-5 2009
26 Matei Zaharia Andy Konwinski Anthony D Joseph Randy Katz and Ion
Stoica ldquoImproving MapReduce Performance in Heterogeneous
Environmentsrdquo 8th Symposium on Operating Systems Design and
Implementation pp 29ndash42 2008 Dec
27 X Zhang Z Zhong S Feng B Tu and J Fan ldquoImproving Data locality of
MapReduce by Scheduling in Homogeneous Computing Environmentsrdquo in
9th IEEE International Symposium on Parallel and Distributed Processing
with Applications (ISPA) pp 120-126 2011
28 Apache hadoop Available from httphadoopapacheorg
29 MapReduce with a lot of examples for Mining datasets Available from
httpinfolabstanfordedu~ullmanmmdsbookpdf
Page 12
3
14 Organization
本論文研究探討在異構性環境下每個節點運算效能不一致的情況下為了
要避免MapReduce運算所造成校能不佳的情況動態的調整Map mapping以及
Reducer mapping
本論文章節介紹如下第一章緒論簡述雲端運算的研究背景及研究動機與
目的以此為基礎第二章相關研究介紹前人所提出的MapReduce改善方法
第三章Preliminary介紹HadoopMapRedcue的流程以及定義異構性環境第四
章演算法介紹MapReduce的各階段流程以及介紹本篇論文所提出的動態資料
切割和虛擬機對映兩種技術的流程另外提出了一個優化技術第五章性能分
析透過實驗模擬的結果將其結果分析與比較最後第六章為結論以及未來
可以繼續研究的方向
4
Chapter 2 Related Works
MapReduce 是目前非常流行的分散式運算的架構主要是透過網際網路來處
理在雲端上儲存的大量資料將要執行的 MapReduce 程式複製到 Master node 以
及各個WorkerMaster node會決定要給哪台Worker去執行Map程式或者Reduce
程式透過 Map 程式將資料切成許多區塊經過 Map 階段產生出 Key Value
將此 Key Value 存儲在 Local disc然後經過 Shuffle(將相同屬性的 key 排序在
一起)而 Reduce 程式將這些 Shuffle 後的結果進行整合最後再將結果產生出
來由於 MapReduce 一開始主要是在節點效能大致相同的情況下去執行對於
節點效能不一致的情況 (也就是所謂的異構性環境)導致會有一些效能不盡理
想的狀態出現 [10]並且隨著虛擬技術的成熟虛擬機器可以將實體機資源
更有效的利用慢慢的開始以虛擬機器作為 Cluster而且MapReduce 在以虛
擬機器建立起的異構性環境之下對於 IO 負載不平衡 [12][13][16]以及任務排
程 [1][6][15]不平均的部份目前已經有許多相關文獻在探討此方面
21 Homogeneous Environment
由 Shadi Ibrahim 等人在 2010 年時所提 LEEN [17]的方法在 Map 階段因
為原始的 MapReduce 架構沒有考慮資料的內容盲目的以資料數量區分導致
Shuffle 階段時會出現分配不平均的現象為了改善此部份LEEN 將每筆資料
計算出 Fairness Score 後根據 Locality [3][27]概念分析與比較將資料適當地放
在各個節點上達到平均分配的效果透過這樣的想法我們將此概念延伸到
Reducer 挑選機器是根據 Communication locality而不是盲目的去選擇有空的
Worker
5
MapReduce是主從式架構具有樹狀網路分佈的結構節點分布在不同的主
機上或者可能在不同的資料中心的主機上則兩個節點要溝通的話則需要
透過網路而頻寬會影響之間傳輸的速度在MapReduce的Worker接受到Master
的要求從而排程Map和ReduceHadoop企圖排程將比較靠近的資料做Map
tasks以避免在網路上增加過多的overhead至於Reduce tasks則沒有考慮到此部
份因此在進行shuffle的時候不必要的資料在網路上可能會降低校能遙遠
的節點資料傳送已經成為一個瓶頸而Mohammad Hammoud等人在2011提出
的論文著重在Reduce任務的部分透過網路位置做分區來做排程因此形成
了LARTS 的策略 [14]而且還觀察到MapReduce在Map Tasks完成後進行
shuffling的動作此步驟是用交錯的方式先前的方法在Shuffling這個動作的
時候使MapReduce的性能提高但是卻增加了網路的負載而LARTS保持了
此Shuffling的優勢還減少了網路的負載但是此篇論文著重在Reduce task的
部份至於Map task的部份並未做優化的部份
22 Heterogeneity Environment
Hadoop原先假設在節點相同的環境下運行但是實際上環境內的節點並
不是每次都是一致的當Hadoop運行在異構性環境對於性能上是有很大的落
差由Matei Zaharia等人提出的LATE (Longest Approximate Time to End) [26]針
對其任務的排程上做改良重新設計了一個新的Speculative task會估算完成時
間根據完成時間在去調整任務上的分配雖然對回應時間有點影響但是
整體性能明顯的比Hadoop改善很多而Quan Chen等人在2010年所提出的SAMR
(Self-adaptive MapReduce Scheduling Algorithm) [7]自動適應MapReduce的調動
排程主要是計算任務進度根據歷史資料動態調整Map任務以及Reduce任務
並且可以識別在節點上執行較慢的任務將其任務不做備份工作使其完成時
6
間可以降低在 2012年由Xiaoyu Sun等人提出的 ESAMR (An Enhanced
Self-Adaptive MapReduce Scheduling Algorithm) [22]增強自適應MapReduce的調
度算法以提高Speculative task在SAMR識別慢任務可能不是這麼準確但
是在ESMAR裡它們使用集群演算法轉化改進了這一部分使其識別慢任
務達到一定的準確ESAMR研究結果的誤判率明顯降低
由於Hadoop在異構性環境會造成資料分配不平均的現象所以由
Yuanquan Fan等人提出了在Map階段重新平衡資料分配的方法 [9]而此篇論文
平衡的方法有兩種(1) 根據性能來分配-主要是分成不同大小的資料區塊首先
將每個節點進行性能評估然後資料切成不同大小根據節點的計算能力來分
配相對應的節點(2) 資料動態搬遷-儘管不同大小的資料被分配在每一個節點
上再來估算任務完成時間將執行最慢的任務的部份資料轉移到執行最快的節
點有些任務可能會隨著時間的關係或者網路的關係慢慢延後所以將這些延
後的資料轉移給其他節點去運算其缺點就是資料的搬移時間和成本並沒考慮至
其中以及Reduce phase階段可能因為資料搬移的情況導致Reduce phase的
Communication overhead變重
傳統的 MapReduce 架構是考慮每台機器的規格都相同所以資料平均分
配後所處理完成的時間也都會是一樣在雲端運算環境中往往都是數百台或
著上千上萬台機器在同時運算機器的規格也不盡相同因此 Jiong Xie 等人在
2010 年所提出的 Data Placement [10]的方法將每個電腦區分出 3 個等級分別
是 FastestAverage 及 Slowest不同的等級取得運算資料份量也不同並建立一
張表紀錄目前有哪些機器處於忙碌壅塞狀態有那些機器處於閒置狀態並且
將忙碌的機器的資料分出 3 個等級平均分配資料直至平均為止使得每台
機器資源利用率是相近的雖然這樣的動機很好但是對於資料遷移所花的
時間以及成本是沒考慮的
根據上述研究不足的地方我們提出了MapReduce在異構性環境裡在Map
7
階段將資料切割成不固定大小依據節點能力的不同做出適當的配置在
Reduce階段根據Communication locality 找出適合在哪一台機器上執行最
後再透過優化技術把本篇論文方法的執行時間縮短一些
8
Chapter 3 Preliminary
31 Hadoop
Hadoop架構是由Apache所開發的開放原始碼提供了一個分散式系統的基
本架構Hadoop雲端運算技術主要由三個主要架構所組成 Hadoop Distributes
File System (HDFS)分散式檔案系統Hadoop Database (HBase)分散式資料庫以及
Hadoop MapReduce分散式平行運算以下一一敘述
HDFS (Hadoop File system) 是根據Google提出的GFS(Google File System)所
延伸的主要就是將各個節點連結起來將這些節點組成一個大型的分散式檔案
系統可以有效的處理大量檔案並提供安全的儲存環境以及可以避免因為單一
的硬體發生異常而影響整個系統
而HDFS為了維護資料的一致性當使用者將資料存進去HDFS就不能去
更動或修改HDFS會將要儲存的資料複製副本分散儲存在各個不同的節點
所以當儲存資料的節點發生異常可藉由其他節點來復原
HBase (Hadoop Database)類似Google BigtableHBase架構在Hadoop HDFS
上的分散式資料庫與ㄧ般關聯式資料庫不同HBase使用列和行為索引存取資
料值以及每一筆資料都有一個時間戳記因此同一個欄位可以因為時間的不同
而存在多筆資料
HBase專門用來處理大規模的資料是由HMasrter以及HRegion組成一台
HMaster管理多部HRegion ServerHMaster負責監控與管理HRegion Server系統狀
態而HRegion Server利用記憶體存取快速的優點可以加速資料讀寫的動作
所以會先將資料存放在記憶體內之後再將資料存回HDFS
9
32 MapReduce
雲端運算最重要的關鍵即是MapReduce使用MapReduce模式將一個大問
題先讓程式開發人員分析問題將問題切割成許多小問題在將此小問題平行
分散給各個Mapper當Mapper處理完的結果在傳送到相對映的Reducer去做運
算Reducer將這些結果進行合併在把合併的結果輸出
Split 0
Split 1
Split 2
Mapper
Mapper
Mapper
Reducer
Reducer
Partition 0
Partition 1
Partition 0
Partition 1
Partition 0
Partition 1
Output
File0
Output
File1
Input
File
Master
User
Map
Phase
Intermediate file
(on local disks)
Reduce
PhaseOutput
File
圖一 MapReduce的運作流程圖
如圖一即為MapReduce流程圖
1 將輸入的資料切割成固定大小
2 將要執行的MapReduce程式複製到Master與每一台Worker
3 Master會挑選閒置的Worker當Mapper或Reducer
4 Mapper會從切割好的資料讀取相對映的資料會產生Key Value會先暫
存在記憶體內再週期性的傳送到Local Disc
5 執行Reducer程式的Worker讀取每一個Mapper的結果並進行排序以及彙
整再將整合的結果輸出
10
33 Heterogeneous Classification
MapReduce 在異構性環境下執行已經是越來越多人討論的議題如何將
每個節點分級也有相當多的Benchmark可以做測試本篇論文採用的Benchmark
為 Hardinfo透過虛擬機器去做測試
表一 Hardinfo benchmark
如表一1_2 前面的數字代表核心數目後面的數字代表 Memory 有多少
GB而這個 Hardinfo 本身內含有許多測試的軟件我們測了兩個實驗CPU
Blowfish 以及 CPU CryptoHash這兩個都是跟加密有關的CPU Blowfish 運行
在單核心以及四核心的虛擬機器上所花費的秒數兩個相差了 5 倍因此我
們定義異構性等級為 1 到 5也就是所謂的高異構性環境CPU CryptoHash 運行
在單核心以及四核心的虛擬機器上每秒能壓縮的資料相差了三倍因此我
們定義異構性等級為 1 到 3也就是所謂的高異構性環境我們之後的實驗根
據這兩個異構性等級做參數
11
Chapter 4 Dynamic Data Partitioning and Locality
Aware Virtual Machine Mapping
原始的 Hadoop 在同質性環境執行 MapReduce 程式每個節點運算能力大
致相同所以在 Map 階段並不會有互相等待的結果發生但是在異構性的
環境之下每個節點的 Worker 彼此之間運算速度不同導致先完成的必須得
等速度較慢的節點完成因而執行時間變長而在 Reduce 階段沒有考慮
Communication Locality 的問題即使是用虛擬機架設的環境也是一樣所以
隱藏著一些 Communication overhead 的問題本篇論文主要探討此兩問題
圖二 整體方法流程圖
如圖二所示將資料從 HDFS 讀取進來因為每個節點不能去從其他節點讀
取資料來做因此只能將自己節點資料作完等待其他節點完成後才可繼續
執性 Reduce 階段因此在 Map mpping 階段是根據節點內部的虛擬機性能來
決定節點內部資料的分配而不是固定資料大小丟給效能不一致的虛擬機器來做
12
運算在 Reduce mapping 階段是根據 Locality aware 來選擇機器選擇節省成本
最多的機器以及最後有個節點內部動態調整機制為了減少Reducer完成的時間
41 動態資料切割
在同質性環境 (即為每個節點設備大致相同)運行MapReduce當Worker
完成Map階段任務必須等待其他Worker完成才能進行下一個動作因為每台
節點運算能力大致相同所以當執行Map階段結束後每台節點完成時間是大
致相同的而在異構環境下 (每個節點設備不盡相同則會產生出一個問題在
運算效能不一致的情況會造成在Map程式執行完成的時間變長因為當資料相
同可是每個節點運算能力不一樣就會彼此互相牽制為了要避免此情況發生
所以本篇論文用動態資料切割的方法來解決此問題
圖三 根據節點能力分配相對應大小的資料
動態資料切割的方法得先知道每個Worker的運算能力根據運算能力動
態切割資料大小如圖三所示每個節點運算能力較好的Worker就分配到資料
較多的Partition去做處理而運算能力較差的Worker就分配到較少的Partition使
得每個節點內部的Worker完成時間接近就不會有處理速度比較快的節點完成後
13
必須要等待處理速度比較慢的節點而資料分配方式就是根據Performance
也就是前面所提到的異構性等級的數值相加起來 (Worker處理速度越快則等級
越高)將要處理的資料以及總數值相除會得到一個平均值這個平均值去乘
上等級也就是Worker要處理的資料量
42 Locality Aware Virtual Machine Mapping
由於虛擬機的使用可以充分利用資源所以現在一台實體機可架設多
台虛擬機所以同一台實體機內部有兩台虛擬機當這兩台互相交換資料的
時候其實網路的負載是很低的但是如果是兩台實體機交換資料網路的負
載會變很高在執行Map階段之後資料都儲存在Local disk裡Reducer要怎麼
選擇機器使得Communication locality節省更多而這個即是本篇論文要探討的
第二個問題
421 Best Fit
本篇論文提出了一個 Best Fit 方法這個方法的概念是讓 Reducer 選擇在哪
一台節點上運行使其 Communication locality 節省最多接下來在找出節點內
Performance 最好的 Worker 來當 Reducer而不是像 Hadoop 的 MapReduce 是照
順序去分配這樣的選擇方式是因為節點與節點之間資料傳遞的Communication
overhead 是相當大的而節點內部之間的 Communication overhead相較起來小
很多而讓 Communication locality 節省越多也可以讓 Communication overhead
降低
14
圖四 Best Fit挑選機器流程
1 如圖四所示假設一台實體機上(P1)架設兩台虛擬機(v1v2)根據虛擬
機的運算能力分配相對映的資料量v1即為25單位v2即為22單位以此類
推
2 執行Map程式產生出k值因為有三台Reducer(R1R2R3)所以產生出
3個k值v1虛擬機的k1值為7k2值為10k3值為8而這v1的所有k值相加即為
v1所負責的資料量v1虛擬機k1值為10k2值為9k3值為3而這v2的所有k值
相加為v2所負責的資料量v3也是一樣
3 先從R1要挑選哪台VM開始首先把每個VM所產生出的k1值相加得到一個
總和即為57單位底下看到有三個數值第一個數值即為R1如果在P1這
台機器上運行的話所耗費的遠端溝通成本(要到P2P3取資料的溝通成本)
則第二個數值即為R2在P2這台機器上運行的話所耗費的遠端溝通成本
第三個也是
4 把總共要處理的資料減掉到遠端耗費的溝通成本會得到一個數值即為
15
Communication localityR1如果選擇P1機器運行則Communication locality
為17單位R1如果選擇P2機器運行則Communication locality為18單位R1
如果選擇P3機器運行則Communication locality為22單位R1挑選最多的
Communication locality的機器來運行所以R1選擇P3機器來做運算
5 R1選擇P3實體機而P3實體機有2台虛擬機所以在根據虛擬機的運算能力
先挑選運算能力好的來做為R1
6 如果節點的虛擬機都被挑選完就選第二順位的節點
原始的HadoopR1挑選v1而R2挑選v2照順序的挑選所以沒有考慮到溝
通成本則本篇論文Best fit是根據Communication locality來挑選機器但是
可能在某ㄧ些情況可能不夠完善
圖五 Best Fit 挑選機器的不完善
如圖五所示當Communication locality可以選擇很高的節點卻因為前面的
Reducer把節點內部的Worker挑選完了所以逼不得已只能挑選第二順位的節
點可是這個Communication locality遠遠低於前面Reducer挑選的節點導致整體
的Communication locality大幅下降因此422 Priority即為改善的方法
16
422 Priority
為了確保每個Reducer都能挑選Communication locality最高的機器因此
此章節做了改善
1 在Reducer在挑選機器之前先判斷Reducer哪台要先下去做挑選
2 將每台Reducer最高的Communication locality的跟第二高的相減會得到一個
Difference locality在利用Difference locality下去做排序由大到小
3 Difference locality越大的代表那台Reducer要優先做挑選所以就從
Difference locality越大的挑選到Difference locality最小的
圖六 Priority挑選機器流程
1 如圖六所示R1總共的Data block為57單位R2為42單位R3為41單位經過
Shuffle階段之後
2 R1如果選擇P1這台機器能節省的Communication locality就是17單位R1如果選
擇P2這台機器能節省的Communication locality就是18單位R3如果選擇P2這台
機器能節省的Communication locality就是22單位
3 根據Communication locality將第一高的減掉第二高的會得到一個Difference
17
locality
4 根據此Difference locality排出哪個Reducer要先選取機器此例子的順序為
R2再來R3再來R1而Best Fit就是R1再來R2再來R3
Priority可以避免前面的Reducer把機器挑選完迫使只能選擇第二高的
Communication locality使這樣大幅降低的情況給消除而Best fit和Priority這兩
種方法大幅提高了Communication locality的狀況可是卻也導致了Reduce階段
的完成時間變長所以下章節主要敘述將Reduce階段完成時間優化
43 Loading Aware Virtual Machine Mapping
上述的兩種方法Best fitPriority都是為了降低節點彼此之間的溝通成本
但是卻引發了一個問題Reducer執行完成的時間比原始Hadoop還來得長為
了解決此問題本篇論文在這章節提出優化的方法前面兩種方法是根據節點
的Communication locality來決定要在哪一台Worker做運算當決定好Worker
的時候Reducer會先將運算能力較好的虛擬機器拿去做運算這樣使得運算較
快的機器並不會對映到運算較複雜的資料使得較早完成的機器還是得等候還沒
做好的機器造成時間上的延長所以本篇論文針對此部份做優化
圖七 Reducer對應到其相對效率的Worker
18
如圖七所示當Reducer都挑選好要在哪台實體機做在開始執行Reduce程
式之前我們根據要處理的資料量來分配相對映的機器而這虛擬機的交換
並不會影響到Communication locality因為都是在同一台實體機架設的虛擬機
器做交換
19
Chapter 5 Performance Analysis
本實驗以模擬的方式進行利用 C 語言程式撰寫可設定節點數量節點
裡的 Worker 數量資料大小異構性環境低 (h = 1-3)或高 (h = 1-5)透過模擬
的實驗數據分析基於 Hadoop 的 MapReduce 以及本篇論文透過 Map mapping
和 Reduce mapping 的方式進而改善原始 MapReduce 所造成的缺點
51 Communication Locality
本模擬實驗主要探討的是 Communication Locality圖八(a)和圖八(b)模擬環
境為低異構性圖八(c)和圖八(d)為高異構性環境固定每台實體機架設 2 台以
及 5 台虛擬機器固定 Worker 總數量分別為 102030要處理的資料為 900G
Communication locality(vm = 2 h = 1-3)
0
50
100
150
200
250
300
10 20 30
Number of vm
Dat
a lo
cali
ty
Hadoop
Best Fit
Priority
(a)
20
Communication locality(vm = 5 h = 1-3)
0
100
200
300
400
500
600
10 20 30Number of vm
Dat
a lo
cali
ty
Hadoop
Best Fit
Priority
(b)
Communcation Locality(vm = 2 h = 1-5)
0
50
100
150
200
250
300
10 20 30Number of vm
Dat
a lo
cali
ty
Hadoop
Best Fit
Priority
(c)
Communcation locality(vm = 5 h = 1-5)
0
100
200
300
400
500
600
10 20 30
Number of vm
Dat
a lo
cali
ty
Hadoop
Best Fit
Priority
(d)
圖八 Communication locality (a) low heterogeneity vm=2 (b) low heterogeneity
vm=5 (c) high heterogeneity vm=2 (d) high heterogeneity vm=5
21
由圖八(a)可看出本篇論文提出的兩個方法在低異構性環境所能節省的
Communication Locality 比原始的 Hadoop 提出的方法最多節省了 33的
Communication Locality圖八 (b)也最多節省了約 12的 Communication
Locality雖然節省在固定架設的虛擬機器為兩台的時候節省比較多但是
兩個實驗節省的 Communication Locality 量卻相差了快 2 倍原因是在於 Map 階
段完成的資料都儲存在 Local disc兩台實體機在交換資料的時候溝通成本是
很高的而建立在同一台實體機的兩台虛擬機器交換資料則溝通成本卻來的低
很多 因此溝通成本量的提高也會被實體機上架設的虛擬機器的多寡來影
響
由圖八(c)所示在高異構性最多可節省 27的 Communication Locality圖
八(d)則為 15的 Communication Locality分別從圖八(a)圖八(c)圖八(b)以及
圖八(d)可以看得出來Best Fit 和 Priority 不會隨著異構性環境的高低溝通成
本量會有大幅度的改變而 Priority 在節省的 Communication Locality 都會比 Best
Fit 都來的多一點因為Priority 可以避免前面的 Reducer 把機器挑選完迫使
只能選擇第二高的Communication location 因此大幅降低的情況給消除
52 Task Execution Time
此節實驗是要探討 Map 以及 Reduce 完成的時間圖九(a)和圖九(b)為低異構
性環境的實驗圖九(c)和圖九(d)為高異構性環境都是固定每台實體機架設 2
台以及 5 台虛擬機器所以固定虛擬機器總數量分別為 102030要處理
的資料為 900G
22
Map completion time(vm = 2 h = 1-3)
0
20
40
60
80
100
10 20 30
Number of vm
Sec
ond
Hadoop
Best Fit amp Priority
(a)
Map completion time(vm = 5 h = 1-3)
0
20
40
60
80
100
10 20 30Number of vm
Sec
ond
Hadoop
Best Fit amp Priority
(b)
Map completion time(vm = 2 h = 1-5)
0
20
40
60
80
100
10 20 30Number of vm
seco
nd
Hadoop
Best Fit amp Priority
(c)
23
Map completion time(vm = 5 h = 1-5)
0
20
40
60
80
100
10 20 30Number of vm
seco
nd
Hadoop
Best Fit amp Priority
(d)
圖九 Map completion time (a) low heterogeneity vm=2 (b) low heterogeneity
vm=5 (c) high heterogeneity vm=2 (d) high heterogeneity vm=5
圖九(a)圖九(b)圖九(c)以及圖九(d)顯示了本論文提出的兩個方法 Best Fit
和 Priority 他們完成的時間是一樣的因為兩個方法的 Map mapping 概念是一樣
的所以完成時間也會一樣在此實驗裡可發現 Best Fit 和 Priority 也會隨著
實體機上的虛擬機器數量增多而完成時間縮短而縮短的時間最多甚至可以達
到 44也可看出本論文的兩個方法在低異構性環境的效能比在高異構性環境
的效能來的較差所以在異構性越高的環境越能看得出 Best Fit 和 Priority
的優勢
24
Reduce completion time(vm = 2 h = 1-3)
0
20
40
60
80
100
120
10 20 30Number of vm
Sec
ond
Hadoop
Best Fit
Priority
(a)
Reduce completion time(vm = 5 h = 1-3)
0
20
40
60
80
100
120
10 20 30Number of vm
Sec
ond
Hadoop
Best Fit
Priority
(b)
Reduce completion time(vm = 2 h = 1-5)
0
20
40
60
80
100
120
10 20 30Number of vm
seco
nd
Hadoop
Best Fit
Priority
(c)
25
Reduce completion time(vm = 5 h = 1-5)
0
20
40
60
80
100
120
10 20 30Number of vm
Sec
ond
Hadoop
Best Fit
Priority
(d)
圖十 Reduce completion time (a) low heterogeneity vm=2 (b) low
heterogeneity vm=5 (c) high heterogeneity vm=2 (d) high heterogeneity vm=5
而在 Reduce 完成時間的方面不像 Map 的完成時間是一樣的因為選
擇 Reducer 的方式不同造成 Best Fit 以及 Priority 時間完成上有些許不同
如圖十(a)所示節省了 14的時間圖十(b)節省了 16的時間圖十(c)
節省了 23圖十(d)節省了 29由圖十(b)以及圖十(d)可見影響 Reduce
階段完成時間最主要的原因是異構性環境的問題當環境的異構性越高其
所節省的時間越多而圖十(c)以及圖十(d)所示一台實體機架設的虛擬機器數
量影響的範圍比較小
26
Total completion time (vm = 2 pm = 5 h = 1-3)
0 50 100 150 200 250
Hadoop
Best Fit
Priority
Met
hod
Second
Map Reduce
(a)
Total completion time(vm = 5 pm = 2 h = 1-3)
0 50 100 150 200
Hadoop
Best Fit
Priority
Met
hod
Second
Map Reduce
(b)
Total completion time(vm = 2 pm = 5 h = 1-5)
0 50 100 150 200 250
Hadoop
Best Fit
Priority
Met
hod
Second
Map Reduce
(c)
27
Total completion time(vm=5 pm = 2 h = 1-5)
0 50 100 150 200
Hadoop
Best Fit
Priority
Second
Met
hod
Map Reduce
(d)
圖十一 Total completion time (a) low heterogeneity vm=2 pm=5 (b) low
heterogeneity vm=5 pm=2 (c) high heterogeneity vm=2 pm=5 (d) high
heterogeneity vm=5 pm=2
由於前面分別是 Map以及 Reduce的完成時間為了想知道Map以及 Reduce
對於 MapReduce 的整體影響我們將前面的 Map 以及 Reduce 的完成時間在
處理資料的節點固定為 10 台 Worker將其做整合
從圖十一(a)圖十一(b)圖十一(c)圖十一(d)顯示 Best Fit 和 Priority 不論
是在低異構性或高異構性環境MapReduce 完成時間都比 Hadoop 的完成時間縮
短很多在低異構性環境最多可縮短到 29的時間在高異構性環境最多可縮
短 41的時間而造成 Hadoop 跟 Best Fit 和 Priority 在時間上差異如此大的原
因主要是在 Map 階段的完成時間因為Best Fit 和 Priority 是根據 Worker 的
效能來決定要處理的資料大小而 Hadoop 就是分配固定大小的資料給 Worker
運算所以在越高的異構性環境其縮短的時間會越明顯
28
Total completion time with different number of vm (h=1-3)
0
20
40
60
80
100
120
vm=2 vm=3 vm=4Number of vm per physical machine
Sec
ond
Hadoop
Best Fit
Priority
(a)
Total completion time with different number of vm (h=1-5)
0
20
40
60
80
100
120
vm=2 vm=3 vm=4Number of vm per physical machine
Sec
ond
Hadoop
Best Fit
Priority
(b)
圖十二 Total completion time with different number of vm (a) low heterogeneity
vm=2 worker=12 (b) high heterogeneity vm=5 worker=12
圖十二(a)是在低異構性環境圖十二(b)是在高異構性環境並且1 台實體
機架設 2 個3 個4 個虛擬機器使 Worker 數量固定 12 台處理的資料量為
600G
這個模擬實驗主要探討的是在一台實體機架設的虛擬機器數量對於
MapReduce 完成時間是否真正有影響圖十二(a)和圖十二(b)更可以顯示出 Best
Fit 和 Priority 在異構性越高的環境裏且一台實體機架設越多虛擬機器來當作
Worker 的時候可以縮短更多的時間前者會縮短 Map 的完成時間後者會縮
29
短 Reduce 的完成時間而 Hadoop 在異構性環境高的時候也有些微的縮短一
些時間
Total completion time with different data size (h=1-5)
0
20
40
60
80
100
120
140
400 600 800 1000 1200
Data
Sec
ond
Hadoop
Best Fit
Priority
圖十三 Total completion time with different data size
在上述的實驗中在同樣的資料大小處理的 Worker 數量越多的時候其
完成時間會縮短很多但是到達一定的數量的時候其縮短時間的效果就很低
所以就做了此實驗因為本篇論文就是要探討異構性的環境選擇高異構性
環境固定 Worker 數量 20 台資料大小由 400G 到 1200G探討資料大小對
MapReduce 以及 Worker 的影響如圖十三顯示出在 600G 以下的時候Map 加
上 Reduce 完成的時間突然靠近起來代表了當資料量越小的時候Best Fit 和
Priority 的方法跟原始的 Hadoop 的方法優勢會越來越少但相反的是當資料
量越大的時候雖然Best Fit 和 Priority 完成時間會增加但是跟 Hadoop 的
完成時間比會更加突顯
30
Total completion time (best fit)
0
10
20
30
40
50
60
70
80
(Without optimization) (Optimization)
Best Fit
Sec
ond
Map Reduce
(a)
Total completion time (priority)
0
10
20
30
40
50
60
70
80
(Without optimization) (Optimization)
Priority
Sec
ond
Map Reduce
(b)
圖十四 Total completion time of loading aware optimization (a) without
optimal (b) with optimization
圖十四(a)未使用優化技術圖十四(b)是使用優化技術同樣都是在高異構
性環境之下並且1 台實體機架設 5 個虛擬機器使 Worker 數量固定 15 台
處理的資料量為 900G
在本篇論文方法的部份有提到Loading Aware Virtual Machine Mapping的優
化技術由於此實驗上面的實驗數據都已經使用優化技術來改善時間因此
此實驗就是要探討這優化技術對於MapReduce完成時間的影響
由於Loading Aware Virtual Machine Mapping此優化技術是變動同一台實體
31
機內部的Reducer使得原本是根據Communication locality來選擇虛擬機器但
是在挑選的過程中並沒有依據處理資料的大小分配到其處理速度相對映的
虛擬機器而這優化技術就是將同一台實體機內的虛擬機器重新分配由於此
優化技術並不會影響Communication locality所以這部份並沒有在此實驗探討
圖十四(a)圖十四(b)顯示未使用優化技術的Best fit和Priority的MapReduce
完成時間雖然比Hadoop的方法好但是其Reduce phase完成時間上慢了一些
並且可以看出此優化技術並不會影響到Map phase主要影響的是在Reduce階
段在Reduce階段的完成時間上利用優化技術可以將Reduce階段時間縮短其13
32
Chapter 6 Conclusions and Future Works
目前 Hadoop 資料處理的環境還是應用在群集內節點效能是相同的情況下
如果是異構性環境可能就無法這麼有效率的處理本篇論文提出了兩個方法
動態資料切割和虛擬機對映以及一個優化技術 Loading aware virtual machine
mapping模擬實驗結果表明透過本篇方法來得比 Hadoop 縮短 41的時間以
及最多節省 Communication Locality 約莫 33尤其在異構性越高的環境以及
一台實體機器架設的虛擬機器數量越多改善的效果越明顯另外 Loading
aware virtual machine mapping 優化技術改善了 Reduce phase 的完成時間約莫
13
在未來研究上可以朝著動態調整 Reducer 數量的方向前進當固定大小的
資料上其實有時候過多的節點去運算消耗了大量的運算資源卻只得到一些
秒數的縮短如何利用適當的運算資源來得到最大的利益這是相當重要的議
題由於此實驗都是屬於模擬實驗希望在未來可以實際架設在機器上運行
透過 Benchmark得到真正的數據
33
Reference
1 Masato Asahara Shinji Nakadai and Takuya Araki ldquoLoadAtomizer A
Locality and IO Load aware Task Scheduler for MapReducerdquo in 4th IEEE
International Conference on Cloud Computing Technology and Science
(CloudCom) pp 317-324 2012
2 Paul Barham Boris Dragovic Keir Fraser Steven Hand Tim Harris Alex
Ho Rolf Neugebauer Ian Pratt and Andrew Warfield ldquoXen and the Art of
Virtualizationrdquo SOSP 03 Proceedings of the nineteenth ACM symposium
on Operating systems principles vol 37 Issue 5 pp 164-177 December
2003
3 Xiangping Bu Jia Rao and Cheng Zhong Xu ldquoInterference and
Locality-Aware Task Scheduling for MapReduce Applications in Virtual
Clustersrdquo Proceeding HPDC 13 Proceedings of the 22nd international
sym-posium on High-performance parallel and distributed computing pp
227-238 2013
4 Kasim Selcuk Candan Jong Wook Kim Parth Nagarkar Mithila Nagendra
and Ren-wei Yu ldquoScalable Multimedia Data Processing in Server Clustersrdquo
IEEE MultiMedia pp 3-5 2010
5 Fay Chang Jeffrey Dean Sanjay Ghemawat Wilson C Hsieh Deborah A
Wallach Mike Burrws Tushar Chandra Andrew Fikes and Robert EGruber
ldquoBigtable A Distributed Storage System for Structured Datardquo 7th UENIX
Symposium on Operating Systems Design and Implementation pp 205-218
2006
6 P C Chen Y L Su J B Chang and C K Shieh ldquoVariable-Sized Map and
Locality-Aware Reduce on Public-Resource Gridsrdquo in Proceedings
Conference Grid and Pervasive Computing (GPC 2010) pp 234-243 2010
May
7 Q Chen D Zhang M Guo Q Deng and S Guo ldquoSamr A self adaptive
mapreduce scheduling algorithm in heterogeneous environmentrdquo in 10th
IEEE International Conference on Computer and Information Technology
CIT rsquo10 (Washington DC USA) pp 2736ndash2743 2010
8 Jeffrey Dean and Sanjay Ghemawat ldquoMapReduce Simplified Data
Processing on Large Clustersrdquo Communications of the ACM vol 51 no 1
pp 107ndash113 2008
9 Yuanquan Fan Weiguo Wu Haijun Cao Huo Zhu Xu Zhao and Wei Wei
34
ldquoA heterogeneity-aware data distribution and rebalance method in Hadoop
clusterrdquo 2012 Seventh ChinaGrid Annual Conference pp 176-181 2012
10 Zacharia Fadika Elif Dede Jessica Hartog and Madhusudhan Govindaraju
ldquoMARLA MapReduce for Heterogeneous Clustersrdquo in 12th IEEEACM
International Symposium on Cluster Cloud and Grid Computing pp 49-56
2012
11 Sanjay Ghemawat Howard Gobioff and ShunTak Leung ldquoThe Google file
systemrdquo In Proceedings of 19th Symposium on Operating Systems
Principles pp 29-43 2003
12 Sven Groot ldquoJumbo Beyond MapReduce for Workload Balancingrdquo Fuzzy
Systems and Knowledge Discovery (FSKD) 2011 Eighth International
Conference on Cloud Computing Technology and Science vol 4 pp
2675-2678 2011 July
13 B Gufler N Augsten A Reiser and A Kemper ldquoHandling Data Skew in
MapReducerdquo in Proceedings of CLOSER pp 574ndash583 2011
14 Mohammad Hammoud and Majd F Sakr ldquoLocality-Aware Reduce Task
Scheduling for MapReducerdquo Third IEEE International Conference on
Cloud Computing Technology and Science pp 570-576 2011
15 C He Y Lu and D Swanson ldquoMatch-making A New MapReduce
Scheduling Techniquerdquo IEEE Third International Conference on Cloud
Computing Technology and Science (CloudCom) pp 40ndash47 2011
16 Hung Chang Hsiao Huesh Yi Chung Haiying Shen and Yu Chang
ChaoldquoLoad Re-balancing for Distributed File Systems in Cloudsrdquo IEEE
Trans on Parallel and Distributed Systems vol24 pp 951-962 2012
17 Shadi Ibrahim Hai Jin Lu Lu Song Wu Bingsheng He and Li Qi ldquoLEEN
LocalityFairness Aware Key Partitioning for MapReduce in the Cloudrdquo
2010 IEEE Second International Conference on Cloud Computing
Technology and Science (CloudCom) pp 17ndash24 2010
18 S Ibrahim H Jin L Lu L Qi S Wu and X Shi ldquoEvaluating MapReduce
on Virtual Machines The Hadoop Caserdquo Proceedings Conference Cloud
Computing (CloudCom 2009) Springer LNCS pp 519-528 2009 Dec
19 C Jin and R Buyya ldquoMapreduce programming model for net-based cloud
computingrdquo in Proceedings of the 15th International Euro-Par Conference
on Parallel Processing Euro-Par (Berlin Heidelberg) pp 417ndash428 2009
20 R Nanduri N Maheshwari A Reddyraja and V Varma ldquoJob aware
scheduling algorithm for Mapreduce frameworkrdquo in 3rd International
Conference on Cloud Computing Technology and Science
CLOUDCOM rsquo11 (Washington DC USA) pp 724ndash729 2011
35
21 Andrew J Page and Thomas J Naughton ldquoDynamic task scheduling using
genetic algorithms for heterogeneous distributed computingrdquo in 19th IEEE
International Parallel and Distributed Processing Symposium pp 189a
2005 April
22 Xiaoyu Sun Chen He and Ying Lu ldquoESAMR An Enhanced Self-Adaptive
MapReduce Scheduling Algorithmrdquo 2012 IEEE 18th International
Conference on Parallel and Distributed Systems pp 148-155 2012
23 Chao Tian Haojie Zhou Yongqiang He and Li Zha ldquoA Dynamic
MapReduce Scheduler for Heterogeneous Workloadsrdquo Eighth International
Conference on Grid and Cooperative Computing pp 218ndash244 2009 Aug
24 Jiong Xie Shu Yin Xiaojun Ruan Zhi-yang Ding Yun Tian James Majors
Adam Manzanares and Xiao Qin ldquoImproving mapreduce performance
through data placement in heterogeneous hadoop clustersrdquo in IPDPS
Workshops pp 1ndash9 2010
25 J Tan X Pan S Kavulya R Gandhi and P Narasimhan ldquoMochi Visual
Log-Analysis Based Tools for Debugging Hadooprdquo USENIX Workshop on
Hot Topics in Cloud Computing (HotCloud) pp 1-5 2009
26 Matei Zaharia Andy Konwinski Anthony D Joseph Randy Katz and Ion
Stoica ldquoImproving MapReduce Performance in Heterogeneous
Environmentsrdquo 8th Symposium on Operating Systems Design and
Implementation pp 29ndash42 2008 Dec
27 X Zhang Z Zhong S Feng B Tu and J Fan ldquoImproving Data locality of
MapReduce by Scheduling in Homogeneous Computing Environmentsrdquo in
9th IEEE International Symposium on Parallel and Distributed Processing
with Applications (ISPA) pp 120-126 2011
28 Apache hadoop Available from httphadoopapacheorg
29 MapReduce with a lot of examples for Mining datasets Available from
httpinfolabstanfordedu~ullmanmmdsbookpdf
Page 13
4
Chapter 2 Related Works
MapReduce 是目前非常流行的分散式運算的架構主要是透過網際網路來處
理在雲端上儲存的大量資料將要執行的 MapReduce 程式複製到 Master node 以
及各個WorkerMaster node會決定要給哪台Worker去執行Map程式或者Reduce
程式透過 Map 程式將資料切成許多區塊經過 Map 階段產生出 Key Value
將此 Key Value 存儲在 Local disc然後經過 Shuffle(將相同屬性的 key 排序在
一起)而 Reduce 程式將這些 Shuffle 後的結果進行整合最後再將結果產生出
來由於 MapReduce 一開始主要是在節點效能大致相同的情況下去執行對於
節點效能不一致的情況 (也就是所謂的異構性環境)導致會有一些效能不盡理
想的狀態出現 [10]並且隨著虛擬技術的成熟虛擬機器可以將實體機資源
更有效的利用慢慢的開始以虛擬機器作為 Cluster而且MapReduce 在以虛
擬機器建立起的異構性環境之下對於 IO 負載不平衡 [12][13][16]以及任務排
程 [1][6][15]不平均的部份目前已經有許多相關文獻在探討此方面
21 Homogeneous Environment
由 Shadi Ibrahim 等人在 2010 年時所提 LEEN [17]的方法在 Map 階段因
為原始的 MapReduce 架構沒有考慮資料的內容盲目的以資料數量區分導致
Shuffle 階段時會出現分配不平均的現象為了改善此部份LEEN 將每筆資料
計算出 Fairness Score 後根據 Locality [3][27]概念分析與比較將資料適當地放
在各個節點上達到平均分配的效果透過這樣的想法我們將此概念延伸到
Reducer 挑選機器是根據 Communication locality而不是盲目的去選擇有空的
Worker
5
MapReduce是主從式架構具有樹狀網路分佈的結構節點分布在不同的主
機上或者可能在不同的資料中心的主機上則兩個節點要溝通的話則需要
透過網路而頻寬會影響之間傳輸的速度在MapReduce的Worker接受到Master
的要求從而排程Map和ReduceHadoop企圖排程將比較靠近的資料做Map
tasks以避免在網路上增加過多的overhead至於Reduce tasks則沒有考慮到此部
份因此在進行shuffle的時候不必要的資料在網路上可能會降低校能遙遠
的節點資料傳送已經成為一個瓶頸而Mohammad Hammoud等人在2011提出
的論文著重在Reduce任務的部分透過網路位置做分區來做排程因此形成
了LARTS 的策略 [14]而且還觀察到MapReduce在Map Tasks完成後進行
shuffling的動作此步驟是用交錯的方式先前的方法在Shuffling這個動作的
時候使MapReduce的性能提高但是卻增加了網路的負載而LARTS保持了
此Shuffling的優勢還減少了網路的負載但是此篇論文著重在Reduce task的
部份至於Map task的部份並未做優化的部份
22 Heterogeneity Environment
Hadoop原先假設在節點相同的環境下運行但是實際上環境內的節點並
不是每次都是一致的當Hadoop運行在異構性環境對於性能上是有很大的落
差由Matei Zaharia等人提出的LATE (Longest Approximate Time to End) [26]針
對其任務的排程上做改良重新設計了一個新的Speculative task會估算完成時
間根據完成時間在去調整任務上的分配雖然對回應時間有點影響但是
整體性能明顯的比Hadoop改善很多而Quan Chen等人在2010年所提出的SAMR
(Self-adaptive MapReduce Scheduling Algorithm) [7]自動適應MapReduce的調動
排程主要是計算任務進度根據歷史資料動態調整Map任務以及Reduce任務
並且可以識別在節點上執行較慢的任務將其任務不做備份工作使其完成時
6
間可以降低在 2012年由Xiaoyu Sun等人提出的 ESAMR (An Enhanced
Self-Adaptive MapReduce Scheduling Algorithm) [22]增強自適應MapReduce的調
度算法以提高Speculative task在SAMR識別慢任務可能不是這麼準確但
是在ESMAR裡它們使用集群演算法轉化改進了這一部分使其識別慢任
務達到一定的準確ESAMR研究結果的誤判率明顯降低
由於Hadoop在異構性環境會造成資料分配不平均的現象所以由
Yuanquan Fan等人提出了在Map階段重新平衡資料分配的方法 [9]而此篇論文
平衡的方法有兩種(1) 根據性能來分配-主要是分成不同大小的資料區塊首先
將每個節點進行性能評估然後資料切成不同大小根據節點的計算能力來分
配相對應的節點(2) 資料動態搬遷-儘管不同大小的資料被分配在每一個節點
上再來估算任務完成時間將執行最慢的任務的部份資料轉移到執行最快的節
點有些任務可能會隨著時間的關係或者網路的關係慢慢延後所以將這些延
後的資料轉移給其他節點去運算其缺點就是資料的搬移時間和成本並沒考慮至
其中以及Reduce phase階段可能因為資料搬移的情況導致Reduce phase的
Communication overhead變重
傳統的 MapReduce 架構是考慮每台機器的規格都相同所以資料平均分
配後所處理完成的時間也都會是一樣在雲端運算環境中往往都是數百台或
著上千上萬台機器在同時運算機器的規格也不盡相同因此 Jiong Xie 等人在
2010 年所提出的 Data Placement [10]的方法將每個電腦區分出 3 個等級分別
是 FastestAverage 及 Slowest不同的等級取得運算資料份量也不同並建立一
張表紀錄目前有哪些機器處於忙碌壅塞狀態有那些機器處於閒置狀態並且
將忙碌的機器的資料分出 3 個等級平均分配資料直至平均為止使得每台
機器資源利用率是相近的雖然這樣的動機很好但是對於資料遷移所花的
時間以及成本是沒考慮的
根據上述研究不足的地方我們提出了MapReduce在異構性環境裡在Map
7
階段將資料切割成不固定大小依據節點能力的不同做出適當的配置在
Reduce階段根據Communication locality 找出適合在哪一台機器上執行最
後再透過優化技術把本篇論文方法的執行時間縮短一些
8
Chapter 3 Preliminary
31 Hadoop
Hadoop架構是由Apache所開發的開放原始碼提供了一個分散式系統的基
本架構Hadoop雲端運算技術主要由三個主要架構所組成 Hadoop Distributes
File System (HDFS)分散式檔案系統Hadoop Database (HBase)分散式資料庫以及
Hadoop MapReduce分散式平行運算以下一一敘述
HDFS (Hadoop File system) 是根據Google提出的GFS(Google File System)所
延伸的主要就是將各個節點連結起來將這些節點組成一個大型的分散式檔案
系統可以有效的處理大量檔案並提供安全的儲存環境以及可以避免因為單一
的硬體發生異常而影響整個系統
而HDFS為了維護資料的一致性當使用者將資料存進去HDFS就不能去
更動或修改HDFS會將要儲存的資料複製副本分散儲存在各個不同的節點
所以當儲存資料的節點發生異常可藉由其他節點來復原
HBase (Hadoop Database)類似Google BigtableHBase架構在Hadoop HDFS
上的分散式資料庫與ㄧ般關聯式資料庫不同HBase使用列和行為索引存取資
料值以及每一筆資料都有一個時間戳記因此同一個欄位可以因為時間的不同
而存在多筆資料
HBase專門用來處理大規模的資料是由HMasrter以及HRegion組成一台
HMaster管理多部HRegion ServerHMaster負責監控與管理HRegion Server系統狀
態而HRegion Server利用記憶體存取快速的優點可以加速資料讀寫的動作
所以會先將資料存放在記憶體內之後再將資料存回HDFS
9
32 MapReduce
雲端運算最重要的關鍵即是MapReduce使用MapReduce模式將一個大問
題先讓程式開發人員分析問題將問題切割成許多小問題在將此小問題平行
分散給各個Mapper當Mapper處理完的結果在傳送到相對映的Reducer去做運
算Reducer將這些結果進行合併在把合併的結果輸出
Split 0
Split 1
Split 2
Mapper
Mapper
Mapper
Reducer
Reducer
Partition 0
Partition 1
Partition 0
Partition 1
Partition 0
Partition 1
Output
File0
Output
File1
Input
File
Master
User
Map
Phase
Intermediate file
(on local disks)
Reduce
PhaseOutput
File
圖一 MapReduce的運作流程圖
如圖一即為MapReduce流程圖
1 將輸入的資料切割成固定大小
2 將要執行的MapReduce程式複製到Master與每一台Worker
3 Master會挑選閒置的Worker當Mapper或Reducer
4 Mapper會從切割好的資料讀取相對映的資料會產生Key Value會先暫
存在記憶體內再週期性的傳送到Local Disc
5 執行Reducer程式的Worker讀取每一個Mapper的結果並進行排序以及彙
整再將整合的結果輸出
10
33 Heterogeneous Classification
MapReduce 在異構性環境下執行已經是越來越多人討論的議題如何將
每個節點分級也有相當多的Benchmark可以做測試本篇論文採用的Benchmark
為 Hardinfo透過虛擬機器去做測試
表一 Hardinfo benchmark
如表一1_2 前面的數字代表核心數目後面的數字代表 Memory 有多少
GB而這個 Hardinfo 本身內含有許多測試的軟件我們測了兩個實驗CPU
Blowfish 以及 CPU CryptoHash這兩個都是跟加密有關的CPU Blowfish 運行
在單核心以及四核心的虛擬機器上所花費的秒數兩個相差了 5 倍因此我
們定義異構性等級為 1 到 5也就是所謂的高異構性環境CPU CryptoHash 運行
在單核心以及四核心的虛擬機器上每秒能壓縮的資料相差了三倍因此我
們定義異構性等級為 1 到 3也就是所謂的高異構性環境我們之後的實驗根
據這兩個異構性等級做參數
11
Chapter 4 Dynamic Data Partitioning and Locality
Aware Virtual Machine Mapping
原始的 Hadoop 在同質性環境執行 MapReduce 程式每個節點運算能力大
致相同所以在 Map 階段並不會有互相等待的結果發生但是在異構性的
環境之下每個節點的 Worker 彼此之間運算速度不同導致先完成的必須得
等速度較慢的節點完成因而執行時間變長而在 Reduce 階段沒有考慮
Communication Locality 的問題即使是用虛擬機架設的環境也是一樣所以
隱藏著一些 Communication overhead 的問題本篇論文主要探討此兩問題
圖二 整體方法流程圖
如圖二所示將資料從 HDFS 讀取進來因為每個節點不能去從其他節點讀
取資料來做因此只能將自己節點資料作完等待其他節點完成後才可繼續
執性 Reduce 階段因此在 Map mpping 階段是根據節點內部的虛擬機性能來
決定節點內部資料的分配而不是固定資料大小丟給效能不一致的虛擬機器來做
12
運算在 Reduce mapping 階段是根據 Locality aware 來選擇機器選擇節省成本
最多的機器以及最後有個節點內部動態調整機制為了減少Reducer完成的時間
41 動態資料切割
在同質性環境 (即為每個節點設備大致相同)運行MapReduce當Worker
完成Map階段任務必須等待其他Worker完成才能進行下一個動作因為每台
節點運算能力大致相同所以當執行Map階段結束後每台節點完成時間是大
致相同的而在異構環境下 (每個節點設備不盡相同則會產生出一個問題在
運算效能不一致的情況會造成在Map程式執行完成的時間變長因為當資料相
同可是每個節點運算能力不一樣就會彼此互相牽制為了要避免此情況發生
所以本篇論文用動態資料切割的方法來解決此問題
圖三 根據節點能力分配相對應大小的資料
動態資料切割的方法得先知道每個Worker的運算能力根據運算能力動
態切割資料大小如圖三所示每個節點運算能力較好的Worker就分配到資料
較多的Partition去做處理而運算能力較差的Worker就分配到較少的Partition使
得每個節點內部的Worker完成時間接近就不會有處理速度比較快的節點完成後
13
必須要等待處理速度比較慢的節點而資料分配方式就是根據Performance
也就是前面所提到的異構性等級的數值相加起來 (Worker處理速度越快則等級
越高)將要處理的資料以及總數值相除會得到一個平均值這個平均值去乘
上等級也就是Worker要處理的資料量
42 Locality Aware Virtual Machine Mapping
由於虛擬機的使用可以充分利用資源所以現在一台實體機可架設多
台虛擬機所以同一台實體機內部有兩台虛擬機當這兩台互相交換資料的
時候其實網路的負載是很低的但是如果是兩台實體機交換資料網路的負
載會變很高在執行Map階段之後資料都儲存在Local disk裡Reducer要怎麼
選擇機器使得Communication locality節省更多而這個即是本篇論文要探討的
第二個問題
421 Best Fit
本篇論文提出了一個 Best Fit 方法這個方法的概念是讓 Reducer 選擇在哪
一台節點上運行使其 Communication locality 節省最多接下來在找出節點內
Performance 最好的 Worker 來當 Reducer而不是像 Hadoop 的 MapReduce 是照
順序去分配這樣的選擇方式是因為節點與節點之間資料傳遞的Communication
overhead 是相當大的而節點內部之間的 Communication overhead相較起來小
很多而讓 Communication locality 節省越多也可以讓 Communication overhead
降低
14
圖四 Best Fit挑選機器流程
1 如圖四所示假設一台實體機上(P1)架設兩台虛擬機(v1v2)根據虛擬
機的運算能力分配相對映的資料量v1即為25單位v2即為22單位以此類
推
2 執行Map程式產生出k值因為有三台Reducer(R1R2R3)所以產生出
3個k值v1虛擬機的k1值為7k2值為10k3值為8而這v1的所有k值相加即為
v1所負責的資料量v1虛擬機k1值為10k2值為9k3值為3而這v2的所有k值
相加為v2所負責的資料量v3也是一樣
3 先從R1要挑選哪台VM開始首先把每個VM所產生出的k1值相加得到一個
總和即為57單位底下看到有三個數值第一個數值即為R1如果在P1這
台機器上運行的話所耗費的遠端溝通成本(要到P2P3取資料的溝通成本)
則第二個數值即為R2在P2這台機器上運行的話所耗費的遠端溝通成本
第三個也是
4 把總共要處理的資料減掉到遠端耗費的溝通成本會得到一個數值即為
15
Communication localityR1如果選擇P1機器運行則Communication locality
為17單位R1如果選擇P2機器運行則Communication locality為18單位R1
如果選擇P3機器運行則Communication locality為22單位R1挑選最多的
Communication locality的機器來運行所以R1選擇P3機器來做運算
5 R1選擇P3實體機而P3實體機有2台虛擬機所以在根據虛擬機的運算能力
先挑選運算能力好的來做為R1
6 如果節點的虛擬機都被挑選完就選第二順位的節點
原始的HadoopR1挑選v1而R2挑選v2照順序的挑選所以沒有考慮到溝
通成本則本篇論文Best fit是根據Communication locality來挑選機器但是
可能在某ㄧ些情況可能不夠完善
圖五 Best Fit 挑選機器的不完善
如圖五所示當Communication locality可以選擇很高的節點卻因為前面的
Reducer把節點內部的Worker挑選完了所以逼不得已只能挑選第二順位的節
點可是這個Communication locality遠遠低於前面Reducer挑選的節點導致整體
的Communication locality大幅下降因此422 Priority即為改善的方法
16
422 Priority
為了確保每個Reducer都能挑選Communication locality最高的機器因此
此章節做了改善
1 在Reducer在挑選機器之前先判斷Reducer哪台要先下去做挑選
2 將每台Reducer最高的Communication locality的跟第二高的相減會得到一個
Difference locality在利用Difference locality下去做排序由大到小
3 Difference locality越大的代表那台Reducer要優先做挑選所以就從
Difference locality越大的挑選到Difference locality最小的
圖六 Priority挑選機器流程
1 如圖六所示R1總共的Data block為57單位R2為42單位R3為41單位經過
Shuffle階段之後
2 R1如果選擇P1這台機器能節省的Communication locality就是17單位R1如果選
擇P2這台機器能節省的Communication locality就是18單位R3如果選擇P2這台
機器能節省的Communication locality就是22單位
3 根據Communication locality將第一高的減掉第二高的會得到一個Difference
17
locality
4 根據此Difference locality排出哪個Reducer要先選取機器此例子的順序為
R2再來R3再來R1而Best Fit就是R1再來R2再來R3
Priority可以避免前面的Reducer把機器挑選完迫使只能選擇第二高的
Communication locality使這樣大幅降低的情況給消除而Best fit和Priority這兩
種方法大幅提高了Communication locality的狀況可是卻也導致了Reduce階段
的完成時間變長所以下章節主要敘述將Reduce階段完成時間優化
43 Loading Aware Virtual Machine Mapping
上述的兩種方法Best fitPriority都是為了降低節點彼此之間的溝通成本
但是卻引發了一個問題Reducer執行完成的時間比原始Hadoop還來得長為
了解決此問題本篇論文在這章節提出優化的方法前面兩種方法是根據節點
的Communication locality來決定要在哪一台Worker做運算當決定好Worker
的時候Reducer會先將運算能力較好的虛擬機器拿去做運算這樣使得運算較
快的機器並不會對映到運算較複雜的資料使得較早完成的機器還是得等候還沒
做好的機器造成時間上的延長所以本篇論文針對此部份做優化
圖七 Reducer對應到其相對效率的Worker
18
如圖七所示當Reducer都挑選好要在哪台實體機做在開始執行Reduce程
式之前我們根據要處理的資料量來分配相對映的機器而這虛擬機的交換
並不會影響到Communication locality因為都是在同一台實體機架設的虛擬機
器做交換
19
Chapter 5 Performance Analysis
本實驗以模擬的方式進行利用 C 語言程式撰寫可設定節點數量節點
裡的 Worker 數量資料大小異構性環境低 (h = 1-3)或高 (h = 1-5)透過模擬
的實驗數據分析基於 Hadoop 的 MapReduce 以及本篇論文透過 Map mapping
和 Reduce mapping 的方式進而改善原始 MapReduce 所造成的缺點
51 Communication Locality
本模擬實驗主要探討的是 Communication Locality圖八(a)和圖八(b)模擬環
境為低異構性圖八(c)和圖八(d)為高異構性環境固定每台實體機架設 2 台以
及 5 台虛擬機器固定 Worker 總數量分別為 102030要處理的資料為 900G
Communication locality(vm = 2 h = 1-3)
0
50
100
150
200
250
300
10 20 30
Number of vm
Dat
a lo
cali
ty
Hadoop
Best Fit
Priority
(a)
20
Communication locality(vm = 5 h = 1-3)
0
100
200
300
400
500
600
10 20 30Number of vm
Dat
a lo
cali
ty
Hadoop
Best Fit
Priority
(b)
Communcation Locality(vm = 2 h = 1-5)
0
50
100
150
200
250
300
10 20 30Number of vm
Dat
a lo
cali
ty
Hadoop
Best Fit
Priority
(c)
Communcation locality(vm = 5 h = 1-5)
0
100
200
300
400
500
600
10 20 30
Number of vm
Dat
a lo
cali
ty
Hadoop
Best Fit
Priority
(d)
圖八 Communication locality (a) low heterogeneity vm=2 (b) low heterogeneity
vm=5 (c) high heterogeneity vm=2 (d) high heterogeneity vm=5
21
由圖八(a)可看出本篇論文提出的兩個方法在低異構性環境所能節省的
Communication Locality 比原始的 Hadoop 提出的方法最多節省了 33的
Communication Locality圖八 (b)也最多節省了約 12的 Communication
Locality雖然節省在固定架設的虛擬機器為兩台的時候節省比較多但是
兩個實驗節省的 Communication Locality 量卻相差了快 2 倍原因是在於 Map 階
段完成的資料都儲存在 Local disc兩台實體機在交換資料的時候溝通成本是
很高的而建立在同一台實體機的兩台虛擬機器交換資料則溝通成本卻來的低
很多 因此溝通成本量的提高也會被實體機上架設的虛擬機器的多寡來影
響
由圖八(c)所示在高異構性最多可節省 27的 Communication Locality圖
八(d)則為 15的 Communication Locality分別從圖八(a)圖八(c)圖八(b)以及
圖八(d)可以看得出來Best Fit 和 Priority 不會隨著異構性環境的高低溝通成
本量會有大幅度的改變而 Priority 在節省的 Communication Locality 都會比 Best
Fit 都來的多一點因為Priority 可以避免前面的 Reducer 把機器挑選完迫使
只能選擇第二高的Communication location 因此大幅降低的情況給消除
52 Task Execution Time
此節實驗是要探討 Map 以及 Reduce 完成的時間圖九(a)和圖九(b)為低異構
性環境的實驗圖九(c)和圖九(d)為高異構性環境都是固定每台實體機架設 2
台以及 5 台虛擬機器所以固定虛擬機器總數量分別為 102030要處理
的資料為 900G
22
Map completion time(vm = 2 h = 1-3)
0
20
40
60
80
100
10 20 30
Number of vm
Sec
ond
Hadoop
Best Fit amp Priority
(a)
Map completion time(vm = 5 h = 1-3)
0
20
40
60
80
100
10 20 30Number of vm
Sec
ond
Hadoop
Best Fit amp Priority
(b)
Map completion time(vm = 2 h = 1-5)
0
20
40
60
80
100
10 20 30Number of vm
seco
nd
Hadoop
Best Fit amp Priority
(c)
23
Map completion time(vm = 5 h = 1-5)
0
20
40
60
80
100
10 20 30Number of vm
seco
nd
Hadoop
Best Fit amp Priority
(d)
圖九 Map completion time (a) low heterogeneity vm=2 (b) low heterogeneity
vm=5 (c) high heterogeneity vm=2 (d) high heterogeneity vm=5
圖九(a)圖九(b)圖九(c)以及圖九(d)顯示了本論文提出的兩個方法 Best Fit
和 Priority 他們完成的時間是一樣的因為兩個方法的 Map mapping 概念是一樣
的所以完成時間也會一樣在此實驗裡可發現 Best Fit 和 Priority 也會隨著
實體機上的虛擬機器數量增多而完成時間縮短而縮短的時間最多甚至可以達
到 44也可看出本論文的兩個方法在低異構性環境的效能比在高異構性環境
的效能來的較差所以在異構性越高的環境越能看得出 Best Fit 和 Priority
的優勢
24
Reduce completion time(vm = 2 h = 1-3)
0
20
40
60
80
100
120
10 20 30Number of vm
Sec
ond
Hadoop
Best Fit
Priority
(a)
Reduce completion time(vm = 5 h = 1-3)
0
20
40
60
80
100
120
10 20 30Number of vm
Sec
ond
Hadoop
Best Fit
Priority
(b)
Reduce completion time(vm = 2 h = 1-5)
0
20
40
60
80
100
120
10 20 30Number of vm
seco
nd
Hadoop
Best Fit
Priority
(c)
25
Reduce completion time(vm = 5 h = 1-5)
0
20
40
60
80
100
120
10 20 30Number of vm
Sec
ond
Hadoop
Best Fit
Priority
(d)
圖十 Reduce completion time (a) low heterogeneity vm=2 (b) low
heterogeneity vm=5 (c) high heterogeneity vm=2 (d) high heterogeneity vm=5
而在 Reduce 完成時間的方面不像 Map 的完成時間是一樣的因為選
擇 Reducer 的方式不同造成 Best Fit 以及 Priority 時間完成上有些許不同
如圖十(a)所示節省了 14的時間圖十(b)節省了 16的時間圖十(c)
節省了 23圖十(d)節省了 29由圖十(b)以及圖十(d)可見影響 Reduce
階段完成時間最主要的原因是異構性環境的問題當環境的異構性越高其
所節省的時間越多而圖十(c)以及圖十(d)所示一台實體機架設的虛擬機器數
量影響的範圍比較小
26
Total completion time (vm = 2 pm = 5 h = 1-3)
0 50 100 150 200 250
Hadoop
Best Fit
Priority
Met
hod
Second
Map Reduce
(a)
Total completion time(vm = 5 pm = 2 h = 1-3)
0 50 100 150 200
Hadoop
Best Fit
Priority
Met
hod
Second
Map Reduce
(b)
Total completion time(vm = 2 pm = 5 h = 1-5)
0 50 100 150 200 250
Hadoop
Best Fit
Priority
Met
hod
Second
Map Reduce
(c)
27
Total completion time(vm=5 pm = 2 h = 1-5)
0 50 100 150 200
Hadoop
Best Fit
Priority
Second
Met
hod
Map Reduce
(d)
圖十一 Total completion time (a) low heterogeneity vm=2 pm=5 (b) low
heterogeneity vm=5 pm=2 (c) high heterogeneity vm=2 pm=5 (d) high
heterogeneity vm=5 pm=2
由於前面分別是 Map以及 Reduce的完成時間為了想知道Map以及 Reduce
對於 MapReduce 的整體影響我們將前面的 Map 以及 Reduce 的完成時間在
處理資料的節點固定為 10 台 Worker將其做整合
從圖十一(a)圖十一(b)圖十一(c)圖十一(d)顯示 Best Fit 和 Priority 不論
是在低異構性或高異構性環境MapReduce 完成時間都比 Hadoop 的完成時間縮
短很多在低異構性環境最多可縮短到 29的時間在高異構性環境最多可縮
短 41的時間而造成 Hadoop 跟 Best Fit 和 Priority 在時間上差異如此大的原
因主要是在 Map 階段的完成時間因為Best Fit 和 Priority 是根據 Worker 的
效能來決定要處理的資料大小而 Hadoop 就是分配固定大小的資料給 Worker
運算所以在越高的異構性環境其縮短的時間會越明顯
28
Total completion time with different number of vm (h=1-3)
0
20
40
60
80
100
120
vm=2 vm=3 vm=4Number of vm per physical machine
Sec
ond
Hadoop
Best Fit
Priority
(a)
Total completion time with different number of vm (h=1-5)
0
20
40
60
80
100
120
vm=2 vm=3 vm=4Number of vm per physical machine
Sec
ond
Hadoop
Best Fit
Priority
(b)
圖十二 Total completion time with different number of vm (a) low heterogeneity
vm=2 worker=12 (b) high heterogeneity vm=5 worker=12
圖十二(a)是在低異構性環境圖十二(b)是在高異構性環境並且1 台實體
機架設 2 個3 個4 個虛擬機器使 Worker 數量固定 12 台處理的資料量為
600G
這個模擬實驗主要探討的是在一台實體機架設的虛擬機器數量對於
MapReduce 完成時間是否真正有影響圖十二(a)和圖十二(b)更可以顯示出 Best
Fit 和 Priority 在異構性越高的環境裏且一台實體機架設越多虛擬機器來當作
Worker 的時候可以縮短更多的時間前者會縮短 Map 的完成時間後者會縮
29
短 Reduce 的完成時間而 Hadoop 在異構性環境高的時候也有些微的縮短一
些時間
Total completion time with different data size (h=1-5)
0
20
40
60
80
100
120
140
400 600 800 1000 1200
Data
Sec
ond
Hadoop
Best Fit
Priority
圖十三 Total completion time with different data size
在上述的實驗中在同樣的資料大小處理的 Worker 數量越多的時候其
完成時間會縮短很多但是到達一定的數量的時候其縮短時間的效果就很低
所以就做了此實驗因為本篇論文就是要探討異構性的環境選擇高異構性
環境固定 Worker 數量 20 台資料大小由 400G 到 1200G探討資料大小對
MapReduce 以及 Worker 的影響如圖十三顯示出在 600G 以下的時候Map 加
上 Reduce 完成的時間突然靠近起來代表了當資料量越小的時候Best Fit 和
Priority 的方法跟原始的 Hadoop 的方法優勢會越來越少但相反的是當資料
量越大的時候雖然Best Fit 和 Priority 完成時間會增加但是跟 Hadoop 的
完成時間比會更加突顯
30
Total completion time (best fit)
0
10
20
30
40
50
60
70
80
(Without optimization) (Optimization)
Best Fit
Sec
ond
Map Reduce
(a)
Total completion time (priority)
0
10
20
30
40
50
60
70
80
(Without optimization) (Optimization)
Priority
Sec
ond
Map Reduce
(b)
圖十四 Total completion time of loading aware optimization (a) without
optimal (b) with optimization
圖十四(a)未使用優化技術圖十四(b)是使用優化技術同樣都是在高異構
性環境之下並且1 台實體機架設 5 個虛擬機器使 Worker 數量固定 15 台
處理的資料量為 900G
在本篇論文方法的部份有提到Loading Aware Virtual Machine Mapping的優
化技術由於此實驗上面的實驗數據都已經使用優化技術來改善時間因此
此實驗就是要探討這優化技術對於MapReduce完成時間的影響
由於Loading Aware Virtual Machine Mapping此優化技術是變動同一台實體
31
機內部的Reducer使得原本是根據Communication locality來選擇虛擬機器但
是在挑選的過程中並沒有依據處理資料的大小分配到其處理速度相對映的
虛擬機器而這優化技術就是將同一台實體機內的虛擬機器重新分配由於此
優化技術並不會影響Communication locality所以這部份並沒有在此實驗探討
圖十四(a)圖十四(b)顯示未使用優化技術的Best fit和Priority的MapReduce
完成時間雖然比Hadoop的方法好但是其Reduce phase完成時間上慢了一些
並且可以看出此優化技術並不會影響到Map phase主要影響的是在Reduce階
段在Reduce階段的完成時間上利用優化技術可以將Reduce階段時間縮短其13
32
Chapter 6 Conclusions and Future Works
目前 Hadoop 資料處理的環境還是應用在群集內節點效能是相同的情況下
如果是異構性環境可能就無法這麼有效率的處理本篇論文提出了兩個方法
動態資料切割和虛擬機對映以及一個優化技術 Loading aware virtual machine
mapping模擬實驗結果表明透過本篇方法來得比 Hadoop 縮短 41的時間以
及最多節省 Communication Locality 約莫 33尤其在異構性越高的環境以及
一台實體機器架設的虛擬機器數量越多改善的效果越明顯另外 Loading
aware virtual machine mapping 優化技術改善了 Reduce phase 的完成時間約莫
13
在未來研究上可以朝著動態調整 Reducer 數量的方向前進當固定大小的
資料上其實有時候過多的節點去運算消耗了大量的運算資源卻只得到一些
秒數的縮短如何利用適當的運算資源來得到最大的利益這是相當重要的議
題由於此實驗都是屬於模擬實驗希望在未來可以實際架設在機器上運行
透過 Benchmark得到真正的數據
33
Reference
1 Masato Asahara Shinji Nakadai and Takuya Araki ldquoLoadAtomizer A
Locality and IO Load aware Task Scheduler for MapReducerdquo in 4th IEEE
International Conference on Cloud Computing Technology and Science
(CloudCom) pp 317-324 2012
2 Paul Barham Boris Dragovic Keir Fraser Steven Hand Tim Harris Alex
Ho Rolf Neugebauer Ian Pratt and Andrew Warfield ldquoXen and the Art of
Virtualizationrdquo SOSP 03 Proceedings of the nineteenth ACM symposium
on Operating systems principles vol 37 Issue 5 pp 164-177 December
2003
3 Xiangping Bu Jia Rao and Cheng Zhong Xu ldquoInterference and
Locality-Aware Task Scheduling for MapReduce Applications in Virtual
Clustersrdquo Proceeding HPDC 13 Proceedings of the 22nd international
sym-posium on High-performance parallel and distributed computing pp
227-238 2013
4 Kasim Selcuk Candan Jong Wook Kim Parth Nagarkar Mithila Nagendra
and Ren-wei Yu ldquoScalable Multimedia Data Processing in Server Clustersrdquo
IEEE MultiMedia pp 3-5 2010
5 Fay Chang Jeffrey Dean Sanjay Ghemawat Wilson C Hsieh Deborah A
Wallach Mike Burrws Tushar Chandra Andrew Fikes and Robert EGruber
ldquoBigtable A Distributed Storage System for Structured Datardquo 7th UENIX
Symposium on Operating Systems Design and Implementation pp 205-218
2006
6 P C Chen Y L Su J B Chang and C K Shieh ldquoVariable-Sized Map and
Locality-Aware Reduce on Public-Resource Gridsrdquo in Proceedings
Conference Grid and Pervasive Computing (GPC 2010) pp 234-243 2010
May
7 Q Chen D Zhang M Guo Q Deng and S Guo ldquoSamr A self adaptive
mapreduce scheduling algorithm in heterogeneous environmentrdquo in 10th
IEEE International Conference on Computer and Information Technology
CIT rsquo10 (Washington DC USA) pp 2736ndash2743 2010
8 Jeffrey Dean and Sanjay Ghemawat ldquoMapReduce Simplified Data
Processing on Large Clustersrdquo Communications of the ACM vol 51 no 1
pp 107ndash113 2008
9 Yuanquan Fan Weiguo Wu Haijun Cao Huo Zhu Xu Zhao and Wei Wei
34
ldquoA heterogeneity-aware data distribution and rebalance method in Hadoop
clusterrdquo 2012 Seventh ChinaGrid Annual Conference pp 176-181 2012
10 Zacharia Fadika Elif Dede Jessica Hartog and Madhusudhan Govindaraju
ldquoMARLA MapReduce for Heterogeneous Clustersrdquo in 12th IEEEACM
International Symposium on Cluster Cloud and Grid Computing pp 49-56
2012
11 Sanjay Ghemawat Howard Gobioff and ShunTak Leung ldquoThe Google file
systemrdquo In Proceedings of 19th Symposium on Operating Systems
Principles pp 29-43 2003
12 Sven Groot ldquoJumbo Beyond MapReduce for Workload Balancingrdquo Fuzzy
Systems and Knowledge Discovery (FSKD) 2011 Eighth International
Conference on Cloud Computing Technology and Science vol 4 pp
2675-2678 2011 July
13 B Gufler N Augsten A Reiser and A Kemper ldquoHandling Data Skew in
MapReducerdquo in Proceedings of CLOSER pp 574ndash583 2011
14 Mohammad Hammoud and Majd F Sakr ldquoLocality-Aware Reduce Task
Scheduling for MapReducerdquo Third IEEE International Conference on
Cloud Computing Technology and Science pp 570-576 2011
15 C He Y Lu and D Swanson ldquoMatch-making A New MapReduce
Scheduling Techniquerdquo IEEE Third International Conference on Cloud
Computing Technology and Science (CloudCom) pp 40ndash47 2011
16 Hung Chang Hsiao Huesh Yi Chung Haiying Shen and Yu Chang
ChaoldquoLoad Re-balancing for Distributed File Systems in Cloudsrdquo IEEE
Trans on Parallel and Distributed Systems vol24 pp 951-962 2012
17 Shadi Ibrahim Hai Jin Lu Lu Song Wu Bingsheng He and Li Qi ldquoLEEN
LocalityFairness Aware Key Partitioning for MapReduce in the Cloudrdquo
2010 IEEE Second International Conference on Cloud Computing
Technology and Science (CloudCom) pp 17ndash24 2010
18 S Ibrahim H Jin L Lu L Qi S Wu and X Shi ldquoEvaluating MapReduce
on Virtual Machines The Hadoop Caserdquo Proceedings Conference Cloud
Computing (CloudCom 2009) Springer LNCS pp 519-528 2009 Dec
19 C Jin and R Buyya ldquoMapreduce programming model for net-based cloud
computingrdquo in Proceedings of the 15th International Euro-Par Conference
on Parallel Processing Euro-Par (Berlin Heidelberg) pp 417ndash428 2009
20 R Nanduri N Maheshwari A Reddyraja and V Varma ldquoJob aware
scheduling algorithm for Mapreduce frameworkrdquo in 3rd International
Conference on Cloud Computing Technology and Science
CLOUDCOM rsquo11 (Washington DC USA) pp 724ndash729 2011
35
21 Andrew J Page and Thomas J Naughton ldquoDynamic task scheduling using
genetic algorithms for heterogeneous distributed computingrdquo in 19th IEEE
International Parallel and Distributed Processing Symposium pp 189a
2005 April
22 Xiaoyu Sun Chen He and Ying Lu ldquoESAMR An Enhanced Self-Adaptive
MapReduce Scheduling Algorithmrdquo 2012 IEEE 18th International
Conference on Parallel and Distributed Systems pp 148-155 2012
23 Chao Tian Haojie Zhou Yongqiang He and Li Zha ldquoA Dynamic
MapReduce Scheduler for Heterogeneous Workloadsrdquo Eighth International
Conference on Grid and Cooperative Computing pp 218ndash244 2009 Aug
24 Jiong Xie Shu Yin Xiaojun Ruan Zhi-yang Ding Yun Tian James Majors
Adam Manzanares and Xiao Qin ldquoImproving mapreduce performance
through data placement in heterogeneous hadoop clustersrdquo in IPDPS
Workshops pp 1ndash9 2010
25 J Tan X Pan S Kavulya R Gandhi and P Narasimhan ldquoMochi Visual
Log-Analysis Based Tools for Debugging Hadooprdquo USENIX Workshop on
Hot Topics in Cloud Computing (HotCloud) pp 1-5 2009
26 Matei Zaharia Andy Konwinski Anthony D Joseph Randy Katz and Ion
Stoica ldquoImproving MapReduce Performance in Heterogeneous
Environmentsrdquo 8th Symposium on Operating Systems Design and
Implementation pp 29ndash42 2008 Dec
27 X Zhang Z Zhong S Feng B Tu and J Fan ldquoImproving Data locality of
MapReduce by Scheduling in Homogeneous Computing Environmentsrdquo in
9th IEEE International Symposium on Parallel and Distributed Processing
with Applications (ISPA) pp 120-126 2011
28 Apache hadoop Available from httphadoopapacheorg
29 MapReduce with a lot of examples for Mining datasets Available from
httpinfolabstanfordedu~ullmanmmdsbookpdf
Page 14
5
MapReduce是主從式架構具有樹狀網路分佈的結構節點分布在不同的主
機上或者可能在不同的資料中心的主機上則兩個節點要溝通的話則需要
透過網路而頻寬會影響之間傳輸的速度在MapReduce的Worker接受到Master
的要求從而排程Map和ReduceHadoop企圖排程將比較靠近的資料做Map
tasks以避免在網路上增加過多的overhead至於Reduce tasks則沒有考慮到此部
份因此在進行shuffle的時候不必要的資料在網路上可能會降低校能遙遠
的節點資料傳送已經成為一個瓶頸而Mohammad Hammoud等人在2011提出
的論文著重在Reduce任務的部分透過網路位置做分區來做排程因此形成
了LARTS 的策略 [14]而且還觀察到MapReduce在Map Tasks完成後進行
shuffling的動作此步驟是用交錯的方式先前的方法在Shuffling這個動作的
時候使MapReduce的性能提高但是卻增加了網路的負載而LARTS保持了
此Shuffling的優勢還減少了網路的負載但是此篇論文著重在Reduce task的
部份至於Map task的部份並未做優化的部份
22 Heterogeneity Environment
Hadoop原先假設在節點相同的環境下運行但是實際上環境內的節點並
不是每次都是一致的當Hadoop運行在異構性環境對於性能上是有很大的落
差由Matei Zaharia等人提出的LATE (Longest Approximate Time to End) [26]針
對其任務的排程上做改良重新設計了一個新的Speculative task會估算完成時
間根據完成時間在去調整任務上的分配雖然對回應時間有點影響但是
整體性能明顯的比Hadoop改善很多而Quan Chen等人在2010年所提出的SAMR
(Self-adaptive MapReduce Scheduling Algorithm) [7]自動適應MapReduce的調動
排程主要是計算任務進度根據歷史資料動態調整Map任務以及Reduce任務
並且可以識別在節點上執行較慢的任務將其任務不做備份工作使其完成時
6
間可以降低在 2012年由Xiaoyu Sun等人提出的 ESAMR (An Enhanced
Self-Adaptive MapReduce Scheduling Algorithm) [22]增強自適應MapReduce的調
度算法以提高Speculative task在SAMR識別慢任務可能不是這麼準確但
是在ESMAR裡它們使用集群演算法轉化改進了這一部分使其識別慢任
務達到一定的準確ESAMR研究結果的誤判率明顯降低
由於Hadoop在異構性環境會造成資料分配不平均的現象所以由
Yuanquan Fan等人提出了在Map階段重新平衡資料分配的方法 [9]而此篇論文
平衡的方法有兩種(1) 根據性能來分配-主要是分成不同大小的資料區塊首先
將每個節點進行性能評估然後資料切成不同大小根據節點的計算能力來分
配相對應的節點(2) 資料動態搬遷-儘管不同大小的資料被分配在每一個節點
上再來估算任務完成時間將執行最慢的任務的部份資料轉移到執行最快的節
點有些任務可能會隨著時間的關係或者網路的關係慢慢延後所以將這些延
後的資料轉移給其他節點去運算其缺點就是資料的搬移時間和成本並沒考慮至
其中以及Reduce phase階段可能因為資料搬移的情況導致Reduce phase的
Communication overhead變重
傳統的 MapReduce 架構是考慮每台機器的規格都相同所以資料平均分
配後所處理完成的時間也都會是一樣在雲端運算環境中往往都是數百台或
著上千上萬台機器在同時運算機器的規格也不盡相同因此 Jiong Xie 等人在
2010 年所提出的 Data Placement [10]的方法將每個電腦區分出 3 個等級分別
是 FastestAverage 及 Slowest不同的等級取得運算資料份量也不同並建立一
張表紀錄目前有哪些機器處於忙碌壅塞狀態有那些機器處於閒置狀態並且
將忙碌的機器的資料分出 3 個等級平均分配資料直至平均為止使得每台
機器資源利用率是相近的雖然這樣的動機很好但是對於資料遷移所花的
時間以及成本是沒考慮的
根據上述研究不足的地方我們提出了MapReduce在異構性環境裡在Map
7
階段將資料切割成不固定大小依據節點能力的不同做出適當的配置在
Reduce階段根據Communication locality 找出適合在哪一台機器上執行最
後再透過優化技術把本篇論文方法的執行時間縮短一些
8
Chapter 3 Preliminary
31 Hadoop
Hadoop架構是由Apache所開發的開放原始碼提供了一個分散式系統的基
本架構Hadoop雲端運算技術主要由三個主要架構所組成 Hadoop Distributes
File System (HDFS)分散式檔案系統Hadoop Database (HBase)分散式資料庫以及
Hadoop MapReduce分散式平行運算以下一一敘述
HDFS (Hadoop File system) 是根據Google提出的GFS(Google File System)所
延伸的主要就是將各個節點連結起來將這些節點組成一個大型的分散式檔案
系統可以有效的處理大量檔案並提供安全的儲存環境以及可以避免因為單一
的硬體發生異常而影響整個系統
而HDFS為了維護資料的一致性當使用者將資料存進去HDFS就不能去
更動或修改HDFS會將要儲存的資料複製副本分散儲存在各個不同的節點
所以當儲存資料的節點發生異常可藉由其他節點來復原
HBase (Hadoop Database)類似Google BigtableHBase架構在Hadoop HDFS
上的分散式資料庫與ㄧ般關聯式資料庫不同HBase使用列和行為索引存取資
料值以及每一筆資料都有一個時間戳記因此同一個欄位可以因為時間的不同
而存在多筆資料
HBase專門用來處理大規模的資料是由HMasrter以及HRegion組成一台
HMaster管理多部HRegion ServerHMaster負責監控與管理HRegion Server系統狀
態而HRegion Server利用記憶體存取快速的優點可以加速資料讀寫的動作
所以會先將資料存放在記憶體內之後再將資料存回HDFS
9
32 MapReduce
雲端運算最重要的關鍵即是MapReduce使用MapReduce模式將一個大問
題先讓程式開發人員分析問題將問題切割成許多小問題在將此小問題平行
分散給各個Mapper當Mapper處理完的結果在傳送到相對映的Reducer去做運
算Reducer將這些結果進行合併在把合併的結果輸出
Split 0
Split 1
Split 2
Mapper
Mapper
Mapper
Reducer
Reducer
Partition 0
Partition 1
Partition 0
Partition 1
Partition 0
Partition 1
Output
File0
Output
File1
Input
File
Master
User
Map
Phase
Intermediate file
(on local disks)
Reduce
PhaseOutput
File
圖一 MapReduce的運作流程圖
如圖一即為MapReduce流程圖
1 將輸入的資料切割成固定大小
2 將要執行的MapReduce程式複製到Master與每一台Worker
3 Master會挑選閒置的Worker當Mapper或Reducer
4 Mapper會從切割好的資料讀取相對映的資料會產生Key Value會先暫
存在記憶體內再週期性的傳送到Local Disc
5 執行Reducer程式的Worker讀取每一個Mapper的結果並進行排序以及彙
整再將整合的結果輸出
10
33 Heterogeneous Classification
MapReduce 在異構性環境下執行已經是越來越多人討論的議題如何將
每個節點分級也有相當多的Benchmark可以做測試本篇論文採用的Benchmark
為 Hardinfo透過虛擬機器去做測試
表一 Hardinfo benchmark
如表一1_2 前面的數字代表核心數目後面的數字代表 Memory 有多少
GB而這個 Hardinfo 本身內含有許多測試的軟件我們測了兩個實驗CPU
Blowfish 以及 CPU CryptoHash這兩個都是跟加密有關的CPU Blowfish 運行
在單核心以及四核心的虛擬機器上所花費的秒數兩個相差了 5 倍因此我
們定義異構性等級為 1 到 5也就是所謂的高異構性環境CPU CryptoHash 運行
在單核心以及四核心的虛擬機器上每秒能壓縮的資料相差了三倍因此我
們定義異構性等級為 1 到 3也就是所謂的高異構性環境我們之後的實驗根
據這兩個異構性等級做參數
11
Chapter 4 Dynamic Data Partitioning and Locality
Aware Virtual Machine Mapping
原始的 Hadoop 在同質性環境執行 MapReduce 程式每個節點運算能力大
致相同所以在 Map 階段並不會有互相等待的結果發生但是在異構性的
環境之下每個節點的 Worker 彼此之間運算速度不同導致先完成的必須得
等速度較慢的節點完成因而執行時間變長而在 Reduce 階段沒有考慮
Communication Locality 的問題即使是用虛擬機架設的環境也是一樣所以
隱藏著一些 Communication overhead 的問題本篇論文主要探討此兩問題
圖二 整體方法流程圖
如圖二所示將資料從 HDFS 讀取進來因為每個節點不能去從其他節點讀
取資料來做因此只能將自己節點資料作完等待其他節點完成後才可繼續
執性 Reduce 階段因此在 Map mpping 階段是根據節點內部的虛擬機性能來
決定節點內部資料的分配而不是固定資料大小丟給效能不一致的虛擬機器來做
12
運算在 Reduce mapping 階段是根據 Locality aware 來選擇機器選擇節省成本
最多的機器以及最後有個節點內部動態調整機制為了減少Reducer完成的時間
41 動態資料切割
在同質性環境 (即為每個節點設備大致相同)運行MapReduce當Worker
完成Map階段任務必須等待其他Worker完成才能進行下一個動作因為每台
節點運算能力大致相同所以當執行Map階段結束後每台節點完成時間是大
致相同的而在異構環境下 (每個節點設備不盡相同則會產生出一個問題在
運算效能不一致的情況會造成在Map程式執行完成的時間變長因為當資料相
同可是每個節點運算能力不一樣就會彼此互相牽制為了要避免此情況發生
所以本篇論文用動態資料切割的方法來解決此問題
圖三 根據節點能力分配相對應大小的資料
動態資料切割的方法得先知道每個Worker的運算能力根據運算能力動
態切割資料大小如圖三所示每個節點運算能力較好的Worker就分配到資料
較多的Partition去做處理而運算能力較差的Worker就分配到較少的Partition使
得每個節點內部的Worker完成時間接近就不會有處理速度比較快的節點完成後
13
必須要等待處理速度比較慢的節點而資料分配方式就是根據Performance
也就是前面所提到的異構性等級的數值相加起來 (Worker處理速度越快則等級
越高)將要處理的資料以及總數值相除會得到一個平均值這個平均值去乘
上等級也就是Worker要處理的資料量
42 Locality Aware Virtual Machine Mapping
由於虛擬機的使用可以充分利用資源所以現在一台實體機可架設多
台虛擬機所以同一台實體機內部有兩台虛擬機當這兩台互相交換資料的
時候其實網路的負載是很低的但是如果是兩台實體機交換資料網路的負
載會變很高在執行Map階段之後資料都儲存在Local disk裡Reducer要怎麼
選擇機器使得Communication locality節省更多而這個即是本篇論文要探討的
第二個問題
421 Best Fit
本篇論文提出了一個 Best Fit 方法這個方法的概念是讓 Reducer 選擇在哪
一台節點上運行使其 Communication locality 節省最多接下來在找出節點內
Performance 最好的 Worker 來當 Reducer而不是像 Hadoop 的 MapReduce 是照
順序去分配這樣的選擇方式是因為節點與節點之間資料傳遞的Communication
overhead 是相當大的而節點內部之間的 Communication overhead相較起來小
很多而讓 Communication locality 節省越多也可以讓 Communication overhead
降低
14
圖四 Best Fit挑選機器流程
1 如圖四所示假設一台實體機上(P1)架設兩台虛擬機(v1v2)根據虛擬
機的運算能力分配相對映的資料量v1即為25單位v2即為22單位以此類
推
2 執行Map程式產生出k值因為有三台Reducer(R1R2R3)所以產生出
3個k值v1虛擬機的k1值為7k2值為10k3值為8而這v1的所有k值相加即為
v1所負責的資料量v1虛擬機k1值為10k2值為9k3值為3而這v2的所有k值
相加為v2所負責的資料量v3也是一樣
3 先從R1要挑選哪台VM開始首先把每個VM所產生出的k1值相加得到一個
總和即為57單位底下看到有三個數值第一個數值即為R1如果在P1這
台機器上運行的話所耗費的遠端溝通成本(要到P2P3取資料的溝通成本)
則第二個數值即為R2在P2這台機器上運行的話所耗費的遠端溝通成本
第三個也是
4 把總共要處理的資料減掉到遠端耗費的溝通成本會得到一個數值即為
15
Communication localityR1如果選擇P1機器運行則Communication locality
為17單位R1如果選擇P2機器運行則Communication locality為18單位R1
如果選擇P3機器運行則Communication locality為22單位R1挑選最多的
Communication locality的機器來運行所以R1選擇P3機器來做運算
5 R1選擇P3實體機而P3實體機有2台虛擬機所以在根據虛擬機的運算能力
先挑選運算能力好的來做為R1
6 如果節點的虛擬機都被挑選完就選第二順位的節點
原始的HadoopR1挑選v1而R2挑選v2照順序的挑選所以沒有考慮到溝
通成本則本篇論文Best fit是根據Communication locality來挑選機器但是
可能在某ㄧ些情況可能不夠完善
圖五 Best Fit 挑選機器的不完善
如圖五所示當Communication locality可以選擇很高的節點卻因為前面的
Reducer把節點內部的Worker挑選完了所以逼不得已只能挑選第二順位的節
點可是這個Communication locality遠遠低於前面Reducer挑選的節點導致整體
的Communication locality大幅下降因此422 Priority即為改善的方法
16
422 Priority
為了確保每個Reducer都能挑選Communication locality最高的機器因此
此章節做了改善
1 在Reducer在挑選機器之前先判斷Reducer哪台要先下去做挑選
2 將每台Reducer最高的Communication locality的跟第二高的相減會得到一個
Difference locality在利用Difference locality下去做排序由大到小
3 Difference locality越大的代表那台Reducer要優先做挑選所以就從
Difference locality越大的挑選到Difference locality最小的
圖六 Priority挑選機器流程
1 如圖六所示R1總共的Data block為57單位R2為42單位R3為41單位經過
Shuffle階段之後
2 R1如果選擇P1這台機器能節省的Communication locality就是17單位R1如果選
擇P2這台機器能節省的Communication locality就是18單位R3如果選擇P2這台
機器能節省的Communication locality就是22單位
3 根據Communication locality將第一高的減掉第二高的會得到一個Difference
17
locality
4 根據此Difference locality排出哪個Reducer要先選取機器此例子的順序為
R2再來R3再來R1而Best Fit就是R1再來R2再來R3
Priority可以避免前面的Reducer把機器挑選完迫使只能選擇第二高的
Communication locality使這樣大幅降低的情況給消除而Best fit和Priority這兩
種方法大幅提高了Communication locality的狀況可是卻也導致了Reduce階段
的完成時間變長所以下章節主要敘述將Reduce階段完成時間優化
43 Loading Aware Virtual Machine Mapping
上述的兩種方法Best fitPriority都是為了降低節點彼此之間的溝通成本
但是卻引發了一個問題Reducer執行完成的時間比原始Hadoop還來得長為
了解決此問題本篇論文在這章節提出優化的方法前面兩種方法是根據節點
的Communication locality來決定要在哪一台Worker做運算當決定好Worker
的時候Reducer會先將運算能力較好的虛擬機器拿去做運算這樣使得運算較
快的機器並不會對映到運算較複雜的資料使得較早完成的機器還是得等候還沒
做好的機器造成時間上的延長所以本篇論文針對此部份做優化
圖七 Reducer對應到其相對效率的Worker
18
如圖七所示當Reducer都挑選好要在哪台實體機做在開始執行Reduce程
式之前我們根據要處理的資料量來分配相對映的機器而這虛擬機的交換
並不會影響到Communication locality因為都是在同一台實體機架設的虛擬機
器做交換
19
Chapter 5 Performance Analysis
本實驗以模擬的方式進行利用 C 語言程式撰寫可設定節點數量節點
裡的 Worker 數量資料大小異構性環境低 (h = 1-3)或高 (h = 1-5)透過模擬
的實驗數據分析基於 Hadoop 的 MapReduce 以及本篇論文透過 Map mapping
和 Reduce mapping 的方式進而改善原始 MapReduce 所造成的缺點
51 Communication Locality
本模擬實驗主要探討的是 Communication Locality圖八(a)和圖八(b)模擬環
境為低異構性圖八(c)和圖八(d)為高異構性環境固定每台實體機架設 2 台以
及 5 台虛擬機器固定 Worker 總數量分別為 102030要處理的資料為 900G
Communication locality(vm = 2 h = 1-3)
0
50
100
150
200
250
300
10 20 30
Number of vm
Dat
a lo
cali
ty
Hadoop
Best Fit
Priority
(a)
20
Communication locality(vm = 5 h = 1-3)
0
100
200
300
400
500
600
10 20 30Number of vm
Dat
a lo
cali
ty
Hadoop
Best Fit
Priority
(b)
Communcation Locality(vm = 2 h = 1-5)
0
50
100
150
200
250
300
10 20 30Number of vm
Dat
a lo
cali
ty
Hadoop
Best Fit
Priority
(c)
Communcation locality(vm = 5 h = 1-5)
0
100
200
300
400
500
600
10 20 30
Number of vm
Dat
a lo
cali
ty
Hadoop
Best Fit
Priority
(d)
圖八 Communication locality (a) low heterogeneity vm=2 (b) low heterogeneity
vm=5 (c) high heterogeneity vm=2 (d) high heterogeneity vm=5
21
由圖八(a)可看出本篇論文提出的兩個方法在低異構性環境所能節省的
Communication Locality 比原始的 Hadoop 提出的方法最多節省了 33的
Communication Locality圖八 (b)也最多節省了約 12的 Communication
Locality雖然節省在固定架設的虛擬機器為兩台的時候節省比較多但是
兩個實驗節省的 Communication Locality 量卻相差了快 2 倍原因是在於 Map 階
段完成的資料都儲存在 Local disc兩台實體機在交換資料的時候溝通成本是
很高的而建立在同一台實體機的兩台虛擬機器交換資料則溝通成本卻來的低
很多 因此溝通成本量的提高也會被實體機上架設的虛擬機器的多寡來影
響
由圖八(c)所示在高異構性最多可節省 27的 Communication Locality圖
八(d)則為 15的 Communication Locality分別從圖八(a)圖八(c)圖八(b)以及
圖八(d)可以看得出來Best Fit 和 Priority 不會隨著異構性環境的高低溝通成
本量會有大幅度的改變而 Priority 在節省的 Communication Locality 都會比 Best
Fit 都來的多一點因為Priority 可以避免前面的 Reducer 把機器挑選完迫使
只能選擇第二高的Communication location 因此大幅降低的情況給消除
52 Task Execution Time
此節實驗是要探討 Map 以及 Reduce 完成的時間圖九(a)和圖九(b)為低異構
性環境的實驗圖九(c)和圖九(d)為高異構性環境都是固定每台實體機架設 2
台以及 5 台虛擬機器所以固定虛擬機器總數量分別為 102030要處理
的資料為 900G
22
Map completion time(vm = 2 h = 1-3)
0
20
40
60
80
100
10 20 30
Number of vm
Sec
ond
Hadoop
Best Fit amp Priority
(a)
Map completion time(vm = 5 h = 1-3)
0
20
40
60
80
100
10 20 30Number of vm
Sec
ond
Hadoop
Best Fit amp Priority
(b)
Map completion time(vm = 2 h = 1-5)
0
20
40
60
80
100
10 20 30Number of vm
seco
nd
Hadoop
Best Fit amp Priority
(c)
23
Map completion time(vm = 5 h = 1-5)
0
20
40
60
80
100
10 20 30Number of vm
seco
nd
Hadoop
Best Fit amp Priority
(d)
圖九 Map completion time (a) low heterogeneity vm=2 (b) low heterogeneity
vm=5 (c) high heterogeneity vm=2 (d) high heterogeneity vm=5
圖九(a)圖九(b)圖九(c)以及圖九(d)顯示了本論文提出的兩個方法 Best Fit
和 Priority 他們完成的時間是一樣的因為兩個方法的 Map mapping 概念是一樣
的所以完成時間也會一樣在此實驗裡可發現 Best Fit 和 Priority 也會隨著
實體機上的虛擬機器數量增多而完成時間縮短而縮短的時間最多甚至可以達
到 44也可看出本論文的兩個方法在低異構性環境的效能比在高異構性環境
的效能來的較差所以在異構性越高的環境越能看得出 Best Fit 和 Priority
的優勢
24
Reduce completion time(vm = 2 h = 1-3)
0
20
40
60
80
100
120
10 20 30Number of vm
Sec
ond
Hadoop
Best Fit
Priority
(a)
Reduce completion time(vm = 5 h = 1-3)
0
20
40
60
80
100
120
10 20 30Number of vm
Sec
ond
Hadoop
Best Fit
Priority
(b)
Reduce completion time(vm = 2 h = 1-5)
0
20
40
60
80
100
120
10 20 30Number of vm
seco
nd
Hadoop
Best Fit
Priority
(c)
25
Reduce completion time(vm = 5 h = 1-5)
0
20
40
60
80
100
120
10 20 30Number of vm
Sec
ond
Hadoop
Best Fit
Priority
(d)
圖十 Reduce completion time (a) low heterogeneity vm=2 (b) low
heterogeneity vm=5 (c) high heterogeneity vm=2 (d) high heterogeneity vm=5
而在 Reduce 完成時間的方面不像 Map 的完成時間是一樣的因為選
擇 Reducer 的方式不同造成 Best Fit 以及 Priority 時間完成上有些許不同
如圖十(a)所示節省了 14的時間圖十(b)節省了 16的時間圖十(c)
節省了 23圖十(d)節省了 29由圖十(b)以及圖十(d)可見影響 Reduce
階段完成時間最主要的原因是異構性環境的問題當環境的異構性越高其
所節省的時間越多而圖十(c)以及圖十(d)所示一台實體機架設的虛擬機器數
量影響的範圍比較小
26
Total completion time (vm = 2 pm = 5 h = 1-3)
0 50 100 150 200 250
Hadoop
Best Fit
Priority
Met
hod
Second
Map Reduce
(a)
Total completion time(vm = 5 pm = 2 h = 1-3)
0 50 100 150 200
Hadoop
Best Fit
Priority
Met
hod
Second
Map Reduce
(b)
Total completion time(vm = 2 pm = 5 h = 1-5)
0 50 100 150 200 250
Hadoop
Best Fit
Priority
Met
hod
Second
Map Reduce
(c)
27
Total completion time(vm=5 pm = 2 h = 1-5)
0 50 100 150 200
Hadoop
Best Fit
Priority
Second
Met
hod
Map Reduce
(d)
圖十一 Total completion time (a) low heterogeneity vm=2 pm=5 (b) low
heterogeneity vm=5 pm=2 (c) high heterogeneity vm=2 pm=5 (d) high
heterogeneity vm=5 pm=2
由於前面分別是 Map以及 Reduce的完成時間為了想知道Map以及 Reduce
對於 MapReduce 的整體影響我們將前面的 Map 以及 Reduce 的完成時間在
處理資料的節點固定為 10 台 Worker將其做整合
從圖十一(a)圖十一(b)圖十一(c)圖十一(d)顯示 Best Fit 和 Priority 不論
是在低異構性或高異構性環境MapReduce 完成時間都比 Hadoop 的完成時間縮
短很多在低異構性環境最多可縮短到 29的時間在高異構性環境最多可縮
短 41的時間而造成 Hadoop 跟 Best Fit 和 Priority 在時間上差異如此大的原
因主要是在 Map 階段的完成時間因為Best Fit 和 Priority 是根據 Worker 的
效能來決定要處理的資料大小而 Hadoop 就是分配固定大小的資料給 Worker
運算所以在越高的異構性環境其縮短的時間會越明顯
28
Total completion time with different number of vm (h=1-3)
0
20
40
60
80
100
120
vm=2 vm=3 vm=4Number of vm per physical machine
Sec
ond
Hadoop
Best Fit
Priority
(a)
Total completion time with different number of vm (h=1-5)
0
20
40
60
80
100
120
vm=2 vm=3 vm=4Number of vm per physical machine
Sec
ond
Hadoop
Best Fit
Priority
(b)
圖十二 Total completion time with different number of vm (a) low heterogeneity
vm=2 worker=12 (b) high heterogeneity vm=5 worker=12
圖十二(a)是在低異構性環境圖十二(b)是在高異構性環境並且1 台實體
機架設 2 個3 個4 個虛擬機器使 Worker 數量固定 12 台處理的資料量為
600G
這個模擬實驗主要探討的是在一台實體機架設的虛擬機器數量對於
MapReduce 完成時間是否真正有影響圖十二(a)和圖十二(b)更可以顯示出 Best
Fit 和 Priority 在異構性越高的環境裏且一台實體機架設越多虛擬機器來當作
Worker 的時候可以縮短更多的時間前者會縮短 Map 的完成時間後者會縮
29
短 Reduce 的完成時間而 Hadoop 在異構性環境高的時候也有些微的縮短一
些時間
Total completion time with different data size (h=1-5)
0
20
40
60
80
100
120
140
400 600 800 1000 1200
Data
Sec
ond
Hadoop
Best Fit
Priority
圖十三 Total completion time with different data size
在上述的實驗中在同樣的資料大小處理的 Worker 數量越多的時候其
完成時間會縮短很多但是到達一定的數量的時候其縮短時間的效果就很低
所以就做了此實驗因為本篇論文就是要探討異構性的環境選擇高異構性
環境固定 Worker 數量 20 台資料大小由 400G 到 1200G探討資料大小對
MapReduce 以及 Worker 的影響如圖十三顯示出在 600G 以下的時候Map 加
上 Reduce 完成的時間突然靠近起來代表了當資料量越小的時候Best Fit 和
Priority 的方法跟原始的 Hadoop 的方法優勢會越來越少但相反的是當資料
量越大的時候雖然Best Fit 和 Priority 完成時間會增加但是跟 Hadoop 的
完成時間比會更加突顯
30
Total completion time (best fit)
0
10
20
30
40
50
60
70
80
(Without optimization) (Optimization)
Best Fit
Sec
ond
Map Reduce
(a)
Total completion time (priority)
0
10
20
30
40
50
60
70
80
(Without optimization) (Optimization)
Priority
Sec
ond
Map Reduce
(b)
圖十四 Total completion time of loading aware optimization (a) without
optimal (b) with optimization
圖十四(a)未使用優化技術圖十四(b)是使用優化技術同樣都是在高異構
性環境之下並且1 台實體機架設 5 個虛擬機器使 Worker 數量固定 15 台
處理的資料量為 900G
在本篇論文方法的部份有提到Loading Aware Virtual Machine Mapping的優
化技術由於此實驗上面的實驗數據都已經使用優化技術來改善時間因此
此實驗就是要探討這優化技術對於MapReduce完成時間的影響
由於Loading Aware Virtual Machine Mapping此優化技術是變動同一台實體
31
機內部的Reducer使得原本是根據Communication locality來選擇虛擬機器但
是在挑選的過程中並沒有依據處理資料的大小分配到其處理速度相對映的
虛擬機器而這優化技術就是將同一台實體機內的虛擬機器重新分配由於此
優化技術並不會影響Communication locality所以這部份並沒有在此實驗探討
圖十四(a)圖十四(b)顯示未使用優化技術的Best fit和Priority的MapReduce
完成時間雖然比Hadoop的方法好但是其Reduce phase完成時間上慢了一些
並且可以看出此優化技術並不會影響到Map phase主要影響的是在Reduce階
段在Reduce階段的完成時間上利用優化技術可以將Reduce階段時間縮短其13
32
Chapter 6 Conclusions and Future Works
目前 Hadoop 資料處理的環境還是應用在群集內節點效能是相同的情況下
如果是異構性環境可能就無法這麼有效率的處理本篇論文提出了兩個方法
動態資料切割和虛擬機對映以及一個優化技術 Loading aware virtual machine
mapping模擬實驗結果表明透過本篇方法來得比 Hadoop 縮短 41的時間以
及最多節省 Communication Locality 約莫 33尤其在異構性越高的環境以及
一台實體機器架設的虛擬機器數量越多改善的效果越明顯另外 Loading
aware virtual machine mapping 優化技術改善了 Reduce phase 的完成時間約莫
13
在未來研究上可以朝著動態調整 Reducer 數量的方向前進當固定大小的
資料上其實有時候過多的節點去運算消耗了大量的運算資源卻只得到一些
秒數的縮短如何利用適當的運算資源來得到最大的利益這是相當重要的議
題由於此實驗都是屬於模擬實驗希望在未來可以實際架設在機器上運行
透過 Benchmark得到真正的數據
33
Reference
1 Masato Asahara Shinji Nakadai and Takuya Araki ldquoLoadAtomizer A
Locality and IO Load aware Task Scheduler for MapReducerdquo in 4th IEEE
International Conference on Cloud Computing Technology and Science
(CloudCom) pp 317-324 2012
2 Paul Barham Boris Dragovic Keir Fraser Steven Hand Tim Harris Alex
Ho Rolf Neugebauer Ian Pratt and Andrew Warfield ldquoXen and the Art of
Virtualizationrdquo SOSP 03 Proceedings of the nineteenth ACM symposium
on Operating systems principles vol 37 Issue 5 pp 164-177 December
2003
3 Xiangping Bu Jia Rao and Cheng Zhong Xu ldquoInterference and
Locality-Aware Task Scheduling for MapReduce Applications in Virtual
Clustersrdquo Proceeding HPDC 13 Proceedings of the 22nd international
sym-posium on High-performance parallel and distributed computing pp
227-238 2013
4 Kasim Selcuk Candan Jong Wook Kim Parth Nagarkar Mithila Nagendra
and Ren-wei Yu ldquoScalable Multimedia Data Processing in Server Clustersrdquo
IEEE MultiMedia pp 3-5 2010
5 Fay Chang Jeffrey Dean Sanjay Ghemawat Wilson C Hsieh Deborah A
Wallach Mike Burrws Tushar Chandra Andrew Fikes and Robert EGruber
ldquoBigtable A Distributed Storage System for Structured Datardquo 7th UENIX
Symposium on Operating Systems Design and Implementation pp 205-218
2006
6 P C Chen Y L Su J B Chang and C K Shieh ldquoVariable-Sized Map and
Locality-Aware Reduce on Public-Resource Gridsrdquo in Proceedings
Conference Grid and Pervasive Computing (GPC 2010) pp 234-243 2010
May
7 Q Chen D Zhang M Guo Q Deng and S Guo ldquoSamr A self adaptive
mapreduce scheduling algorithm in heterogeneous environmentrdquo in 10th
IEEE International Conference on Computer and Information Technology
CIT rsquo10 (Washington DC USA) pp 2736ndash2743 2010
8 Jeffrey Dean and Sanjay Ghemawat ldquoMapReduce Simplified Data
Processing on Large Clustersrdquo Communications of the ACM vol 51 no 1
pp 107ndash113 2008
9 Yuanquan Fan Weiguo Wu Haijun Cao Huo Zhu Xu Zhao and Wei Wei
34
ldquoA heterogeneity-aware data distribution and rebalance method in Hadoop
clusterrdquo 2012 Seventh ChinaGrid Annual Conference pp 176-181 2012
10 Zacharia Fadika Elif Dede Jessica Hartog and Madhusudhan Govindaraju
ldquoMARLA MapReduce for Heterogeneous Clustersrdquo in 12th IEEEACM
International Symposium on Cluster Cloud and Grid Computing pp 49-56
2012
11 Sanjay Ghemawat Howard Gobioff and ShunTak Leung ldquoThe Google file
systemrdquo In Proceedings of 19th Symposium on Operating Systems
Principles pp 29-43 2003
12 Sven Groot ldquoJumbo Beyond MapReduce for Workload Balancingrdquo Fuzzy
Systems and Knowledge Discovery (FSKD) 2011 Eighth International
Conference on Cloud Computing Technology and Science vol 4 pp
2675-2678 2011 July
13 B Gufler N Augsten A Reiser and A Kemper ldquoHandling Data Skew in
MapReducerdquo in Proceedings of CLOSER pp 574ndash583 2011
14 Mohammad Hammoud and Majd F Sakr ldquoLocality-Aware Reduce Task
Scheduling for MapReducerdquo Third IEEE International Conference on
Cloud Computing Technology and Science pp 570-576 2011
15 C He Y Lu and D Swanson ldquoMatch-making A New MapReduce
Scheduling Techniquerdquo IEEE Third International Conference on Cloud
Computing Technology and Science (CloudCom) pp 40ndash47 2011
16 Hung Chang Hsiao Huesh Yi Chung Haiying Shen and Yu Chang
ChaoldquoLoad Re-balancing for Distributed File Systems in Cloudsrdquo IEEE
Trans on Parallel and Distributed Systems vol24 pp 951-962 2012
17 Shadi Ibrahim Hai Jin Lu Lu Song Wu Bingsheng He and Li Qi ldquoLEEN
LocalityFairness Aware Key Partitioning for MapReduce in the Cloudrdquo
2010 IEEE Second International Conference on Cloud Computing
Technology and Science (CloudCom) pp 17ndash24 2010
18 S Ibrahim H Jin L Lu L Qi S Wu and X Shi ldquoEvaluating MapReduce
on Virtual Machines The Hadoop Caserdquo Proceedings Conference Cloud
Computing (CloudCom 2009) Springer LNCS pp 519-528 2009 Dec
19 C Jin and R Buyya ldquoMapreduce programming model for net-based cloud
computingrdquo in Proceedings of the 15th International Euro-Par Conference
on Parallel Processing Euro-Par (Berlin Heidelberg) pp 417ndash428 2009
20 R Nanduri N Maheshwari A Reddyraja and V Varma ldquoJob aware
scheduling algorithm for Mapreduce frameworkrdquo in 3rd International
Conference on Cloud Computing Technology and Science
CLOUDCOM rsquo11 (Washington DC USA) pp 724ndash729 2011
35
21 Andrew J Page and Thomas J Naughton ldquoDynamic task scheduling using
genetic algorithms for heterogeneous distributed computingrdquo in 19th IEEE
International Parallel and Distributed Processing Symposium pp 189a
2005 April
22 Xiaoyu Sun Chen He and Ying Lu ldquoESAMR An Enhanced Self-Adaptive
MapReduce Scheduling Algorithmrdquo 2012 IEEE 18th International
Conference on Parallel and Distributed Systems pp 148-155 2012
23 Chao Tian Haojie Zhou Yongqiang He and Li Zha ldquoA Dynamic
MapReduce Scheduler for Heterogeneous Workloadsrdquo Eighth International
Conference on Grid and Cooperative Computing pp 218ndash244 2009 Aug
24 Jiong Xie Shu Yin Xiaojun Ruan Zhi-yang Ding Yun Tian James Majors
Adam Manzanares and Xiao Qin ldquoImproving mapreduce performance
through data placement in heterogeneous hadoop clustersrdquo in IPDPS
Workshops pp 1ndash9 2010
25 J Tan X Pan S Kavulya R Gandhi and P Narasimhan ldquoMochi Visual
Log-Analysis Based Tools for Debugging Hadooprdquo USENIX Workshop on
Hot Topics in Cloud Computing (HotCloud) pp 1-5 2009
26 Matei Zaharia Andy Konwinski Anthony D Joseph Randy Katz and Ion
Stoica ldquoImproving MapReduce Performance in Heterogeneous
Environmentsrdquo 8th Symposium on Operating Systems Design and
Implementation pp 29ndash42 2008 Dec
27 X Zhang Z Zhong S Feng B Tu and J Fan ldquoImproving Data locality of
MapReduce by Scheduling in Homogeneous Computing Environmentsrdquo in
9th IEEE International Symposium on Parallel and Distributed Processing
with Applications (ISPA) pp 120-126 2011
28 Apache hadoop Available from httphadoopapacheorg
29 MapReduce with a lot of examples for Mining datasets Available from
httpinfolabstanfordedu~ullmanmmdsbookpdf
Page 15
6
間可以降低在 2012年由Xiaoyu Sun等人提出的 ESAMR (An Enhanced
Self-Adaptive MapReduce Scheduling Algorithm) [22]增強自適應MapReduce的調
度算法以提高Speculative task在SAMR識別慢任務可能不是這麼準確但
是在ESMAR裡它們使用集群演算法轉化改進了這一部分使其識別慢任
務達到一定的準確ESAMR研究結果的誤判率明顯降低
由於Hadoop在異構性環境會造成資料分配不平均的現象所以由
Yuanquan Fan等人提出了在Map階段重新平衡資料分配的方法 [9]而此篇論文
平衡的方法有兩種(1) 根據性能來分配-主要是分成不同大小的資料區塊首先
將每個節點進行性能評估然後資料切成不同大小根據節點的計算能力來分
配相對應的節點(2) 資料動態搬遷-儘管不同大小的資料被分配在每一個節點
上再來估算任務完成時間將執行最慢的任務的部份資料轉移到執行最快的節
點有些任務可能會隨著時間的關係或者網路的關係慢慢延後所以將這些延
後的資料轉移給其他節點去運算其缺點就是資料的搬移時間和成本並沒考慮至
其中以及Reduce phase階段可能因為資料搬移的情況導致Reduce phase的
Communication overhead變重
傳統的 MapReduce 架構是考慮每台機器的規格都相同所以資料平均分
配後所處理完成的時間也都會是一樣在雲端運算環境中往往都是數百台或
著上千上萬台機器在同時運算機器的規格也不盡相同因此 Jiong Xie 等人在
2010 年所提出的 Data Placement [10]的方法將每個電腦區分出 3 個等級分別
是 FastestAverage 及 Slowest不同的等級取得運算資料份量也不同並建立一
張表紀錄目前有哪些機器處於忙碌壅塞狀態有那些機器處於閒置狀態並且
將忙碌的機器的資料分出 3 個等級平均分配資料直至平均為止使得每台
機器資源利用率是相近的雖然這樣的動機很好但是對於資料遷移所花的
時間以及成本是沒考慮的
根據上述研究不足的地方我們提出了MapReduce在異構性環境裡在Map
7
階段將資料切割成不固定大小依據節點能力的不同做出適當的配置在
Reduce階段根據Communication locality 找出適合在哪一台機器上執行最
後再透過優化技術把本篇論文方法的執行時間縮短一些
8
Chapter 3 Preliminary
31 Hadoop
Hadoop架構是由Apache所開發的開放原始碼提供了一個分散式系統的基
本架構Hadoop雲端運算技術主要由三個主要架構所組成 Hadoop Distributes
File System (HDFS)分散式檔案系統Hadoop Database (HBase)分散式資料庫以及
Hadoop MapReduce分散式平行運算以下一一敘述
HDFS (Hadoop File system) 是根據Google提出的GFS(Google File System)所
延伸的主要就是將各個節點連結起來將這些節點組成一個大型的分散式檔案
系統可以有效的處理大量檔案並提供安全的儲存環境以及可以避免因為單一
的硬體發生異常而影響整個系統
而HDFS為了維護資料的一致性當使用者將資料存進去HDFS就不能去
更動或修改HDFS會將要儲存的資料複製副本分散儲存在各個不同的節點
所以當儲存資料的節點發生異常可藉由其他節點來復原
HBase (Hadoop Database)類似Google BigtableHBase架構在Hadoop HDFS
上的分散式資料庫與ㄧ般關聯式資料庫不同HBase使用列和行為索引存取資
料值以及每一筆資料都有一個時間戳記因此同一個欄位可以因為時間的不同
而存在多筆資料
HBase專門用來處理大規模的資料是由HMasrter以及HRegion組成一台
HMaster管理多部HRegion ServerHMaster負責監控與管理HRegion Server系統狀
態而HRegion Server利用記憶體存取快速的優點可以加速資料讀寫的動作
所以會先將資料存放在記憶體內之後再將資料存回HDFS
9
32 MapReduce
雲端運算最重要的關鍵即是MapReduce使用MapReduce模式將一個大問
題先讓程式開發人員分析問題將問題切割成許多小問題在將此小問題平行
分散給各個Mapper當Mapper處理完的結果在傳送到相對映的Reducer去做運
算Reducer將這些結果進行合併在把合併的結果輸出
Split 0
Split 1
Split 2
Mapper
Mapper
Mapper
Reducer
Reducer
Partition 0
Partition 1
Partition 0
Partition 1
Partition 0
Partition 1
Output
File0
Output
File1
Input
File
Master
User
Map
Phase
Intermediate file
(on local disks)
Reduce
PhaseOutput
File
圖一 MapReduce的運作流程圖
如圖一即為MapReduce流程圖
1 將輸入的資料切割成固定大小
2 將要執行的MapReduce程式複製到Master與每一台Worker
3 Master會挑選閒置的Worker當Mapper或Reducer
4 Mapper會從切割好的資料讀取相對映的資料會產生Key Value會先暫
存在記憶體內再週期性的傳送到Local Disc
5 執行Reducer程式的Worker讀取每一個Mapper的結果並進行排序以及彙
整再將整合的結果輸出
10
33 Heterogeneous Classification
MapReduce 在異構性環境下執行已經是越來越多人討論的議題如何將
每個節點分級也有相當多的Benchmark可以做測試本篇論文採用的Benchmark
為 Hardinfo透過虛擬機器去做測試
表一 Hardinfo benchmark
如表一1_2 前面的數字代表核心數目後面的數字代表 Memory 有多少
GB而這個 Hardinfo 本身內含有許多測試的軟件我們測了兩個實驗CPU
Blowfish 以及 CPU CryptoHash這兩個都是跟加密有關的CPU Blowfish 運行
在單核心以及四核心的虛擬機器上所花費的秒數兩個相差了 5 倍因此我
們定義異構性等級為 1 到 5也就是所謂的高異構性環境CPU CryptoHash 運行
在單核心以及四核心的虛擬機器上每秒能壓縮的資料相差了三倍因此我
們定義異構性等級為 1 到 3也就是所謂的高異構性環境我們之後的實驗根
據這兩個異構性等級做參數
11
Chapter 4 Dynamic Data Partitioning and Locality
Aware Virtual Machine Mapping
原始的 Hadoop 在同質性環境執行 MapReduce 程式每個節點運算能力大
致相同所以在 Map 階段並不會有互相等待的結果發生但是在異構性的
環境之下每個節點的 Worker 彼此之間運算速度不同導致先完成的必須得
等速度較慢的節點完成因而執行時間變長而在 Reduce 階段沒有考慮
Communication Locality 的問題即使是用虛擬機架設的環境也是一樣所以
隱藏著一些 Communication overhead 的問題本篇論文主要探討此兩問題
圖二 整體方法流程圖
如圖二所示將資料從 HDFS 讀取進來因為每個節點不能去從其他節點讀
取資料來做因此只能將自己節點資料作完等待其他節點完成後才可繼續
執性 Reduce 階段因此在 Map mpping 階段是根據節點內部的虛擬機性能來
決定節點內部資料的分配而不是固定資料大小丟給效能不一致的虛擬機器來做
12
運算在 Reduce mapping 階段是根據 Locality aware 來選擇機器選擇節省成本
最多的機器以及最後有個節點內部動態調整機制為了減少Reducer完成的時間
41 動態資料切割
在同質性環境 (即為每個節點設備大致相同)運行MapReduce當Worker
完成Map階段任務必須等待其他Worker完成才能進行下一個動作因為每台
節點運算能力大致相同所以當執行Map階段結束後每台節點完成時間是大
致相同的而在異構環境下 (每個節點設備不盡相同則會產生出一個問題在
運算效能不一致的情況會造成在Map程式執行完成的時間變長因為當資料相
同可是每個節點運算能力不一樣就會彼此互相牽制為了要避免此情況發生
所以本篇論文用動態資料切割的方法來解決此問題
圖三 根據節點能力分配相對應大小的資料
動態資料切割的方法得先知道每個Worker的運算能力根據運算能力動
態切割資料大小如圖三所示每個節點運算能力較好的Worker就分配到資料
較多的Partition去做處理而運算能力較差的Worker就分配到較少的Partition使
得每個節點內部的Worker完成時間接近就不會有處理速度比較快的節點完成後
13
必須要等待處理速度比較慢的節點而資料分配方式就是根據Performance
也就是前面所提到的異構性等級的數值相加起來 (Worker處理速度越快則等級
越高)將要處理的資料以及總數值相除會得到一個平均值這個平均值去乘
上等級也就是Worker要處理的資料量
42 Locality Aware Virtual Machine Mapping
由於虛擬機的使用可以充分利用資源所以現在一台實體機可架設多
台虛擬機所以同一台實體機內部有兩台虛擬機當這兩台互相交換資料的
時候其實網路的負載是很低的但是如果是兩台實體機交換資料網路的負
載會變很高在執行Map階段之後資料都儲存在Local disk裡Reducer要怎麼
選擇機器使得Communication locality節省更多而這個即是本篇論文要探討的
第二個問題
421 Best Fit
本篇論文提出了一個 Best Fit 方法這個方法的概念是讓 Reducer 選擇在哪
一台節點上運行使其 Communication locality 節省最多接下來在找出節點內
Performance 最好的 Worker 來當 Reducer而不是像 Hadoop 的 MapReduce 是照
順序去分配這樣的選擇方式是因為節點與節點之間資料傳遞的Communication
overhead 是相當大的而節點內部之間的 Communication overhead相較起來小
很多而讓 Communication locality 節省越多也可以讓 Communication overhead
降低
14
圖四 Best Fit挑選機器流程
1 如圖四所示假設一台實體機上(P1)架設兩台虛擬機(v1v2)根據虛擬
機的運算能力分配相對映的資料量v1即為25單位v2即為22單位以此類
推
2 執行Map程式產生出k值因為有三台Reducer(R1R2R3)所以產生出
3個k值v1虛擬機的k1值為7k2值為10k3值為8而這v1的所有k值相加即為
v1所負責的資料量v1虛擬機k1值為10k2值為9k3值為3而這v2的所有k值
相加為v2所負責的資料量v3也是一樣
3 先從R1要挑選哪台VM開始首先把每個VM所產生出的k1值相加得到一個
總和即為57單位底下看到有三個數值第一個數值即為R1如果在P1這
台機器上運行的話所耗費的遠端溝通成本(要到P2P3取資料的溝通成本)
則第二個數值即為R2在P2這台機器上運行的話所耗費的遠端溝通成本
第三個也是
4 把總共要處理的資料減掉到遠端耗費的溝通成本會得到一個數值即為
15
Communication localityR1如果選擇P1機器運行則Communication locality
為17單位R1如果選擇P2機器運行則Communication locality為18單位R1
如果選擇P3機器運行則Communication locality為22單位R1挑選最多的
Communication locality的機器來運行所以R1選擇P3機器來做運算
5 R1選擇P3實體機而P3實體機有2台虛擬機所以在根據虛擬機的運算能力
先挑選運算能力好的來做為R1
6 如果節點的虛擬機都被挑選完就選第二順位的節點
原始的HadoopR1挑選v1而R2挑選v2照順序的挑選所以沒有考慮到溝
通成本則本篇論文Best fit是根據Communication locality來挑選機器但是
可能在某ㄧ些情況可能不夠完善
圖五 Best Fit 挑選機器的不完善
如圖五所示當Communication locality可以選擇很高的節點卻因為前面的
Reducer把節點內部的Worker挑選完了所以逼不得已只能挑選第二順位的節
點可是這個Communication locality遠遠低於前面Reducer挑選的節點導致整體
的Communication locality大幅下降因此422 Priority即為改善的方法
16
422 Priority
為了確保每個Reducer都能挑選Communication locality最高的機器因此
此章節做了改善
1 在Reducer在挑選機器之前先判斷Reducer哪台要先下去做挑選
2 將每台Reducer最高的Communication locality的跟第二高的相減會得到一個
Difference locality在利用Difference locality下去做排序由大到小
3 Difference locality越大的代表那台Reducer要優先做挑選所以就從
Difference locality越大的挑選到Difference locality最小的
圖六 Priority挑選機器流程
1 如圖六所示R1總共的Data block為57單位R2為42單位R3為41單位經過
Shuffle階段之後
2 R1如果選擇P1這台機器能節省的Communication locality就是17單位R1如果選
擇P2這台機器能節省的Communication locality就是18單位R3如果選擇P2這台
機器能節省的Communication locality就是22單位
3 根據Communication locality將第一高的減掉第二高的會得到一個Difference
17
locality
4 根據此Difference locality排出哪個Reducer要先選取機器此例子的順序為
R2再來R3再來R1而Best Fit就是R1再來R2再來R3
Priority可以避免前面的Reducer把機器挑選完迫使只能選擇第二高的
Communication locality使這樣大幅降低的情況給消除而Best fit和Priority這兩
種方法大幅提高了Communication locality的狀況可是卻也導致了Reduce階段
的完成時間變長所以下章節主要敘述將Reduce階段完成時間優化
43 Loading Aware Virtual Machine Mapping
上述的兩種方法Best fitPriority都是為了降低節點彼此之間的溝通成本
但是卻引發了一個問題Reducer執行完成的時間比原始Hadoop還來得長為
了解決此問題本篇論文在這章節提出優化的方法前面兩種方法是根據節點
的Communication locality來決定要在哪一台Worker做運算當決定好Worker
的時候Reducer會先將運算能力較好的虛擬機器拿去做運算這樣使得運算較
快的機器並不會對映到運算較複雜的資料使得較早完成的機器還是得等候還沒
做好的機器造成時間上的延長所以本篇論文針對此部份做優化
圖七 Reducer對應到其相對效率的Worker
18
如圖七所示當Reducer都挑選好要在哪台實體機做在開始執行Reduce程
式之前我們根據要處理的資料量來分配相對映的機器而這虛擬機的交換
並不會影響到Communication locality因為都是在同一台實體機架設的虛擬機
器做交換
19
Chapter 5 Performance Analysis
本實驗以模擬的方式進行利用 C 語言程式撰寫可設定節點數量節點
裡的 Worker 數量資料大小異構性環境低 (h = 1-3)或高 (h = 1-5)透過模擬
的實驗數據分析基於 Hadoop 的 MapReduce 以及本篇論文透過 Map mapping
和 Reduce mapping 的方式進而改善原始 MapReduce 所造成的缺點
51 Communication Locality
本模擬實驗主要探討的是 Communication Locality圖八(a)和圖八(b)模擬環
境為低異構性圖八(c)和圖八(d)為高異構性環境固定每台實體機架設 2 台以
及 5 台虛擬機器固定 Worker 總數量分別為 102030要處理的資料為 900G
Communication locality(vm = 2 h = 1-3)
0
50
100
150
200
250
300
10 20 30
Number of vm
Dat
a lo
cali
ty
Hadoop
Best Fit
Priority
(a)
20
Communication locality(vm = 5 h = 1-3)
0
100
200
300
400
500
600
10 20 30Number of vm
Dat
a lo
cali
ty
Hadoop
Best Fit
Priority
(b)
Communcation Locality(vm = 2 h = 1-5)
0
50
100
150
200
250
300
10 20 30Number of vm
Dat
a lo
cali
ty
Hadoop
Best Fit
Priority
(c)
Communcation locality(vm = 5 h = 1-5)
0
100
200
300
400
500
600
10 20 30
Number of vm
Dat
a lo
cali
ty
Hadoop
Best Fit
Priority
(d)
圖八 Communication locality (a) low heterogeneity vm=2 (b) low heterogeneity
vm=5 (c) high heterogeneity vm=2 (d) high heterogeneity vm=5
21
由圖八(a)可看出本篇論文提出的兩個方法在低異構性環境所能節省的
Communication Locality 比原始的 Hadoop 提出的方法最多節省了 33的
Communication Locality圖八 (b)也最多節省了約 12的 Communication
Locality雖然節省在固定架設的虛擬機器為兩台的時候節省比較多但是
兩個實驗節省的 Communication Locality 量卻相差了快 2 倍原因是在於 Map 階
段完成的資料都儲存在 Local disc兩台實體機在交換資料的時候溝通成本是
很高的而建立在同一台實體機的兩台虛擬機器交換資料則溝通成本卻來的低
很多 因此溝通成本量的提高也會被實體機上架設的虛擬機器的多寡來影
響
由圖八(c)所示在高異構性最多可節省 27的 Communication Locality圖
八(d)則為 15的 Communication Locality分別從圖八(a)圖八(c)圖八(b)以及
圖八(d)可以看得出來Best Fit 和 Priority 不會隨著異構性環境的高低溝通成
本量會有大幅度的改變而 Priority 在節省的 Communication Locality 都會比 Best
Fit 都來的多一點因為Priority 可以避免前面的 Reducer 把機器挑選完迫使
只能選擇第二高的Communication location 因此大幅降低的情況給消除
52 Task Execution Time
此節實驗是要探討 Map 以及 Reduce 完成的時間圖九(a)和圖九(b)為低異構
性環境的實驗圖九(c)和圖九(d)為高異構性環境都是固定每台實體機架設 2
台以及 5 台虛擬機器所以固定虛擬機器總數量分別為 102030要處理
的資料為 900G
22
Map completion time(vm = 2 h = 1-3)
0
20
40
60
80
100
10 20 30
Number of vm
Sec
ond
Hadoop
Best Fit amp Priority
(a)
Map completion time(vm = 5 h = 1-3)
0
20
40
60
80
100
10 20 30Number of vm
Sec
ond
Hadoop
Best Fit amp Priority
(b)
Map completion time(vm = 2 h = 1-5)
0
20
40
60
80
100
10 20 30Number of vm
seco
nd
Hadoop
Best Fit amp Priority
(c)
23
Map completion time(vm = 5 h = 1-5)
0
20
40
60
80
100
10 20 30Number of vm
seco
nd
Hadoop
Best Fit amp Priority
(d)
圖九 Map completion time (a) low heterogeneity vm=2 (b) low heterogeneity
vm=5 (c) high heterogeneity vm=2 (d) high heterogeneity vm=5
圖九(a)圖九(b)圖九(c)以及圖九(d)顯示了本論文提出的兩個方法 Best Fit
和 Priority 他們完成的時間是一樣的因為兩個方法的 Map mapping 概念是一樣
的所以完成時間也會一樣在此實驗裡可發現 Best Fit 和 Priority 也會隨著
實體機上的虛擬機器數量增多而完成時間縮短而縮短的時間最多甚至可以達
到 44也可看出本論文的兩個方法在低異構性環境的效能比在高異構性環境
的效能來的較差所以在異構性越高的環境越能看得出 Best Fit 和 Priority
的優勢
24
Reduce completion time(vm = 2 h = 1-3)
0
20
40
60
80
100
120
10 20 30Number of vm
Sec
ond
Hadoop
Best Fit
Priority
(a)
Reduce completion time(vm = 5 h = 1-3)
0
20
40
60
80
100
120
10 20 30Number of vm
Sec
ond
Hadoop
Best Fit
Priority
(b)
Reduce completion time(vm = 2 h = 1-5)
0
20
40
60
80
100
120
10 20 30Number of vm
seco
nd
Hadoop
Best Fit
Priority
(c)
25
Reduce completion time(vm = 5 h = 1-5)
0
20
40
60
80
100
120
10 20 30Number of vm
Sec
ond
Hadoop
Best Fit
Priority
(d)
圖十 Reduce completion time (a) low heterogeneity vm=2 (b) low
heterogeneity vm=5 (c) high heterogeneity vm=2 (d) high heterogeneity vm=5
而在 Reduce 完成時間的方面不像 Map 的完成時間是一樣的因為選
擇 Reducer 的方式不同造成 Best Fit 以及 Priority 時間完成上有些許不同
如圖十(a)所示節省了 14的時間圖十(b)節省了 16的時間圖十(c)
節省了 23圖十(d)節省了 29由圖十(b)以及圖十(d)可見影響 Reduce
階段完成時間最主要的原因是異構性環境的問題當環境的異構性越高其
所節省的時間越多而圖十(c)以及圖十(d)所示一台實體機架設的虛擬機器數
量影響的範圍比較小
26
Total completion time (vm = 2 pm = 5 h = 1-3)
0 50 100 150 200 250
Hadoop
Best Fit
Priority
Met
hod
Second
Map Reduce
(a)
Total completion time(vm = 5 pm = 2 h = 1-3)
0 50 100 150 200
Hadoop
Best Fit
Priority
Met
hod
Second
Map Reduce
(b)
Total completion time(vm = 2 pm = 5 h = 1-5)
0 50 100 150 200 250
Hadoop
Best Fit
Priority
Met
hod
Second
Map Reduce
(c)
27
Total completion time(vm=5 pm = 2 h = 1-5)
0 50 100 150 200
Hadoop
Best Fit
Priority
Second
Met
hod
Map Reduce
(d)
圖十一 Total completion time (a) low heterogeneity vm=2 pm=5 (b) low
heterogeneity vm=5 pm=2 (c) high heterogeneity vm=2 pm=5 (d) high
heterogeneity vm=5 pm=2
由於前面分別是 Map以及 Reduce的完成時間為了想知道Map以及 Reduce
對於 MapReduce 的整體影響我們將前面的 Map 以及 Reduce 的完成時間在
處理資料的節點固定為 10 台 Worker將其做整合
從圖十一(a)圖十一(b)圖十一(c)圖十一(d)顯示 Best Fit 和 Priority 不論
是在低異構性或高異構性環境MapReduce 完成時間都比 Hadoop 的完成時間縮
短很多在低異構性環境最多可縮短到 29的時間在高異構性環境最多可縮
短 41的時間而造成 Hadoop 跟 Best Fit 和 Priority 在時間上差異如此大的原
因主要是在 Map 階段的完成時間因為Best Fit 和 Priority 是根據 Worker 的
效能來決定要處理的資料大小而 Hadoop 就是分配固定大小的資料給 Worker
運算所以在越高的異構性環境其縮短的時間會越明顯
28
Total completion time with different number of vm (h=1-3)
0
20
40
60
80
100
120
vm=2 vm=3 vm=4Number of vm per physical machine
Sec
ond
Hadoop
Best Fit
Priority
(a)
Total completion time with different number of vm (h=1-5)
0
20
40
60
80
100
120
vm=2 vm=3 vm=4Number of vm per physical machine
Sec
ond
Hadoop
Best Fit
Priority
(b)
圖十二 Total completion time with different number of vm (a) low heterogeneity
vm=2 worker=12 (b) high heterogeneity vm=5 worker=12
圖十二(a)是在低異構性環境圖十二(b)是在高異構性環境並且1 台實體
機架設 2 個3 個4 個虛擬機器使 Worker 數量固定 12 台處理的資料量為
600G
這個模擬實驗主要探討的是在一台實體機架設的虛擬機器數量對於
MapReduce 完成時間是否真正有影響圖十二(a)和圖十二(b)更可以顯示出 Best
Fit 和 Priority 在異構性越高的環境裏且一台實體機架設越多虛擬機器來當作
Worker 的時候可以縮短更多的時間前者會縮短 Map 的完成時間後者會縮
29
短 Reduce 的完成時間而 Hadoop 在異構性環境高的時候也有些微的縮短一
些時間
Total completion time with different data size (h=1-5)
0
20
40
60
80
100
120
140
400 600 800 1000 1200
Data
Sec
ond
Hadoop
Best Fit
Priority
圖十三 Total completion time with different data size
在上述的實驗中在同樣的資料大小處理的 Worker 數量越多的時候其
完成時間會縮短很多但是到達一定的數量的時候其縮短時間的效果就很低
所以就做了此實驗因為本篇論文就是要探討異構性的環境選擇高異構性
環境固定 Worker 數量 20 台資料大小由 400G 到 1200G探討資料大小對
MapReduce 以及 Worker 的影響如圖十三顯示出在 600G 以下的時候Map 加
上 Reduce 完成的時間突然靠近起來代表了當資料量越小的時候Best Fit 和
Priority 的方法跟原始的 Hadoop 的方法優勢會越來越少但相反的是當資料
量越大的時候雖然Best Fit 和 Priority 完成時間會增加但是跟 Hadoop 的
完成時間比會更加突顯
30
Total completion time (best fit)
0
10
20
30
40
50
60
70
80
(Without optimization) (Optimization)
Best Fit
Sec
ond
Map Reduce
(a)
Total completion time (priority)
0
10
20
30
40
50
60
70
80
(Without optimization) (Optimization)
Priority
Sec
ond
Map Reduce
(b)
圖十四 Total completion time of loading aware optimization (a) without
optimal (b) with optimization
圖十四(a)未使用優化技術圖十四(b)是使用優化技術同樣都是在高異構
性環境之下並且1 台實體機架設 5 個虛擬機器使 Worker 數量固定 15 台
處理的資料量為 900G
在本篇論文方法的部份有提到Loading Aware Virtual Machine Mapping的優
化技術由於此實驗上面的實驗數據都已經使用優化技術來改善時間因此
此實驗就是要探討這優化技術對於MapReduce完成時間的影響
由於Loading Aware Virtual Machine Mapping此優化技術是變動同一台實體
31
機內部的Reducer使得原本是根據Communication locality來選擇虛擬機器但
是在挑選的過程中並沒有依據處理資料的大小分配到其處理速度相對映的
虛擬機器而這優化技術就是將同一台實體機內的虛擬機器重新分配由於此
優化技術並不會影響Communication locality所以這部份並沒有在此實驗探討
圖十四(a)圖十四(b)顯示未使用優化技術的Best fit和Priority的MapReduce
完成時間雖然比Hadoop的方法好但是其Reduce phase完成時間上慢了一些
並且可以看出此優化技術並不會影響到Map phase主要影響的是在Reduce階
段在Reduce階段的完成時間上利用優化技術可以將Reduce階段時間縮短其13
32
Chapter 6 Conclusions and Future Works
目前 Hadoop 資料處理的環境還是應用在群集內節點效能是相同的情況下
如果是異構性環境可能就無法這麼有效率的處理本篇論文提出了兩個方法
動態資料切割和虛擬機對映以及一個優化技術 Loading aware virtual machine
mapping模擬實驗結果表明透過本篇方法來得比 Hadoop 縮短 41的時間以
及最多節省 Communication Locality 約莫 33尤其在異構性越高的環境以及
一台實體機器架設的虛擬機器數量越多改善的效果越明顯另外 Loading
aware virtual machine mapping 優化技術改善了 Reduce phase 的完成時間約莫
13
在未來研究上可以朝著動態調整 Reducer 數量的方向前進當固定大小的
資料上其實有時候過多的節點去運算消耗了大量的運算資源卻只得到一些
秒數的縮短如何利用適當的運算資源來得到最大的利益這是相當重要的議
題由於此實驗都是屬於模擬實驗希望在未來可以實際架設在機器上運行
透過 Benchmark得到真正的數據
33
Reference
1 Masato Asahara Shinji Nakadai and Takuya Araki ldquoLoadAtomizer A
Locality and IO Load aware Task Scheduler for MapReducerdquo in 4th IEEE
International Conference on Cloud Computing Technology and Science
(CloudCom) pp 317-324 2012
2 Paul Barham Boris Dragovic Keir Fraser Steven Hand Tim Harris Alex
Ho Rolf Neugebauer Ian Pratt and Andrew Warfield ldquoXen and the Art of
Virtualizationrdquo SOSP 03 Proceedings of the nineteenth ACM symposium
on Operating systems principles vol 37 Issue 5 pp 164-177 December
2003
3 Xiangping Bu Jia Rao and Cheng Zhong Xu ldquoInterference and
Locality-Aware Task Scheduling for MapReduce Applications in Virtual
Clustersrdquo Proceeding HPDC 13 Proceedings of the 22nd international
sym-posium on High-performance parallel and distributed computing pp
227-238 2013
4 Kasim Selcuk Candan Jong Wook Kim Parth Nagarkar Mithila Nagendra
and Ren-wei Yu ldquoScalable Multimedia Data Processing in Server Clustersrdquo
IEEE MultiMedia pp 3-5 2010
5 Fay Chang Jeffrey Dean Sanjay Ghemawat Wilson C Hsieh Deborah A
Wallach Mike Burrws Tushar Chandra Andrew Fikes and Robert EGruber
ldquoBigtable A Distributed Storage System for Structured Datardquo 7th UENIX
Symposium on Operating Systems Design and Implementation pp 205-218
2006
6 P C Chen Y L Su J B Chang and C K Shieh ldquoVariable-Sized Map and
Locality-Aware Reduce on Public-Resource Gridsrdquo in Proceedings
Conference Grid and Pervasive Computing (GPC 2010) pp 234-243 2010
May
7 Q Chen D Zhang M Guo Q Deng and S Guo ldquoSamr A self adaptive
mapreduce scheduling algorithm in heterogeneous environmentrdquo in 10th
IEEE International Conference on Computer and Information Technology
CIT rsquo10 (Washington DC USA) pp 2736ndash2743 2010
8 Jeffrey Dean and Sanjay Ghemawat ldquoMapReduce Simplified Data
Processing on Large Clustersrdquo Communications of the ACM vol 51 no 1
pp 107ndash113 2008
9 Yuanquan Fan Weiguo Wu Haijun Cao Huo Zhu Xu Zhao and Wei Wei
34
ldquoA heterogeneity-aware data distribution and rebalance method in Hadoop
clusterrdquo 2012 Seventh ChinaGrid Annual Conference pp 176-181 2012
10 Zacharia Fadika Elif Dede Jessica Hartog and Madhusudhan Govindaraju
ldquoMARLA MapReduce for Heterogeneous Clustersrdquo in 12th IEEEACM
International Symposium on Cluster Cloud and Grid Computing pp 49-56
2012
11 Sanjay Ghemawat Howard Gobioff and ShunTak Leung ldquoThe Google file
systemrdquo In Proceedings of 19th Symposium on Operating Systems
Principles pp 29-43 2003
12 Sven Groot ldquoJumbo Beyond MapReduce for Workload Balancingrdquo Fuzzy
Systems and Knowledge Discovery (FSKD) 2011 Eighth International
Conference on Cloud Computing Technology and Science vol 4 pp
2675-2678 2011 July
13 B Gufler N Augsten A Reiser and A Kemper ldquoHandling Data Skew in
MapReducerdquo in Proceedings of CLOSER pp 574ndash583 2011
14 Mohammad Hammoud and Majd F Sakr ldquoLocality-Aware Reduce Task
Scheduling for MapReducerdquo Third IEEE International Conference on
Cloud Computing Technology and Science pp 570-576 2011
15 C He Y Lu and D Swanson ldquoMatch-making A New MapReduce
Scheduling Techniquerdquo IEEE Third International Conference on Cloud
Computing Technology and Science (CloudCom) pp 40ndash47 2011
16 Hung Chang Hsiao Huesh Yi Chung Haiying Shen and Yu Chang
ChaoldquoLoad Re-balancing for Distributed File Systems in Cloudsrdquo IEEE
Trans on Parallel and Distributed Systems vol24 pp 951-962 2012
17 Shadi Ibrahim Hai Jin Lu Lu Song Wu Bingsheng He and Li Qi ldquoLEEN
LocalityFairness Aware Key Partitioning for MapReduce in the Cloudrdquo
2010 IEEE Second International Conference on Cloud Computing
Technology and Science (CloudCom) pp 17ndash24 2010
18 S Ibrahim H Jin L Lu L Qi S Wu and X Shi ldquoEvaluating MapReduce
on Virtual Machines The Hadoop Caserdquo Proceedings Conference Cloud
Computing (CloudCom 2009) Springer LNCS pp 519-528 2009 Dec
19 C Jin and R Buyya ldquoMapreduce programming model for net-based cloud
computingrdquo in Proceedings of the 15th International Euro-Par Conference
on Parallel Processing Euro-Par (Berlin Heidelberg) pp 417ndash428 2009
20 R Nanduri N Maheshwari A Reddyraja and V Varma ldquoJob aware
scheduling algorithm for Mapreduce frameworkrdquo in 3rd International
Conference on Cloud Computing Technology and Science
CLOUDCOM rsquo11 (Washington DC USA) pp 724ndash729 2011
35
21 Andrew J Page and Thomas J Naughton ldquoDynamic task scheduling using
genetic algorithms for heterogeneous distributed computingrdquo in 19th IEEE
International Parallel and Distributed Processing Symposium pp 189a
2005 April
22 Xiaoyu Sun Chen He and Ying Lu ldquoESAMR An Enhanced Self-Adaptive
MapReduce Scheduling Algorithmrdquo 2012 IEEE 18th International
Conference on Parallel and Distributed Systems pp 148-155 2012
23 Chao Tian Haojie Zhou Yongqiang He and Li Zha ldquoA Dynamic
MapReduce Scheduler for Heterogeneous Workloadsrdquo Eighth International
Conference on Grid and Cooperative Computing pp 218ndash244 2009 Aug
24 Jiong Xie Shu Yin Xiaojun Ruan Zhi-yang Ding Yun Tian James Majors
Adam Manzanares and Xiao Qin ldquoImproving mapreduce performance
through data placement in heterogeneous hadoop clustersrdquo in IPDPS
Workshops pp 1ndash9 2010
25 J Tan X Pan S Kavulya R Gandhi and P Narasimhan ldquoMochi Visual
Log-Analysis Based Tools for Debugging Hadooprdquo USENIX Workshop on
Hot Topics in Cloud Computing (HotCloud) pp 1-5 2009
26 Matei Zaharia Andy Konwinski Anthony D Joseph Randy Katz and Ion
Stoica ldquoImproving MapReduce Performance in Heterogeneous
Environmentsrdquo 8th Symposium on Operating Systems Design and
Implementation pp 29ndash42 2008 Dec
27 X Zhang Z Zhong S Feng B Tu and J Fan ldquoImproving Data locality of
MapReduce by Scheduling in Homogeneous Computing Environmentsrdquo in
9th IEEE International Symposium on Parallel and Distributed Processing
with Applications (ISPA) pp 120-126 2011
28 Apache hadoop Available from httphadoopapacheorg
29 MapReduce with a lot of examples for Mining datasets Available from
httpinfolabstanfordedu~ullmanmmdsbookpdf
Page 16
7
階段將資料切割成不固定大小依據節點能力的不同做出適當的配置在
Reduce階段根據Communication locality 找出適合在哪一台機器上執行最
後再透過優化技術把本篇論文方法的執行時間縮短一些
8
Chapter 3 Preliminary
31 Hadoop
Hadoop架構是由Apache所開發的開放原始碼提供了一個分散式系統的基
本架構Hadoop雲端運算技術主要由三個主要架構所組成 Hadoop Distributes
File System (HDFS)分散式檔案系統Hadoop Database (HBase)分散式資料庫以及
Hadoop MapReduce分散式平行運算以下一一敘述
HDFS (Hadoop File system) 是根據Google提出的GFS(Google File System)所
延伸的主要就是將各個節點連結起來將這些節點組成一個大型的分散式檔案
系統可以有效的處理大量檔案並提供安全的儲存環境以及可以避免因為單一
的硬體發生異常而影響整個系統
而HDFS為了維護資料的一致性當使用者將資料存進去HDFS就不能去
更動或修改HDFS會將要儲存的資料複製副本分散儲存在各個不同的節點
所以當儲存資料的節點發生異常可藉由其他節點來復原
HBase (Hadoop Database)類似Google BigtableHBase架構在Hadoop HDFS
上的分散式資料庫與ㄧ般關聯式資料庫不同HBase使用列和行為索引存取資
料值以及每一筆資料都有一個時間戳記因此同一個欄位可以因為時間的不同
而存在多筆資料
HBase專門用來處理大規模的資料是由HMasrter以及HRegion組成一台
HMaster管理多部HRegion ServerHMaster負責監控與管理HRegion Server系統狀
態而HRegion Server利用記憶體存取快速的優點可以加速資料讀寫的動作
所以會先將資料存放在記憶體內之後再將資料存回HDFS
9
32 MapReduce
雲端運算最重要的關鍵即是MapReduce使用MapReduce模式將一個大問
題先讓程式開發人員分析問題將問題切割成許多小問題在將此小問題平行
分散給各個Mapper當Mapper處理完的結果在傳送到相對映的Reducer去做運
算Reducer將這些結果進行合併在把合併的結果輸出
Split 0
Split 1
Split 2
Mapper
Mapper
Mapper
Reducer
Reducer
Partition 0
Partition 1
Partition 0
Partition 1
Partition 0
Partition 1
Output
File0
Output
File1
Input
File
Master
User
Map
Phase
Intermediate file
(on local disks)
Reduce
PhaseOutput
File
圖一 MapReduce的運作流程圖
如圖一即為MapReduce流程圖
1 將輸入的資料切割成固定大小
2 將要執行的MapReduce程式複製到Master與每一台Worker
3 Master會挑選閒置的Worker當Mapper或Reducer
4 Mapper會從切割好的資料讀取相對映的資料會產生Key Value會先暫
存在記憶體內再週期性的傳送到Local Disc
5 執行Reducer程式的Worker讀取每一個Mapper的結果並進行排序以及彙
整再將整合的結果輸出
10
33 Heterogeneous Classification
MapReduce 在異構性環境下執行已經是越來越多人討論的議題如何將
每個節點分級也有相當多的Benchmark可以做測試本篇論文採用的Benchmark
為 Hardinfo透過虛擬機器去做測試
表一 Hardinfo benchmark
如表一1_2 前面的數字代表核心數目後面的數字代表 Memory 有多少
GB而這個 Hardinfo 本身內含有許多測試的軟件我們測了兩個實驗CPU
Blowfish 以及 CPU CryptoHash這兩個都是跟加密有關的CPU Blowfish 運行
在單核心以及四核心的虛擬機器上所花費的秒數兩個相差了 5 倍因此我
們定義異構性等級為 1 到 5也就是所謂的高異構性環境CPU CryptoHash 運行
在單核心以及四核心的虛擬機器上每秒能壓縮的資料相差了三倍因此我
們定義異構性等級為 1 到 3也就是所謂的高異構性環境我們之後的實驗根
據這兩個異構性等級做參數
11
Chapter 4 Dynamic Data Partitioning and Locality
Aware Virtual Machine Mapping
原始的 Hadoop 在同質性環境執行 MapReduce 程式每個節點運算能力大
致相同所以在 Map 階段並不會有互相等待的結果發生但是在異構性的
環境之下每個節點的 Worker 彼此之間運算速度不同導致先完成的必須得
等速度較慢的節點完成因而執行時間變長而在 Reduce 階段沒有考慮
Communication Locality 的問題即使是用虛擬機架設的環境也是一樣所以
隱藏著一些 Communication overhead 的問題本篇論文主要探討此兩問題
圖二 整體方法流程圖
如圖二所示將資料從 HDFS 讀取進來因為每個節點不能去從其他節點讀
取資料來做因此只能將自己節點資料作完等待其他節點完成後才可繼續
執性 Reduce 階段因此在 Map mpping 階段是根據節點內部的虛擬機性能來
決定節點內部資料的分配而不是固定資料大小丟給效能不一致的虛擬機器來做
12
運算在 Reduce mapping 階段是根據 Locality aware 來選擇機器選擇節省成本
最多的機器以及最後有個節點內部動態調整機制為了減少Reducer完成的時間
41 動態資料切割
在同質性環境 (即為每個節點設備大致相同)運行MapReduce當Worker
完成Map階段任務必須等待其他Worker完成才能進行下一個動作因為每台
節點運算能力大致相同所以當執行Map階段結束後每台節點完成時間是大
致相同的而在異構環境下 (每個節點設備不盡相同則會產生出一個問題在
運算效能不一致的情況會造成在Map程式執行完成的時間變長因為當資料相
同可是每個節點運算能力不一樣就會彼此互相牽制為了要避免此情況發生
所以本篇論文用動態資料切割的方法來解決此問題
圖三 根據節點能力分配相對應大小的資料
動態資料切割的方法得先知道每個Worker的運算能力根據運算能力動
態切割資料大小如圖三所示每個節點運算能力較好的Worker就分配到資料
較多的Partition去做處理而運算能力較差的Worker就分配到較少的Partition使
得每個節點內部的Worker完成時間接近就不會有處理速度比較快的節點完成後
13
必須要等待處理速度比較慢的節點而資料分配方式就是根據Performance
也就是前面所提到的異構性等級的數值相加起來 (Worker處理速度越快則等級
越高)將要處理的資料以及總數值相除會得到一個平均值這個平均值去乘
上等級也就是Worker要處理的資料量
42 Locality Aware Virtual Machine Mapping
由於虛擬機的使用可以充分利用資源所以現在一台實體機可架設多
台虛擬機所以同一台實體機內部有兩台虛擬機當這兩台互相交換資料的
時候其實網路的負載是很低的但是如果是兩台實體機交換資料網路的負
載會變很高在執行Map階段之後資料都儲存在Local disk裡Reducer要怎麼
選擇機器使得Communication locality節省更多而這個即是本篇論文要探討的
第二個問題
421 Best Fit
本篇論文提出了一個 Best Fit 方法這個方法的概念是讓 Reducer 選擇在哪
一台節點上運行使其 Communication locality 節省最多接下來在找出節點內
Performance 最好的 Worker 來當 Reducer而不是像 Hadoop 的 MapReduce 是照
順序去分配這樣的選擇方式是因為節點與節點之間資料傳遞的Communication
overhead 是相當大的而節點內部之間的 Communication overhead相較起來小
很多而讓 Communication locality 節省越多也可以讓 Communication overhead
降低
14
圖四 Best Fit挑選機器流程
1 如圖四所示假設一台實體機上(P1)架設兩台虛擬機(v1v2)根據虛擬
機的運算能力分配相對映的資料量v1即為25單位v2即為22單位以此類
推
2 執行Map程式產生出k值因為有三台Reducer(R1R2R3)所以產生出
3個k值v1虛擬機的k1值為7k2值為10k3值為8而這v1的所有k值相加即為
v1所負責的資料量v1虛擬機k1值為10k2值為9k3值為3而這v2的所有k值
相加為v2所負責的資料量v3也是一樣
3 先從R1要挑選哪台VM開始首先把每個VM所產生出的k1值相加得到一個
總和即為57單位底下看到有三個數值第一個數值即為R1如果在P1這
台機器上運行的話所耗費的遠端溝通成本(要到P2P3取資料的溝通成本)
則第二個數值即為R2在P2這台機器上運行的話所耗費的遠端溝通成本
第三個也是
4 把總共要處理的資料減掉到遠端耗費的溝通成本會得到一個數值即為
15
Communication localityR1如果選擇P1機器運行則Communication locality
為17單位R1如果選擇P2機器運行則Communication locality為18單位R1
如果選擇P3機器運行則Communication locality為22單位R1挑選最多的
Communication locality的機器來運行所以R1選擇P3機器來做運算
5 R1選擇P3實體機而P3實體機有2台虛擬機所以在根據虛擬機的運算能力
先挑選運算能力好的來做為R1
6 如果節點的虛擬機都被挑選完就選第二順位的節點
原始的HadoopR1挑選v1而R2挑選v2照順序的挑選所以沒有考慮到溝
通成本則本篇論文Best fit是根據Communication locality來挑選機器但是
可能在某ㄧ些情況可能不夠完善
圖五 Best Fit 挑選機器的不完善
如圖五所示當Communication locality可以選擇很高的節點卻因為前面的
Reducer把節點內部的Worker挑選完了所以逼不得已只能挑選第二順位的節
點可是這個Communication locality遠遠低於前面Reducer挑選的節點導致整體
的Communication locality大幅下降因此422 Priority即為改善的方法
16
422 Priority
為了確保每個Reducer都能挑選Communication locality最高的機器因此
此章節做了改善
1 在Reducer在挑選機器之前先判斷Reducer哪台要先下去做挑選
2 將每台Reducer最高的Communication locality的跟第二高的相減會得到一個
Difference locality在利用Difference locality下去做排序由大到小
3 Difference locality越大的代表那台Reducer要優先做挑選所以就從
Difference locality越大的挑選到Difference locality最小的
圖六 Priority挑選機器流程
1 如圖六所示R1總共的Data block為57單位R2為42單位R3為41單位經過
Shuffle階段之後
2 R1如果選擇P1這台機器能節省的Communication locality就是17單位R1如果選
擇P2這台機器能節省的Communication locality就是18單位R3如果選擇P2這台
機器能節省的Communication locality就是22單位
3 根據Communication locality將第一高的減掉第二高的會得到一個Difference
17
locality
4 根據此Difference locality排出哪個Reducer要先選取機器此例子的順序為
R2再來R3再來R1而Best Fit就是R1再來R2再來R3
Priority可以避免前面的Reducer把機器挑選完迫使只能選擇第二高的
Communication locality使這樣大幅降低的情況給消除而Best fit和Priority這兩
種方法大幅提高了Communication locality的狀況可是卻也導致了Reduce階段
的完成時間變長所以下章節主要敘述將Reduce階段完成時間優化
43 Loading Aware Virtual Machine Mapping
上述的兩種方法Best fitPriority都是為了降低節點彼此之間的溝通成本
但是卻引發了一個問題Reducer執行完成的時間比原始Hadoop還來得長為
了解決此問題本篇論文在這章節提出優化的方法前面兩種方法是根據節點
的Communication locality來決定要在哪一台Worker做運算當決定好Worker
的時候Reducer會先將運算能力較好的虛擬機器拿去做運算這樣使得運算較
快的機器並不會對映到運算較複雜的資料使得較早完成的機器還是得等候還沒
做好的機器造成時間上的延長所以本篇論文針對此部份做優化
圖七 Reducer對應到其相對效率的Worker
18
如圖七所示當Reducer都挑選好要在哪台實體機做在開始執行Reduce程
式之前我們根據要處理的資料量來分配相對映的機器而這虛擬機的交換
並不會影響到Communication locality因為都是在同一台實體機架設的虛擬機
器做交換
19
Chapter 5 Performance Analysis
本實驗以模擬的方式進行利用 C 語言程式撰寫可設定節點數量節點
裡的 Worker 數量資料大小異構性環境低 (h = 1-3)或高 (h = 1-5)透過模擬
的實驗數據分析基於 Hadoop 的 MapReduce 以及本篇論文透過 Map mapping
和 Reduce mapping 的方式進而改善原始 MapReduce 所造成的缺點
51 Communication Locality
本模擬實驗主要探討的是 Communication Locality圖八(a)和圖八(b)模擬環
境為低異構性圖八(c)和圖八(d)為高異構性環境固定每台實體機架設 2 台以
及 5 台虛擬機器固定 Worker 總數量分別為 102030要處理的資料為 900G
Communication locality(vm = 2 h = 1-3)
0
50
100
150
200
250
300
10 20 30
Number of vm
Dat
a lo
cali
ty
Hadoop
Best Fit
Priority
(a)
20
Communication locality(vm = 5 h = 1-3)
0
100
200
300
400
500
600
10 20 30Number of vm
Dat
a lo
cali
ty
Hadoop
Best Fit
Priority
(b)
Communcation Locality(vm = 2 h = 1-5)
0
50
100
150
200
250
300
10 20 30Number of vm
Dat
a lo
cali
ty
Hadoop
Best Fit
Priority
(c)
Communcation locality(vm = 5 h = 1-5)
0
100
200
300
400
500
600
10 20 30
Number of vm
Dat
a lo
cali
ty
Hadoop
Best Fit
Priority
(d)
圖八 Communication locality (a) low heterogeneity vm=2 (b) low heterogeneity
vm=5 (c) high heterogeneity vm=2 (d) high heterogeneity vm=5
21
由圖八(a)可看出本篇論文提出的兩個方法在低異構性環境所能節省的
Communication Locality 比原始的 Hadoop 提出的方法最多節省了 33的
Communication Locality圖八 (b)也最多節省了約 12的 Communication
Locality雖然節省在固定架設的虛擬機器為兩台的時候節省比較多但是
兩個實驗節省的 Communication Locality 量卻相差了快 2 倍原因是在於 Map 階
段完成的資料都儲存在 Local disc兩台實體機在交換資料的時候溝通成本是
很高的而建立在同一台實體機的兩台虛擬機器交換資料則溝通成本卻來的低
很多 因此溝通成本量的提高也會被實體機上架設的虛擬機器的多寡來影
響
由圖八(c)所示在高異構性最多可節省 27的 Communication Locality圖
八(d)則為 15的 Communication Locality分別從圖八(a)圖八(c)圖八(b)以及
圖八(d)可以看得出來Best Fit 和 Priority 不會隨著異構性環境的高低溝通成
本量會有大幅度的改變而 Priority 在節省的 Communication Locality 都會比 Best
Fit 都來的多一點因為Priority 可以避免前面的 Reducer 把機器挑選完迫使
只能選擇第二高的Communication location 因此大幅降低的情況給消除
52 Task Execution Time
此節實驗是要探討 Map 以及 Reduce 完成的時間圖九(a)和圖九(b)為低異構
性環境的實驗圖九(c)和圖九(d)為高異構性環境都是固定每台實體機架設 2
台以及 5 台虛擬機器所以固定虛擬機器總數量分別為 102030要處理
的資料為 900G
22
Map completion time(vm = 2 h = 1-3)
0
20
40
60
80
100
10 20 30
Number of vm
Sec
ond
Hadoop
Best Fit amp Priority
(a)
Map completion time(vm = 5 h = 1-3)
0
20
40
60
80
100
10 20 30Number of vm
Sec
ond
Hadoop
Best Fit amp Priority
(b)
Map completion time(vm = 2 h = 1-5)
0
20
40
60
80
100
10 20 30Number of vm
seco
nd
Hadoop
Best Fit amp Priority
(c)
23
Map completion time(vm = 5 h = 1-5)
0
20
40
60
80
100
10 20 30Number of vm
seco
nd
Hadoop
Best Fit amp Priority
(d)
圖九 Map completion time (a) low heterogeneity vm=2 (b) low heterogeneity
vm=5 (c) high heterogeneity vm=2 (d) high heterogeneity vm=5
圖九(a)圖九(b)圖九(c)以及圖九(d)顯示了本論文提出的兩個方法 Best Fit
和 Priority 他們完成的時間是一樣的因為兩個方法的 Map mapping 概念是一樣
的所以完成時間也會一樣在此實驗裡可發現 Best Fit 和 Priority 也會隨著
實體機上的虛擬機器數量增多而完成時間縮短而縮短的時間最多甚至可以達
到 44也可看出本論文的兩個方法在低異構性環境的效能比在高異構性環境
的效能來的較差所以在異構性越高的環境越能看得出 Best Fit 和 Priority
的優勢
24
Reduce completion time(vm = 2 h = 1-3)
0
20
40
60
80
100
120
10 20 30Number of vm
Sec
ond
Hadoop
Best Fit
Priority
(a)
Reduce completion time(vm = 5 h = 1-3)
0
20
40
60
80
100
120
10 20 30Number of vm
Sec
ond
Hadoop
Best Fit
Priority
(b)
Reduce completion time(vm = 2 h = 1-5)
0
20
40
60
80
100
120
10 20 30Number of vm
seco
nd
Hadoop
Best Fit
Priority
(c)
25
Reduce completion time(vm = 5 h = 1-5)
0
20
40
60
80
100
120
10 20 30Number of vm
Sec
ond
Hadoop
Best Fit
Priority
(d)
圖十 Reduce completion time (a) low heterogeneity vm=2 (b) low
heterogeneity vm=5 (c) high heterogeneity vm=2 (d) high heterogeneity vm=5
而在 Reduce 完成時間的方面不像 Map 的完成時間是一樣的因為選
擇 Reducer 的方式不同造成 Best Fit 以及 Priority 時間完成上有些許不同
如圖十(a)所示節省了 14的時間圖十(b)節省了 16的時間圖十(c)
節省了 23圖十(d)節省了 29由圖十(b)以及圖十(d)可見影響 Reduce
階段完成時間最主要的原因是異構性環境的問題當環境的異構性越高其
所節省的時間越多而圖十(c)以及圖十(d)所示一台實體機架設的虛擬機器數
量影響的範圍比較小
26
Total completion time (vm = 2 pm = 5 h = 1-3)
0 50 100 150 200 250
Hadoop
Best Fit
Priority
Met
hod
Second
Map Reduce
(a)
Total completion time(vm = 5 pm = 2 h = 1-3)
0 50 100 150 200
Hadoop
Best Fit
Priority
Met
hod
Second
Map Reduce
(b)
Total completion time(vm = 2 pm = 5 h = 1-5)
0 50 100 150 200 250
Hadoop
Best Fit
Priority
Met
hod
Second
Map Reduce
(c)
27
Total completion time(vm=5 pm = 2 h = 1-5)
0 50 100 150 200
Hadoop
Best Fit
Priority
Second
Met
hod
Map Reduce
(d)
圖十一 Total completion time (a) low heterogeneity vm=2 pm=5 (b) low
heterogeneity vm=5 pm=2 (c) high heterogeneity vm=2 pm=5 (d) high
heterogeneity vm=5 pm=2
由於前面分別是 Map以及 Reduce的完成時間為了想知道Map以及 Reduce
對於 MapReduce 的整體影響我們將前面的 Map 以及 Reduce 的完成時間在
處理資料的節點固定為 10 台 Worker將其做整合
從圖十一(a)圖十一(b)圖十一(c)圖十一(d)顯示 Best Fit 和 Priority 不論
是在低異構性或高異構性環境MapReduce 完成時間都比 Hadoop 的完成時間縮
短很多在低異構性環境最多可縮短到 29的時間在高異構性環境最多可縮
短 41的時間而造成 Hadoop 跟 Best Fit 和 Priority 在時間上差異如此大的原
因主要是在 Map 階段的完成時間因為Best Fit 和 Priority 是根據 Worker 的
效能來決定要處理的資料大小而 Hadoop 就是分配固定大小的資料給 Worker
運算所以在越高的異構性環境其縮短的時間會越明顯
28
Total completion time with different number of vm (h=1-3)
0
20
40
60
80
100
120
vm=2 vm=3 vm=4Number of vm per physical machine
Sec
ond
Hadoop
Best Fit
Priority
(a)
Total completion time with different number of vm (h=1-5)
0
20
40
60
80
100
120
vm=2 vm=3 vm=4Number of vm per physical machine
Sec
ond
Hadoop
Best Fit
Priority
(b)
圖十二 Total completion time with different number of vm (a) low heterogeneity
vm=2 worker=12 (b) high heterogeneity vm=5 worker=12
圖十二(a)是在低異構性環境圖十二(b)是在高異構性環境並且1 台實體
機架設 2 個3 個4 個虛擬機器使 Worker 數量固定 12 台處理的資料量為
600G
這個模擬實驗主要探討的是在一台實體機架設的虛擬機器數量對於
MapReduce 完成時間是否真正有影響圖十二(a)和圖十二(b)更可以顯示出 Best
Fit 和 Priority 在異構性越高的環境裏且一台實體機架設越多虛擬機器來當作
Worker 的時候可以縮短更多的時間前者會縮短 Map 的完成時間後者會縮
29
短 Reduce 的完成時間而 Hadoop 在異構性環境高的時候也有些微的縮短一
些時間
Total completion time with different data size (h=1-5)
0
20
40
60
80
100
120
140
400 600 800 1000 1200
Data
Sec
ond
Hadoop
Best Fit
Priority
圖十三 Total completion time with different data size
在上述的實驗中在同樣的資料大小處理的 Worker 數量越多的時候其
完成時間會縮短很多但是到達一定的數量的時候其縮短時間的效果就很低
所以就做了此實驗因為本篇論文就是要探討異構性的環境選擇高異構性
環境固定 Worker 數量 20 台資料大小由 400G 到 1200G探討資料大小對
MapReduce 以及 Worker 的影響如圖十三顯示出在 600G 以下的時候Map 加
上 Reduce 完成的時間突然靠近起來代表了當資料量越小的時候Best Fit 和
Priority 的方法跟原始的 Hadoop 的方法優勢會越來越少但相反的是當資料
量越大的時候雖然Best Fit 和 Priority 完成時間會增加但是跟 Hadoop 的
完成時間比會更加突顯
30
Total completion time (best fit)
0
10
20
30
40
50
60
70
80
(Without optimization) (Optimization)
Best Fit
Sec
ond
Map Reduce
(a)
Total completion time (priority)
0
10
20
30
40
50
60
70
80
(Without optimization) (Optimization)
Priority
Sec
ond
Map Reduce
(b)
圖十四 Total completion time of loading aware optimization (a) without
optimal (b) with optimization
圖十四(a)未使用優化技術圖十四(b)是使用優化技術同樣都是在高異構
性環境之下並且1 台實體機架設 5 個虛擬機器使 Worker 數量固定 15 台
處理的資料量為 900G
在本篇論文方法的部份有提到Loading Aware Virtual Machine Mapping的優
化技術由於此實驗上面的實驗數據都已經使用優化技術來改善時間因此
此實驗就是要探討這優化技術對於MapReduce完成時間的影響
由於Loading Aware Virtual Machine Mapping此優化技術是變動同一台實體
31
機內部的Reducer使得原本是根據Communication locality來選擇虛擬機器但
是在挑選的過程中並沒有依據處理資料的大小分配到其處理速度相對映的
虛擬機器而這優化技術就是將同一台實體機內的虛擬機器重新分配由於此
優化技術並不會影響Communication locality所以這部份並沒有在此實驗探討
圖十四(a)圖十四(b)顯示未使用優化技術的Best fit和Priority的MapReduce
完成時間雖然比Hadoop的方法好但是其Reduce phase完成時間上慢了一些
並且可以看出此優化技術並不會影響到Map phase主要影響的是在Reduce階
段在Reduce階段的完成時間上利用優化技術可以將Reduce階段時間縮短其13
32
Chapter 6 Conclusions and Future Works
目前 Hadoop 資料處理的環境還是應用在群集內節點效能是相同的情況下
如果是異構性環境可能就無法這麼有效率的處理本篇論文提出了兩個方法
動態資料切割和虛擬機對映以及一個優化技術 Loading aware virtual machine
mapping模擬實驗結果表明透過本篇方法來得比 Hadoop 縮短 41的時間以
及最多節省 Communication Locality 約莫 33尤其在異構性越高的環境以及
一台實體機器架設的虛擬機器數量越多改善的效果越明顯另外 Loading
aware virtual machine mapping 優化技術改善了 Reduce phase 的完成時間約莫
13
在未來研究上可以朝著動態調整 Reducer 數量的方向前進當固定大小的
資料上其實有時候過多的節點去運算消耗了大量的運算資源卻只得到一些
秒數的縮短如何利用適當的運算資源來得到最大的利益這是相當重要的議
題由於此實驗都是屬於模擬實驗希望在未來可以實際架設在機器上運行
透過 Benchmark得到真正的數據
33
Reference
1 Masato Asahara Shinji Nakadai and Takuya Araki ldquoLoadAtomizer A
Locality and IO Load aware Task Scheduler for MapReducerdquo in 4th IEEE
International Conference on Cloud Computing Technology and Science
(CloudCom) pp 317-324 2012
2 Paul Barham Boris Dragovic Keir Fraser Steven Hand Tim Harris Alex
Ho Rolf Neugebauer Ian Pratt and Andrew Warfield ldquoXen and the Art of
Virtualizationrdquo SOSP 03 Proceedings of the nineteenth ACM symposium
on Operating systems principles vol 37 Issue 5 pp 164-177 December
2003
3 Xiangping Bu Jia Rao and Cheng Zhong Xu ldquoInterference and
Locality-Aware Task Scheduling for MapReduce Applications in Virtual
Clustersrdquo Proceeding HPDC 13 Proceedings of the 22nd international
sym-posium on High-performance parallel and distributed computing pp
227-238 2013
4 Kasim Selcuk Candan Jong Wook Kim Parth Nagarkar Mithila Nagendra
and Ren-wei Yu ldquoScalable Multimedia Data Processing in Server Clustersrdquo
IEEE MultiMedia pp 3-5 2010
5 Fay Chang Jeffrey Dean Sanjay Ghemawat Wilson C Hsieh Deborah A
Wallach Mike Burrws Tushar Chandra Andrew Fikes and Robert EGruber
ldquoBigtable A Distributed Storage System for Structured Datardquo 7th UENIX
Symposium on Operating Systems Design and Implementation pp 205-218
2006
6 P C Chen Y L Su J B Chang and C K Shieh ldquoVariable-Sized Map and
Locality-Aware Reduce on Public-Resource Gridsrdquo in Proceedings
Conference Grid and Pervasive Computing (GPC 2010) pp 234-243 2010
May
7 Q Chen D Zhang M Guo Q Deng and S Guo ldquoSamr A self adaptive
mapreduce scheduling algorithm in heterogeneous environmentrdquo in 10th
IEEE International Conference on Computer and Information Technology
CIT rsquo10 (Washington DC USA) pp 2736ndash2743 2010
8 Jeffrey Dean and Sanjay Ghemawat ldquoMapReduce Simplified Data
Processing on Large Clustersrdquo Communications of the ACM vol 51 no 1
pp 107ndash113 2008
9 Yuanquan Fan Weiguo Wu Haijun Cao Huo Zhu Xu Zhao and Wei Wei
34
ldquoA heterogeneity-aware data distribution and rebalance method in Hadoop
clusterrdquo 2012 Seventh ChinaGrid Annual Conference pp 176-181 2012
10 Zacharia Fadika Elif Dede Jessica Hartog and Madhusudhan Govindaraju
ldquoMARLA MapReduce for Heterogeneous Clustersrdquo in 12th IEEEACM
International Symposium on Cluster Cloud and Grid Computing pp 49-56
2012
11 Sanjay Ghemawat Howard Gobioff and ShunTak Leung ldquoThe Google file
systemrdquo In Proceedings of 19th Symposium on Operating Systems
Principles pp 29-43 2003
12 Sven Groot ldquoJumbo Beyond MapReduce for Workload Balancingrdquo Fuzzy
Systems and Knowledge Discovery (FSKD) 2011 Eighth International
Conference on Cloud Computing Technology and Science vol 4 pp
2675-2678 2011 July
13 B Gufler N Augsten A Reiser and A Kemper ldquoHandling Data Skew in
MapReducerdquo in Proceedings of CLOSER pp 574ndash583 2011
14 Mohammad Hammoud and Majd F Sakr ldquoLocality-Aware Reduce Task
Scheduling for MapReducerdquo Third IEEE International Conference on
Cloud Computing Technology and Science pp 570-576 2011
15 C He Y Lu and D Swanson ldquoMatch-making A New MapReduce
Scheduling Techniquerdquo IEEE Third International Conference on Cloud
Computing Technology and Science (CloudCom) pp 40ndash47 2011
16 Hung Chang Hsiao Huesh Yi Chung Haiying Shen and Yu Chang
ChaoldquoLoad Re-balancing for Distributed File Systems in Cloudsrdquo IEEE
Trans on Parallel and Distributed Systems vol24 pp 951-962 2012
17 Shadi Ibrahim Hai Jin Lu Lu Song Wu Bingsheng He and Li Qi ldquoLEEN
LocalityFairness Aware Key Partitioning for MapReduce in the Cloudrdquo
2010 IEEE Second International Conference on Cloud Computing
Technology and Science (CloudCom) pp 17ndash24 2010
18 S Ibrahim H Jin L Lu L Qi S Wu and X Shi ldquoEvaluating MapReduce
on Virtual Machines The Hadoop Caserdquo Proceedings Conference Cloud
Computing (CloudCom 2009) Springer LNCS pp 519-528 2009 Dec
19 C Jin and R Buyya ldquoMapreduce programming model for net-based cloud
computingrdquo in Proceedings of the 15th International Euro-Par Conference
on Parallel Processing Euro-Par (Berlin Heidelberg) pp 417ndash428 2009
20 R Nanduri N Maheshwari A Reddyraja and V Varma ldquoJob aware
scheduling algorithm for Mapreduce frameworkrdquo in 3rd International
Conference on Cloud Computing Technology and Science
CLOUDCOM rsquo11 (Washington DC USA) pp 724ndash729 2011
35
21 Andrew J Page and Thomas J Naughton ldquoDynamic task scheduling using
genetic algorithms for heterogeneous distributed computingrdquo in 19th IEEE
International Parallel and Distributed Processing Symposium pp 189a
2005 April
22 Xiaoyu Sun Chen He and Ying Lu ldquoESAMR An Enhanced Self-Adaptive
MapReduce Scheduling Algorithmrdquo 2012 IEEE 18th International
Conference on Parallel and Distributed Systems pp 148-155 2012
23 Chao Tian Haojie Zhou Yongqiang He and Li Zha ldquoA Dynamic
MapReduce Scheduler for Heterogeneous Workloadsrdquo Eighth International
Conference on Grid and Cooperative Computing pp 218ndash244 2009 Aug
24 Jiong Xie Shu Yin Xiaojun Ruan Zhi-yang Ding Yun Tian James Majors
Adam Manzanares and Xiao Qin ldquoImproving mapreduce performance
through data placement in heterogeneous hadoop clustersrdquo in IPDPS
Workshops pp 1ndash9 2010
25 J Tan X Pan S Kavulya R Gandhi and P Narasimhan ldquoMochi Visual
Log-Analysis Based Tools for Debugging Hadooprdquo USENIX Workshop on
Hot Topics in Cloud Computing (HotCloud) pp 1-5 2009
26 Matei Zaharia Andy Konwinski Anthony D Joseph Randy Katz and Ion
Stoica ldquoImproving MapReduce Performance in Heterogeneous
Environmentsrdquo 8th Symposium on Operating Systems Design and
Implementation pp 29ndash42 2008 Dec
27 X Zhang Z Zhong S Feng B Tu and J Fan ldquoImproving Data locality of
MapReduce by Scheduling in Homogeneous Computing Environmentsrdquo in
9th IEEE International Symposium on Parallel and Distributed Processing
with Applications (ISPA) pp 120-126 2011
28 Apache hadoop Available from httphadoopapacheorg
29 MapReduce with a lot of examples for Mining datasets Available from
httpinfolabstanfordedu~ullmanmmdsbookpdf
Page 17
8
Chapter 3 Preliminary
31 Hadoop
Hadoop架構是由Apache所開發的開放原始碼提供了一個分散式系統的基
本架構Hadoop雲端運算技術主要由三個主要架構所組成 Hadoop Distributes
File System (HDFS)分散式檔案系統Hadoop Database (HBase)分散式資料庫以及
Hadoop MapReduce分散式平行運算以下一一敘述
HDFS (Hadoop File system) 是根據Google提出的GFS(Google File System)所
延伸的主要就是將各個節點連結起來將這些節點組成一個大型的分散式檔案
系統可以有效的處理大量檔案並提供安全的儲存環境以及可以避免因為單一
的硬體發生異常而影響整個系統
而HDFS為了維護資料的一致性當使用者將資料存進去HDFS就不能去
更動或修改HDFS會將要儲存的資料複製副本分散儲存在各個不同的節點
所以當儲存資料的節點發生異常可藉由其他節點來復原
HBase (Hadoop Database)類似Google BigtableHBase架構在Hadoop HDFS
上的分散式資料庫與ㄧ般關聯式資料庫不同HBase使用列和行為索引存取資
料值以及每一筆資料都有一個時間戳記因此同一個欄位可以因為時間的不同
而存在多筆資料
HBase專門用來處理大規模的資料是由HMasrter以及HRegion組成一台
HMaster管理多部HRegion ServerHMaster負責監控與管理HRegion Server系統狀
態而HRegion Server利用記憶體存取快速的優點可以加速資料讀寫的動作
所以會先將資料存放在記憶體內之後再將資料存回HDFS
9
32 MapReduce
雲端運算最重要的關鍵即是MapReduce使用MapReduce模式將一個大問
題先讓程式開發人員分析問題將問題切割成許多小問題在將此小問題平行
分散給各個Mapper當Mapper處理完的結果在傳送到相對映的Reducer去做運
算Reducer將這些結果進行合併在把合併的結果輸出
Split 0
Split 1
Split 2
Mapper
Mapper
Mapper
Reducer
Reducer
Partition 0
Partition 1
Partition 0
Partition 1
Partition 0
Partition 1
Output
File0
Output
File1
Input
File
Master
User
Map
Phase
Intermediate file
(on local disks)
Reduce
PhaseOutput
File
圖一 MapReduce的運作流程圖
如圖一即為MapReduce流程圖
1 將輸入的資料切割成固定大小
2 將要執行的MapReduce程式複製到Master與每一台Worker
3 Master會挑選閒置的Worker當Mapper或Reducer
4 Mapper會從切割好的資料讀取相對映的資料會產生Key Value會先暫
存在記憶體內再週期性的傳送到Local Disc
5 執行Reducer程式的Worker讀取每一個Mapper的結果並進行排序以及彙
整再將整合的結果輸出
10
33 Heterogeneous Classification
MapReduce 在異構性環境下執行已經是越來越多人討論的議題如何將
每個節點分級也有相當多的Benchmark可以做測試本篇論文採用的Benchmark
為 Hardinfo透過虛擬機器去做測試
表一 Hardinfo benchmark
如表一1_2 前面的數字代表核心數目後面的數字代表 Memory 有多少
GB而這個 Hardinfo 本身內含有許多測試的軟件我們測了兩個實驗CPU
Blowfish 以及 CPU CryptoHash這兩個都是跟加密有關的CPU Blowfish 運行
在單核心以及四核心的虛擬機器上所花費的秒數兩個相差了 5 倍因此我
們定義異構性等級為 1 到 5也就是所謂的高異構性環境CPU CryptoHash 運行
在單核心以及四核心的虛擬機器上每秒能壓縮的資料相差了三倍因此我
們定義異構性等級為 1 到 3也就是所謂的高異構性環境我們之後的實驗根
據這兩個異構性等級做參數
11
Chapter 4 Dynamic Data Partitioning and Locality
Aware Virtual Machine Mapping
原始的 Hadoop 在同質性環境執行 MapReduce 程式每個節點運算能力大
致相同所以在 Map 階段並不會有互相等待的結果發生但是在異構性的
環境之下每個節點的 Worker 彼此之間運算速度不同導致先完成的必須得
等速度較慢的節點完成因而執行時間變長而在 Reduce 階段沒有考慮
Communication Locality 的問題即使是用虛擬機架設的環境也是一樣所以
隱藏著一些 Communication overhead 的問題本篇論文主要探討此兩問題
圖二 整體方法流程圖
如圖二所示將資料從 HDFS 讀取進來因為每個節點不能去從其他節點讀
取資料來做因此只能將自己節點資料作完等待其他節點完成後才可繼續
執性 Reduce 階段因此在 Map mpping 階段是根據節點內部的虛擬機性能來
決定節點內部資料的分配而不是固定資料大小丟給效能不一致的虛擬機器來做
12
運算在 Reduce mapping 階段是根據 Locality aware 來選擇機器選擇節省成本
最多的機器以及最後有個節點內部動態調整機制為了減少Reducer完成的時間
41 動態資料切割
在同質性環境 (即為每個節點設備大致相同)運行MapReduce當Worker
完成Map階段任務必須等待其他Worker完成才能進行下一個動作因為每台
節點運算能力大致相同所以當執行Map階段結束後每台節點完成時間是大
致相同的而在異構環境下 (每個節點設備不盡相同則會產生出一個問題在
運算效能不一致的情況會造成在Map程式執行完成的時間變長因為當資料相
同可是每個節點運算能力不一樣就會彼此互相牽制為了要避免此情況發生
所以本篇論文用動態資料切割的方法來解決此問題
圖三 根據節點能力分配相對應大小的資料
動態資料切割的方法得先知道每個Worker的運算能力根據運算能力動
態切割資料大小如圖三所示每個節點運算能力較好的Worker就分配到資料
較多的Partition去做處理而運算能力較差的Worker就分配到較少的Partition使
得每個節點內部的Worker完成時間接近就不會有處理速度比較快的節點完成後
13
必須要等待處理速度比較慢的節點而資料分配方式就是根據Performance
也就是前面所提到的異構性等級的數值相加起來 (Worker處理速度越快則等級
越高)將要處理的資料以及總數值相除會得到一個平均值這個平均值去乘
上等級也就是Worker要處理的資料量
42 Locality Aware Virtual Machine Mapping
由於虛擬機的使用可以充分利用資源所以現在一台實體機可架設多
台虛擬機所以同一台實體機內部有兩台虛擬機當這兩台互相交換資料的
時候其實網路的負載是很低的但是如果是兩台實體機交換資料網路的負
載會變很高在執行Map階段之後資料都儲存在Local disk裡Reducer要怎麼
選擇機器使得Communication locality節省更多而這個即是本篇論文要探討的
第二個問題
421 Best Fit
本篇論文提出了一個 Best Fit 方法這個方法的概念是讓 Reducer 選擇在哪
一台節點上運行使其 Communication locality 節省最多接下來在找出節點內
Performance 最好的 Worker 來當 Reducer而不是像 Hadoop 的 MapReduce 是照
順序去分配這樣的選擇方式是因為節點與節點之間資料傳遞的Communication
overhead 是相當大的而節點內部之間的 Communication overhead相較起來小
很多而讓 Communication locality 節省越多也可以讓 Communication overhead
降低
14
圖四 Best Fit挑選機器流程
1 如圖四所示假設一台實體機上(P1)架設兩台虛擬機(v1v2)根據虛擬
機的運算能力分配相對映的資料量v1即為25單位v2即為22單位以此類
推
2 執行Map程式產生出k值因為有三台Reducer(R1R2R3)所以產生出
3個k值v1虛擬機的k1值為7k2值為10k3值為8而這v1的所有k值相加即為
v1所負責的資料量v1虛擬機k1值為10k2值為9k3值為3而這v2的所有k值
相加為v2所負責的資料量v3也是一樣
3 先從R1要挑選哪台VM開始首先把每個VM所產生出的k1值相加得到一個
總和即為57單位底下看到有三個數值第一個數值即為R1如果在P1這
台機器上運行的話所耗費的遠端溝通成本(要到P2P3取資料的溝通成本)
則第二個數值即為R2在P2這台機器上運行的話所耗費的遠端溝通成本
第三個也是
4 把總共要處理的資料減掉到遠端耗費的溝通成本會得到一個數值即為
15
Communication localityR1如果選擇P1機器運行則Communication locality
為17單位R1如果選擇P2機器運行則Communication locality為18單位R1
如果選擇P3機器運行則Communication locality為22單位R1挑選最多的
Communication locality的機器來運行所以R1選擇P3機器來做運算
5 R1選擇P3實體機而P3實體機有2台虛擬機所以在根據虛擬機的運算能力
先挑選運算能力好的來做為R1
6 如果節點的虛擬機都被挑選完就選第二順位的節點
原始的HadoopR1挑選v1而R2挑選v2照順序的挑選所以沒有考慮到溝
通成本則本篇論文Best fit是根據Communication locality來挑選機器但是
可能在某ㄧ些情況可能不夠完善
圖五 Best Fit 挑選機器的不完善
如圖五所示當Communication locality可以選擇很高的節點卻因為前面的
Reducer把節點內部的Worker挑選完了所以逼不得已只能挑選第二順位的節
點可是這個Communication locality遠遠低於前面Reducer挑選的節點導致整體
的Communication locality大幅下降因此422 Priority即為改善的方法
16
422 Priority
為了確保每個Reducer都能挑選Communication locality最高的機器因此
此章節做了改善
1 在Reducer在挑選機器之前先判斷Reducer哪台要先下去做挑選
2 將每台Reducer最高的Communication locality的跟第二高的相減會得到一個
Difference locality在利用Difference locality下去做排序由大到小
3 Difference locality越大的代表那台Reducer要優先做挑選所以就從
Difference locality越大的挑選到Difference locality最小的
圖六 Priority挑選機器流程
1 如圖六所示R1總共的Data block為57單位R2為42單位R3為41單位經過
Shuffle階段之後
2 R1如果選擇P1這台機器能節省的Communication locality就是17單位R1如果選
擇P2這台機器能節省的Communication locality就是18單位R3如果選擇P2這台
機器能節省的Communication locality就是22單位
3 根據Communication locality將第一高的減掉第二高的會得到一個Difference
17
locality
4 根據此Difference locality排出哪個Reducer要先選取機器此例子的順序為
R2再來R3再來R1而Best Fit就是R1再來R2再來R3
Priority可以避免前面的Reducer把機器挑選完迫使只能選擇第二高的
Communication locality使這樣大幅降低的情況給消除而Best fit和Priority這兩
種方法大幅提高了Communication locality的狀況可是卻也導致了Reduce階段
的完成時間變長所以下章節主要敘述將Reduce階段完成時間優化
43 Loading Aware Virtual Machine Mapping
上述的兩種方法Best fitPriority都是為了降低節點彼此之間的溝通成本
但是卻引發了一個問題Reducer執行完成的時間比原始Hadoop還來得長為
了解決此問題本篇論文在這章節提出優化的方法前面兩種方法是根據節點
的Communication locality來決定要在哪一台Worker做運算當決定好Worker
的時候Reducer會先將運算能力較好的虛擬機器拿去做運算這樣使得運算較
快的機器並不會對映到運算較複雜的資料使得較早完成的機器還是得等候還沒
做好的機器造成時間上的延長所以本篇論文針對此部份做優化
圖七 Reducer對應到其相對效率的Worker
18
如圖七所示當Reducer都挑選好要在哪台實體機做在開始執行Reduce程
式之前我們根據要處理的資料量來分配相對映的機器而這虛擬機的交換
並不會影響到Communication locality因為都是在同一台實體機架設的虛擬機
器做交換
19
Chapter 5 Performance Analysis
本實驗以模擬的方式進行利用 C 語言程式撰寫可設定節點數量節點
裡的 Worker 數量資料大小異構性環境低 (h = 1-3)或高 (h = 1-5)透過模擬
的實驗數據分析基於 Hadoop 的 MapReduce 以及本篇論文透過 Map mapping
和 Reduce mapping 的方式進而改善原始 MapReduce 所造成的缺點
51 Communication Locality
本模擬實驗主要探討的是 Communication Locality圖八(a)和圖八(b)模擬環
境為低異構性圖八(c)和圖八(d)為高異構性環境固定每台實體機架設 2 台以
及 5 台虛擬機器固定 Worker 總數量分別為 102030要處理的資料為 900G
Communication locality(vm = 2 h = 1-3)
0
50
100
150
200
250
300
10 20 30
Number of vm
Dat
a lo
cali
ty
Hadoop
Best Fit
Priority
(a)
20
Communication locality(vm = 5 h = 1-3)
0
100
200
300
400
500
600
10 20 30Number of vm
Dat
a lo
cali
ty
Hadoop
Best Fit
Priority
(b)
Communcation Locality(vm = 2 h = 1-5)
0
50
100
150
200
250
300
10 20 30Number of vm
Dat
a lo
cali
ty
Hadoop
Best Fit
Priority
(c)
Communcation locality(vm = 5 h = 1-5)
0
100
200
300
400
500
600
10 20 30
Number of vm
Dat
a lo
cali
ty
Hadoop
Best Fit
Priority
(d)
圖八 Communication locality (a) low heterogeneity vm=2 (b) low heterogeneity
vm=5 (c) high heterogeneity vm=2 (d) high heterogeneity vm=5
21
由圖八(a)可看出本篇論文提出的兩個方法在低異構性環境所能節省的
Communication Locality 比原始的 Hadoop 提出的方法最多節省了 33的
Communication Locality圖八 (b)也最多節省了約 12的 Communication
Locality雖然節省在固定架設的虛擬機器為兩台的時候節省比較多但是
兩個實驗節省的 Communication Locality 量卻相差了快 2 倍原因是在於 Map 階
段完成的資料都儲存在 Local disc兩台實體機在交換資料的時候溝通成本是
很高的而建立在同一台實體機的兩台虛擬機器交換資料則溝通成本卻來的低
很多 因此溝通成本量的提高也會被實體機上架設的虛擬機器的多寡來影
響
由圖八(c)所示在高異構性最多可節省 27的 Communication Locality圖
八(d)則為 15的 Communication Locality分別從圖八(a)圖八(c)圖八(b)以及
圖八(d)可以看得出來Best Fit 和 Priority 不會隨著異構性環境的高低溝通成
本量會有大幅度的改變而 Priority 在節省的 Communication Locality 都會比 Best
Fit 都來的多一點因為Priority 可以避免前面的 Reducer 把機器挑選完迫使
只能選擇第二高的Communication location 因此大幅降低的情況給消除
52 Task Execution Time
此節實驗是要探討 Map 以及 Reduce 完成的時間圖九(a)和圖九(b)為低異構
性環境的實驗圖九(c)和圖九(d)為高異構性環境都是固定每台實體機架設 2
台以及 5 台虛擬機器所以固定虛擬機器總數量分別為 102030要處理
的資料為 900G
22
Map completion time(vm = 2 h = 1-3)
0
20
40
60
80
100
10 20 30
Number of vm
Sec
ond
Hadoop
Best Fit amp Priority
(a)
Map completion time(vm = 5 h = 1-3)
0
20
40
60
80
100
10 20 30Number of vm
Sec
ond
Hadoop
Best Fit amp Priority
(b)
Map completion time(vm = 2 h = 1-5)
0
20
40
60
80
100
10 20 30Number of vm
seco
nd
Hadoop
Best Fit amp Priority
(c)
23
Map completion time(vm = 5 h = 1-5)
0
20
40
60
80
100
10 20 30Number of vm
seco
nd
Hadoop
Best Fit amp Priority
(d)
圖九 Map completion time (a) low heterogeneity vm=2 (b) low heterogeneity
vm=5 (c) high heterogeneity vm=2 (d) high heterogeneity vm=5
圖九(a)圖九(b)圖九(c)以及圖九(d)顯示了本論文提出的兩個方法 Best Fit
和 Priority 他們完成的時間是一樣的因為兩個方法的 Map mapping 概念是一樣
的所以完成時間也會一樣在此實驗裡可發現 Best Fit 和 Priority 也會隨著
實體機上的虛擬機器數量增多而完成時間縮短而縮短的時間最多甚至可以達
到 44也可看出本論文的兩個方法在低異構性環境的效能比在高異構性環境
的效能來的較差所以在異構性越高的環境越能看得出 Best Fit 和 Priority
的優勢
24
Reduce completion time(vm = 2 h = 1-3)
0
20
40
60
80
100
120
10 20 30Number of vm
Sec
ond
Hadoop
Best Fit
Priority
(a)
Reduce completion time(vm = 5 h = 1-3)
0
20
40
60
80
100
120
10 20 30Number of vm
Sec
ond
Hadoop
Best Fit
Priority
(b)
Reduce completion time(vm = 2 h = 1-5)
0
20
40
60
80
100
120
10 20 30Number of vm
seco
nd
Hadoop
Best Fit
Priority
(c)
25
Reduce completion time(vm = 5 h = 1-5)
0
20
40
60
80
100
120
10 20 30Number of vm
Sec
ond
Hadoop
Best Fit
Priority
(d)
圖十 Reduce completion time (a) low heterogeneity vm=2 (b) low
heterogeneity vm=5 (c) high heterogeneity vm=2 (d) high heterogeneity vm=5
而在 Reduce 完成時間的方面不像 Map 的完成時間是一樣的因為選
擇 Reducer 的方式不同造成 Best Fit 以及 Priority 時間完成上有些許不同
如圖十(a)所示節省了 14的時間圖十(b)節省了 16的時間圖十(c)
節省了 23圖十(d)節省了 29由圖十(b)以及圖十(d)可見影響 Reduce
階段完成時間最主要的原因是異構性環境的問題當環境的異構性越高其
所節省的時間越多而圖十(c)以及圖十(d)所示一台實體機架設的虛擬機器數
量影響的範圍比較小
26
Total completion time (vm = 2 pm = 5 h = 1-3)
0 50 100 150 200 250
Hadoop
Best Fit
Priority
Met
hod
Second
Map Reduce
(a)
Total completion time(vm = 5 pm = 2 h = 1-3)
0 50 100 150 200
Hadoop
Best Fit
Priority
Met
hod
Second
Map Reduce
(b)
Total completion time(vm = 2 pm = 5 h = 1-5)
0 50 100 150 200 250
Hadoop
Best Fit
Priority
Met
hod
Second
Map Reduce
(c)
27
Total completion time(vm=5 pm = 2 h = 1-5)
0 50 100 150 200
Hadoop
Best Fit
Priority
Second
Met
hod
Map Reduce
(d)
圖十一 Total completion time (a) low heterogeneity vm=2 pm=5 (b) low
heterogeneity vm=5 pm=2 (c) high heterogeneity vm=2 pm=5 (d) high
heterogeneity vm=5 pm=2
由於前面分別是 Map以及 Reduce的完成時間為了想知道Map以及 Reduce
對於 MapReduce 的整體影響我們將前面的 Map 以及 Reduce 的完成時間在
處理資料的節點固定為 10 台 Worker將其做整合
從圖十一(a)圖十一(b)圖十一(c)圖十一(d)顯示 Best Fit 和 Priority 不論
是在低異構性或高異構性環境MapReduce 完成時間都比 Hadoop 的完成時間縮
短很多在低異構性環境最多可縮短到 29的時間在高異構性環境最多可縮
短 41的時間而造成 Hadoop 跟 Best Fit 和 Priority 在時間上差異如此大的原
因主要是在 Map 階段的完成時間因為Best Fit 和 Priority 是根據 Worker 的
效能來決定要處理的資料大小而 Hadoop 就是分配固定大小的資料給 Worker
運算所以在越高的異構性環境其縮短的時間會越明顯
28
Total completion time with different number of vm (h=1-3)
0
20
40
60
80
100
120
vm=2 vm=3 vm=4Number of vm per physical machine
Sec
ond
Hadoop
Best Fit
Priority
(a)
Total completion time with different number of vm (h=1-5)
0
20
40
60
80
100
120
vm=2 vm=3 vm=4Number of vm per physical machine
Sec
ond
Hadoop
Best Fit
Priority
(b)
圖十二 Total completion time with different number of vm (a) low heterogeneity
vm=2 worker=12 (b) high heterogeneity vm=5 worker=12
圖十二(a)是在低異構性環境圖十二(b)是在高異構性環境並且1 台實體
機架設 2 個3 個4 個虛擬機器使 Worker 數量固定 12 台處理的資料量為
600G
這個模擬實驗主要探討的是在一台實體機架設的虛擬機器數量對於
MapReduce 完成時間是否真正有影響圖十二(a)和圖十二(b)更可以顯示出 Best
Fit 和 Priority 在異構性越高的環境裏且一台實體機架設越多虛擬機器來當作
Worker 的時候可以縮短更多的時間前者會縮短 Map 的完成時間後者會縮
29
短 Reduce 的完成時間而 Hadoop 在異構性環境高的時候也有些微的縮短一
些時間
Total completion time with different data size (h=1-5)
0
20
40
60
80
100
120
140
400 600 800 1000 1200
Data
Sec
ond
Hadoop
Best Fit
Priority
圖十三 Total completion time with different data size
在上述的實驗中在同樣的資料大小處理的 Worker 數量越多的時候其
完成時間會縮短很多但是到達一定的數量的時候其縮短時間的效果就很低
所以就做了此實驗因為本篇論文就是要探討異構性的環境選擇高異構性
環境固定 Worker 數量 20 台資料大小由 400G 到 1200G探討資料大小對
MapReduce 以及 Worker 的影響如圖十三顯示出在 600G 以下的時候Map 加
上 Reduce 完成的時間突然靠近起來代表了當資料量越小的時候Best Fit 和
Priority 的方法跟原始的 Hadoop 的方法優勢會越來越少但相反的是當資料
量越大的時候雖然Best Fit 和 Priority 完成時間會增加但是跟 Hadoop 的
完成時間比會更加突顯
30
Total completion time (best fit)
0
10
20
30
40
50
60
70
80
(Without optimization) (Optimization)
Best Fit
Sec
ond
Map Reduce
(a)
Total completion time (priority)
0
10
20
30
40
50
60
70
80
(Without optimization) (Optimization)
Priority
Sec
ond
Map Reduce
(b)
圖十四 Total completion time of loading aware optimization (a) without
optimal (b) with optimization
圖十四(a)未使用優化技術圖十四(b)是使用優化技術同樣都是在高異構
性環境之下並且1 台實體機架設 5 個虛擬機器使 Worker 數量固定 15 台
處理的資料量為 900G
在本篇論文方法的部份有提到Loading Aware Virtual Machine Mapping的優
化技術由於此實驗上面的實驗數據都已經使用優化技術來改善時間因此
此實驗就是要探討這優化技術對於MapReduce完成時間的影響
由於Loading Aware Virtual Machine Mapping此優化技術是變動同一台實體
31
機內部的Reducer使得原本是根據Communication locality來選擇虛擬機器但
是在挑選的過程中並沒有依據處理資料的大小分配到其處理速度相對映的
虛擬機器而這優化技術就是將同一台實體機內的虛擬機器重新分配由於此
優化技術並不會影響Communication locality所以這部份並沒有在此實驗探討
圖十四(a)圖十四(b)顯示未使用優化技術的Best fit和Priority的MapReduce
完成時間雖然比Hadoop的方法好但是其Reduce phase完成時間上慢了一些
並且可以看出此優化技術並不會影響到Map phase主要影響的是在Reduce階
段在Reduce階段的完成時間上利用優化技術可以將Reduce階段時間縮短其13
32
Chapter 6 Conclusions and Future Works
目前 Hadoop 資料處理的環境還是應用在群集內節點效能是相同的情況下
如果是異構性環境可能就無法這麼有效率的處理本篇論文提出了兩個方法
動態資料切割和虛擬機對映以及一個優化技術 Loading aware virtual machine
mapping模擬實驗結果表明透過本篇方法來得比 Hadoop 縮短 41的時間以
及最多節省 Communication Locality 約莫 33尤其在異構性越高的環境以及
一台實體機器架設的虛擬機器數量越多改善的效果越明顯另外 Loading
aware virtual machine mapping 優化技術改善了 Reduce phase 的完成時間約莫
13
在未來研究上可以朝著動態調整 Reducer 數量的方向前進當固定大小的
資料上其實有時候過多的節點去運算消耗了大量的運算資源卻只得到一些
秒數的縮短如何利用適當的運算資源來得到最大的利益這是相當重要的議
題由於此實驗都是屬於模擬實驗希望在未來可以實際架設在機器上運行
透過 Benchmark得到真正的數據
33
Reference
1 Masato Asahara Shinji Nakadai and Takuya Araki ldquoLoadAtomizer A
Locality and IO Load aware Task Scheduler for MapReducerdquo in 4th IEEE
International Conference on Cloud Computing Technology and Science
(CloudCom) pp 317-324 2012
2 Paul Barham Boris Dragovic Keir Fraser Steven Hand Tim Harris Alex
Ho Rolf Neugebauer Ian Pratt and Andrew Warfield ldquoXen and the Art of
Virtualizationrdquo SOSP 03 Proceedings of the nineteenth ACM symposium
on Operating systems principles vol 37 Issue 5 pp 164-177 December
2003
3 Xiangping Bu Jia Rao and Cheng Zhong Xu ldquoInterference and
Locality-Aware Task Scheduling for MapReduce Applications in Virtual
Clustersrdquo Proceeding HPDC 13 Proceedings of the 22nd international
sym-posium on High-performance parallel and distributed computing pp
227-238 2013
4 Kasim Selcuk Candan Jong Wook Kim Parth Nagarkar Mithila Nagendra
and Ren-wei Yu ldquoScalable Multimedia Data Processing in Server Clustersrdquo
IEEE MultiMedia pp 3-5 2010
5 Fay Chang Jeffrey Dean Sanjay Ghemawat Wilson C Hsieh Deborah A
Wallach Mike Burrws Tushar Chandra Andrew Fikes and Robert EGruber
ldquoBigtable A Distributed Storage System for Structured Datardquo 7th UENIX
Symposium on Operating Systems Design and Implementation pp 205-218
2006
6 P C Chen Y L Su J B Chang and C K Shieh ldquoVariable-Sized Map and
Locality-Aware Reduce on Public-Resource Gridsrdquo in Proceedings
Conference Grid and Pervasive Computing (GPC 2010) pp 234-243 2010
May
7 Q Chen D Zhang M Guo Q Deng and S Guo ldquoSamr A self adaptive
mapreduce scheduling algorithm in heterogeneous environmentrdquo in 10th
IEEE International Conference on Computer and Information Technology
CIT rsquo10 (Washington DC USA) pp 2736ndash2743 2010
8 Jeffrey Dean and Sanjay Ghemawat ldquoMapReduce Simplified Data
Processing on Large Clustersrdquo Communications of the ACM vol 51 no 1
pp 107ndash113 2008
9 Yuanquan Fan Weiguo Wu Haijun Cao Huo Zhu Xu Zhao and Wei Wei
34
ldquoA heterogeneity-aware data distribution and rebalance method in Hadoop
clusterrdquo 2012 Seventh ChinaGrid Annual Conference pp 176-181 2012
10 Zacharia Fadika Elif Dede Jessica Hartog and Madhusudhan Govindaraju
ldquoMARLA MapReduce for Heterogeneous Clustersrdquo in 12th IEEEACM
International Symposium on Cluster Cloud and Grid Computing pp 49-56
2012
11 Sanjay Ghemawat Howard Gobioff and ShunTak Leung ldquoThe Google file
systemrdquo In Proceedings of 19th Symposium on Operating Systems
Principles pp 29-43 2003
12 Sven Groot ldquoJumbo Beyond MapReduce for Workload Balancingrdquo Fuzzy
Systems and Knowledge Discovery (FSKD) 2011 Eighth International
Conference on Cloud Computing Technology and Science vol 4 pp
2675-2678 2011 July
13 B Gufler N Augsten A Reiser and A Kemper ldquoHandling Data Skew in
MapReducerdquo in Proceedings of CLOSER pp 574ndash583 2011
14 Mohammad Hammoud and Majd F Sakr ldquoLocality-Aware Reduce Task
Scheduling for MapReducerdquo Third IEEE International Conference on
Cloud Computing Technology and Science pp 570-576 2011
15 C He Y Lu and D Swanson ldquoMatch-making A New MapReduce
Scheduling Techniquerdquo IEEE Third International Conference on Cloud
Computing Technology and Science (CloudCom) pp 40ndash47 2011
16 Hung Chang Hsiao Huesh Yi Chung Haiying Shen and Yu Chang
ChaoldquoLoad Re-balancing for Distributed File Systems in Cloudsrdquo IEEE
Trans on Parallel and Distributed Systems vol24 pp 951-962 2012
17 Shadi Ibrahim Hai Jin Lu Lu Song Wu Bingsheng He and Li Qi ldquoLEEN
LocalityFairness Aware Key Partitioning for MapReduce in the Cloudrdquo
2010 IEEE Second International Conference on Cloud Computing
Technology and Science (CloudCom) pp 17ndash24 2010
18 S Ibrahim H Jin L Lu L Qi S Wu and X Shi ldquoEvaluating MapReduce
on Virtual Machines The Hadoop Caserdquo Proceedings Conference Cloud
Computing (CloudCom 2009) Springer LNCS pp 519-528 2009 Dec
19 C Jin and R Buyya ldquoMapreduce programming model for net-based cloud
computingrdquo in Proceedings of the 15th International Euro-Par Conference
on Parallel Processing Euro-Par (Berlin Heidelberg) pp 417ndash428 2009
20 R Nanduri N Maheshwari A Reddyraja and V Varma ldquoJob aware
scheduling algorithm for Mapreduce frameworkrdquo in 3rd International
Conference on Cloud Computing Technology and Science
CLOUDCOM rsquo11 (Washington DC USA) pp 724ndash729 2011
35
21 Andrew J Page and Thomas J Naughton ldquoDynamic task scheduling using
genetic algorithms for heterogeneous distributed computingrdquo in 19th IEEE
International Parallel and Distributed Processing Symposium pp 189a
2005 April
22 Xiaoyu Sun Chen He and Ying Lu ldquoESAMR An Enhanced Self-Adaptive
MapReduce Scheduling Algorithmrdquo 2012 IEEE 18th International
Conference on Parallel and Distributed Systems pp 148-155 2012
23 Chao Tian Haojie Zhou Yongqiang He and Li Zha ldquoA Dynamic
MapReduce Scheduler for Heterogeneous Workloadsrdquo Eighth International
Conference on Grid and Cooperative Computing pp 218ndash244 2009 Aug
24 Jiong Xie Shu Yin Xiaojun Ruan Zhi-yang Ding Yun Tian James Majors
Adam Manzanares and Xiao Qin ldquoImproving mapreduce performance
through data placement in heterogeneous hadoop clustersrdquo in IPDPS
Workshops pp 1ndash9 2010
25 J Tan X Pan S Kavulya R Gandhi and P Narasimhan ldquoMochi Visual
Log-Analysis Based Tools for Debugging Hadooprdquo USENIX Workshop on
Hot Topics in Cloud Computing (HotCloud) pp 1-5 2009
26 Matei Zaharia Andy Konwinski Anthony D Joseph Randy Katz and Ion
Stoica ldquoImproving MapReduce Performance in Heterogeneous
Environmentsrdquo 8th Symposium on Operating Systems Design and
Implementation pp 29ndash42 2008 Dec
27 X Zhang Z Zhong S Feng B Tu and J Fan ldquoImproving Data locality of
MapReduce by Scheduling in Homogeneous Computing Environmentsrdquo in
9th IEEE International Symposium on Parallel and Distributed Processing
with Applications (ISPA) pp 120-126 2011
28 Apache hadoop Available from httphadoopapacheorg
29 MapReduce with a lot of examples for Mining datasets Available from
httpinfolabstanfordedu~ullmanmmdsbookpdf
Page 18
9
32 MapReduce
雲端運算最重要的關鍵即是MapReduce使用MapReduce模式將一個大問
題先讓程式開發人員分析問題將問題切割成許多小問題在將此小問題平行
分散給各個Mapper當Mapper處理完的結果在傳送到相對映的Reducer去做運
算Reducer將這些結果進行合併在把合併的結果輸出
Split 0
Split 1
Split 2
Mapper
Mapper
Mapper
Reducer
Reducer
Partition 0
Partition 1
Partition 0
Partition 1
Partition 0
Partition 1
Output
File0
Output
File1
Input
File
Master
User
Map
Phase
Intermediate file
(on local disks)
Reduce
PhaseOutput
File
圖一 MapReduce的運作流程圖
如圖一即為MapReduce流程圖
1 將輸入的資料切割成固定大小
2 將要執行的MapReduce程式複製到Master與每一台Worker
3 Master會挑選閒置的Worker當Mapper或Reducer
4 Mapper會從切割好的資料讀取相對映的資料會產生Key Value會先暫
存在記憶體內再週期性的傳送到Local Disc
5 執行Reducer程式的Worker讀取每一個Mapper的結果並進行排序以及彙
整再將整合的結果輸出
10
33 Heterogeneous Classification
MapReduce 在異構性環境下執行已經是越來越多人討論的議題如何將
每個節點分級也有相當多的Benchmark可以做測試本篇論文採用的Benchmark
為 Hardinfo透過虛擬機器去做測試
表一 Hardinfo benchmark
如表一1_2 前面的數字代表核心數目後面的數字代表 Memory 有多少
GB而這個 Hardinfo 本身內含有許多測試的軟件我們測了兩個實驗CPU
Blowfish 以及 CPU CryptoHash這兩個都是跟加密有關的CPU Blowfish 運行
在單核心以及四核心的虛擬機器上所花費的秒數兩個相差了 5 倍因此我
們定義異構性等級為 1 到 5也就是所謂的高異構性環境CPU CryptoHash 運行
在單核心以及四核心的虛擬機器上每秒能壓縮的資料相差了三倍因此我
們定義異構性等級為 1 到 3也就是所謂的高異構性環境我們之後的實驗根
據這兩個異構性等級做參數
11
Chapter 4 Dynamic Data Partitioning and Locality
Aware Virtual Machine Mapping
原始的 Hadoop 在同質性環境執行 MapReduce 程式每個節點運算能力大
致相同所以在 Map 階段並不會有互相等待的結果發生但是在異構性的
環境之下每個節點的 Worker 彼此之間運算速度不同導致先完成的必須得
等速度較慢的節點完成因而執行時間變長而在 Reduce 階段沒有考慮
Communication Locality 的問題即使是用虛擬機架設的環境也是一樣所以
隱藏著一些 Communication overhead 的問題本篇論文主要探討此兩問題
圖二 整體方法流程圖
如圖二所示將資料從 HDFS 讀取進來因為每個節點不能去從其他節點讀
取資料來做因此只能將自己節點資料作完等待其他節點完成後才可繼續
執性 Reduce 階段因此在 Map mpping 階段是根據節點內部的虛擬機性能來
決定節點內部資料的分配而不是固定資料大小丟給效能不一致的虛擬機器來做
12
運算在 Reduce mapping 階段是根據 Locality aware 來選擇機器選擇節省成本
最多的機器以及最後有個節點內部動態調整機制為了減少Reducer完成的時間
41 動態資料切割
在同質性環境 (即為每個節點設備大致相同)運行MapReduce當Worker
完成Map階段任務必須等待其他Worker完成才能進行下一個動作因為每台
節點運算能力大致相同所以當執行Map階段結束後每台節點完成時間是大
致相同的而在異構環境下 (每個節點設備不盡相同則會產生出一個問題在
運算效能不一致的情況會造成在Map程式執行完成的時間變長因為當資料相
同可是每個節點運算能力不一樣就會彼此互相牽制為了要避免此情況發生
所以本篇論文用動態資料切割的方法來解決此問題
圖三 根據節點能力分配相對應大小的資料
動態資料切割的方法得先知道每個Worker的運算能力根據運算能力動
態切割資料大小如圖三所示每個節點運算能力較好的Worker就分配到資料
較多的Partition去做處理而運算能力較差的Worker就分配到較少的Partition使
得每個節點內部的Worker完成時間接近就不會有處理速度比較快的節點完成後
13
必須要等待處理速度比較慢的節點而資料分配方式就是根據Performance
也就是前面所提到的異構性等級的數值相加起來 (Worker處理速度越快則等級
越高)將要處理的資料以及總數值相除會得到一個平均值這個平均值去乘
上等級也就是Worker要處理的資料量
42 Locality Aware Virtual Machine Mapping
由於虛擬機的使用可以充分利用資源所以現在一台實體機可架設多
台虛擬機所以同一台實體機內部有兩台虛擬機當這兩台互相交換資料的
時候其實網路的負載是很低的但是如果是兩台實體機交換資料網路的負
載會變很高在執行Map階段之後資料都儲存在Local disk裡Reducer要怎麼
選擇機器使得Communication locality節省更多而這個即是本篇論文要探討的
第二個問題
421 Best Fit
本篇論文提出了一個 Best Fit 方法這個方法的概念是讓 Reducer 選擇在哪
一台節點上運行使其 Communication locality 節省最多接下來在找出節點內
Performance 最好的 Worker 來當 Reducer而不是像 Hadoop 的 MapReduce 是照
順序去分配這樣的選擇方式是因為節點與節點之間資料傳遞的Communication
overhead 是相當大的而節點內部之間的 Communication overhead相較起來小
很多而讓 Communication locality 節省越多也可以讓 Communication overhead
降低
14
圖四 Best Fit挑選機器流程
1 如圖四所示假設一台實體機上(P1)架設兩台虛擬機(v1v2)根據虛擬
機的運算能力分配相對映的資料量v1即為25單位v2即為22單位以此類
推
2 執行Map程式產生出k值因為有三台Reducer(R1R2R3)所以產生出
3個k值v1虛擬機的k1值為7k2值為10k3值為8而這v1的所有k值相加即為
v1所負責的資料量v1虛擬機k1值為10k2值為9k3值為3而這v2的所有k值
相加為v2所負責的資料量v3也是一樣
3 先從R1要挑選哪台VM開始首先把每個VM所產生出的k1值相加得到一個
總和即為57單位底下看到有三個數值第一個數值即為R1如果在P1這
台機器上運行的話所耗費的遠端溝通成本(要到P2P3取資料的溝通成本)
則第二個數值即為R2在P2這台機器上運行的話所耗費的遠端溝通成本
第三個也是
4 把總共要處理的資料減掉到遠端耗費的溝通成本會得到一個數值即為
15
Communication localityR1如果選擇P1機器運行則Communication locality
為17單位R1如果選擇P2機器運行則Communication locality為18單位R1
如果選擇P3機器運行則Communication locality為22單位R1挑選最多的
Communication locality的機器來運行所以R1選擇P3機器來做運算
5 R1選擇P3實體機而P3實體機有2台虛擬機所以在根據虛擬機的運算能力
先挑選運算能力好的來做為R1
6 如果節點的虛擬機都被挑選完就選第二順位的節點
原始的HadoopR1挑選v1而R2挑選v2照順序的挑選所以沒有考慮到溝
通成本則本篇論文Best fit是根據Communication locality來挑選機器但是
可能在某ㄧ些情況可能不夠完善
圖五 Best Fit 挑選機器的不完善
如圖五所示當Communication locality可以選擇很高的節點卻因為前面的
Reducer把節點內部的Worker挑選完了所以逼不得已只能挑選第二順位的節
點可是這個Communication locality遠遠低於前面Reducer挑選的節點導致整體
的Communication locality大幅下降因此422 Priority即為改善的方法
16
422 Priority
為了確保每個Reducer都能挑選Communication locality最高的機器因此
此章節做了改善
1 在Reducer在挑選機器之前先判斷Reducer哪台要先下去做挑選
2 將每台Reducer最高的Communication locality的跟第二高的相減會得到一個
Difference locality在利用Difference locality下去做排序由大到小
3 Difference locality越大的代表那台Reducer要優先做挑選所以就從
Difference locality越大的挑選到Difference locality最小的
圖六 Priority挑選機器流程
1 如圖六所示R1總共的Data block為57單位R2為42單位R3為41單位經過
Shuffle階段之後
2 R1如果選擇P1這台機器能節省的Communication locality就是17單位R1如果選
擇P2這台機器能節省的Communication locality就是18單位R3如果選擇P2這台
機器能節省的Communication locality就是22單位
3 根據Communication locality將第一高的減掉第二高的會得到一個Difference
17
locality
4 根據此Difference locality排出哪個Reducer要先選取機器此例子的順序為
R2再來R3再來R1而Best Fit就是R1再來R2再來R3
Priority可以避免前面的Reducer把機器挑選完迫使只能選擇第二高的
Communication locality使這樣大幅降低的情況給消除而Best fit和Priority這兩
種方法大幅提高了Communication locality的狀況可是卻也導致了Reduce階段
的完成時間變長所以下章節主要敘述將Reduce階段完成時間優化
43 Loading Aware Virtual Machine Mapping
上述的兩種方法Best fitPriority都是為了降低節點彼此之間的溝通成本
但是卻引發了一個問題Reducer執行完成的時間比原始Hadoop還來得長為
了解決此問題本篇論文在這章節提出優化的方法前面兩種方法是根據節點
的Communication locality來決定要在哪一台Worker做運算當決定好Worker
的時候Reducer會先將運算能力較好的虛擬機器拿去做運算這樣使得運算較
快的機器並不會對映到運算較複雜的資料使得較早完成的機器還是得等候還沒
做好的機器造成時間上的延長所以本篇論文針對此部份做優化
圖七 Reducer對應到其相對效率的Worker
18
如圖七所示當Reducer都挑選好要在哪台實體機做在開始執行Reduce程
式之前我們根據要處理的資料量來分配相對映的機器而這虛擬機的交換
並不會影響到Communication locality因為都是在同一台實體機架設的虛擬機
器做交換
19
Chapter 5 Performance Analysis
本實驗以模擬的方式進行利用 C 語言程式撰寫可設定節點數量節點
裡的 Worker 數量資料大小異構性環境低 (h = 1-3)或高 (h = 1-5)透過模擬
的實驗數據分析基於 Hadoop 的 MapReduce 以及本篇論文透過 Map mapping
和 Reduce mapping 的方式進而改善原始 MapReduce 所造成的缺點
51 Communication Locality
本模擬實驗主要探討的是 Communication Locality圖八(a)和圖八(b)模擬環
境為低異構性圖八(c)和圖八(d)為高異構性環境固定每台實體機架設 2 台以
及 5 台虛擬機器固定 Worker 總數量分別為 102030要處理的資料為 900G
Communication locality(vm = 2 h = 1-3)
0
50
100
150
200
250
300
10 20 30
Number of vm
Dat
a lo
cali
ty
Hadoop
Best Fit
Priority
(a)
20
Communication locality(vm = 5 h = 1-3)
0
100
200
300
400
500
600
10 20 30Number of vm
Dat
a lo
cali
ty
Hadoop
Best Fit
Priority
(b)
Communcation Locality(vm = 2 h = 1-5)
0
50
100
150
200
250
300
10 20 30Number of vm
Dat
a lo
cali
ty
Hadoop
Best Fit
Priority
(c)
Communcation locality(vm = 5 h = 1-5)
0
100
200
300
400
500
600
10 20 30
Number of vm
Dat
a lo
cali
ty
Hadoop
Best Fit
Priority
(d)
圖八 Communication locality (a) low heterogeneity vm=2 (b) low heterogeneity
vm=5 (c) high heterogeneity vm=2 (d) high heterogeneity vm=5
21
由圖八(a)可看出本篇論文提出的兩個方法在低異構性環境所能節省的
Communication Locality 比原始的 Hadoop 提出的方法最多節省了 33的
Communication Locality圖八 (b)也最多節省了約 12的 Communication
Locality雖然節省在固定架設的虛擬機器為兩台的時候節省比較多但是
兩個實驗節省的 Communication Locality 量卻相差了快 2 倍原因是在於 Map 階
段完成的資料都儲存在 Local disc兩台實體機在交換資料的時候溝通成本是
很高的而建立在同一台實體機的兩台虛擬機器交換資料則溝通成本卻來的低
很多 因此溝通成本量的提高也會被實體機上架設的虛擬機器的多寡來影
響
由圖八(c)所示在高異構性最多可節省 27的 Communication Locality圖
八(d)則為 15的 Communication Locality分別從圖八(a)圖八(c)圖八(b)以及
圖八(d)可以看得出來Best Fit 和 Priority 不會隨著異構性環境的高低溝通成
本量會有大幅度的改變而 Priority 在節省的 Communication Locality 都會比 Best
Fit 都來的多一點因為Priority 可以避免前面的 Reducer 把機器挑選完迫使
只能選擇第二高的Communication location 因此大幅降低的情況給消除
52 Task Execution Time
此節實驗是要探討 Map 以及 Reduce 完成的時間圖九(a)和圖九(b)為低異構
性環境的實驗圖九(c)和圖九(d)為高異構性環境都是固定每台實體機架設 2
台以及 5 台虛擬機器所以固定虛擬機器總數量分別為 102030要處理
的資料為 900G
22
Map completion time(vm = 2 h = 1-3)
0
20
40
60
80
100
10 20 30
Number of vm
Sec
ond
Hadoop
Best Fit amp Priority
(a)
Map completion time(vm = 5 h = 1-3)
0
20
40
60
80
100
10 20 30Number of vm
Sec
ond
Hadoop
Best Fit amp Priority
(b)
Map completion time(vm = 2 h = 1-5)
0
20
40
60
80
100
10 20 30Number of vm
seco
nd
Hadoop
Best Fit amp Priority
(c)
23
Map completion time(vm = 5 h = 1-5)
0
20
40
60
80
100
10 20 30Number of vm
seco
nd
Hadoop
Best Fit amp Priority
(d)
圖九 Map completion time (a) low heterogeneity vm=2 (b) low heterogeneity
vm=5 (c) high heterogeneity vm=2 (d) high heterogeneity vm=5
圖九(a)圖九(b)圖九(c)以及圖九(d)顯示了本論文提出的兩個方法 Best Fit
和 Priority 他們完成的時間是一樣的因為兩個方法的 Map mapping 概念是一樣
的所以完成時間也會一樣在此實驗裡可發現 Best Fit 和 Priority 也會隨著
實體機上的虛擬機器數量增多而完成時間縮短而縮短的時間最多甚至可以達
到 44也可看出本論文的兩個方法在低異構性環境的效能比在高異構性環境
的效能來的較差所以在異構性越高的環境越能看得出 Best Fit 和 Priority
的優勢
24
Reduce completion time(vm = 2 h = 1-3)
0
20
40
60
80
100
120
10 20 30Number of vm
Sec
ond
Hadoop
Best Fit
Priority
(a)
Reduce completion time(vm = 5 h = 1-3)
0
20
40
60
80
100
120
10 20 30Number of vm
Sec
ond
Hadoop
Best Fit
Priority
(b)
Reduce completion time(vm = 2 h = 1-5)
0
20
40
60
80
100
120
10 20 30Number of vm
seco
nd
Hadoop
Best Fit
Priority
(c)
25
Reduce completion time(vm = 5 h = 1-5)
0
20
40
60
80
100
120
10 20 30Number of vm
Sec
ond
Hadoop
Best Fit
Priority
(d)
圖十 Reduce completion time (a) low heterogeneity vm=2 (b) low
heterogeneity vm=5 (c) high heterogeneity vm=2 (d) high heterogeneity vm=5
而在 Reduce 完成時間的方面不像 Map 的完成時間是一樣的因為選
擇 Reducer 的方式不同造成 Best Fit 以及 Priority 時間完成上有些許不同
如圖十(a)所示節省了 14的時間圖十(b)節省了 16的時間圖十(c)
節省了 23圖十(d)節省了 29由圖十(b)以及圖十(d)可見影響 Reduce
階段完成時間最主要的原因是異構性環境的問題當環境的異構性越高其
所節省的時間越多而圖十(c)以及圖十(d)所示一台實體機架設的虛擬機器數
量影響的範圍比較小
26
Total completion time (vm = 2 pm = 5 h = 1-3)
0 50 100 150 200 250
Hadoop
Best Fit
Priority
Met
hod
Second
Map Reduce
(a)
Total completion time(vm = 5 pm = 2 h = 1-3)
0 50 100 150 200
Hadoop
Best Fit
Priority
Met
hod
Second
Map Reduce
(b)
Total completion time(vm = 2 pm = 5 h = 1-5)
0 50 100 150 200 250
Hadoop
Best Fit
Priority
Met
hod
Second
Map Reduce
(c)
27
Total completion time(vm=5 pm = 2 h = 1-5)
0 50 100 150 200
Hadoop
Best Fit
Priority
Second
Met
hod
Map Reduce
(d)
圖十一 Total completion time (a) low heterogeneity vm=2 pm=5 (b) low
heterogeneity vm=5 pm=2 (c) high heterogeneity vm=2 pm=5 (d) high
heterogeneity vm=5 pm=2
由於前面分別是 Map以及 Reduce的完成時間為了想知道Map以及 Reduce
對於 MapReduce 的整體影響我們將前面的 Map 以及 Reduce 的完成時間在
處理資料的節點固定為 10 台 Worker將其做整合
從圖十一(a)圖十一(b)圖十一(c)圖十一(d)顯示 Best Fit 和 Priority 不論
是在低異構性或高異構性環境MapReduce 完成時間都比 Hadoop 的完成時間縮
短很多在低異構性環境最多可縮短到 29的時間在高異構性環境最多可縮
短 41的時間而造成 Hadoop 跟 Best Fit 和 Priority 在時間上差異如此大的原
因主要是在 Map 階段的完成時間因為Best Fit 和 Priority 是根據 Worker 的
效能來決定要處理的資料大小而 Hadoop 就是分配固定大小的資料給 Worker
運算所以在越高的異構性環境其縮短的時間會越明顯
28
Total completion time with different number of vm (h=1-3)
0
20
40
60
80
100
120
vm=2 vm=3 vm=4Number of vm per physical machine
Sec
ond
Hadoop
Best Fit
Priority
(a)
Total completion time with different number of vm (h=1-5)
0
20
40
60
80
100
120
vm=2 vm=3 vm=4Number of vm per physical machine
Sec
ond
Hadoop
Best Fit
Priority
(b)
圖十二 Total completion time with different number of vm (a) low heterogeneity
vm=2 worker=12 (b) high heterogeneity vm=5 worker=12
圖十二(a)是在低異構性環境圖十二(b)是在高異構性環境並且1 台實體
機架設 2 個3 個4 個虛擬機器使 Worker 數量固定 12 台處理的資料量為
600G
這個模擬實驗主要探討的是在一台實體機架設的虛擬機器數量對於
MapReduce 完成時間是否真正有影響圖十二(a)和圖十二(b)更可以顯示出 Best
Fit 和 Priority 在異構性越高的環境裏且一台實體機架設越多虛擬機器來當作
Worker 的時候可以縮短更多的時間前者會縮短 Map 的完成時間後者會縮
29
短 Reduce 的完成時間而 Hadoop 在異構性環境高的時候也有些微的縮短一
些時間
Total completion time with different data size (h=1-5)
0
20
40
60
80
100
120
140
400 600 800 1000 1200
Data
Sec
ond
Hadoop
Best Fit
Priority
圖十三 Total completion time with different data size
在上述的實驗中在同樣的資料大小處理的 Worker 數量越多的時候其
完成時間會縮短很多但是到達一定的數量的時候其縮短時間的效果就很低
所以就做了此實驗因為本篇論文就是要探討異構性的環境選擇高異構性
環境固定 Worker 數量 20 台資料大小由 400G 到 1200G探討資料大小對
MapReduce 以及 Worker 的影響如圖十三顯示出在 600G 以下的時候Map 加
上 Reduce 完成的時間突然靠近起來代表了當資料量越小的時候Best Fit 和
Priority 的方法跟原始的 Hadoop 的方法優勢會越來越少但相反的是當資料
量越大的時候雖然Best Fit 和 Priority 完成時間會增加但是跟 Hadoop 的
完成時間比會更加突顯
30
Total completion time (best fit)
0
10
20
30
40
50
60
70
80
(Without optimization) (Optimization)
Best Fit
Sec
ond
Map Reduce
(a)
Total completion time (priority)
0
10
20
30
40
50
60
70
80
(Without optimization) (Optimization)
Priority
Sec
ond
Map Reduce
(b)
圖十四 Total completion time of loading aware optimization (a) without
optimal (b) with optimization
圖十四(a)未使用優化技術圖十四(b)是使用優化技術同樣都是在高異構
性環境之下並且1 台實體機架設 5 個虛擬機器使 Worker 數量固定 15 台
處理的資料量為 900G
在本篇論文方法的部份有提到Loading Aware Virtual Machine Mapping的優
化技術由於此實驗上面的實驗數據都已經使用優化技術來改善時間因此
此實驗就是要探討這優化技術對於MapReduce完成時間的影響
由於Loading Aware Virtual Machine Mapping此優化技術是變動同一台實體
31
機內部的Reducer使得原本是根據Communication locality來選擇虛擬機器但
是在挑選的過程中並沒有依據處理資料的大小分配到其處理速度相對映的
虛擬機器而這優化技術就是將同一台實體機內的虛擬機器重新分配由於此
優化技術並不會影響Communication locality所以這部份並沒有在此實驗探討
圖十四(a)圖十四(b)顯示未使用優化技術的Best fit和Priority的MapReduce
完成時間雖然比Hadoop的方法好但是其Reduce phase完成時間上慢了一些
並且可以看出此優化技術並不會影響到Map phase主要影響的是在Reduce階
段在Reduce階段的完成時間上利用優化技術可以將Reduce階段時間縮短其13
32
Chapter 6 Conclusions and Future Works
目前 Hadoop 資料處理的環境還是應用在群集內節點效能是相同的情況下
如果是異構性環境可能就無法這麼有效率的處理本篇論文提出了兩個方法
動態資料切割和虛擬機對映以及一個優化技術 Loading aware virtual machine
mapping模擬實驗結果表明透過本篇方法來得比 Hadoop 縮短 41的時間以
及最多節省 Communication Locality 約莫 33尤其在異構性越高的環境以及
一台實體機器架設的虛擬機器數量越多改善的效果越明顯另外 Loading
aware virtual machine mapping 優化技術改善了 Reduce phase 的完成時間約莫
13
在未來研究上可以朝著動態調整 Reducer 數量的方向前進當固定大小的
資料上其實有時候過多的節點去運算消耗了大量的運算資源卻只得到一些
秒數的縮短如何利用適當的運算資源來得到最大的利益這是相當重要的議
題由於此實驗都是屬於模擬實驗希望在未來可以實際架設在機器上運行
透過 Benchmark得到真正的數據
33
Reference
1 Masato Asahara Shinji Nakadai and Takuya Araki ldquoLoadAtomizer A
Locality and IO Load aware Task Scheduler for MapReducerdquo in 4th IEEE
International Conference on Cloud Computing Technology and Science
(CloudCom) pp 317-324 2012
2 Paul Barham Boris Dragovic Keir Fraser Steven Hand Tim Harris Alex
Ho Rolf Neugebauer Ian Pratt and Andrew Warfield ldquoXen and the Art of
Virtualizationrdquo SOSP 03 Proceedings of the nineteenth ACM symposium
on Operating systems principles vol 37 Issue 5 pp 164-177 December
2003
3 Xiangping Bu Jia Rao and Cheng Zhong Xu ldquoInterference and
Locality-Aware Task Scheduling for MapReduce Applications in Virtual
Clustersrdquo Proceeding HPDC 13 Proceedings of the 22nd international
sym-posium on High-performance parallel and distributed computing pp
227-238 2013
4 Kasim Selcuk Candan Jong Wook Kim Parth Nagarkar Mithila Nagendra
and Ren-wei Yu ldquoScalable Multimedia Data Processing in Server Clustersrdquo
IEEE MultiMedia pp 3-5 2010
5 Fay Chang Jeffrey Dean Sanjay Ghemawat Wilson C Hsieh Deborah A
Wallach Mike Burrws Tushar Chandra Andrew Fikes and Robert EGruber
ldquoBigtable A Distributed Storage System for Structured Datardquo 7th UENIX
Symposium on Operating Systems Design and Implementation pp 205-218
2006
6 P C Chen Y L Su J B Chang and C K Shieh ldquoVariable-Sized Map and
Locality-Aware Reduce on Public-Resource Gridsrdquo in Proceedings
Conference Grid and Pervasive Computing (GPC 2010) pp 234-243 2010
May
7 Q Chen D Zhang M Guo Q Deng and S Guo ldquoSamr A self adaptive
mapreduce scheduling algorithm in heterogeneous environmentrdquo in 10th
IEEE International Conference on Computer and Information Technology
CIT rsquo10 (Washington DC USA) pp 2736ndash2743 2010
8 Jeffrey Dean and Sanjay Ghemawat ldquoMapReduce Simplified Data
Processing on Large Clustersrdquo Communications of the ACM vol 51 no 1
pp 107ndash113 2008
9 Yuanquan Fan Weiguo Wu Haijun Cao Huo Zhu Xu Zhao and Wei Wei
34
ldquoA heterogeneity-aware data distribution and rebalance method in Hadoop
clusterrdquo 2012 Seventh ChinaGrid Annual Conference pp 176-181 2012
10 Zacharia Fadika Elif Dede Jessica Hartog and Madhusudhan Govindaraju
ldquoMARLA MapReduce for Heterogeneous Clustersrdquo in 12th IEEEACM
International Symposium on Cluster Cloud and Grid Computing pp 49-56
2012
11 Sanjay Ghemawat Howard Gobioff and ShunTak Leung ldquoThe Google file
systemrdquo In Proceedings of 19th Symposium on Operating Systems
Principles pp 29-43 2003
12 Sven Groot ldquoJumbo Beyond MapReduce for Workload Balancingrdquo Fuzzy
Systems and Knowledge Discovery (FSKD) 2011 Eighth International
Conference on Cloud Computing Technology and Science vol 4 pp
2675-2678 2011 July
13 B Gufler N Augsten A Reiser and A Kemper ldquoHandling Data Skew in
MapReducerdquo in Proceedings of CLOSER pp 574ndash583 2011
14 Mohammad Hammoud and Majd F Sakr ldquoLocality-Aware Reduce Task
Scheduling for MapReducerdquo Third IEEE International Conference on
Cloud Computing Technology and Science pp 570-576 2011
15 C He Y Lu and D Swanson ldquoMatch-making A New MapReduce
Scheduling Techniquerdquo IEEE Third International Conference on Cloud
Computing Technology and Science (CloudCom) pp 40ndash47 2011
16 Hung Chang Hsiao Huesh Yi Chung Haiying Shen and Yu Chang
ChaoldquoLoad Re-balancing for Distributed File Systems in Cloudsrdquo IEEE
Trans on Parallel and Distributed Systems vol24 pp 951-962 2012
17 Shadi Ibrahim Hai Jin Lu Lu Song Wu Bingsheng He and Li Qi ldquoLEEN
LocalityFairness Aware Key Partitioning for MapReduce in the Cloudrdquo
2010 IEEE Second International Conference on Cloud Computing
Technology and Science (CloudCom) pp 17ndash24 2010
18 S Ibrahim H Jin L Lu L Qi S Wu and X Shi ldquoEvaluating MapReduce
on Virtual Machines The Hadoop Caserdquo Proceedings Conference Cloud
Computing (CloudCom 2009) Springer LNCS pp 519-528 2009 Dec
19 C Jin and R Buyya ldquoMapreduce programming model for net-based cloud
computingrdquo in Proceedings of the 15th International Euro-Par Conference
on Parallel Processing Euro-Par (Berlin Heidelberg) pp 417ndash428 2009
20 R Nanduri N Maheshwari A Reddyraja and V Varma ldquoJob aware
scheduling algorithm for Mapreduce frameworkrdquo in 3rd International
Conference on Cloud Computing Technology and Science
CLOUDCOM rsquo11 (Washington DC USA) pp 724ndash729 2011
35
21 Andrew J Page and Thomas J Naughton ldquoDynamic task scheduling using
genetic algorithms for heterogeneous distributed computingrdquo in 19th IEEE
International Parallel and Distributed Processing Symposium pp 189a
2005 April
22 Xiaoyu Sun Chen He and Ying Lu ldquoESAMR An Enhanced Self-Adaptive
MapReduce Scheduling Algorithmrdquo 2012 IEEE 18th International
Conference on Parallel and Distributed Systems pp 148-155 2012
23 Chao Tian Haojie Zhou Yongqiang He and Li Zha ldquoA Dynamic
MapReduce Scheduler for Heterogeneous Workloadsrdquo Eighth International
Conference on Grid and Cooperative Computing pp 218ndash244 2009 Aug
24 Jiong Xie Shu Yin Xiaojun Ruan Zhi-yang Ding Yun Tian James Majors
Adam Manzanares and Xiao Qin ldquoImproving mapreduce performance
through data placement in heterogeneous hadoop clustersrdquo in IPDPS
Workshops pp 1ndash9 2010
25 J Tan X Pan S Kavulya R Gandhi and P Narasimhan ldquoMochi Visual
Log-Analysis Based Tools for Debugging Hadooprdquo USENIX Workshop on
Hot Topics in Cloud Computing (HotCloud) pp 1-5 2009
26 Matei Zaharia Andy Konwinski Anthony D Joseph Randy Katz and Ion
Stoica ldquoImproving MapReduce Performance in Heterogeneous
Environmentsrdquo 8th Symposium on Operating Systems Design and
Implementation pp 29ndash42 2008 Dec
27 X Zhang Z Zhong S Feng B Tu and J Fan ldquoImproving Data locality of
MapReduce by Scheduling in Homogeneous Computing Environmentsrdquo in
9th IEEE International Symposium on Parallel and Distributed Processing
with Applications (ISPA) pp 120-126 2011
28 Apache hadoop Available from httphadoopapacheorg
29 MapReduce with a lot of examples for Mining datasets Available from
httpinfolabstanfordedu~ullmanmmdsbookpdf
Page 19
10
33 Heterogeneous Classification
MapReduce 在異構性環境下執行已經是越來越多人討論的議題如何將
每個節點分級也有相當多的Benchmark可以做測試本篇論文採用的Benchmark
為 Hardinfo透過虛擬機器去做測試
表一 Hardinfo benchmark
如表一1_2 前面的數字代表核心數目後面的數字代表 Memory 有多少
GB而這個 Hardinfo 本身內含有許多測試的軟件我們測了兩個實驗CPU
Blowfish 以及 CPU CryptoHash這兩個都是跟加密有關的CPU Blowfish 運行
在單核心以及四核心的虛擬機器上所花費的秒數兩個相差了 5 倍因此我
們定義異構性等級為 1 到 5也就是所謂的高異構性環境CPU CryptoHash 運行
在單核心以及四核心的虛擬機器上每秒能壓縮的資料相差了三倍因此我
們定義異構性等級為 1 到 3也就是所謂的高異構性環境我們之後的實驗根
據這兩個異構性等級做參數
11
Chapter 4 Dynamic Data Partitioning and Locality
Aware Virtual Machine Mapping
原始的 Hadoop 在同質性環境執行 MapReduce 程式每個節點運算能力大
致相同所以在 Map 階段並不會有互相等待的結果發生但是在異構性的
環境之下每個節點的 Worker 彼此之間運算速度不同導致先完成的必須得
等速度較慢的節點完成因而執行時間變長而在 Reduce 階段沒有考慮
Communication Locality 的問題即使是用虛擬機架設的環境也是一樣所以
隱藏著一些 Communication overhead 的問題本篇論文主要探討此兩問題
圖二 整體方法流程圖
如圖二所示將資料從 HDFS 讀取進來因為每個節點不能去從其他節點讀
取資料來做因此只能將自己節點資料作完等待其他節點完成後才可繼續
執性 Reduce 階段因此在 Map mpping 階段是根據節點內部的虛擬機性能來
決定節點內部資料的分配而不是固定資料大小丟給效能不一致的虛擬機器來做
12
運算在 Reduce mapping 階段是根據 Locality aware 來選擇機器選擇節省成本
最多的機器以及最後有個節點內部動態調整機制為了減少Reducer完成的時間
41 動態資料切割
在同質性環境 (即為每個節點設備大致相同)運行MapReduce當Worker
完成Map階段任務必須等待其他Worker完成才能進行下一個動作因為每台
節點運算能力大致相同所以當執行Map階段結束後每台節點完成時間是大
致相同的而在異構環境下 (每個節點設備不盡相同則會產生出一個問題在
運算效能不一致的情況會造成在Map程式執行完成的時間變長因為當資料相
同可是每個節點運算能力不一樣就會彼此互相牽制為了要避免此情況發生
所以本篇論文用動態資料切割的方法來解決此問題
圖三 根據節點能力分配相對應大小的資料
動態資料切割的方法得先知道每個Worker的運算能力根據運算能力動
態切割資料大小如圖三所示每個節點運算能力較好的Worker就分配到資料
較多的Partition去做處理而運算能力較差的Worker就分配到較少的Partition使
得每個節點內部的Worker完成時間接近就不會有處理速度比較快的節點完成後
13
必須要等待處理速度比較慢的節點而資料分配方式就是根據Performance
也就是前面所提到的異構性等級的數值相加起來 (Worker處理速度越快則等級
越高)將要處理的資料以及總數值相除會得到一個平均值這個平均值去乘
上等級也就是Worker要處理的資料量
42 Locality Aware Virtual Machine Mapping
由於虛擬機的使用可以充分利用資源所以現在一台實體機可架設多
台虛擬機所以同一台實體機內部有兩台虛擬機當這兩台互相交換資料的
時候其實網路的負載是很低的但是如果是兩台實體機交換資料網路的負
載會變很高在執行Map階段之後資料都儲存在Local disk裡Reducer要怎麼
選擇機器使得Communication locality節省更多而這個即是本篇論文要探討的
第二個問題
421 Best Fit
本篇論文提出了一個 Best Fit 方法這個方法的概念是讓 Reducer 選擇在哪
一台節點上運行使其 Communication locality 節省最多接下來在找出節點內
Performance 最好的 Worker 來當 Reducer而不是像 Hadoop 的 MapReduce 是照
順序去分配這樣的選擇方式是因為節點與節點之間資料傳遞的Communication
overhead 是相當大的而節點內部之間的 Communication overhead相較起來小
很多而讓 Communication locality 節省越多也可以讓 Communication overhead
降低
14
圖四 Best Fit挑選機器流程
1 如圖四所示假設一台實體機上(P1)架設兩台虛擬機(v1v2)根據虛擬
機的運算能力分配相對映的資料量v1即為25單位v2即為22單位以此類
推
2 執行Map程式產生出k值因為有三台Reducer(R1R2R3)所以產生出
3個k值v1虛擬機的k1值為7k2值為10k3值為8而這v1的所有k值相加即為
v1所負責的資料量v1虛擬機k1值為10k2值為9k3值為3而這v2的所有k值
相加為v2所負責的資料量v3也是一樣
3 先從R1要挑選哪台VM開始首先把每個VM所產生出的k1值相加得到一個
總和即為57單位底下看到有三個數值第一個數值即為R1如果在P1這
台機器上運行的話所耗費的遠端溝通成本(要到P2P3取資料的溝通成本)
則第二個數值即為R2在P2這台機器上運行的話所耗費的遠端溝通成本
第三個也是
4 把總共要處理的資料減掉到遠端耗費的溝通成本會得到一個數值即為
15
Communication localityR1如果選擇P1機器運行則Communication locality
為17單位R1如果選擇P2機器運行則Communication locality為18單位R1
如果選擇P3機器運行則Communication locality為22單位R1挑選最多的
Communication locality的機器來運行所以R1選擇P3機器來做運算
5 R1選擇P3實體機而P3實體機有2台虛擬機所以在根據虛擬機的運算能力
先挑選運算能力好的來做為R1
6 如果節點的虛擬機都被挑選完就選第二順位的節點
原始的HadoopR1挑選v1而R2挑選v2照順序的挑選所以沒有考慮到溝
通成本則本篇論文Best fit是根據Communication locality來挑選機器但是
可能在某ㄧ些情況可能不夠完善
圖五 Best Fit 挑選機器的不完善
如圖五所示當Communication locality可以選擇很高的節點卻因為前面的
Reducer把節點內部的Worker挑選完了所以逼不得已只能挑選第二順位的節
點可是這個Communication locality遠遠低於前面Reducer挑選的節點導致整體
的Communication locality大幅下降因此422 Priority即為改善的方法
16
422 Priority
為了確保每個Reducer都能挑選Communication locality最高的機器因此
此章節做了改善
1 在Reducer在挑選機器之前先判斷Reducer哪台要先下去做挑選
2 將每台Reducer最高的Communication locality的跟第二高的相減會得到一個
Difference locality在利用Difference locality下去做排序由大到小
3 Difference locality越大的代表那台Reducer要優先做挑選所以就從
Difference locality越大的挑選到Difference locality最小的
圖六 Priority挑選機器流程
1 如圖六所示R1總共的Data block為57單位R2為42單位R3為41單位經過
Shuffle階段之後
2 R1如果選擇P1這台機器能節省的Communication locality就是17單位R1如果選
擇P2這台機器能節省的Communication locality就是18單位R3如果選擇P2這台
機器能節省的Communication locality就是22單位
3 根據Communication locality將第一高的減掉第二高的會得到一個Difference
17
locality
4 根據此Difference locality排出哪個Reducer要先選取機器此例子的順序為
R2再來R3再來R1而Best Fit就是R1再來R2再來R3
Priority可以避免前面的Reducer把機器挑選完迫使只能選擇第二高的
Communication locality使這樣大幅降低的情況給消除而Best fit和Priority這兩
種方法大幅提高了Communication locality的狀況可是卻也導致了Reduce階段
的完成時間變長所以下章節主要敘述將Reduce階段完成時間優化
43 Loading Aware Virtual Machine Mapping
上述的兩種方法Best fitPriority都是為了降低節點彼此之間的溝通成本
但是卻引發了一個問題Reducer執行完成的時間比原始Hadoop還來得長為
了解決此問題本篇論文在這章節提出優化的方法前面兩種方法是根據節點
的Communication locality來決定要在哪一台Worker做運算當決定好Worker
的時候Reducer會先將運算能力較好的虛擬機器拿去做運算這樣使得運算較
快的機器並不會對映到運算較複雜的資料使得較早完成的機器還是得等候還沒
做好的機器造成時間上的延長所以本篇論文針對此部份做優化
圖七 Reducer對應到其相對效率的Worker
18
如圖七所示當Reducer都挑選好要在哪台實體機做在開始執行Reduce程
式之前我們根據要處理的資料量來分配相對映的機器而這虛擬機的交換
並不會影響到Communication locality因為都是在同一台實體機架設的虛擬機
器做交換
19
Chapter 5 Performance Analysis
本實驗以模擬的方式進行利用 C 語言程式撰寫可設定節點數量節點
裡的 Worker 數量資料大小異構性環境低 (h = 1-3)或高 (h = 1-5)透過模擬
的實驗數據分析基於 Hadoop 的 MapReduce 以及本篇論文透過 Map mapping
和 Reduce mapping 的方式進而改善原始 MapReduce 所造成的缺點
51 Communication Locality
本模擬實驗主要探討的是 Communication Locality圖八(a)和圖八(b)模擬環
境為低異構性圖八(c)和圖八(d)為高異構性環境固定每台實體機架設 2 台以
及 5 台虛擬機器固定 Worker 總數量分別為 102030要處理的資料為 900G
Communication locality(vm = 2 h = 1-3)
0
50
100
150
200
250
300
10 20 30
Number of vm
Dat
a lo
cali
ty
Hadoop
Best Fit
Priority
(a)
20
Communication locality(vm = 5 h = 1-3)
0
100
200
300
400
500
600
10 20 30Number of vm
Dat
a lo
cali
ty
Hadoop
Best Fit
Priority
(b)
Communcation Locality(vm = 2 h = 1-5)
0
50
100
150
200
250
300
10 20 30Number of vm
Dat
a lo
cali
ty
Hadoop
Best Fit
Priority
(c)
Communcation locality(vm = 5 h = 1-5)
0
100
200
300
400
500
600
10 20 30
Number of vm
Dat
a lo
cali
ty
Hadoop
Best Fit
Priority
(d)
圖八 Communication locality (a) low heterogeneity vm=2 (b) low heterogeneity
vm=5 (c) high heterogeneity vm=2 (d) high heterogeneity vm=5
21
由圖八(a)可看出本篇論文提出的兩個方法在低異構性環境所能節省的
Communication Locality 比原始的 Hadoop 提出的方法最多節省了 33的
Communication Locality圖八 (b)也最多節省了約 12的 Communication
Locality雖然節省在固定架設的虛擬機器為兩台的時候節省比較多但是
兩個實驗節省的 Communication Locality 量卻相差了快 2 倍原因是在於 Map 階
段完成的資料都儲存在 Local disc兩台實體機在交換資料的時候溝通成本是
很高的而建立在同一台實體機的兩台虛擬機器交換資料則溝通成本卻來的低
很多 因此溝通成本量的提高也會被實體機上架設的虛擬機器的多寡來影
響
由圖八(c)所示在高異構性最多可節省 27的 Communication Locality圖
八(d)則為 15的 Communication Locality分別從圖八(a)圖八(c)圖八(b)以及
圖八(d)可以看得出來Best Fit 和 Priority 不會隨著異構性環境的高低溝通成
本量會有大幅度的改變而 Priority 在節省的 Communication Locality 都會比 Best
Fit 都來的多一點因為Priority 可以避免前面的 Reducer 把機器挑選完迫使
只能選擇第二高的Communication location 因此大幅降低的情況給消除
52 Task Execution Time
此節實驗是要探討 Map 以及 Reduce 完成的時間圖九(a)和圖九(b)為低異構
性環境的實驗圖九(c)和圖九(d)為高異構性環境都是固定每台實體機架設 2
台以及 5 台虛擬機器所以固定虛擬機器總數量分別為 102030要處理
的資料為 900G
22
Map completion time(vm = 2 h = 1-3)
0
20
40
60
80
100
10 20 30
Number of vm
Sec
ond
Hadoop
Best Fit amp Priority
(a)
Map completion time(vm = 5 h = 1-3)
0
20
40
60
80
100
10 20 30Number of vm
Sec
ond
Hadoop
Best Fit amp Priority
(b)
Map completion time(vm = 2 h = 1-5)
0
20
40
60
80
100
10 20 30Number of vm
seco
nd
Hadoop
Best Fit amp Priority
(c)
23
Map completion time(vm = 5 h = 1-5)
0
20
40
60
80
100
10 20 30Number of vm
seco
nd
Hadoop
Best Fit amp Priority
(d)
圖九 Map completion time (a) low heterogeneity vm=2 (b) low heterogeneity
vm=5 (c) high heterogeneity vm=2 (d) high heterogeneity vm=5
圖九(a)圖九(b)圖九(c)以及圖九(d)顯示了本論文提出的兩個方法 Best Fit
和 Priority 他們完成的時間是一樣的因為兩個方法的 Map mapping 概念是一樣
的所以完成時間也會一樣在此實驗裡可發現 Best Fit 和 Priority 也會隨著
實體機上的虛擬機器數量增多而完成時間縮短而縮短的時間最多甚至可以達
到 44也可看出本論文的兩個方法在低異構性環境的效能比在高異構性環境
的效能來的較差所以在異構性越高的環境越能看得出 Best Fit 和 Priority
的優勢
24
Reduce completion time(vm = 2 h = 1-3)
0
20
40
60
80
100
120
10 20 30Number of vm
Sec
ond
Hadoop
Best Fit
Priority
(a)
Reduce completion time(vm = 5 h = 1-3)
0
20
40
60
80
100
120
10 20 30Number of vm
Sec
ond
Hadoop
Best Fit
Priority
(b)
Reduce completion time(vm = 2 h = 1-5)
0
20
40
60
80
100
120
10 20 30Number of vm
seco
nd
Hadoop
Best Fit
Priority
(c)
25
Reduce completion time(vm = 5 h = 1-5)
0
20
40
60
80
100
120
10 20 30Number of vm
Sec
ond
Hadoop
Best Fit
Priority
(d)
圖十 Reduce completion time (a) low heterogeneity vm=2 (b) low
heterogeneity vm=5 (c) high heterogeneity vm=2 (d) high heterogeneity vm=5
而在 Reduce 完成時間的方面不像 Map 的完成時間是一樣的因為選
擇 Reducer 的方式不同造成 Best Fit 以及 Priority 時間完成上有些許不同
如圖十(a)所示節省了 14的時間圖十(b)節省了 16的時間圖十(c)
節省了 23圖十(d)節省了 29由圖十(b)以及圖十(d)可見影響 Reduce
階段完成時間最主要的原因是異構性環境的問題當環境的異構性越高其
所節省的時間越多而圖十(c)以及圖十(d)所示一台實體機架設的虛擬機器數
量影響的範圍比較小
26
Total completion time (vm = 2 pm = 5 h = 1-3)
0 50 100 150 200 250
Hadoop
Best Fit
Priority
Met
hod
Second
Map Reduce
(a)
Total completion time(vm = 5 pm = 2 h = 1-3)
0 50 100 150 200
Hadoop
Best Fit
Priority
Met
hod
Second
Map Reduce
(b)
Total completion time(vm = 2 pm = 5 h = 1-5)
0 50 100 150 200 250
Hadoop
Best Fit
Priority
Met
hod
Second
Map Reduce
(c)
27
Total completion time(vm=5 pm = 2 h = 1-5)
0 50 100 150 200
Hadoop
Best Fit
Priority
Second
Met
hod
Map Reduce
(d)
圖十一 Total completion time (a) low heterogeneity vm=2 pm=5 (b) low
heterogeneity vm=5 pm=2 (c) high heterogeneity vm=2 pm=5 (d) high
heterogeneity vm=5 pm=2
由於前面分別是 Map以及 Reduce的完成時間為了想知道Map以及 Reduce
對於 MapReduce 的整體影響我們將前面的 Map 以及 Reduce 的完成時間在
處理資料的節點固定為 10 台 Worker將其做整合
從圖十一(a)圖十一(b)圖十一(c)圖十一(d)顯示 Best Fit 和 Priority 不論
是在低異構性或高異構性環境MapReduce 完成時間都比 Hadoop 的完成時間縮
短很多在低異構性環境最多可縮短到 29的時間在高異構性環境最多可縮
短 41的時間而造成 Hadoop 跟 Best Fit 和 Priority 在時間上差異如此大的原
因主要是在 Map 階段的完成時間因為Best Fit 和 Priority 是根據 Worker 的
效能來決定要處理的資料大小而 Hadoop 就是分配固定大小的資料給 Worker
運算所以在越高的異構性環境其縮短的時間會越明顯
28
Total completion time with different number of vm (h=1-3)
0
20
40
60
80
100
120
vm=2 vm=3 vm=4Number of vm per physical machine
Sec
ond
Hadoop
Best Fit
Priority
(a)
Total completion time with different number of vm (h=1-5)
0
20
40
60
80
100
120
vm=2 vm=3 vm=4Number of vm per physical machine
Sec
ond
Hadoop
Best Fit
Priority
(b)
圖十二 Total completion time with different number of vm (a) low heterogeneity
vm=2 worker=12 (b) high heterogeneity vm=5 worker=12
圖十二(a)是在低異構性環境圖十二(b)是在高異構性環境並且1 台實體
機架設 2 個3 個4 個虛擬機器使 Worker 數量固定 12 台處理的資料量為
600G
這個模擬實驗主要探討的是在一台實體機架設的虛擬機器數量對於
MapReduce 完成時間是否真正有影響圖十二(a)和圖十二(b)更可以顯示出 Best
Fit 和 Priority 在異構性越高的環境裏且一台實體機架設越多虛擬機器來當作
Worker 的時候可以縮短更多的時間前者會縮短 Map 的完成時間後者會縮
29
短 Reduce 的完成時間而 Hadoop 在異構性環境高的時候也有些微的縮短一
些時間
Total completion time with different data size (h=1-5)
0
20
40
60
80
100
120
140
400 600 800 1000 1200
Data
Sec
ond
Hadoop
Best Fit
Priority
圖十三 Total completion time with different data size
在上述的實驗中在同樣的資料大小處理的 Worker 數量越多的時候其
完成時間會縮短很多但是到達一定的數量的時候其縮短時間的效果就很低
所以就做了此實驗因為本篇論文就是要探討異構性的環境選擇高異構性
環境固定 Worker 數量 20 台資料大小由 400G 到 1200G探討資料大小對
MapReduce 以及 Worker 的影響如圖十三顯示出在 600G 以下的時候Map 加
上 Reduce 完成的時間突然靠近起來代表了當資料量越小的時候Best Fit 和
Priority 的方法跟原始的 Hadoop 的方法優勢會越來越少但相反的是當資料
量越大的時候雖然Best Fit 和 Priority 完成時間會增加但是跟 Hadoop 的
完成時間比會更加突顯
30
Total completion time (best fit)
0
10
20
30
40
50
60
70
80
(Without optimization) (Optimization)
Best Fit
Sec
ond
Map Reduce
(a)
Total completion time (priority)
0
10
20
30
40
50
60
70
80
(Without optimization) (Optimization)
Priority
Sec
ond
Map Reduce
(b)
圖十四 Total completion time of loading aware optimization (a) without
optimal (b) with optimization
圖十四(a)未使用優化技術圖十四(b)是使用優化技術同樣都是在高異構
性環境之下並且1 台實體機架設 5 個虛擬機器使 Worker 數量固定 15 台
處理的資料量為 900G
在本篇論文方法的部份有提到Loading Aware Virtual Machine Mapping的優
化技術由於此實驗上面的實驗數據都已經使用優化技術來改善時間因此
此實驗就是要探討這優化技術對於MapReduce完成時間的影響
由於Loading Aware Virtual Machine Mapping此優化技術是變動同一台實體
31
機內部的Reducer使得原本是根據Communication locality來選擇虛擬機器但
是在挑選的過程中並沒有依據處理資料的大小分配到其處理速度相對映的
虛擬機器而這優化技術就是將同一台實體機內的虛擬機器重新分配由於此
優化技術並不會影響Communication locality所以這部份並沒有在此實驗探討
圖十四(a)圖十四(b)顯示未使用優化技術的Best fit和Priority的MapReduce
完成時間雖然比Hadoop的方法好但是其Reduce phase完成時間上慢了一些
並且可以看出此優化技術並不會影響到Map phase主要影響的是在Reduce階
段在Reduce階段的完成時間上利用優化技術可以將Reduce階段時間縮短其13
32
Chapter 6 Conclusions and Future Works
目前 Hadoop 資料處理的環境還是應用在群集內節點效能是相同的情況下
如果是異構性環境可能就無法這麼有效率的處理本篇論文提出了兩個方法
動態資料切割和虛擬機對映以及一個優化技術 Loading aware virtual machine
mapping模擬實驗結果表明透過本篇方法來得比 Hadoop 縮短 41的時間以
及最多節省 Communication Locality 約莫 33尤其在異構性越高的環境以及
一台實體機器架設的虛擬機器數量越多改善的效果越明顯另外 Loading
aware virtual machine mapping 優化技術改善了 Reduce phase 的完成時間約莫
13
在未來研究上可以朝著動態調整 Reducer 數量的方向前進當固定大小的
資料上其實有時候過多的節點去運算消耗了大量的運算資源卻只得到一些
秒數的縮短如何利用適當的運算資源來得到最大的利益這是相當重要的議
題由於此實驗都是屬於模擬實驗希望在未來可以實際架設在機器上運行
透過 Benchmark得到真正的數據
33
Reference
1 Masato Asahara Shinji Nakadai and Takuya Araki ldquoLoadAtomizer A
Locality and IO Load aware Task Scheduler for MapReducerdquo in 4th IEEE
International Conference on Cloud Computing Technology and Science
(CloudCom) pp 317-324 2012
2 Paul Barham Boris Dragovic Keir Fraser Steven Hand Tim Harris Alex
Ho Rolf Neugebauer Ian Pratt and Andrew Warfield ldquoXen and the Art of
Virtualizationrdquo SOSP 03 Proceedings of the nineteenth ACM symposium
on Operating systems principles vol 37 Issue 5 pp 164-177 December
2003
3 Xiangping Bu Jia Rao and Cheng Zhong Xu ldquoInterference and
Locality-Aware Task Scheduling for MapReduce Applications in Virtual
Clustersrdquo Proceeding HPDC 13 Proceedings of the 22nd international
sym-posium on High-performance parallel and distributed computing pp
227-238 2013
4 Kasim Selcuk Candan Jong Wook Kim Parth Nagarkar Mithila Nagendra
and Ren-wei Yu ldquoScalable Multimedia Data Processing in Server Clustersrdquo
IEEE MultiMedia pp 3-5 2010
5 Fay Chang Jeffrey Dean Sanjay Ghemawat Wilson C Hsieh Deborah A
Wallach Mike Burrws Tushar Chandra Andrew Fikes and Robert EGruber
ldquoBigtable A Distributed Storage System for Structured Datardquo 7th UENIX
Symposium on Operating Systems Design and Implementation pp 205-218
2006
6 P C Chen Y L Su J B Chang and C K Shieh ldquoVariable-Sized Map and
Locality-Aware Reduce on Public-Resource Gridsrdquo in Proceedings
Conference Grid and Pervasive Computing (GPC 2010) pp 234-243 2010
May
7 Q Chen D Zhang M Guo Q Deng and S Guo ldquoSamr A self adaptive
mapreduce scheduling algorithm in heterogeneous environmentrdquo in 10th
IEEE International Conference on Computer and Information Technology
CIT rsquo10 (Washington DC USA) pp 2736ndash2743 2010
8 Jeffrey Dean and Sanjay Ghemawat ldquoMapReduce Simplified Data
Processing on Large Clustersrdquo Communications of the ACM vol 51 no 1
pp 107ndash113 2008
9 Yuanquan Fan Weiguo Wu Haijun Cao Huo Zhu Xu Zhao and Wei Wei
34
ldquoA heterogeneity-aware data distribution and rebalance method in Hadoop
clusterrdquo 2012 Seventh ChinaGrid Annual Conference pp 176-181 2012
10 Zacharia Fadika Elif Dede Jessica Hartog and Madhusudhan Govindaraju
ldquoMARLA MapReduce for Heterogeneous Clustersrdquo in 12th IEEEACM
International Symposium on Cluster Cloud and Grid Computing pp 49-56
2012
11 Sanjay Ghemawat Howard Gobioff and ShunTak Leung ldquoThe Google file
systemrdquo In Proceedings of 19th Symposium on Operating Systems
Principles pp 29-43 2003
12 Sven Groot ldquoJumbo Beyond MapReduce for Workload Balancingrdquo Fuzzy
Systems and Knowledge Discovery (FSKD) 2011 Eighth International
Conference on Cloud Computing Technology and Science vol 4 pp
2675-2678 2011 July
13 B Gufler N Augsten A Reiser and A Kemper ldquoHandling Data Skew in
MapReducerdquo in Proceedings of CLOSER pp 574ndash583 2011
14 Mohammad Hammoud and Majd F Sakr ldquoLocality-Aware Reduce Task
Scheduling for MapReducerdquo Third IEEE International Conference on
Cloud Computing Technology and Science pp 570-576 2011
15 C He Y Lu and D Swanson ldquoMatch-making A New MapReduce
Scheduling Techniquerdquo IEEE Third International Conference on Cloud
Computing Technology and Science (CloudCom) pp 40ndash47 2011
16 Hung Chang Hsiao Huesh Yi Chung Haiying Shen and Yu Chang
ChaoldquoLoad Re-balancing for Distributed File Systems in Cloudsrdquo IEEE
Trans on Parallel and Distributed Systems vol24 pp 951-962 2012
17 Shadi Ibrahim Hai Jin Lu Lu Song Wu Bingsheng He and Li Qi ldquoLEEN
LocalityFairness Aware Key Partitioning for MapReduce in the Cloudrdquo
2010 IEEE Second International Conference on Cloud Computing
Technology and Science (CloudCom) pp 17ndash24 2010
18 S Ibrahim H Jin L Lu L Qi S Wu and X Shi ldquoEvaluating MapReduce
on Virtual Machines The Hadoop Caserdquo Proceedings Conference Cloud
Computing (CloudCom 2009) Springer LNCS pp 519-528 2009 Dec
19 C Jin and R Buyya ldquoMapreduce programming model for net-based cloud
computingrdquo in Proceedings of the 15th International Euro-Par Conference
on Parallel Processing Euro-Par (Berlin Heidelberg) pp 417ndash428 2009
20 R Nanduri N Maheshwari A Reddyraja and V Varma ldquoJob aware
scheduling algorithm for Mapreduce frameworkrdquo in 3rd International
Conference on Cloud Computing Technology and Science
CLOUDCOM rsquo11 (Washington DC USA) pp 724ndash729 2011
35
21 Andrew J Page and Thomas J Naughton ldquoDynamic task scheduling using
genetic algorithms for heterogeneous distributed computingrdquo in 19th IEEE
International Parallel and Distributed Processing Symposium pp 189a
2005 April
22 Xiaoyu Sun Chen He and Ying Lu ldquoESAMR An Enhanced Self-Adaptive
MapReduce Scheduling Algorithmrdquo 2012 IEEE 18th International
Conference on Parallel and Distributed Systems pp 148-155 2012
23 Chao Tian Haojie Zhou Yongqiang He and Li Zha ldquoA Dynamic
MapReduce Scheduler for Heterogeneous Workloadsrdquo Eighth International
Conference on Grid and Cooperative Computing pp 218ndash244 2009 Aug
24 Jiong Xie Shu Yin Xiaojun Ruan Zhi-yang Ding Yun Tian James Majors
Adam Manzanares and Xiao Qin ldquoImproving mapreduce performance
through data placement in heterogeneous hadoop clustersrdquo in IPDPS
Workshops pp 1ndash9 2010
25 J Tan X Pan S Kavulya R Gandhi and P Narasimhan ldquoMochi Visual
Log-Analysis Based Tools for Debugging Hadooprdquo USENIX Workshop on
Hot Topics in Cloud Computing (HotCloud) pp 1-5 2009
26 Matei Zaharia Andy Konwinski Anthony D Joseph Randy Katz and Ion
Stoica ldquoImproving MapReduce Performance in Heterogeneous
Environmentsrdquo 8th Symposium on Operating Systems Design and
Implementation pp 29ndash42 2008 Dec
27 X Zhang Z Zhong S Feng B Tu and J Fan ldquoImproving Data locality of
MapReduce by Scheduling in Homogeneous Computing Environmentsrdquo in
9th IEEE International Symposium on Parallel and Distributed Processing
with Applications (ISPA) pp 120-126 2011
28 Apache hadoop Available from httphadoopapacheorg
29 MapReduce with a lot of examples for Mining datasets Available from
httpinfolabstanfordedu~ullmanmmdsbookpdf
Page 20
11
Chapter 4 Dynamic Data Partitioning and Locality
Aware Virtual Machine Mapping
原始的 Hadoop 在同質性環境執行 MapReduce 程式每個節點運算能力大
致相同所以在 Map 階段並不會有互相等待的結果發生但是在異構性的
環境之下每個節點的 Worker 彼此之間運算速度不同導致先完成的必須得
等速度較慢的節點完成因而執行時間變長而在 Reduce 階段沒有考慮
Communication Locality 的問題即使是用虛擬機架設的環境也是一樣所以
隱藏著一些 Communication overhead 的問題本篇論文主要探討此兩問題
圖二 整體方法流程圖
如圖二所示將資料從 HDFS 讀取進來因為每個節點不能去從其他節點讀
取資料來做因此只能將自己節點資料作完等待其他節點完成後才可繼續
執性 Reduce 階段因此在 Map mpping 階段是根據節點內部的虛擬機性能來
決定節點內部資料的分配而不是固定資料大小丟給效能不一致的虛擬機器來做
12
運算在 Reduce mapping 階段是根據 Locality aware 來選擇機器選擇節省成本
最多的機器以及最後有個節點內部動態調整機制為了減少Reducer完成的時間
41 動態資料切割
在同質性環境 (即為每個節點設備大致相同)運行MapReduce當Worker
完成Map階段任務必須等待其他Worker完成才能進行下一個動作因為每台
節點運算能力大致相同所以當執行Map階段結束後每台節點完成時間是大
致相同的而在異構環境下 (每個節點設備不盡相同則會產生出一個問題在
運算效能不一致的情況會造成在Map程式執行完成的時間變長因為當資料相
同可是每個節點運算能力不一樣就會彼此互相牽制為了要避免此情況發生
所以本篇論文用動態資料切割的方法來解決此問題
圖三 根據節點能力分配相對應大小的資料
動態資料切割的方法得先知道每個Worker的運算能力根據運算能力動
態切割資料大小如圖三所示每個節點運算能力較好的Worker就分配到資料
較多的Partition去做處理而運算能力較差的Worker就分配到較少的Partition使
得每個節點內部的Worker完成時間接近就不會有處理速度比較快的節點完成後
13
必須要等待處理速度比較慢的節點而資料分配方式就是根據Performance
也就是前面所提到的異構性等級的數值相加起來 (Worker處理速度越快則等級
越高)將要處理的資料以及總數值相除會得到一個平均值這個平均值去乘
上等級也就是Worker要處理的資料量
42 Locality Aware Virtual Machine Mapping
由於虛擬機的使用可以充分利用資源所以現在一台實體機可架設多
台虛擬機所以同一台實體機內部有兩台虛擬機當這兩台互相交換資料的
時候其實網路的負載是很低的但是如果是兩台實體機交換資料網路的負
載會變很高在執行Map階段之後資料都儲存在Local disk裡Reducer要怎麼
選擇機器使得Communication locality節省更多而這個即是本篇論文要探討的
第二個問題
421 Best Fit
本篇論文提出了一個 Best Fit 方法這個方法的概念是讓 Reducer 選擇在哪
一台節點上運行使其 Communication locality 節省最多接下來在找出節點內
Performance 最好的 Worker 來當 Reducer而不是像 Hadoop 的 MapReduce 是照
順序去分配這樣的選擇方式是因為節點與節點之間資料傳遞的Communication
overhead 是相當大的而節點內部之間的 Communication overhead相較起來小
很多而讓 Communication locality 節省越多也可以讓 Communication overhead
降低
14
圖四 Best Fit挑選機器流程
1 如圖四所示假設一台實體機上(P1)架設兩台虛擬機(v1v2)根據虛擬
機的運算能力分配相對映的資料量v1即為25單位v2即為22單位以此類
推
2 執行Map程式產生出k值因為有三台Reducer(R1R2R3)所以產生出
3個k值v1虛擬機的k1值為7k2值為10k3值為8而這v1的所有k值相加即為
v1所負責的資料量v1虛擬機k1值為10k2值為9k3值為3而這v2的所有k值
相加為v2所負責的資料量v3也是一樣
3 先從R1要挑選哪台VM開始首先把每個VM所產生出的k1值相加得到一個
總和即為57單位底下看到有三個數值第一個數值即為R1如果在P1這
台機器上運行的話所耗費的遠端溝通成本(要到P2P3取資料的溝通成本)
則第二個數值即為R2在P2這台機器上運行的話所耗費的遠端溝通成本
第三個也是
4 把總共要處理的資料減掉到遠端耗費的溝通成本會得到一個數值即為
15
Communication localityR1如果選擇P1機器運行則Communication locality
為17單位R1如果選擇P2機器運行則Communication locality為18單位R1
如果選擇P3機器運行則Communication locality為22單位R1挑選最多的
Communication locality的機器來運行所以R1選擇P3機器來做運算
5 R1選擇P3實體機而P3實體機有2台虛擬機所以在根據虛擬機的運算能力
先挑選運算能力好的來做為R1
6 如果節點的虛擬機都被挑選完就選第二順位的節點
原始的HadoopR1挑選v1而R2挑選v2照順序的挑選所以沒有考慮到溝
通成本則本篇論文Best fit是根據Communication locality來挑選機器但是
可能在某ㄧ些情況可能不夠完善
圖五 Best Fit 挑選機器的不完善
如圖五所示當Communication locality可以選擇很高的節點卻因為前面的
Reducer把節點內部的Worker挑選完了所以逼不得已只能挑選第二順位的節
點可是這個Communication locality遠遠低於前面Reducer挑選的節點導致整體
的Communication locality大幅下降因此422 Priority即為改善的方法
16
422 Priority
為了確保每個Reducer都能挑選Communication locality最高的機器因此
此章節做了改善
1 在Reducer在挑選機器之前先判斷Reducer哪台要先下去做挑選
2 將每台Reducer最高的Communication locality的跟第二高的相減會得到一個
Difference locality在利用Difference locality下去做排序由大到小
3 Difference locality越大的代表那台Reducer要優先做挑選所以就從
Difference locality越大的挑選到Difference locality最小的
圖六 Priority挑選機器流程
1 如圖六所示R1總共的Data block為57單位R2為42單位R3為41單位經過
Shuffle階段之後
2 R1如果選擇P1這台機器能節省的Communication locality就是17單位R1如果選
擇P2這台機器能節省的Communication locality就是18單位R3如果選擇P2這台
機器能節省的Communication locality就是22單位
3 根據Communication locality將第一高的減掉第二高的會得到一個Difference
17
locality
4 根據此Difference locality排出哪個Reducer要先選取機器此例子的順序為
R2再來R3再來R1而Best Fit就是R1再來R2再來R3
Priority可以避免前面的Reducer把機器挑選完迫使只能選擇第二高的
Communication locality使這樣大幅降低的情況給消除而Best fit和Priority這兩
種方法大幅提高了Communication locality的狀況可是卻也導致了Reduce階段
的完成時間變長所以下章節主要敘述將Reduce階段完成時間優化
43 Loading Aware Virtual Machine Mapping
上述的兩種方法Best fitPriority都是為了降低節點彼此之間的溝通成本
但是卻引發了一個問題Reducer執行完成的時間比原始Hadoop還來得長為
了解決此問題本篇論文在這章節提出優化的方法前面兩種方法是根據節點
的Communication locality來決定要在哪一台Worker做運算當決定好Worker
的時候Reducer會先將運算能力較好的虛擬機器拿去做運算這樣使得運算較
快的機器並不會對映到運算較複雜的資料使得較早完成的機器還是得等候還沒
做好的機器造成時間上的延長所以本篇論文針對此部份做優化
圖七 Reducer對應到其相對效率的Worker
18
如圖七所示當Reducer都挑選好要在哪台實體機做在開始執行Reduce程
式之前我們根據要處理的資料量來分配相對映的機器而這虛擬機的交換
並不會影響到Communication locality因為都是在同一台實體機架設的虛擬機
器做交換
19
Chapter 5 Performance Analysis
本實驗以模擬的方式進行利用 C 語言程式撰寫可設定節點數量節點
裡的 Worker 數量資料大小異構性環境低 (h = 1-3)或高 (h = 1-5)透過模擬
的實驗數據分析基於 Hadoop 的 MapReduce 以及本篇論文透過 Map mapping
和 Reduce mapping 的方式進而改善原始 MapReduce 所造成的缺點
51 Communication Locality
本模擬實驗主要探討的是 Communication Locality圖八(a)和圖八(b)模擬環
境為低異構性圖八(c)和圖八(d)為高異構性環境固定每台實體機架設 2 台以
及 5 台虛擬機器固定 Worker 總數量分別為 102030要處理的資料為 900G
Communication locality(vm = 2 h = 1-3)
0
50
100
150
200
250
300
10 20 30
Number of vm
Dat
a lo
cali
ty
Hadoop
Best Fit
Priority
(a)
20
Communication locality(vm = 5 h = 1-3)
0
100
200
300
400
500
600
10 20 30Number of vm
Dat
a lo
cali
ty
Hadoop
Best Fit
Priority
(b)
Communcation Locality(vm = 2 h = 1-5)
0
50
100
150
200
250
300
10 20 30Number of vm
Dat
a lo
cali
ty
Hadoop
Best Fit
Priority
(c)
Communcation locality(vm = 5 h = 1-5)
0
100
200
300
400
500
600
10 20 30
Number of vm
Dat
a lo
cali
ty
Hadoop
Best Fit
Priority
(d)
圖八 Communication locality (a) low heterogeneity vm=2 (b) low heterogeneity
vm=5 (c) high heterogeneity vm=2 (d) high heterogeneity vm=5
21
由圖八(a)可看出本篇論文提出的兩個方法在低異構性環境所能節省的
Communication Locality 比原始的 Hadoop 提出的方法最多節省了 33的
Communication Locality圖八 (b)也最多節省了約 12的 Communication
Locality雖然節省在固定架設的虛擬機器為兩台的時候節省比較多但是
兩個實驗節省的 Communication Locality 量卻相差了快 2 倍原因是在於 Map 階
段完成的資料都儲存在 Local disc兩台實體機在交換資料的時候溝通成本是
很高的而建立在同一台實體機的兩台虛擬機器交換資料則溝通成本卻來的低
很多 因此溝通成本量的提高也會被實體機上架設的虛擬機器的多寡來影
響
由圖八(c)所示在高異構性最多可節省 27的 Communication Locality圖
八(d)則為 15的 Communication Locality分別從圖八(a)圖八(c)圖八(b)以及
圖八(d)可以看得出來Best Fit 和 Priority 不會隨著異構性環境的高低溝通成
本量會有大幅度的改變而 Priority 在節省的 Communication Locality 都會比 Best
Fit 都來的多一點因為Priority 可以避免前面的 Reducer 把機器挑選完迫使
只能選擇第二高的Communication location 因此大幅降低的情況給消除
52 Task Execution Time
此節實驗是要探討 Map 以及 Reduce 完成的時間圖九(a)和圖九(b)為低異構
性環境的實驗圖九(c)和圖九(d)為高異構性環境都是固定每台實體機架設 2
台以及 5 台虛擬機器所以固定虛擬機器總數量分別為 102030要處理
的資料為 900G
22
Map completion time(vm = 2 h = 1-3)
0
20
40
60
80
100
10 20 30
Number of vm
Sec
ond
Hadoop
Best Fit amp Priority
(a)
Map completion time(vm = 5 h = 1-3)
0
20
40
60
80
100
10 20 30Number of vm
Sec
ond
Hadoop
Best Fit amp Priority
(b)
Map completion time(vm = 2 h = 1-5)
0
20
40
60
80
100
10 20 30Number of vm
seco
nd
Hadoop
Best Fit amp Priority
(c)
23
Map completion time(vm = 5 h = 1-5)
0
20
40
60
80
100
10 20 30Number of vm
seco
nd
Hadoop
Best Fit amp Priority
(d)
圖九 Map completion time (a) low heterogeneity vm=2 (b) low heterogeneity
vm=5 (c) high heterogeneity vm=2 (d) high heterogeneity vm=5
圖九(a)圖九(b)圖九(c)以及圖九(d)顯示了本論文提出的兩個方法 Best Fit
和 Priority 他們完成的時間是一樣的因為兩個方法的 Map mapping 概念是一樣
的所以完成時間也會一樣在此實驗裡可發現 Best Fit 和 Priority 也會隨著
實體機上的虛擬機器數量增多而完成時間縮短而縮短的時間最多甚至可以達
到 44也可看出本論文的兩個方法在低異構性環境的效能比在高異構性環境
的效能來的較差所以在異構性越高的環境越能看得出 Best Fit 和 Priority
的優勢
24
Reduce completion time(vm = 2 h = 1-3)
0
20
40
60
80
100
120
10 20 30Number of vm
Sec
ond
Hadoop
Best Fit
Priority
(a)
Reduce completion time(vm = 5 h = 1-3)
0
20
40
60
80
100
120
10 20 30Number of vm
Sec
ond
Hadoop
Best Fit
Priority
(b)
Reduce completion time(vm = 2 h = 1-5)
0
20
40
60
80
100
120
10 20 30Number of vm
seco
nd
Hadoop
Best Fit
Priority
(c)
25
Reduce completion time(vm = 5 h = 1-5)
0
20
40
60
80
100
120
10 20 30Number of vm
Sec
ond
Hadoop
Best Fit
Priority
(d)
圖十 Reduce completion time (a) low heterogeneity vm=2 (b) low
heterogeneity vm=5 (c) high heterogeneity vm=2 (d) high heterogeneity vm=5
而在 Reduce 完成時間的方面不像 Map 的完成時間是一樣的因為選
擇 Reducer 的方式不同造成 Best Fit 以及 Priority 時間完成上有些許不同
如圖十(a)所示節省了 14的時間圖十(b)節省了 16的時間圖十(c)
節省了 23圖十(d)節省了 29由圖十(b)以及圖十(d)可見影響 Reduce
階段完成時間最主要的原因是異構性環境的問題當環境的異構性越高其
所節省的時間越多而圖十(c)以及圖十(d)所示一台實體機架設的虛擬機器數
量影響的範圍比較小
26
Total completion time (vm = 2 pm = 5 h = 1-3)
0 50 100 150 200 250
Hadoop
Best Fit
Priority
Met
hod
Second
Map Reduce
(a)
Total completion time(vm = 5 pm = 2 h = 1-3)
0 50 100 150 200
Hadoop
Best Fit
Priority
Met
hod
Second
Map Reduce
(b)
Total completion time(vm = 2 pm = 5 h = 1-5)
0 50 100 150 200 250
Hadoop
Best Fit
Priority
Met
hod
Second
Map Reduce
(c)
27
Total completion time(vm=5 pm = 2 h = 1-5)
0 50 100 150 200
Hadoop
Best Fit
Priority
Second
Met
hod
Map Reduce
(d)
圖十一 Total completion time (a) low heterogeneity vm=2 pm=5 (b) low
heterogeneity vm=5 pm=2 (c) high heterogeneity vm=2 pm=5 (d) high
heterogeneity vm=5 pm=2
由於前面分別是 Map以及 Reduce的完成時間為了想知道Map以及 Reduce
對於 MapReduce 的整體影響我們將前面的 Map 以及 Reduce 的完成時間在
處理資料的節點固定為 10 台 Worker將其做整合
從圖十一(a)圖十一(b)圖十一(c)圖十一(d)顯示 Best Fit 和 Priority 不論
是在低異構性或高異構性環境MapReduce 完成時間都比 Hadoop 的完成時間縮
短很多在低異構性環境最多可縮短到 29的時間在高異構性環境最多可縮
短 41的時間而造成 Hadoop 跟 Best Fit 和 Priority 在時間上差異如此大的原
因主要是在 Map 階段的完成時間因為Best Fit 和 Priority 是根據 Worker 的
效能來決定要處理的資料大小而 Hadoop 就是分配固定大小的資料給 Worker
運算所以在越高的異構性環境其縮短的時間會越明顯
28
Total completion time with different number of vm (h=1-3)
0
20
40
60
80
100
120
vm=2 vm=3 vm=4Number of vm per physical machine
Sec
ond
Hadoop
Best Fit
Priority
(a)
Total completion time with different number of vm (h=1-5)
0
20
40
60
80
100
120
vm=2 vm=3 vm=4Number of vm per physical machine
Sec
ond
Hadoop
Best Fit
Priority
(b)
圖十二 Total completion time with different number of vm (a) low heterogeneity
vm=2 worker=12 (b) high heterogeneity vm=5 worker=12
圖十二(a)是在低異構性環境圖十二(b)是在高異構性環境並且1 台實體
機架設 2 個3 個4 個虛擬機器使 Worker 數量固定 12 台處理的資料量為
600G
這個模擬實驗主要探討的是在一台實體機架設的虛擬機器數量對於
MapReduce 完成時間是否真正有影響圖十二(a)和圖十二(b)更可以顯示出 Best
Fit 和 Priority 在異構性越高的環境裏且一台實體機架設越多虛擬機器來當作
Worker 的時候可以縮短更多的時間前者會縮短 Map 的完成時間後者會縮
29
短 Reduce 的完成時間而 Hadoop 在異構性環境高的時候也有些微的縮短一
些時間
Total completion time with different data size (h=1-5)
0
20
40
60
80
100
120
140
400 600 800 1000 1200
Data
Sec
ond
Hadoop
Best Fit
Priority
圖十三 Total completion time with different data size
在上述的實驗中在同樣的資料大小處理的 Worker 數量越多的時候其
完成時間會縮短很多但是到達一定的數量的時候其縮短時間的效果就很低
所以就做了此實驗因為本篇論文就是要探討異構性的環境選擇高異構性
環境固定 Worker 數量 20 台資料大小由 400G 到 1200G探討資料大小對
MapReduce 以及 Worker 的影響如圖十三顯示出在 600G 以下的時候Map 加
上 Reduce 完成的時間突然靠近起來代表了當資料量越小的時候Best Fit 和
Priority 的方法跟原始的 Hadoop 的方法優勢會越來越少但相反的是當資料
量越大的時候雖然Best Fit 和 Priority 完成時間會增加但是跟 Hadoop 的
完成時間比會更加突顯
30
Total completion time (best fit)
0
10
20
30
40
50
60
70
80
(Without optimization) (Optimization)
Best Fit
Sec
ond
Map Reduce
(a)
Total completion time (priority)
0
10
20
30
40
50
60
70
80
(Without optimization) (Optimization)
Priority
Sec
ond
Map Reduce
(b)
圖十四 Total completion time of loading aware optimization (a) without
optimal (b) with optimization
圖十四(a)未使用優化技術圖十四(b)是使用優化技術同樣都是在高異構
性環境之下並且1 台實體機架設 5 個虛擬機器使 Worker 數量固定 15 台
處理的資料量為 900G
在本篇論文方法的部份有提到Loading Aware Virtual Machine Mapping的優
化技術由於此實驗上面的實驗數據都已經使用優化技術來改善時間因此
此實驗就是要探討這優化技術對於MapReduce完成時間的影響
由於Loading Aware Virtual Machine Mapping此優化技術是變動同一台實體
31
機內部的Reducer使得原本是根據Communication locality來選擇虛擬機器但
是在挑選的過程中並沒有依據處理資料的大小分配到其處理速度相對映的
虛擬機器而這優化技術就是將同一台實體機內的虛擬機器重新分配由於此
優化技術並不會影響Communication locality所以這部份並沒有在此實驗探討
圖十四(a)圖十四(b)顯示未使用優化技術的Best fit和Priority的MapReduce
完成時間雖然比Hadoop的方法好但是其Reduce phase完成時間上慢了一些
並且可以看出此優化技術並不會影響到Map phase主要影響的是在Reduce階
段在Reduce階段的完成時間上利用優化技術可以將Reduce階段時間縮短其13
32
Chapter 6 Conclusions and Future Works
目前 Hadoop 資料處理的環境還是應用在群集內節點效能是相同的情況下
如果是異構性環境可能就無法這麼有效率的處理本篇論文提出了兩個方法
動態資料切割和虛擬機對映以及一個優化技術 Loading aware virtual machine
mapping模擬實驗結果表明透過本篇方法來得比 Hadoop 縮短 41的時間以
及最多節省 Communication Locality 約莫 33尤其在異構性越高的環境以及
一台實體機器架設的虛擬機器數量越多改善的效果越明顯另外 Loading
aware virtual machine mapping 優化技術改善了 Reduce phase 的完成時間約莫
13
在未來研究上可以朝著動態調整 Reducer 數量的方向前進當固定大小的
資料上其實有時候過多的節點去運算消耗了大量的運算資源卻只得到一些
秒數的縮短如何利用適當的運算資源來得到最大的利益這是相當重要的議
題由於此實驗都是屬於模擬實驗希望在未來可以實際架設在機器上運行
透過 Benchmark得到真正的數據
33
Reference
1 Masato Asahara Shinji Nakadai and Takuya Araki ldquoLoadAtomizer A
Locality and IO Load aware Task Scheduler for MapReducerdquo in 4th IEEE
International Conference on Cloud Computing Technology and Science
(CloudCom) pp 317-324 2012
2 Paul Barham Boris Dragovic Keir Fraser Steven Hand Tim Harris Alex
Ho Rolf Neugebauer Ian Pratt and Andrew Warfield ldquoXen and the Art of
Virtualizationrdquo SOSP 03 Proceedings of the nineteenth ACM symposium
on Operating systems principles vol 37 Issue 5 pp 164-177 December
2003
3 Xiangping Bu Jia Rao and Cheng Zhong Xu ldquoInterference and
Locality-Aware Task Scheduling for MapReduce Applications in Virtual
Clustersrdquo Proceeding HPDC 13 Proceedings of the 22nd international
sym-posium on High-performance parallel and distributed computing pp
227-238 2013
4 Kasim Selcuk Candan Jong Wook Kim Parth Nagarkar Mithila Nagendra
and Ren-wei Yu ldquoScalable Multimedia Data Processing in Server Clustersrdquo
IEEE MultiMedia pp 3-5 2010
5 Fay Chang Jeffrey Dean Sanjay Ghemawat Wilson C Hsieh Deborah A
Wallach Mike Burrws Tushar Chandra Andrew Fikes and Robert EGruber
ldquoBigtable A Distributed Storage System for Structured Datardquo 7th UENIX
Symposium on Operating Systems Design and Implementation pp 205-218
2006
6 P C Chen Y L Su J B Chang and C K Shieh ldquoVariable-Sized Map and
Locality-Aware Reduce on Public-Resource Gridsrdquo in Proceedings
Conference Grid and Pervasive Computing (GPC 2010) pp 234-243 2010
May
7 Q Chen D Zhang M Guo Q Deng and S Guo ldquoSamr A self adaptive
mapreduce scheduling algorithm in heterogeneous environmentrdquo in 10th
IEEE International Conference on Computer and Information Technology
CIT rsquo10 (Washington DC USA) pp 2736ndash2743 2010
8 Jeffrey Dean and Sanjay Ghemawat ldquoMapReduce Simplified Data
Processing on Large Clustersrdquo Communications of the ACM vol 51 no 1
pp 107ndash113 2008
9 Yuanquan Fan Weiguo Wu Haijun Cao Huo Zhu Xu Zhao and Wei Wei
34
ldquoA heterogeneity-aware data distribution and rebalance method in Hadoop
clusterrdquo 2012 Seventh ChinaGrid Annual Conference pp 176-181 2012
10 Zacharia Fadika Elif Dede Jessica Hartog and Madhusudhan Govindaraju
ldquoMARLA MapReduce for Heterogeneous Clustersrdquo in 12th IEEEACM
International Symposium on Cluster Cloud and Grid Computing pp 49-56
2012
11 Sanjay Ghemawat Howard Gobioff and ShunTak Leung ldquoThe Google file
systemrdquo In Proceedings of 19th Symposium on Operating Systems
Principles pp 29-43 2003
12 Sven Groot ldquoJumbo Beyond MapReduce for Workload Balancingrdquo Fuzzy
Systems and Knowledge Discovery (FSKD) 2011 Eighth International
Conference on Cloud Computing Technology and Science vol 4 pp
2675-2678 2011 July
13 B Gufler N Augsten A Reiser and A Kemper ldquoHandling Data Skew in
MapReducerdquo in Proceedings of CLOSER pp 574ndash583 2011
14 Mohammad Hammoud and Majd F Sakr ldquoLocality-Aware Reduce Task
Scheduling for MapReducerdquo Third IEEE International Conference on
Cloud Computing Technology and Science pp 570-576 2011
15 C He Y Lu and D Swanson ldquoMatch-making A New MapReduce
Scheduling Techniquerdquo IEEE Third International Conference on Cloud
Computing Technology and Science (CloudCom) pp 40ndash47 2011
16 Hung Chang Hsiao Huesh Yi Chung Haiying Shen and Yu Chang
ChaoldquoLoad Re-balancing for Distributed File Systems in Cloudsrdquo IEEE
Trans on Parallel and Distributed Systems vol24 pp 951-962 2012
17 Shadi Ibrahim Hai Jin Lu Lu Song Wu Bingsheng He and Li Qi ldquoLEEN
LocalityFairness Aware Key Partitioning for MapReduce in the Cloudrdquo
2010 IEEE Second International Conference on Cloud Computing
Technology and Science (CloudCom) pp 17ndash24 2010
18 S Ibrahim H Jin L Lu L Qi S Wu and X Shi ldquoEvaluating MapReduce
on Virtual Machines The Hadoop Caserdquo Proceedings Conference Cloud
Computing (CloudCom 2009) Springer LNCS pp 519-528 2009 Dec
19 C Jin and R Buyya ldquoMapreduce programming model for net-based cloud
computingrdquo in Proceedings of the 15th International Euro-Par Conference
on Parallel Processing Euro-Par (Berlin Heidelberg) pp 417ndash428 2009
20 R Nanduri N Maheshwari A Reddyraja and V Varma ldquoJob aware
scheduling algorithm for Mapreduce frameworkrdquo in 3rd International
Conference on Cloud Computing Technology and Science
CLOUDCOM rsquo11 (Washington DC USA) pp 724ndash729 2011
35
21 Andrew J Page and Thomas J Naughton ldquoDynamic task scheduling using
genetic algorithms for heterogeneous distributed computingrdquo in 19th IEEE
International Parallel and Distributed Processing Symposium pp 189a
2005 April
22 Xiaoyu Sun Chen He and Ying Lu ldquoESAMR An Enhanced Self-Adaptive
MapReduce Scheduling Algorithmrdquo 2012 IEEE 18th International
Conference on Parallel and Distributed Systems pp 148-155 2012
23 Chao Tian Haojie Zhou Yongqiang He and Li Zha ldquoA Dynamic
MapReduce Scheduler for Heterogeneous Workloadsrdquo Eighth International
Conference on Grid and Cooperative Computing pp 218ndash244 2009 Aug
24 Jiong Xie Shu Yin Xiaojun Ruan Zhi-yang Ding Yun Tian James Majors
Adam Manzanares and Xiao Qin ldquoImproving mapreduce performance
through data placement in heterogeneous hadoop clustersrdquo in IPDPS
Workshops pp 1ndash9 2010
25 J Tan X Pan S Kavulya R Gandhi and P Narasimhan ldquoMochi Visual
Log-Analysis Based Tools for Debugging Hadooprdquo USENIX Workshop on
Hot Topics in Cloud Computing (HotCloud) pp 1-5 2009
26 Matei Zaharia Andy Konwinski Anthony D Joseph Randy Katz and Ion
Stoica ldquoImproving MapReduce Performance in Heterogeneous
Environmentsrdquo 8th Symposium on Operating Systems Design and
Implementation pp 29ndash42 2008 Dec
27 X Zhang Z Zhong S Feng B Tu and J Fan ldquoImproving Data locality of
MapReduce by Scheduling in Homogeneous Computing Environmentsrdquo in
9th IEEE International Symposium on Parallel and Distributed Processing
with Applications (ISPA) pp 120-126 2011
28 Apache hadoop Available from httphadoopapacheorg
29 MapReduce with a lot of examples for Mining datasets Available from
httpinfolabstanfordedu~ullmanmmdsbookpdf
Page 21
12
運算在 Reduce mapping 階段是根據 Locality aware 來選擇機器選擇節省成本
最多的機器以及最後有個節點內部動態調整機制為了減少Reducer完成的時間
41 動態資料切割
在同質性環境 (即為每個節點設備大致相同)運行MapReduce當Worker
完成Map階段任務必須等待其他Worker完成才能進行下一個動作因為每台
節點運算能力大致相同所以當執行Map階段結束後每台節點完成時間是大
致相同的而在異構環境下 (每個節點設備不盡相同則會產生出一個問題在
運算效能不一致的情況會造成在Map程式執行完成的時間變長因為當資料相
同可是每個節點運算能力不一樣就會彼此互相牽制為了要避免此情況發生
所以本篇論文用動態資料切割的方法來解決此問題
圖三 根據節點能力分配相對應大小的資料
動態資料切割的方法得先知道每個Worker的運算能力根據運算能力動
態切割資料大小如圖三所示每個節點運算能力較好的Worker就分配到資料
較多的Partition去做處理而運算能力較差的Worker就分配到較少的Partition使
得每個節點內部的Worker完成時間接近就不會有處理速度比較快的節點完成後
13
必須要等待處理速度比較慢的節點而資料分配方式就是根據Performance
也就是前面所提到的異構性等級的數值相加起來 (Worker處理速度越快則等級
越高)將要處理的資料以及總數值相除會得到一個平均值這個平均值去乘
上等級也就是Worker要處理的資料量
42 Locality Aware Virtual Machine Mapping
由於虛擬機的使用可以充分利用資源所以現在一台實體機可架設多
台虛擬機所以同一台實體機內部有兩台虛擬機當這兩台互相交換資料的
時候其實網路的負載是很低的但是如果是兩台實體機交換資料網路的負
載會變很高在執行Map階段之後資料都儲存在Local disk裡Reducer要怎麼
選擇機器使得Communication locality節省更多而這個即是本篇論文要探討的
第二個問題
421 Best Fit
本篇論文提出了一個 Best Fit 方法這個方法的概念是讓 Reducer 選擇在哪
一台節點上運行使其 Communication locality 節省最多接下來在找出節點內
Performance 最好的 Worker 來當 Reducer而不是像 Hadoop 的 MapReduce 是照
順序去分配這樣的選擇方式是因為節點與節點之間資料傳遞的Communication
overhead 是相當大的而節點內部之間的 Communication overhead相較起來小
很多而讓 Communication locality 節省越多也可以讓 Communication overhead
降低
14
圖四 Best Fit挑選機器流程
1 如圖四所示假設一台實體機上(P1)架設兩台虛擬機(v1v2)根據虛擬
機的運算能力分配相對映的資料量v1即為25單位v2即為22單位以此類
推
2 執行Map程式產生出k值因為有三台Reducer(R1R2R3)所以產生出
3個k值v1虛擬機的k1值為7k2值為10k3值為8而這v1的所有k值相加即為
v1所負責的資料量v1虛擬機k1值為10k2值為9k3值為3而這v2的所有k值
相加為v2所負責的資料量v3也是一樣
3 先從R1要挑選哪台VM開始首先把每個VM所產生出的k1值相加得到一個
總和即為57單位底下看到有三個數值第一個數值即為R1如果在P1這
台機器上運行的話所耗費的遠端溝通成本(要到P2P3取資料的溝通成本)
則第二個數值即為R2在P2這台機器上運行的話所耗費的遠端溝通成本
第三個也是
4 把總共要處理的資料減掉到遠端耗費的溝通成本會得到一個數值即為
15
Communication localityR1如果選擇P1機器運行則Communication locality
為17單位R1如果選擇P2機器運行則Communication locality為18單位R1
如果選擇P3機器運行則Communication locality為22單位R1挑選最多的
Communication locality的機器來運行所以R1選擇P3機器來做運算
5 R1選擇P3實體機而P3實體機有2台虛擬機所以在根據虛擬機的運算能力
先挑選運算能力好的來做為R1
6 如果節點的虛擬機都被挑選完就選第二順位的節點
原始的HadoopR1挑選v1而R2挑選v2照順序的挑選所以沒有考慮到溝
通成本則本篇論文Best fit是根據Communication locality來挑選機器但是
可能在某ㄧ些情況可能不夠完善
圖五 Best Fit 挑選機器的不完善
如圖五所示當Communication locality可以選擇很高的節點卻因為前面的
Reducer把節點內部的Worker挑選完了所以逼不得已只能挑選第二順位的節
點可是這個Communication locality遠遠低於前面Reducer挑選的節點導致整體
的Communication locality大幅下降因此422 Priority即為改善的方法
16
422 Priority
為了確保每個Reducer都能挑選Communication locality最高的機器因此
此章節做了改善
1 在Reducer在挑選機器之前先判斷Reducer哪台要先下去做挑選
2 將每台Reducer最高的Communication locality的跟第二高的相減會得到一個
Difference locality在利用Difference locality下去做排序由大到小
3 Difference locality越大的代表那台Reducer要優先做挑選所以就從
Difference locality越大的挑選到Difference locality最小的
圖六 Priority挑選機器流程
1 如圖六所示R1總共的Data block為57單位R2為42單位R3為41單位經過
Shuffle階段之後
2 R1如果選擇P1這台機器能節省的Communication locality就是17單位R1如果選
擇P2這台機器能節省的Communication locality就是18單位R3如果選擇P2這台
機器能節省的Communication locality就是22單位
3 根據Communication locality將第一高的減掉第二高的會得到一個Difference
17
locality
4 根據此Difference locality排出哪個Reducer要先選取機器此例子的順序為
R2再來R3再來R1而Best Fit就是R1再來R2再來R3
Priority可以避免前面的Reducer把機器挑選完迫使只能選擇第二高的
Communication locality使這樣大幅降低的情況給消除而Best fit和Priority這兩
種方法大幅提高了Communication locality的狀況可是卻也導致了Reduce階段
的完成時間變長所以下章節主要敘述將Reduce階段完成時間優化
43 Loading Aware Virtual Machine Mapping
上述的兩種方法Best fitPriority都是為了降低節點彼此之間的溝通成本
但是卻引發了一個問題Reducer執行完成的時間比原始Hadoop還來得長為
了解決此問題本篇論文在這章節提出優化的方法前面兩種方法是根據節點
的Communication locality來決定要在哪一台Worker做運算當決定好Worker
的時候Reducer會先將運算能力較好的虛擬機器拿去做運算這樣使得運算較
快的機器並不會對映到運算較複雜的資料使得較早完成的機器還是得等候還沒
做好的機器造成時間上的延長所以本篇論文針對此部份做優化
圖七 Reducer對應到其相對效率的Worker
18
如圖七所示當Reducer都挑選好要在哪台實體機做在開始執行Reduce程
式之前我們根據要處理的資料量來分配相對映的機器而這虛擬機的交換
並不會影響到Communication locality因為都是在同一台實體機架設的虛擬機
器做交換
19
Chapter 5 Performance Analysis
本實驗以模擬的方式進行利用 C 語言程式撰寫可設定節點數量節點
裡的 Worker 數量資料大小異構性環境低 (h = 1-3)或高 (h = 1-5)透過模擬
的實驗數據分析基於 Hadoop 的 MapReduce 以及本篇論文透過 Map mapping
和 Reduce mapping 的方式進而改善原始 MapReduce 所造成的缺點
51 Communication Locality
本模擬實驗主要探討的是 Communication Locality圖八(a)和圖八(b)模擬環
境為低異構性圖八(c)和圖八(d)為高異構性環境固定每台實體機架設 2 台以
及 5 台虛擬機器固定 Worker 總數量分別為 102030要處理的資料為 900G
Communication locality(vm = 2 h = 1-3)
0
50
100
150
200
250
300
10 20 30
Number of vm
Dat
a lo
cali
ty
Hadoop
Best Fit
Priority
(a)
20
Communication locality(vm = 5 h = 1-3)
0
100
200
300
400
500
600
10 20 30Number of vm
Dat
a lo
cali
ty
Hadoop
Best Fit
Priority
(b)
Communcation Locality(vm = 2 h = 1-5)
0
50
100
150
200
250
300
10 20 30Number of vm
Dat
a lo
cali
ty
Hadoop
Best Fit
Priority
(c)
Communcation locality(vm = 5 h = 1-5)
0
100
200
300
400
500
600
10 20 30
Number of vm
Dat
a lo
cali
ty
Hadoop
Best Fit
Priority
(d)
圖八 Communication locality (a) low heterogeneity vm=2 (b) low heterogeneity
vm=5 (c) high heterogeneity vm=2 (d) high heterogeneity vm=5
21
由圖八(a)可看出本篇論文提出的兩個方法在低異構性環境所能節省的
Communication Locality 比原始的 Hadoop 提出的方法最多節省了 33的
Communication Locality圖八 (b)也最多節省了約 12的 Communication
Locality雖然節省在固定架設的虛擬機器為兩台的時候節省比較多但是
兩個實驗節省的 Communication Locality 量卻相差了快 2 倍原因是在於 Map 階
段完成的資料都儲存在 Local disc兩台實體機在交換資料的時候溝通成本是
很高的而建立在同一台實體機的兩台虛擬機器交換資料則溝通成本卻來的低
很多 因此溝通成本量的提高也會被實體機上架設的虛擬機器的多寡來影
響
由圖八(c)所示在高異構性最多可節省 27的 Communication Locality圖
八(d)則為 15的 Communication Locality分別從圖八(a)圖八(c)圖八(b)以及
圖八(d)可以看得出來Best Fit 和 Priority 不會隨著異構性環境的高低溝通成
本量會有大幅度的改變而 Priority 在節省的 Communication Locality 都會比 Best
Fit 都來的多一點因為Priority 可以避免前面的 Reducer 把機器挑選完迫使
只能選擇第二高的Communication location 因此大幅降低的情況給消除
52 Task Execution Time
此節實驗是要探討 Map 以及 Reduce 完成的時間圖九(a)和圖九(b)為低異構
性環境的實驗圖九(c)和圖九(d)為高異構性環境都是固定每台實體機架設 2
台以及 5 台虛擬機器所以固定虛擬機器總數量分別為 102030要處理
的資料為 900G
22
Map completion time(vm = 2 h = 1-3)
0
20
40
60
80
100
10 20 30
Number of vm
Sec
ond
Hadoop
Best Fit amp Priority
(a)
Map completion time(vm = 5 h = 1-3)
0
20
40
60
80
100
10 20 30Number of vm
Sec
ond
Hadoop
Best Fit amp Priority
(b)
Map completion time(vm = 2 h = 1-5)
0
20
40
60
80
100
10 20 30Number of vm
seco
nd
Hadoop
Best Fit amp Priority
(c)
23
Map completion time(vm = 5 h = 1-5)
0
20
40
60
80
100
10 20 30Number of vm
seco
nd
Hadoop
Best Fit amp Priority
(d)
圖九 Map completion time (a) low heterogeneity vm=2 (b) low heterogeneity
vm=5 (c) high heterogeneity vm=2 (d) high heterogeneity vm=5
圖九(a)圖九(b)圖九(c)以及圖九(d)顯示了本論文提出的兩個方法 Best Fit
和 Priority 他們完成的時間是一樣的因為兩個方法的 Map mapping 概念是一樣
的所以完成時間也會一樣在此實驗裡可發現 Best Fit 和 Priority 也會隨著
實體機上的虛擬機器數量增多而完成時間縮短而縮短的時間最多甚至可以達
到 44也可看出本論文的兩個方法在低異構性環境的效能比在高異構性環境
的效能來的較差所以在異構性越高的環境越能看得出 Best Fit 和 Priority
的優勢
24
Reduce completion time(vm = 2 h = 1-3)
0
20
40
60
80
100
120
10 20 30Number of vm
Sec
ond
Hadoop
Best Fit
Priority
(a)
Reduce completion time(vm = 5 h = 1-3)
0
20
40
60
80
100
120
10 20 30Number of vm
Sec
ond
Hadoop
Best Fit
Priority
(b)
Reduce completion time(vm = 2 h = 1-5)
0
20
40
60
80
100
120
10 20 30Number of vm
seco
nd
Hadoop
Best Fit
Priority
(c)
25
Reduce completion time(vm = 5 h = 1-5)
0
20
40
60
80
100
120
10 20 30Number of vm
Sec
ond
Hadoop
Best Fit
Priority
(d)
圖十 Reduce completion time (a) low heterogeneity vm=2 (b) low
heterogeneity vm=5 (c) high heterogeneity vm=2 (d) high heterogeneity vm=5
而在 Reduce 完成時間的方面不像 Map 的完成時間是一樣的因為選
擇 Reducer 的方式不同造成 Best Fit 以及 Priority 時間完成上有些許不同
如圖十(a)所示節省了 14的時間圖十(b)節省了 16的時間圖十(c)
節省了 23圖十(d)節省了 29由圖十(b)以及圖十(d)可見影響 Reduce
階段完成時間最主要的原因是異構性環境的問題當環境的異構性越高其
所節省的時間越多而圖十(c)以及圖十(d)所示一台實體機架設的虛擬機器數
量影響的範圍比較小
26
Total completion time (vm = 2 pm = 5 h = 1-3)
0 50 100 150 200 250
Hadoop
Best Fit
Priority
Met
hod
Second
Map Reduce
(a)
Total completion time(vm = 5 pm = 2 h = 1-3)
0 50 100 150 200
Hadoop
Best Fit
Priority
Met
hod
Second
Map Reduce
(b)
Total completion time(vm = 2 pm = 5 h = 1-5)
0 50 100 150 200 250
Hadoop
Best Fit
Priority
Met
hod
Second
Map Reduce
(c)
27
Total completion time(vm=5 pm = 2 h = 1-5)
0 50 100 150 200
Hadoop
Best Fit
Priority
Second
Met
hod
Map Reduce
(d)
圖十一 Total completion time (a) low heterogeneity vm=2 pm=5 (b) low
heterogeneity vm=5 pm=2 (c) high heterogeneity vm=2 pm=5 (d) high
heterogeneity vm=5 pm=2
由於前面分別是 Map以及 Reduce的完成時間為了想知道Map以及 Reduce
對於 MapReduce 的整體影響我們將前面的 Map 以及 Reduce 的完成時間在
處理資料的節點固定為 10 台 Worker將其做整合
從圖十一(a)圖十一(b)圖十一(c)圖十一(d)顯示 Best Fit 和 Priority 不論
是在低異構性或高異構性環境MapReduce 完成時間都比 Hadoop 的完成時間縮
短很多在低異構性環境最多可縮短到 29的時間在高異構性環境最多可縮
短 41的時間而造成 Hadoop 跟 Best Fit 和 Priority 在時間上差異如此大的原
因主要是在 Map 階段的完成時間因為Best Fit 和 Priority 是根據 Worker 的
效能來決定要處理的資料大小而 Hadoop 就是分配固定大小的資料給 Worker
運算所以在越高的異構性環境其縮短的時間會越明顯
28
Total completion time with different number of vm (h=1-3)
0
20
40
60
80
100
120
vm=2 vm=3 vm=4Number of vm per physical machine
Sec
ond
Hadoop
Best Fit
Priority
(a)
Total completion time with different number of vm (h=1-5)
0
20
40
60
80
100
120
vm=2 vm=3 vm=4Number of vm per physical machine
Sec
ond
Hadoop
Best Fit
Priority
(b)
圖十二 Total completion time with different number of vm (a) low heterogeneity
vm=2 worker=12 (b) high heterogeneity vm=5 worker=12
圖十二(a)是在低異構性環境圖十二(b)是在高異構性環境並且1 台實體
機架設 2 個3 個4 個虛擬機器使 Worker 數量固定 12 台處理的資料量為
600G
這個模擬實驗主要探討的是在一台實體機架設的虛擬機器數量對於
MapReduce 完成時間是否真正有影響圖十二(a)和圖十二(b)更可以顯示出 Best
Fit 和 Priority 在異構性越高的環境裏且一台實體機架設越多虛擬機器來當作
Worker 的時候可以縮短更多的時間前者會縮短 Map 的完成時間後者會縮
29
短 Reduce 的完成時間而 Hadoop 在異構性環境高的時候也有些微的縮短一
些時間
Total completion time with different data size (h=1-5)
0
20
40
60
80
100
120
140
400 600 800 1000 1200
Data
Sec
ond
Hadoop
Best Fit
Priority
圖十三 Total completion time with different data size
在上述的實驗中在同樣的資料大小處理的 Worker 數量越多的時候其
完成時間會縮短很多但是到達一定的數量的時候其縮短時間的效果就很低
所以就做了此實驗因為本篇論文就是要探討異構性的環境選擇高異構性
環境固定 Worker 數量 20 台資料大小由 400G 到 1200G探討資料大小對
MapReduce 以及 Worker 的影響如圖十三顯示出在 600G 以下的時候Map 加
上 Reduce 完成的時間突然靠近起來代表了當資料量越小的時候Best Fit 和
Priority 的方法跟原始的 Hadoop 的方法優勢會越來越少但相反的是當資料
量越大的時候雖然Best Fit 和 Priority 完成時間會增加但是跟 Hadoop 的
完成時間比會更加突顯
30
Total completion time (best fit)
0
10
20
30
40
50
60
70
80
(Without optimization) (Optimization)
Best Fit
Sec
ond
Map Reduce
(a)
Total completion time (priority)
0
10
20
30
40
50
60
70
80
(Without optimization) (Optimization)
Priority
Sec
ond
Map Reduce
(b)
圖十四 Total completion time of loading aware optimization (a) without
optimal (b) with optimization
圖十四(a)未使用優化技術圖十四(b)是使用優化技術同樣都是在高異構
性環境之下並且1 台實體機架設 5 個虛擬機器使 Worker 數量固定 15 台
處理的資料量為 900G
在本篇論文方法的部份有提到Loading Aware Virtual Machine Mapping的優
化技術由於此實驗上面的實驗數據都已經使用優化技術來改善時間因此
此實驗就是要探討這優化技術對於MapReduce完成時間的影響
由於Loading Aware Virtual Machine Mapping此優化技術是變動同一台實體
31
機內部的Reducer使得原本是根據Communication locality來選擇虛擬機器但
是在挑選的過程中並沒有依據處理資料的大小分配到其處理速度相對映的
虛擬機器而這優化技術就是將同一台實體機內的虛擬機器重新分配由於此
優化技術並不會影響Communication locality所以這部份並沒有在此實驗探討
圖十四(a)圖十四(b)顯示未使用優化技術的Best fit和Priority的MapReduce
完成時間雖然比Hadoop的方法好但是其Reduce phase完成時間上慢了一些
並且可以看出此優化技術並不會影響到Map phase主要影響的是在Reduce階
段在Reduce階段的完成時間上利用優化技術可以將Reduce階段時間縮短其13
32
Chapter 6 Conclusions and Future Works
目前 Hadoop 資料處理的環境還是應用在群集內節點效能是相同的情況下
如果是異構性環境可能就無法這麼有效率的處理本篇論文提出了兩個方法
動態資料切割和虛擬機對映以及一個優化技術 Loading aware virtual machine
mapping模擬實驗結果表明透過本篇方法來得比 Hadoop 縮短 41的時間以
及最多節省 Communication Locality 約莫 33尤其在異構性越高的環境以及
一台實體機器架設的虛擬機器數量越多改善的效果越明顯另外 Loading
aware virtual machine mapping 優化技術改善了 Reduce phase 的完成時間約莫
13
在未來研究上可以朝著動態調整 Reducer 數量的方向前進當固定大小的
資料上其實有時候過多的節點去運算消耗了大量的運算資源卻只得到一些
秒數的縮短如何利用適當的運算資源來得到最大的利益這是相當重要的議
題由於此實驗都是屬於模擬實驗希望在未來可以實際架設在機器上運行
透過 Benchmark得到真正的數據
33
Reference
1 Masato Asahara Shinji Nakadai and Takuya Araki ldquoLoadAtomizer A
Locality and IO Load aware Task Scheduler for MapReducerdquo in 4th IEEE
International Conference on Cloud Computing Technology and Science
(CloudCom) pp 317-324 2012
2 Paul Barham Boris Dragovic Keir Fraser Steven Hand Tim Harris Alex
Ho Rolf Neugebauer Ian Pratt and Andrew Warfield ldquoXen and the Art of
Virtualizationrdquo SOSP 03 Proceedings of the nineteenth ACM symposium
on Operating systems principles vol 37 Issue 5 pp 164-177 December
2003
3 Xiangping Bu Jia Rao and Cheng Zhong Xu ldquoInterference and
Locality-Aware Task Scheduling for MapReduce Applications in Virtual
Clustersrdquo Proceeding HPDC 13 Proceedings of the 22nd international
sym-posium on High-performance parallel and distributed computing pp
227-238 2013
4 Kasim Selcuk Candan Jong Wook Kim Parth Nagarkar Mithila Nagendra
and Ren-wei Yu ldquoScalable Multimedia Data Processing in Server Clustersrdquo
IEEE MultiMedia pp 3-5 2010
5 Fay Chang Jeffrey Dean Sanjay Ghemawat Wilson C Hsieh Deborah A
Wallach Mike Burrws Tushar Chandra Andrew Fikes and Robert EGruber
ldquoBigtable A Distributed Storage System for Structured Datardquo 7th UENIX
Symposium on Operating Systems Design and Implementation pp 205-218
2006
6 P C Chen Y L Su J B Chang and C K Shieh ldquoVariable-Sized Map and
Locality-Aware Reduce on Public-Resource Gridsrdquo in Proceedings
Conference Grid and Pervasive Computing (GPC 2010) pp 234-243 2010
May
7 Q Chen D Zhang M Guo Q Deng and S Guo ldquoSamr A self adaptive
mapreduce scheduling algorithm in heterogeneous environmentrdquo in 10th
IEEE International Conference on Computer and Information Technology
CIT rsquo10 (Washington DC USA) pp 2736ndash2743 2010
8 Jeffrey Dean and Sanjay Ghemawat ldquoMapReduce Simplified Data
Processing on Large Clustersrdquo Communications of the ACM vol 51 no 1
pp 107ndash113 2008
9 Yuanquan Fan Weiguo Wu Haijun Cao Huo Zhu Xu Zhao and Wei Wei
34
ldquoA heterogeneity-aware data distribution and rebalance method in Hadoop
clusterrdquo 2012 Seventh ChinaGrid Annual Conference pp 176-181 2012
10 Zacharia Fadika Elif Dede Jessica Hartog and Madhusudhan Govindaraju
ldquoMARLA MapReduce for Heterogeneous Clustersrdquo in 12th IEEEACM
International Symposium on Cluster Cloud and Grid Computing pp 49-56
2012
11 Sanjay Ghemawat Howard Gobioff and ShunTak Leung ldquoThe Google file
systemrdquo In Proceedings of 19th Symposium on Operating Systems
Principles pp 29-43 2003
12 Sven Groot ldquoJumbo Beyond MapReduce for Workload Balancingrdquo Fuzzy
Systems and Knowledge Discovery (FSKD) 2011 Eighth International
Conference on Cloud Computing Technology and Science vol 4 pp
2675-2678 2011 July
13 B Gufler N Augsten A Reiser and A Kemper ldquoHandling Data Skew in
MapReducerdquo in Proceedings of CLOSER pp 574ndash583 2011
14 Mohammad Hammoud and Majd F Sakr ldquoLocality-Aware Reduce Task
Scheduling for MapReducerdquo Third IEEE International Conference on
Cloud Computing Technology and Science pp 570-576 2011
15 C He Y Lu and D Swanson ldquoMatch-making A New MapReduce
Scheduling Techniquerdquo IEEE Third International Conference on Cloud
Computing Technology and Science (CloudCom) pp 40ndash47 2011
16 Hung Chang Hsiao Huesh Yi Chung Haiying Shen and Yu Chang
ChaoldquoLoad Re-balancing for Distributed File Systems in Cloudsrdquo IEEE
Trans on Parallel and Distributed Systems vol24 pp 951-962 2012
17 Shadi Ibrahim Hai Jin Lu Lu Song Wu Bingsheng He and Li Qi ldquoLEEN
LocalityFairness Aware Key Partitioning for MapReduce in the Cloudrdquo
2010 IEEE Second International Conference on Cloud Computing
Technology and Science (CloudCom) pp 17ndash24 2010
18 S Ibrahim H Jin L Lu L Qi S Wu and X Shi ldquoEvaluating MapReduce
on Virtual Machines The Hadoop Caserdquo Proceedings Conference Cloud
Computing (CloudCom 2009) Springer LNCS pp 519-528 2009 Dec
19 C Jin and R Buyya ldquoMapreduce programming model for net-based cloud
computingrdquo in Proceedings of the 15th International Euro-Par Conference
on Parallel Processing Euro-Par (Berlin Heidelberg) pp 417ndash428 2009
20 R Nanduri N Maheshwari A Reddyraja and V Varma ldquoJob aware
scheduling algorithm for Mapreduce frameworkrdquo in 3rd International
Conference on Cloud Computing Technology and Science
CLOUDCOM rsquo11 (Washington DC USA) pp 724ndash729 2011
35
21 Andrew J Page and Thomas J Naughton ldquoDynamic task scheduling using
genetic algorithms for heterogeneous distributed computingrdquo in 19th IEEE
International Parallel and Distributed Processing Symposium pp 189a
2005 April
22 Xiaoyu Sun Chen He and Ying Lu ldquoESAMR An Enhanced Self-Adaptive
MapReduce Scheduling Algorithmrdquo 2012 IEEE 18th International
Conference on Parallel and Distributed Systems pp 148-155 2012
23 Chao Tian Haojie Zhou Yongqiang He and Li Zha ldquoA Dynamic
MapReduce Scheduler for Heterogeneous Workloadsrdquo Eighth International
Conference on Grid and Cooperative Computing pp 218ndash244 2009 Aug
24 Jiong Xie Shu Yin Xiaojun Ruan Zhi-yang Ding Yun Tian James Majors
Adam Manzanares and Xiao Qin ldquoImproving mapreduce performance
through data placement in heterogeneous hadoop clustersrdquo in IPDPS
Workshops pp 1ndash9 2010
25 J Tan X Pan S Kavulya R Gandhi and P Narasimhan ldquoMochi Visual
Log-Analysis Based Tools for Debugging Hadooprdquo USENIX Workshop on
Hot Topics in Cloud Computing (HotCloud) pp 1-5 2009
26 Matei Zaharia Andy Konwinski Anthony D Joseph Randy Katz and Ion
Stoica ldquoImproving MapReduce Performance in Heterogeneous
Environmentsrdquo 8th Symposium on Operating Systems Design and
Implementation pp 29ndash42 2008 Dec
27 X Zhang Z Zhong S Feng B Tu and J Fan ldquoImproving Data locality of
MapReduce by Scheduling in Homogeneous Computing Environmentsrdquo in
9th IEEE International Symposium on Parallel and Distributed Processing
with Applications (ISPA) pp 120-126 2011
28 Apache hadoop Available from httphadoopapacheorg
29 MapReduce with a lot of examples for Mining datasets Available from
httpinfolabstanfordedu~ullmanmmdsbookpdf
Page 22
13
必須要等待處理速度比較慢的節點而資料分配方式就是根據Performance
也就是前面所提到的異構性等級的數值相加起來 (Worker處理速度越快則等級
越高)將要處理的資料以及總數值相除會得到一個平均值這個平均值去乘
上等級也就是Worker要處理的資料量
42 Locality Aware Virtual Machine Mapping
由於虛擬機的使用可以充分利用資源所以現在一台實體機可架設多
台虛擬機所以同一台實體機內部有兩台虛擬機當這兩台互相交換資料的
時候其實網路的負載是很低的但是如果是兩台實體機交換資料網路的負
載會變很高在執行Map階段之後資料都儲存在Local disk裡Reducer要怎麼
選擇機器使得Communication locality節省更多而這個即是本篇論文要探討的
第二個問題
421 Best Fit
本篇論文提出了一個 Best Fit 方法這個方法的概念是讓 Reducer 選擇在哪
一台節點上運行使其 Communication locality 節省最多接下來在找出節點內
Performance 最好的 Worker 來當 Reducer而不是像 Hadoop 的 MapReduce 是照
順序去分配這樣的選擇方式是因為節點與節點之間資料傳遞的Communication
overhead 是相當大的而節點內部之間的 Communication overhead相較起來小
很多而讓 Communication locality 節省越多也可以讓 Communication overhead
降低
14
圖四 Best Fit挑選機器流程
1 如圖四所示假設一台實體機上(P1)架設兩台虛擬機(v1v2)根據虛擬
機的運算能力分配相對映的資料量v1即為25單位v2即為22單位以此類
推
2 執行Map程式產生出k值因為有三台Reducer(R1R2R3)所以產生出
3個k值v1虛擬機的k1值為7k2值為10k3值為8而這v1的所有k值相加即為
v1所負責的資料量v1虛擬機k1值為10k2值為9k3值為3而這v2的所有k值
相加為v2所負責的資料量v3也是一樣
3 先從R1要挑選哪台VM開始首先把每個VM所產生出的k1值相加得到一個
總和即為57單位底下看到有三個數值第一個數值即為R1如果在P1這
台機器上運行的話所耗費的遠端溝通成本(要到P2P3取資料的溝通成本)
則第二個數值即為R2在P2這台機器上運行的話所耗費的遠端溝通成本
第三個也是
4 把總共要處理的資料減掉到遠端耗費的溝通成本會得到一個數值即為
15
Communication localityR1如果選擇P1機器運行則Communication locality
為17單位R1如果選擇P2機器運行則Communication locality為18單位R1
如果選擇P3機器運行則Communication locality為22單位R1挑選最多的
Communication locality的機器來運行所以R1選擇P3機器來做運算
5 R1選擇P3實體機而P3實體機有2台虛擬機所以在根據虛擬機的運算能力
先挑選運算能力好的來做為R1
6 如果節點的虛擬機都被挑選完就選第二順位的節點
原始的HadoopR1挑選v1而R2挑選v2照順序的挑選所以沒有考慮到溝
通成本則本篇論文Best fit是根據Communication locality來挑選機器但是
可能在某ㄧ些情況可能不夠完善
圖五 Best Fit 挑選機器的不完善
如圖五所示當Communication locality可以選擇很高的節點卻因為前面的
Reducer把節點內部的Worker挑選完了所以逼不得已只能挑選第二順位的節
點可是這個Communication locality遠遠低於前面Reducer挑選的節點導致整體
的Communication locality大幅下降因此422 Priority即為改善的方法
16
422 Priority
為了確保每個Reducer都能挑選Communication locality最高的機器因此
此章節做了改善
1 在Reducer在挑選機器之前先判斷Reducer哪台要先下去做挑選
2 將每台Reducer最高的Communication locality的跟第二高的相減會得到一個
Difference locality在利用Difference locality下去做排序由大到小
3 Difference locality越大的代表那台Reducer要優先做挑選所以就從
Difference locality越大的挑選到Difference locality最小的
圖六 Priority挑選機器流程
1 如圖六所示R1總共的Data block為57單位R2為42單位R3為41單位經過
Shuffle階段之後
2 R1如果選擇P1這台機器能節省的Communication locality就是17單位R1如果選
擇P2這台機器能節省的Communication locality就是18單位R3如果選擇P2這台
機器能節省的Communication locality就是22單位
3 根據Communication locality將第一高的減掉第二高的會得到一個Difference
17
locality
4 根據此Difference locality排出哪個Reducer要先選取機器此例子的順序為
R2再來R3再來R1而Best Fit就是R1再來R2再來R3
Priority可以避免前面的Reducer把機器挑選完迫使只能選擇第二高的
Communication locality使這樣大幅降低的情況給消除而Best fit和Priority這兩
種方法大幅提高了Communication locality的狀況可是卻也導致了Reduce階段
的完成時間變長所以下章節主要敘述將Reduce階段完成時間優化
43 Loading Aware Virtual Machine Mapping
上述的兩種方法Best fitPriority都是為了降低節點彼此之間的溝通成本
但是卻引發了一個問題Reducer執行完成的時間比原始Hadoop還來得長為
了解決此問題本篇論文在這章節提出優化的方法前面兩種方法是根據節點
的Communication locality來決定要在哪一台Worker做運算當決定好Worker
的時候Reducer會先將運算能力較好的虛擬機器拿去做運算這樣使得運算較
快的機器並不會對映到運算較複雜的資料使得較早完成的機器還是得等候還沒
做好的機器造成時間上的延長所以本篇論文針對此部份做優化
圖七 Reducer對應到其相對效率的Worker
18
如圖七所示當Reducer都挑選好要在哪台實體機做在開始執行Reduce程
式之前我們根據要處理的資料量來分配相對映的機器而這虛擬機的交換
並不會影響到Communication locality因為都是在同一台實體機架設的虛擬機
器做交換
19
Chapter 5 Performance Analysis
本實驗以模擬的方式進行利用 C 語言程式撰寫可設定節點數量節點
裡的 Worker 數量資料大小異構性環境低 (h = 1-3)或高 (h = 1-5)透過模擬
的實驗數據分析基於 Hadoop 的 MapReduce 以及本篇論文透過 Map mapping
和 Reduce mapping 的方式進而改善原始 MapReduce 所造成的缺點
51 Communication Locality
本模擬實驗主要探討的是 Communication Locality圖八(a)和圖八(b)模擬環
境為低異構性圖八(c)和圖八(d)為高異構性環境固定每台實體機架設 2 台以
及 5 台虛擬機器固定 Worker 總數量分別為 102030要處理的資料為 900G
Communication locality(vm = 2 h = 1-3)
0
50
100
150
200
250
300
10 20 30
Number of vm
Dat
a lo
cali
ty
Hadoop
Best Fit
Priority
(a)
20
Communication locality(vm = 5 h = 1-3)
0
100
200
300
400
500
600
10 20 30Number of vm
Dat
a lo
cali
ty
Hadoop
Best Fit
Priority
(b)
Communcation Locality(vm = 2 h = 1-5)
0
50
100
150
200
250
300
10 20 30Number of vm
Dat
a lo
cali
ty
Hadoop
Best Fit
Priority
(c)
Communcation locality(vm = 5 h = 1-5)
0
100
200
300
400
500
600
10 20 30
Number of vm
Dat
a lo
cali
ty
Hadoop
Best Fit
Priority
(d)
圖八 Communication locality (a) low heterogeneity vm=2 (b) low heterogeneity
vm=5 (c) high heterogeneity vm=2 (d) high heterogeneity vm=5
21
由圖八(a)可看出本篇論文提出的兩個方法在低異構性環境所能節省的
Communication Locality 比原始的 Hadoop 提出的方法最多節省了 33的
Communication Locality圖八 (b)也最多節省了約 12的 Communication
Locality雖然節省在固定架設的虛擬機器為兩台的時候節省比較多但是
兩個實驗節省的 Communication Locality 量卻相差了快 2 倍原因是在於 Map 階
段完成的資料都儲存在 Local disc兩台實體機在交換資料的時候溝通成本是
很高的而建立在同一台實體機的兩台虛擬機器交換資料則溝通成本卻來的低
很多 因此溝通成本量的提高也會被實體機上架設的虛擬機器的多寡來影
響
由圖八(c)所示在高異構性最多可節省 27的 Communication Locality圖
八(d)則為 15的 Communication Locality分別從圖八(a)圖八(c)圖八(b)以及
圖八(d)可以看得出來Best Fit 和 Priority 不會隨著異構性環境的高低溝通成
本量會有大幅度的改變而 Priority 在節省的 Communication Locality 都會比 Best
Fit 都來的多一點因為Priority 可以避免前面的 Reducer 把機器挑選完迫使
只能選擇第二高的Communication location 因此大幅降低的情況給消除
52 Task Execution Time
此節實驗是要探討 Map 以及 Reduce 完成的時間圖九(a)和圖九(b)為低異構
性環境的實驗圖九(c)和圖九(d)為高異構性環境都是固定每台實體機架設 2
台以及 5 台虛擬機器所以固定虛擬機器總數量分別為 102030要處理
的資料為 900G
22
Map completion time(vm = 2 h = 1-3)
0
20
40
60
80
100
10 20 30
Number of vm
Sec
ond
Hadoop
Best Fit amp Priority
(a)
Map completion time(vm = 5 h = 1-3)
0
20
40
60
80
100
10 20 30Number of vm
Sec
ond
Hadoop
Best Fit amp Priority
(b)
Map completion time(vm = 2 h = 1-5)
0
20
40
60
80
100
10 20 30Number of vm
seco
nd
Hadoop
Best Fit amp Priority
(c)
23
Map completion time(vm = 5 h = 1-5)
0
20
40
60
80
100
10 20 30Number of vm
seco
nd
Hadoop
Best Fit amp Priority
(d)
圖九 Map completion time (a) low heterogeneity vm=2 (b) low heterogeneity
vm=5 (c) high heterogeneity vm=2 (d) high heterogeneity vm=5
圖九(a)圖九(b)圖九(c)以及圖九(d)顯示了本論文提出的兩個方法 Best Fit
和 Priority 他們完成的時間是一樣的因為兩個方法的 Map mapping 概念是一樣
的所以完成時間也會一樣在此實驗裡可發現 Best Fit 和 Priority 也會隨著
實體機上的虛擬機器數量增多而完成時間縮短而縮短的時間最多甚至可以達
到 44也可看出本論文的兩個方法在低異構性環境的效能比在高異構性環境
的效能來的較差所以在異構性越高的環境越能看得出 Best Fit 和 Priority
的優勢
24
Reduce completion time(vm = 2 h = 1-3)
0
20
40
60
80
100
120
10 20 30Number of vm
Sec
ond
Hadoop
Best Fit
Priority
(a)
Reduce completion time(vm = 5 h = 1-3)
0
20
40
60
80
100
120
10 20 30Number of vm
Sec
ond
Hadoop
Best Fit
Priority
(b)
Reduce completion time(vm = 2 h = 1-5)
0
20
40
60
80
100
120
10 20 30Number of vm
seco
nd
Hadoop
Best Fit
Priority
(c)
25
Reduce completion time(vm = 5 h = 1-5)
0
20
40
60
80
100
120
10 20 30Number of vm
Sec
ond
Hadoop
Best Fit
Priority
(d)
圖十 Reduce completion time (a) low heterogeneity vm=2 (b) low
heterogeneity vm=5 (c) high heterogeneity vm=2 (d) high heterogeneity vm=5
而在 Reduce 完成時間的方面不像 Map 的完成時間是一樣的因為選
擇 Reducer 的方式不同造成 Best Fit 以及 Priority 時間完成上有些許不同
如圖十(a)所示節省了 14的時間圖十(b)節省了 16的時間圖十(c)
節省了 23圖十(d)節省了 29由圖十(b)以及圖十(d)可見影響 Reduce
階段完成時間最主要的原因是異構性環境的問題當環境的異構性越高其
所節省的時間越多而圖十(c)以及圖十(d)所示一台實體機架設的虛擬機器數
量影響的範圍比較小
26
Total completion time (vm = 2 pm = 5 h = 1-3)
0 50 100 150 200 250
Hadoop
Best Fit
Priority
Met
hod
Second
Map Reduce
(a)
Total completion time(vm = 5 pm = 2 h = 1-3)
0 50 100 150 200
Hadoop
Best Fit
Priority
Met
hod
Second
Map Reduce
(b)
Total completion time(vm = 2 pm = 5 h = 1-5)
0 50 100 150 200 250
Hadoop
Best Fit
Priority
Met
hod
Second
Map Reduce
(c)
27
Total completion time(vm=5 pm = 2 h = 1-5)
0 50 100 150 200
Hadoop
Best Fit
Priority
Second
Met
hod
Map Reduce
(d)
圖十一 Total completion time (a) low heterogeneity vm=2 pm=5 (b) low
heterogeneity vm=5 pm=2 (c) high heterogeneity vm=2 pm=5 (d) high
heterogeneity vm=5 pm=2
由於前面分別是 Map以及 Reduce的完成時間為了想知道Map以及 Reduce
對於 MapReduce 的整體影響我們將前面的 Map 以及 Reduce 的完成時間在
處理資料的節點固定為 10 台 Worker將其做整合
從圖十一(a)圖十一(b)圖十一(c)圖十一(d)顯示 Best Fit 和 Priority 不論
是在低異構性或高異構性環境MapReduce 完成時間都比 Hadoop 的完成時間縮
短很多在低異構性環境最多可縮短到 29的時間在高異構性環境最多可縮
短 41的時間而造成 Hadoop 跟 Best Fit 和 Priority 在時間上差異如此大的原
因主要是在 Map 階段的完成時間因為Best Fit 和 Priority 是根據 Worker 的
效能來決定要處理的資料大小而 Hadoop 就是分配固定大小的資料給 Worker
運算所以在越高的異構性環境其縮短的時間會越明顯
28
Total completion time with different number of vm (h=1-3)
0
20
40
60
80
100
120
vm=2 vm=3 vm=4Number of vm per physical machine
Sec
ond
Hadoop
Best Fit
Priority
(a)
Total completion time with different number of vm (h=1-5)
0
20
40
60
80
100
120
vm=2 vm=3 vm=4Number of vm per physical machine
Sec
ond
Hadoop
Best Fit
Priority
(b)
圖十二 Total completion time with different number of vm (a) low heterogeneity
vm=2 worker=12 (b) high heterogeneity vm=5 worker=12
圖十二(a)是在低異構性環境圖十二(b)是在高異構性環境並且1 台實體
機架設 2 個3 個4 個虛擬機器使 Worker 數量固定 12 台處理的資料量為
600G
這個模擬實驗主要探討的是在一台實體機架設的虛擬機器數量對於
MapReduce 完成時間是否真正有影響圖十二(a)和圖十二(b)更可以顯示出 Best
Fit 和 Priority 在異構性越高的環境裏且一台實體機架設越多虛擬機器來當作
Worker 的時候可以縮短更多的時間前者會縮短 Map 的完成時間後者會縮
29
短 Reduce 的完成時間而 Hadoop 在異構性環境高的時候也有些微的縮短一
些時間
Total completion time with different data size (h=1-5)
0
20
40
60
80
100
120
140
400 600 800 1000 1200
Data
Sec
ond
Hadoop
Best Fit
Priority
圖十三 Total completion time with different data size
在上述的實驗中在同樣的資料大小處理的 Worker 數量越多的時候其
完成時間會縮短很多但是到達一定的數量的時候其縮短時間的效果就很低
所以就做了此實驗因為本篇論文就是要探討異構性的環境選擇高異構性
環境固定 Worker 數量 20 台資料大小由 400G 到 1200G探討資料大小對
MapReduce 以及 Worker 的影響如圖十三顯示出在 600G 以下的時候Map 加
上 Reduce 完成的時間突然靠近起來代表了當資料量越小的時候Best Fit 和
Priority 的方法跟原始的 Hadoop 的方法優勢會越來越少但相反的是當資料
量越大的時候雖然Best Fit 和 Priority 完成時間會增加但是跟 Hadoop 的
完成時間比會更加突顯
30
Total completion time (best fit)
0
10
20
30
40
50
60
70
80
(Without optimization) (Optimization)
Best Fit
Sec
ond
Map Reduce
(a)
Total completion time (priority)
0
10
20
30
40
50
60
70
80
(Without optimization) (Optimization)
Priority
Sec
ond
Map Reduce
(b)
圖十四 Total completion time of loading aware optimization (a) without
optimal (b) with optimization
圖十四(a)未使用優化技術圖十四(b)是使用優化技術同樣都是在高異構
性環境之下並且1 台實體機架設 5 個虛擬機器使 Worker 數量固定 15 台
處理的資料量為 900G
在本篇論文方法的部份有提到Loading Aware Virtual Machine Mapping的優
化技術由於此實驗上面的實驗數據都已經使用優化技術來改善時間因此
此實驗就是要探討這優化技術對於MapReduce完成時間的影響
由於Loading Aware Virtual Machine Mapping此優化技術是變動同一台實體
31
機內部的Reducer使得原本是根據Communication locality來選擇虛擬機器但
是在挑選的過程中並沒有依據處理資料的大小分配到其處理速度相對映的
虛擬機器而這優化技術就是將同一台實體機內的虛擬機器重新分配由於此
優化技術並不會影響Communication locality所以這部份並沒有在此實驗探討
圖十四(a)圖十四(b)顯示未使用優化技術的Best fit和Priority的MapReduce
完成時間雖然比Hadoop的方法好但是其Reduce phase完成時間上慢了一些
並且可以看出此優化技術並不會影響到Map phase主要影響的是在Reduce階
段在Reduce階段的完成時間上利用優化技術可以將Reduce階段時間縮短其13
32
Chapter 6 Conclusions and Future Works
目前 Hadoop 資料處理的環境還是應用在群集內節點效能是相同的情況下
如果是異構性環境可能就無法這麼有效率的處理本篇論文提出了兩個方法
動態資料切割和虛擬機對映以及一個優化技術 Loading aware virtual machine
mapping模擬實驗結果表明透過本篇方法來得比 Hadoop 縮短 41的時間以
及最多節省 Communication Locality 約莫 33尤其在異構性越高的環境以及
一台實體機器架設的虛擬機器數量越多改善的效果越明顯另外 Loading
aware virtual machine mapping 優化技術改善了 Reduce phase 的完成時間約莫
13
在未來研究上可以朝著動態調整 Reducer 數量的方向前進當固定大小的
資料上其實有時候過多的節點去運算消耗了大量的運算資源卻只得到一些
秒數的縮短如何利用適當的運算資源來得到最大的利益這是相當重要的議
題由於此實驗都是屬於模擬實驗希望在未來可以實際架設在機器上運行
透過 Benchmark得到真正的數據
33
Reference
1 Masato Asahara Shinji Nakadai and Takuya Araki ldquoLoadAtomizer A
Locality and IO Load aware Task Scheduler for MapReducerdquo in 4th IEEE
International Conference on Cloud Computing Technology and Science
(CloudCom) pp 317-324 2012
2 Paul Barham Boris Dragovic Keir Fraser Steven Hand Tim Harris Alex
Ho Rolf Neugebauer Ian Pratt and Andrew Warfield ldquoXen and the Art of
Virtualizationrdquo SOSP 03 Proceedings of the nineteenth ACM symposium
on Operating systems principles vol 37 Issue 5 pp 164-177 December
2003
3 Xiangping Bu Jia Rao and Cheng Zhong Xu ldquoInterference and
Locality-Aware Task Scheduling for MapReduce Applications in Virtual
Clustersrdquo Proceeding HPDC 13 Proceedings of the 22nd international
sym-posium on High-performance parallel and distributed computing pp
227-238 2013
4 Kasim Selcuk Candan Jong Wook Kim Parth Nagarkar Mithila Nagendra
and Ren-wei Yu ldquoScalable Multimedia Data Processing in Server Clustersrdquo
IEEE MultiMedia pp 3-5 2010
5 Fay Chang Jeffrey Dean Sanjay Ghemawat Wilson C Hsieh Deborah A
Wallach Mike Burrws Tushar Chandra Andrew Fikes and Robert EGruber
ldquoBigtable A Distributed Storage System for Structured Datardquo 7th UENIX
Symposium on Operating Systems Design and Implementation pp 205-218
2006
6 P C Chen Y L Su J B Chang and C K Shieh ldquoVariable-Sized Map and
Locality-Aware Reduce on Public-Resource Gridsrdquo in Proceedings
Conference Grid and Pervasive Computing (GPC 2010) pp 234-243 2010
May
7 Q Chen D Zhang M Guo Q Deng and S Guo ldquoSamr A self adaptive
mapreduce scheduling algorithm in heterogeneous environmentrdquo in 10th
IEEE International Conference on Computer and Information Technology
CIT rsquo10 (Washington DC USA) pp 2736ndash2743 2010
8 Jeffrey Dean and Sanjay Ghemawat ldquoMapReduce Simplified Data
Processing on Large Clustersrdquo Communications of the ACM vol 51 no 1
pp 107ndash113 2008
9 Yuanquan Fan Weiguo Wu Haijun Cao Huo Zhu Xu Zhao and Wei Wei
34
ldquoA heterogeneity-aware data distribution and rebalance method in Hadoop
clusterrdquo 2012 Seventh ChinaGrid Annual Conference pp 176-181 2012
10 Zacharia Fadika Elif Dede Jessica Hartog and Madhusudhan Govindaraju
ldquoMARLA MapReduce for Heterogeneous Clustersrdquo in 12th IEEEACM
International Symposium on Cluster Cloud and Grid Computing pp 49-56
2012
11 Sanjay Ghemawat Howard Gobioff and ShunTak Leung ldquoThe Google file
systemrdquo In Proceedings of 19th Symposium on Operating Systems
Principles pp 29-43 2003
12 Sven Groot ldquoJumbo Beyond MapReduce for Workload Balancingrdquo Fuzzy
Systems and Knowledge Discovery (FSKD) 2011 Eighth International
Conference on Cloud Computing Technology and Science vol 4 pp
2675-2678 2011 July
13 B Gufler N Augsten A Reiser and A Kemper ldquoHandling Data Skew in
MapReducerdquo in Proceedings of CLOSER pp 574ndash583 2011
14 Mohammad Hammoud and Majd F Sakr ldquoLocality-Aware Reduce Task
Scheduling for MapReducerdquo Third IEEE International Conference on
Cloud Computing Technology and Science pp 570-576 2011
15 C He Y Lu and D Swanson ldquoMatch-making A New MapReduce
Scheduling Techniquerdquo IEEE Third International Conference on Cloud
Computing Technology and Science (CloudCom) pp 40ndash47 2011
16 Hung Chang Hsiao Huesh Yi Chung Haiying Shen and Yu Chang
ChaoldquoLoad Re-balancing for Distributed File Systems in Cloudsrdquo IEEE
Trans on Parallel and Distributed Systems vol24 pp 951-962 2012
17 Shadi Ibrahim Hai Jin Lu Lu Song Wu Bingsheng He and Li Qi ldquoLEEN
LocalityFairness Aware Key Partitioning for MapReduce in the Cloudrdquo
2010 IEEE Second International Conference on Cloud Computing
Technology and Science (CloudCom) pp 17ndash24 2010
18 S Ibrahim H Jin L Lu L Qi S Wu and X Shi ldquoEvaluating MapReduce
on Virtual Machines The Hadoop Caserdquo Proceedings Conference Cloud
Computing (CloudCom 2009) Springer LNCS pp 519-528 2009 Dec
19 C Jin and R Buyya ldquoMapreduce programming model for net-based cloud
computingrdquo in Proceedings of the 15th International Euro-Par Conference
on Parallel Processing Euro-Par (Berlin Heidelberg) pp 417ndash428 2009
20 R Nanduri N Maheshwari A Reddyraja and V Varma ldquoJob aware
scheduling algorithm for Mapreduce frameworkrdquo in 3rd International
Conference on Cloud Computing Technology and Science
CLOUDCOM rsquo11 (Washington DC USA) pp 724ndash729 2011
35
21 Andrew J Page and Thomas J Naughton ldquoDynamic task scheduling using
genetic algorithms for heterogeneous distributed computingrdquo in 19th IEEE
International Parallel and Distributed Processing Symposium pp 189a
2005 April
22 Xiaoyu Sun Chen He and Ying Lu ldquoESAMR An Enhanced Self-Adaptive
MapReduce Scheduling Algorithmrdquo 2012 IEEE 18th International
Conference on Parallel and Distributed Systems pp 148-155 2012
23 Chao Tian Haojie Zhou Yongqiang He and Li Zha ldquoA Dynamic
MapReduce Scheduler for Heterogeneous Workloadsrdquo Eighth International
Conference on Grid and Cooperative Computing pp 218ndash244 2009 Aug
24 Jiong Xie Shu Yin Xiaojun Ruan Zhi-yang Ding Yun Tian James Majors
Adam Manzanares and Xiao Qin ldquoImproving mapreduce performance
through data placement in heterogeneous hadoop clustersrdquo in IPDPS
Workshops pp 1ndash9 2010
25 J Tan X Pan S Kavulya R Gandhi and P Narasimhan ldquoMochi Visual
Log-Analysis Based Tools for Debugging Hadooprdquo USENIX Workshop on
Hot Topics in Cloud Computing (HotCloud) pp 1-5 2009
26 Matei Zaharia Andy Konwinski Anthony D Joseph Randy Katz and Ion
Stoica ldquoImproving MapReduce Performance in Heterogeneous
Environmentsrdquo 8th Symposium on Operating Systems Design and
Implementation pp 29ndash42 2008 Dec
27 X Zhang Z Zhong S Feng B Tu and J Fan ldquoImproving Data locality of
MapReduce by Scheduling in Homogeneous Computing Environmentsrdquo in
9th IEEE International Symposium on Parallel and Distributed Processing
with Applications (ISPA) pp 120-126 2011
28 Apache hadoop Available from httphadoopapacheorg
29 MapReduce with a lot of examples for Mining datasets Available from
httpinfolabstanfordedu~ullmanmmdsbookpdf
Page 23
14
圖四 Best Fit挑選機器流程
1 如圖四所示假設一台實體機上(P1)架設兩台虛擬機(v1v2)根據虛擬
機的運算能力分配相對映的資料量v1即為25單位v2即為22單位以此類
推
2 執行Map程式產生出k值因為有三台Reducer(R1R2R3)所以產生出
3個k值v1虛擬機的k1值為7k2值為10k3值為8而這v1的所有k值相加即為
v1所負責的資料量v1虛擬機k1值為10k2值為9k3值為3而這v2的所有k值
相加為v2所負責的資料量v3也是一樣
3 先從R1要挑選哪台VM開始首先把每個VM所產生出的k1值相加得到一個
總和即為57單位底下看到有三個數值第一個數值即為R1如果在P1這
台機器上運行的話所耗費的遠端溝通成本(要到P2P3取資料的溝通成本)
則第二個數值即為R2在P2這台機器上運行的話所耗費的遠端溝通成本
第三個也是
4 把總共要處理的資料減掉到遠端耗費的溝通成本會得到一個數值即為
15
Communication localityR1如果選擇P1機器運行則Communication locality
為17單位R1如果選擇P2機器運行則Communication locality為18單位R1
如果選擇P3機器運行則Communication locality為22單位R1挑選最多的
Communication locality的機器來運行所以R1選擇P3機器來做運算
5 R1選擇P3實體機而P3實體機有2台虛擬機所以在根據虛擬機的運算能力
先挑選運算能力好的來做為R1
6 如果節點的虛擬機都被挑選完就選第二順位的節點
原始的HadoopR1挑選v1而R2挑選v2照順序的挑選所以沒有考慮到溝
通成本則本篇論文Best fit是根據Communication locality來挑選機器但是
可能在某ㄧ些情況可能不夠完善
圖五 Best Fit 挑選機器的不完善
如圖五所示當Communication locality可以選擇很高的節點卻因為前面的
Reducer把節點內部的Worker挑選完了所以逼不得已只能挑選第二順位的節
點可是這個Communication locality遠遠低於前面Reducer挑選的節點導致整體
的Communication locality大幅下降因此422 Priority即為改善的方法
16
422 Priority
為了確保每個Reducer都能挑選Communication locality最高的機器因此
此章節做了改善
1 在Reducer在挑選機器之前先判斷Reducer哪台要先下去做挑選
2 將每台Reducer最高的Communication locality的跟第二高的相減會得到一個
Difference locality在利用Difference locality下去做排序由大到小
3 Difference locality越大的代表那台Reducer要優先做挑選所以就從
Difference locality越大的挑選到Difference locality最小的
圖六 Priority挑選機器流程
1 如圖六所示R1總共的Data block為57單位R2為42單位R3為41單位經過
Shuffle階段之後
2 R1如果選擇P1這台機器能節省的Communication locality就是17單位R1如果選
擇P2這台機器能節省的Communication locality就是18單位R3如果選擇P2這台
機器能節省的Communication locality就是22單位
3 根據Communication locality將第一高的減掉第二高的會得到一個Difference
17
locality
4 根據此Difference locality排出哪個Reducer要先選取機器此例子的順序為
R2再來R3再來R1而Best Fit就是R1再來R2再來R3
Priority可以避免前面的Reducer把機器挑選完迫使只能選擇第二高的
Communication locality使這樣大幅降低的情況給消除而Best fit和Priority這兩
種方法大幅提高了Communication locality的狀況可是卻也導致了Reduce階段
的完成時間變長所以下章節主要敘述將Reduce階段完成時間優化
43 Loading Aware Virtual Machine Mapping
上述的兩種方法Best fitPriority都是為了降低節點彼此之間的溝通成本
但是卻引發了一個問題Reducer執行完成的時間比原始Hadoop還來得長為
了解決此問題本篇論文在這章節提出優化的方法前面兩種方法是根據節點
的Communication locality來決定要在哪一台Worker做運算當決定好Worker
的時候Reducer會先將運算能力較好的虛擬機器拿去做運算這樣使得運算較
快的機器並不會對映到運算較複雜的資料使得較早完成的機器還是得等候還沒
做好的機器造成時間上的延長所以本篇論文針對此部份做優化
圖七 Reducer對應到其相對效率的Worker
18
如圖七所示當Reducer都挑選好要在哪台實體機做在開始執行Reduce程
式之前我們根據要處理的資料量來分配相對映的機器而這虛擬機的交換
並不會影響到Communication locality因為都是在同一台實體機架設的虛擬機
器做交換
19
Chapter 5 Performance Analysis
本實驗以模擬的方式進行利用 C 語言程式撰寫可設定節點數量節點
裡的 Worker 數量資料大小異構性環境低 (h = 1-3)或高 (h = 1-5)透過模擬
的實驗數據分析基於 Hadoop 的 MapReduce 以及本篇論文透過 Map mapping
和 Reduce mapping 的方式進而改善原始 MapReduce 所造成的缺點
51 Communication Locality
本模擬實驗主要探討的是 Communication Locality圖八(a)和圖八(b)模擬環
境為低異構性圖八(c)和圖八(d)為高異構性環境固定每台實體機架設 2 台以
及 5 台虛擬機器固定 Worker 總數量分別為 102030要處理的資料為 900G
Communication locality(vm = 2 h = 1-3)
0
50
100
150
200
250
300
10 20 30
Number of vm
Dat
a lo
cali
ty
Hadoop
Best Fit
Priority
(a)
20
Communication locality(vm = 5 h = 1-3)
0
100
200
300
400
500
600
10 20 30Number of vm
Dat
a lo
cali
ty
Hadoop
Best Fit
Priority
(b)
Communcation Locality(vm = 2 h = 1-5)
0
50
100
150
200
250
300
10 20 30Number of vm
Dat
a lo
cali
ty
Hadoop
Best Fit
Priority
(c)
Communcation locality(vm = 5 h = 1-5)
0
100
200
300
400
500
600
10 20 30
Number of vm
Dat
a lo
cali
ty
Hadoop
Best Fit
Priority
(d)
圖八 Communication locality (a) low heterogeneity vm=2 (b) low heterogeneity
vm=5 (c) high heterogeneity vm=2 (d) high heterogeneity vm=5
21
由圖八(a)可看出本篇論文提出的兩個方法在低異構性環境所能節省的
Communication Locality 比原始的 Hadoop 提出的方法最多節省了 33的
Communication Locality圖八 (b)也最多節省了約 12的 Communication
Locality雖然節省在固定架設的虛擬機器為兩台的時候節省比較多但是
兩個實驗節省的 Communication Locality 量卻相差了快 2 倍原因是在於 Map 階
段完成的資料都儲存在 Local disc兩台實體機在交換資料的時候溝通成本是
很高的而建立在同一台實體機的兩台虛擬機器交換資料則溝通成本卻來的低
很多 因此溝通成本量的提高也會被實體機上架設的虛擬機器的多寡來影
響
由圖八(c)所示在高異構性最多可節省 27的 Communication Locality圖
八(d)則為 15的 Communication Locality分別從圖八(a)圖八(c)圖八(b)以及
圖八(d)可以看得出來Best Fit 和 Priority 不會隨著異構性環境的高低溝通成
本量會有大幅度的改變而 Priority 在節省的 Communication Locality 都會比 Best
Fit 都來的多一點因為Priority 可以避免前面的 Reducer 把機器挑選完迫使
只能選擇第二高的Communication location 因此大幅降低的情況給消除
52 Task Execution Time
此節實驗是要探討 Map 以及 Reduce 完成的時間圖九(a)和圖九(b)為低異構
性環境的實驗圖九(c)和圖九(d)為高異構性環境都是固定每台實體機架設 2
台以及 5 台虛擬機器所以固定虛擬機器總數量分別為 102030要處理
的資料為 900G
22
Map completion time(vm = 2 h = 1-3)
0
20
40
60
80
100
10 20 30
Number of vm
Sec
ond
Hadoop
Best Fit amp Priority
(a)
Map completion time(vm = 5 h = 1-3)
0
20
40
60
80
100
10 20 30Number of vm
Sec
ond
Hadoop
Best Fit amp Priority
(b)
Map completion time(vm = 2 h = 1-5)
0
20
40
60
80
100
10 20 30Number of vm
seco
nd
Hadoop
Best Fit amp Priority
(c)
23
Map completion time(vm = 5 h = 1-5)
0
20
40
60
80
100
10 20 30Number of vm
seco
nd
Hadoop
Best Fit amp Priority
(d)
圖九 Map completion time (a) low heterogeneity vm=2 (b) low heterogeneity
vm=5 (c) high heterogeneity vm=2 (d) high heterogeneity vm=5
圖九(a)圖九(b)圖九(c)以及圖九(d)顯示了本論文提出的兩個方法 Best Fit
和 Priority 他們完成的時間是一樣的因為兩個方法的 Map mapping 概念是一樣
的所以完成時間也會一樣在此實驗裡可發現 Best Fit 和 Priority 也會隨著
實體機上的虛擬機器數量增多而完成時間縮短而縮短的時間最多甚至可以達
到 44也可看出本論文的兩個方法在低異構性環境的效能比在高異構性環境
的效能來的較差所以在異構性越高的環境越能看得出 Best Fit 和 Priority
的優勢
24
Reduce completion time(vm = 2 h = 1-3)
0
20
40
60
80
100
120
10 20 30Number of vm
Sec
ond
Hadoop
Best Fit
Priority
(a)
Reduce completion time(vm = 5 h = 1-3)
0
20
40
60
80
100
120
10 20 30Number of vm
Sec
ond
Hadoop
Best Fit
Priority
(b)
Reduce completion time(vm = 2 h = 1-5)
0
20
40
60
80
100
120
10 20 30Number of vm
seco
nd
Hadoop
Best Fit
Priority
(c)
25
Reduce completion time(vm = 5 h = 1-5)
0
20
40
60
80
100
120
10 20 30Number of vm
Sec
ond
Hadoop
Best Fit
Priority
(d)
圖十 Reduce completion time (a) low heterogeneity vm=2 (b) low
heterogeneity vm=5 (c) high heterogeneity vm=2 (d) high heterogeneity vm=5
而在 Reduce 完成時間的方面不像 Map 的完成時間是一樣的因為選
擇 Reducer 的方式不同造成 Best Fit 以及 Priority 時間完成上有些許不同
如圖十(a)所示節省了 14的時間圖十(b)節省了 16的時間圖十(c)
節省了 23圖十(d)節省了 29由圖十(b)以及圖十(d)可見影響 Reduce
階段完成時間最主要的原因是異構性環境的問題當環境的異構性越高其
所節省的時間越多而圖十(c)以及圖十(d)所示一台實體機架設的虛擬機器數
量影響的範圍比較小
26
Total completion time (vm = 2 pm = 5 h = 1-3)
0 50 100 150 200 250
Hadoop
Best Fit
Priority
Met
hod
Second
Map Reduce
(a)
Total completion time(vm = 5 pm = 2 h = 1-3)
0 50 100 150 200
Hadoop
Best Fit
Priority
Met
hod
Second
Map Reduce
(b)
Total completion time(vm = 2 pm = 5 h = 1-5)
0 50 100 150 200 250
Hadoop
Best Fit
Priority
Met
hod
Second
Map Reduce
(c)
27
Total completion time(vm=5 pm = 2 h = 1-5)
0 50 100 150 200
Hadoop
Best Fit
Priority
Second
Met
hod
Map Reduce
(d)
圖十一 Total completion time (a) low heterogeneity vm=2 pm=5 (b) low
heterogeneity vm=5 pm=2 (c) high heterogeneity vm=2 pm=5 (d) high
heterogeneity vm=5 pm=2
由於前面分別是 Map以及 Reduce的完成時間為了想知道Map以及 Reduce
對於 MapReduce 的整體影響我們將前面的 Map 以及 Reduce 的完成時間在
處理資料的節點固定為 10 台 Worker將其做整合
從圖十一(a)圖十一(b)圖十一(c)圖十一(d)顯示 Best Fit 和 Priority 不論
是在低異構性或高異構性環境MapReduce 完成時間都比 Hadoop 的完成時間縮
短很多在低異構性環境最多可縮短到 29的時間在高異構性環境最多可縮
短 41的時間而造成 Hadoop 跟 Best Fit 和 Priority 在時間上差異如此大的原
因主要是在 Map 階段的完成時間因為Best Fit 和 Priority 是根據 Worker 的
效能來決定要處理的資料大小而 Hadoop 就是分配固定大小的資料給 Worker
運算所以在越高的異構性環境其縮短的時間會越明顯
28
Total completion time with different number of vm (h=1-3)
0
20
40
60
80
100
120
vm=2 vm=3 vm=4Number of vm per physical machine
Sec
ond
Hadoop
Best Fit
Priority
(a)
Total completion time with different number of vm (h=1-5)
0
20
40
60
80
100
120
vm=2 vm=3 vm=4Number of vm per physical machine
Sec
ond
Hadoop
Best Fit
Priority
(b)
圖十二 Total completion time with different number of vm (a) low heterogeneity
vm=2 worker=12 (b) high heterogeneity vm=5 worker=12
圖十二(a)是在低異構性環境圖十二(b)是在高異構性環境並且1 台實體
機架設 2 個3 個4 個虛擬機器使 Worker 數量固定 12 台處理的資料量為
600G
這個模擬實驗主要探討的是在一台實體機架設的虛擬機器數量對於
MapReduce 完成時間是否真正有影響圖十二(a)和圖十二(b)更可以顯示出 Best
Fit 和 Priority 在異構性越高的環境裏且一台實體機架設越多虛擬機器來當作
Worker 的時候可以縮短更多的時間前者會縮短 Map 的完成時間後者會縮
29
短 Reduce 的完成時間而 Hadoop 在異構性環境高的時候也有些微的縮短一
些時間
Total completion time with different data size (h=1-5)
0
20
40
60
80
100
120
140
400 600 800 1000 1200
Data
Sec
ond
Hadoop
Best Fit
Priority
圖十三 Total completion time with different data size
在上述的實驗中在同樣的資料大小處理的 Worker 數量越多的時候其
完成時間會縮短很多但是到達一定的數量的時候其縮短時間的效果就很低
所以就做了此實驗因為本篇論文就是要探討異構性的環境選擇高異構性
環境固定 Worker 數量 20 台資料大小由 400G 到 1200G探討資料大小對
MapReduce 以及 Worker 的影響如圖十三顯示出在 600G 以下的時候Map 加
上 Reduce 完成的時間突然靠近起來代表了當資料量越小的時候Best Fit 和
Priority 的方法跟原始的 Hadoop 的方法優勢會越來越少但相反的是當資料
量越大的時候雖然Best Fit 和 Priority 完成時間會增加但是跟 Hadoop 的
完成時間比會更加突顯
30
Total completion time (best fit)
0
10
20
30
40
50
60
70
80
(Without optimization) (Optimization)
Best Fit
Sec
ond
Map Reduce
(a)
Total completion time (priority)
0
10
20
30
40
50
60
70
80
(Without optimization) (Optimization)
Priority
Sec
ond
Map Reduce
(b)
圖十四 Total completion time of loading aware optimization (a) without
optimal (b) with optimization
圖十四(a)未使用優化技術圖十四(b)是使用優化技術同樣都是在高異構
性環境之下並且1 台實體機架設 5 個虛擬機器使 Worker 數量固定 15 台
處理的資料量為 900G
在本篇論文方法的部份有提到Loading Aware Virtual Machine Mapping的優
化技術由於此實驗上面的實驗數據都已經使用優化技術來改善時間因此
此實驗就是要探討這優化技術對於MapReduce完成時間的影響
由於Loading Aware Virtual Machine Mapping此優化技術是變動同一台實體
31
機內部的Reducer使得原本是根據Communication locality來選擇虛擬機器但
是在挑選的過程中並沒有依據處理資料的大小分配到其處理速度相對映的
虛擬機器而這優化技術就是將同一台實體機內的虛擬機器重新分配由於此
優化技術並不會影響Communication locality所以這部份並沒有在此實驗探討
圖十四(a)圖十四(b)顯示未使用優化技術的Best fit和Priority的MapReduce
完成時間雖然比Hadoop的方法好但是其Reduce phase完成時間上慢了一些
並且可以看出此優化技術並不會影響到Map phase主要影響的是在Reduce階
段在Reduce階段的完成時間上利用優化技術可以將Reduce階段時間縮短其13
32
Chapter 6 Conclusions and Future Works
目前 Hadoop 資料處理的環境還是應用在群集內節點效能是相同的情況下
如果是異構性環境可能就無法這麼有效率的處理本篇論文提出了兩個方法
動態資料切割和虛擬機對映以及一個優化技術 Loading aware virtual machine
mapping模擬實驗結果表明透過本篇方法來得比 Hadoop 縮短 41的時間以
及最多節省 Communication Locality 約莫 33尤其在異構性越高的環境以及
一台實體機器架設的虛擬機器數量越多改善的效果越明顯另外 Loading
aware virtual machine mapping 優化技術改善了 Reduce phase 的完成時間約莫
13
在未來研究上可以朝著動態調整 Reducer 數量的方向前進當固定大小的
資料上其實有時候過多的節點去運算消耗了大量的運算資源卻只得到一些
秒數的縮短如何利用適當的運算資源來得到最大的利益這是相當重要的議
題由於此實驗都是屬於模擬實驗希望在未來可以實際架設在機器上運行
透過 Benchmark得到真正的數據
33
Reference
1 Masato Asahara Shinji Nakadai and Takuya Araki ldquoLoadAtomizer A
Locality and IO Load aware Task Scheduler for MapReducerdquo in 4th IEEE
International Conference on Cloud Computing Technology and Science
(CloudCom) pp 317-324 2012
2 Paul Barham Boris Dragovic Keir Fraser Steven Hand Tim Harris Alex
Ho Rolf Neugebauer Ian Pratt and Andrew Warfield ldquoXen and the Art of
Virtualizationrdquo SOSP 03 Proceedings of the nineteenth ACM symposium
on Operating systems principles vol 37 Issue 5 pp 164-177 December
2003
3 Xiangping Bu Jia Rao and Cheng Zhong Xu ldquoInterference and
Locality-Aware Task Scheduling for MapReduce Applications in Virtual
Clustersrdquo Proceeding HPDC 13 Proceedings of the 22nd international
sym-posium on High-performance parallel and distributed computing pp
227-238 2013
4 Kasim Selcuk Candan Jong Wook Kim Parth Nagarkar Mithila Nagendra
and Ren-wei Yu ldquoScalable Multimedia Data Processing in Server Clustersrdquo
IEEE MultiMedia pp 3-5 2010
5 Fay Chang Jeffrey Dean Sanjay Ghemawat Wilson C Hsieh Deborah A
Wallach Mike Burrws Tushar Chandra Andrew Fikes and Robert EGruber
ldquoBigtable A Distributed Storage System for Structured Datardquo 7th UENIX
Symposium on Operating Systems Design and Implementation pp 205-218
2006
6 P C Chen Y L Su J B Chang and C K Shieh ldquoVariable-Sized Map and
Locality-Aware Reduce on Public-Resource Gridsrdquo in Proceedings
Conference Grid and Pervasive Computing (GPC 2010) pp 234-243 2010
May
7 Q Chen D Zhang M Guo Q Deng and S Guo ldquoSamr A self adaptive
mapreduce scheduling algorithm in heterogeneous environmentrdquo in 10th
IEEE International Conference on Computer and Information Technology
CIT rsquo10 (Washington DC USA) pp 2736ndash2743 2010
8 Jeffrey Dean and Sanjay Ghemawat ldquoMapReduce Simplified Data
Processing on Large Clustersrdquo Communications of the ACM vol 51 no 1
pp 107ndash113 2008
9 Yuanquan Fan Weiguo Wu Haijun Cao Huo Zhu Xu Zhao and Wei Wei
34
ldquoA heterogeneity-aware data distribution and rebalance method in Hadoop
clusterrdquo 2012 Seventh ChinaGrid Annual Conference pp 176-181 2012
10 Zacharia Fadika Elif Dede Jessica Hartog and Madhusudhan Govindaraju
ldquoMARLA MapReduce for Heterogeneous Clustersrdquo in 12th IEEEACM
International Symposium on Cluster Cloud and Grid Computing pp 49-56
2012
11 Sanjay Ghemawat Howard Gobioff and ShunTak Leung ldquoThe Google file
systemrdquo In Proceedings of 19th Symposium on Operating Systems
Principles pp 29-43 2003
12 Sven Groot ldquoJumbo Beyond MapReduce for Workload Balancingrdquo Fuzzy
Systems and Knowledge Discovery (FSKD) 2011 Eighth International
Conference on Cloud Computing Technology and Science vol 4 pp
2675-2678 2011 July
13 B Gufler N Augsten A Reiser and A Kemper ldquoHandling Data Skew in
MapReducerdquo in Proceedings of CLOSER pp 574ndash583 2011
14 Mohammad Hammoud and Majd F Sakr ldquoLocality-Aware Reduce Task
Scheduling for MapReducerdquo Third IEEE International Conference on
Cloud Computing Technology and Science pp 570-576 2011
15 C He Y Lu and D Swanson ldquoMatch-making A New MapReduce
Scheduling Techniquerdquo IEEE Third International Conference on Cloud
Computing Technology and Science (CloudCom) pp 40ndash47 2011
16 Hung Chang Hsiao Huesh Yi Chung Haiying Shen and Yu Chang
ChaoldquoLoad Re-balancing for Distributed File Systems in Cloudsrdquo IEEE
Trans on Parallel and Distributed Systems vol24 pp 951-962 2012
17 Shadi Ibrahim Hai Jin Lu Lu Song Wu Bingsheng He and Li Qi ldquoLEEN
LocalityFairness Aware Key Partitioning for MapReduce in the Cloudrdquo
2010 IEEE Second International Conference on Cloud Computing
Technology and Science (CloudCom) pp 17ndash24 2010
18 S Ibrahim H Jin L Lu L Qi S Wu and X Shi ldquoEvaluating MapReduce
on Virtual Machines The Hadoop Caserdquo Proceedings Conference Cloud
Computing (CloudCom 2009) Springer LNCS pp 519-528 2009 Dec
19 C Jin and R Buyya ldquoMapreduce programming model for net-based cloud
computingrdquo in Proceedings of the 15th International Euro-Par Conference
on Parallel Processing Euro-Par (Berlin Heidelberg) pp 417ndash428 2009
20 R Nanduri N Maheshwari A Reddyraja and V Varma ldquoJob aware
scheduling algorithm for Mapreduce frameworkrdquo in 3rd International
Conference on Cloud Computing Technology and Science
CLOUDCOM rsquo11 (Washington DC USA) pp 724ndash729 2011
35
21 Andrew J Page and Thomas J Naughton ldquoDynamic task scheduling using
genetic algorithms for heterogeneous distributed computingrdquo in 19th IEEE
International Parallel and Distributed Processing Symposium pp 189a
2005 April
22 Xiaoyu Sun Chen He and Ying Lu ldquoESAMR An Enhanced Self-Adaptive
MapReduce Scheduling Algorithmrdquo 2012 IEEE 18th International
Conference on Parallel and Distributed Systems pp 148-155 2012
23 Chao Tian Haojie Zhou Yongqiang He and Li Zha ldquoA Dynamic
MapReduce Scheduler for Heterogeneous Workloadsrdquo Eighth International
Conference on Grid and Cooperative Computing pp 218ndash244 2009 Aug
24 Jiong Xie Shu Yin Xiaojun Ruan Zhi-yang Ding Yun Tian James Majors
Adam Manzanares and Xiao Qin ldquoImproving mapreduce performance
through data placement in heterogeneous hadoop clustersrdquo in IPDPS
Workshops pp 1ndash9 2010
25 J Tan X Pan S Kavulya R Gandhi and P Narasimhan ldquoMochi Visual
Log-Analysis Based Tools for Debugging Hadooprdquo USENIX Workshop on
Hot Topics in Cloud Computing (HotCloud) pp 1-5 2009
26 Matei Zaharia Andy Konwinski Anthony D Joseph Randy Katz and Ion
Stoica ldquoImproving MapReduce Performance in Heterogeneous
Environmentsrdquo 8th Symposium on Operating Systems Design and
Implementation pp 29ndash42 2008 Dec
27 X Zhang Z Zhong S Feng B Tu and J Fan ldquoImproving Data locality of
MapReduce by Scheduling in Homogeneous Computing Environmentsrdquo in
9th IEEE International Symposium on Parallel and Distributed Processing
with Applications (ISPA) pp 120-126 2011
28 Apache hadoop Available from httphadoopapacheorg
29 MapReduce with a lot of examples for Mining datasets Available from
httpinfolabstanfordedu~ullmanmmdsbookpdf
Page 24
15
Communication localityR1如果選擇P1機器運行則Communication locality
為17單位R1如果選擇P2機器運行則Communication locality為18單位R1
如果選擇P3機器運行則Communication locality為22單位R1挑選最多的
Communication locality的機器來運行所以R1選擇P3機器來做運算
5 R1選擇P3實體機而P3實體機有2台虛擬機所以在根據虛擬機的運算能力
先挑選運算能力好的來做為R1
6 如果節點的虛擬機都被挑選完就選第二順位的節點
原始的HadoopR1挑選v1而R2挑選v2照順序的挑選所以沒有考慮到溝
通成本則本篇論文Best fit是根據Communication locality來挑選機器但是
可能在某ㄧ些情況可能不夠完善
圖五 Best Fit 挑選機器的不完善
如圖五所示當Communication locality可以選擇很高的節點卻因為前面的
Reducer把節點內部的Worker挑選完了所以逼不得已只能挑選第二順位的節
點可是這個Communication locality遠遠低於前面Reducer挑選的節點導致整體
的Communication locality大幅下降因此422 Priority即為改善的方法
16
422 Priority
為了確保每個Reducer都能挑選Communication locality最高的機器因此
此章節做了改善
1 在Reducer在挑選機器之前先判斷Reducer哪台要先下去做挑選
2 將每台Reducer最高的Communication locality的跟第二高的相減會得到一個
Difference locality在利用Difference locality下去做排序由大到小
3 Difference locality越大的代表那台Reducer要優先做挑選所以就從
Difference locality越大的挑選到Difference locality最小的
圖六 Priority挑選機器流程
1 如圖六所示R1總共的Data block為57單位R2為42單位R3為41單位經過
Shuffle階段之後
2 R1如果選擇P1這台機器能節省的Communication locality就是17單位R1如果選
擇P2這台機器能節省的Communication locality就是18單位R3如果選擇P2這台
機器能節省的Communication locality就是22單位
3 根據Communication locality將第一高的減掉第二高的會得到一個Difference
17
locality
4 根據此Difference locality排出哪個Reducer要先選取機器此例子的順序為
R2再來R3再來R1而Best Fit就是R1再來R2再來R3
Priority可以避免前面的Reducer把機器挑選完迫使只能選擇第二高的
Communication locality使這樣大幅降低的情況給消除而Best fit和Priority這兩
種方法大幅提高了Communication locality的狀況可是卻也導致了Reduce階段
的完成時間變長所以下章節主要敘述將Reduce階段完成時間優化
43 Loading Aware Virtual Machine Mapping
上述的兩種方法Best fitPriority都是為了降低節點彼此之間的溝通成本
但是卻引發了一個問題Reducer執行完成的時間比原始Hadoop還來得長為
了解決此問題本篇論文在這章節提出優化的方法前面兩種方法是根據節點
的Communication locality來決定要在哪一台Worker做運算當決定好Worker
的時候Reducer會先將運算能力較好的虛擬機器拿去做運算這樣使得運算較
快的機器並不會對映到運算較複雜的資料使得較早完成的機器還是得等候還沒
做好的機器造成時間上的延長所以本篇論文針對此部份做優化
圖七 Reducer對應到其相對效率的Worker
18
如圖七所示當Reducer都挑選好要在哪台實體機做在開始執行Reduce程
式之前我們根據要處理的資料量來分配相對映的機器而這虛擬機的交換
並不會影響到Communication locality因為都是在同一台實體機架設的虛擬機
器做交換
19
Chapter 5 Performance Analysis
本實驗以模擬的方式進行利用 C 語言程式撰寫可設定節點數量節點
裡的 Worker 數量資料大小異構性環境低 (h = 1-3)或高 (h = 1-5)透過模擬
的實驗數據分析基於 Hadoop 的 MapReduce 以及本篇論文透過 Map mapping
和 Reduce mapping 的方式進而改善原始 MapReduce 所造成的缺點
51 Communication Locality
本模擬實驗主要探討的是 Communication Locality圖八(a)和圖八(b)模擬環
境為低異構性圖八(c)和圖八(d)為高異構性環境固定每台實體機架設 2 台以
及 5 台虛擬機器固定 Worker 總數量分別為 102030要處理的資料為 900G
Communication locality(vm = 2 h = 1-3)
0
50
100
150
200
250
300
10 20 30
Number of vm
Dat
a lo
cali
ty
Hadoop
Best Fit
Priority
(a)
20
Communication locality(vm = 5 h = 1-3)
0
100
200
300
400
500
600
10 20 30Number of vm
Dat
a lo
cali
ty
Hadoop
Best Fit
Priority
(b)
Communcation Locality(vm = 2 h = 1-5)
0
50
100
150
200
250
300
10 20 30Number of vm
Dat
a lo
cali
ty
Hadoop
Best Fit
Priority
(c)
Communcation locality(vm = 5 h = 1-5)
0
100
200
300
400
500
600
10 20 30
Number of vm
Dat
a lo
cali
ty
Hadoop
Best Fit
Priority
(d)
圖八 Communication locality (a) low heterogeneity vm=2 (b) low heterogeneity
vm=5 (c) high heterogeneity vm=2 (d) high heterogeneity vm=5
21
由圖八(a)可看出本篇論文提出的兩個方法在低異構性環境所能節省的
Communication Locality 比原始的 Hadoop 提出的方法最多節省了 33的
Communication Locality圖八 (b)也最多節省了約 12的 Communication
Locality雖然節省在固定架設的虛擬機器為兩台的時候節省比較多但是
兩個實驗節省的 Communication Locality 量卻相差了快 2 倍原因是在於 Map 階
段完成的資料都儲存在 Local disc兩台實體機在交換資料的時候溝通成本是
很高的而建立在同一台實體機的兩台虛擬機器交換資料則溝通成本卻來的低
很多 因此溝通成本量的提高也會被實體機上架設的虛擬機器的多寡來影
響
由圖八(c)所示在高異構性最多可節省 27的 Communication Locality圖
八(d)則為 15的 Communication Locality分別從圖八(a)圖八(c)圖八(b)以及
圖八(d)可以看得出來Best Fit 和 Priority 不會隨著異構性環境的高低溝通成
本量會有大幅度的改變而 Priority 在節省的 Communication Locality 都會比 Best
Fit 都來的多一點因為Priority 可以避免前面的 Reducer 把機器挑選完迫使
只能選擇第二高的Communication location 因此大幅降低的情況給消除
52 Task Execution Time
此節實驗是要探討 Map 以及 Reduce 完成的時間圖九(a)和圖九(b)為低異構
性環境的實驗圖九(c)和圖九(d)為高異構性環境都是固定每台實體機架設 2
台以及 5 台虛擬機器所以固定虛擬機器總數量分別為 102030要處理
的資料為 900G
22
Map completion time(vm = 2 h = 1-3)
0
20
40
60
80
100
10 20 30
Number of vm
Sec
ond
Hadoop
Best Fit amp Priority
(a)
Map completion time(vm = 5 h = 1-3)
0
20
40
60
80
100
10 20 30Number of vm
Sec
ond
Hadoop
Best Fit amp Priority
(b)
Map completion time(vm = 2 h = 1-5)
0
20
40
60
80
100
10 20 30Number of vm
seco
nd
Hadoop
Best Fit amp Priority
(c)
23
Map completion time(vm = 5 h = 1-5)
0
20
40
60
80
100
10 20 30Number of vm
seco
nd
Hadoop
Best Fit amp Priority
(d)
圖九 Map completion time (a) low heterogeneity vm=2 (b) low heterogeneity
vm=5 (c) high heterogeneity vm=2 (d) high heterogeneity vm=5
圖九(a)圖九(b)圖九(c)以及圖九(d)顯示了本論文提出的兩個方法 Best Fit
和 Priority 他們完成的時間是一樣的因為兩個方法的 Map mapping 概念是一樣
的所以完成時間也會一樣在此實驗裡可發現 Best Fit 和 Priority 也會隨著
實體機上的虛擬機器數量增多而完成時間縮短而縮短的時間最多甚至可以達
到 44也可看出本論文的兩個方法在低異構性環境的效能比在高異構性環境
的效能來的較差所以在異構性越高的環境越能看得出 Best Fit 和 Priority
的優勢
24
Reduce completion time(vm = 2 h = 1-3)
0
20
40
60
80
100
120
10 20 30Number of vm
Sec
ond
Hadoop
Best Fit
Priority
(a)
Reduce completion time(vm = 5 h = 1-3)
0
20
40
60
80
100
120
10 20 30Number of vm
Sec
ond
Hadoop
Best Fit
Priority
(b)
Reduce completion time(vm = 2 h = 1-5)
0
20
40
60
80
100
120
10 20 30Number of vm
seco
nd
Hadoop
Best Fit
Priority
(c)
25
Reduce completion time(vm = 5 h = 1-5)
0
20
40
60
80
100
120
10 20 30Number of vm
Sec
ond
Hadoop
Best Fit
Priority
(d)
圖十 Reduce completion time (a) low heterogeneity vm=2 (b) low
heterogeneity vm=5 (c) high heterogeneity vm=2 (d) high heterogeneity vm=5
而在 Reduce 完成時間的方面不像 Map 的完成時間是一樣的因為選
擇 Reducer 的方式不同造成 Best Fit 以及 Priority 時間完成上有些許不同
如圖十(a)所示節省了 14的時間圖十(b)節省了 16的時間圖十(c)
節省了 23圖十(d)節省了 29由圖十(b)以及圖十(d)可見影響 Reduce
階段完成時間最主要的原因是異構性環境的問題當環境的異構性越高其
所節省的時間越多而圖十(c)以及圖十(d)所示一台實體機架設的虛擬機器數
量影響的範圍比較小
26
Total completion time (vm = 2 pm = 5 h = 1-3)
0 50 100 150 200 250
Hadoop
Best Fit
Priority
Met
hod
Second
Map Reduce
(a)
Total completion time(vm = 5 pm = 2 h = 1-3)
0 50 100 150 200
Hadoop
Best Fit
Priority
Met
hod
Second
Map Reduce
(b)
Total completion time(vm = 2 pm = 5 h = 1-5)
0 50 100 150 200 250
Hadoop
Best Fit
Priority
Met
hod
Second
Map Reduce
(c)
27
Total completion time(vm=5 pm = 2 h = 1-5)
0 50 100 150 200
Hadoop
Best Fit
Priority
Second
Met
hod
Map Reduce
(d)
圖十一 Total completion time (a) low heterogeneity vm=2 pm=5 (b) low
heterogeneity vm=5 pm=2 (c) high heterogeneity vm=2 pm=5 (d) high
heterogeneity vm=5 pm=2
由於前面分別是 Map以及 Reduce的完成時間為了想知道Map以及 Reduce
對於 MapReduce 的整體影響我們將前面的 Map 以及 Reduce 的完成時間在
處理資料的節點固定為 10 台 Worker將其做整合
從圖十一(a)圖十一(b)圖十一(c)圖十一(d)顯示 Best Fit 和 Priority 不論
是在低異構性或高異構性環境MapReduce 完成時間都比 Hadoop 的完成時間縮
短很多在低異構性環境最多可縮短到 29的時間在高異構性環境最多可縮
短 41的時間而造成 Hadoop 跟 Best Fit 和 Priority 在時間上差異如此大的原
因主要是在 Map 階段的完成時間因為Best Fit 和 Priority 是根據 Worker 的
效能來決定要處理的資料大小而 Hadoop 就是分配固定大小的資料給 Worker
運算所以在越高的異構性環境其縮短的時間會越明顯
28
Total completion time with different number of vm (h=1-3)
0
20
40
60
80
100
120
vm=2 vm=3 vm=4Number of vm per physical machine
Sec
ond
Hadoop
Best Fit
Priority
(a)
Total completion time with different number of vm (h=1-5)
0
20
40
60
80
100
120
vm=2 vm=3 vm=4Number of vm per physical machine
Sec
ond
Hadoop
Best Fit
Priority
(b)
圖十二 Total completion time with different number of vm (a) low heterogeneity
vm=2 worker=12 (b) high heterogeneity vm=5 worker=12
圖十二(a)是在低異構性環境圖十二(b)是在高異構性環境並且1 台實體
機架設 2 個3 個4 個虛擬機器使 Worker 數量固定 12 台處理的資料量為
600G
這個模擬實驗主要探討的是在一台實體機架設的虛擬機器數量對於
MapReduce 完成時間是否真正有影響圖十二(a)和圖十二(b)更可以顯示出 Best
Fit 和 Priority 在異構性越高的環境裏且一台實體機架設越多虛擬機器來當作
Worker 的時候可以縮短更多的時間前者會縮短 Map 的完成時間後者會縮
29
短 Reduce 的完成時間而 Hadoop 在異構性環境高的時候也有些微的縮短一
些時間
Total completion time with different data size (h=1-5)
0
20
40
60
80
100
120
140
400 600 800 1000 1200
Data
Sec
ond
Hadoop
Best Fit
Priority
圖十三 Total completion time with different data size
在上述的實驗中在同樣的資料大小處理的 Worker 數量越多的時候其
完成時間會縮短很多但是到達一定的數量的時候其縮短時間的效果就很低
所以就做了此實驗因為本篇論文就是要探討異構性的環境選擇高異構性
環境固定 Worker 數量 20 台資料大小由 400G 到 1200G探討資料大小對
MapReduce 以及 Worker 的影響如圖十三顯示出在 600G 以下的時候Map 加
上 Reduce 完成的時間突然靠近起來代表了當資料量越小的時候Best Fit 和
Priority 的方法跟原始的 Hadoop 的方法優勢會越來越少但相反的是當資料
量越大的時候雖然Best Fit 和 Priority 完成時間會增加但是跟 Hadoop 的
完成時間比會更加突顯
30
Total completion time (best fit)
0
10
20
30
40
50
60
70
80
(Without optimization) (Optimization)
Best Fit
Sec
ond
Map Reduce
(a)
Total completion time (priority)
0
10
20
30
40
50
60
70
80
(Without optimization) (Optimization)
Priority
Sec
ond
Map Reduce
(b)
圖十四 Total completion time of loading aware optimization (a) without
optimal (b) with optimization
圖十四(a)未使用優化技術圖十四(b)是使用優化技術同樣都是在高異構
性環境之下並且1 台實體機架設 5 個虛擬機器使 Worker 數量固定 15 台
處理的資料量為 900G
在本篇論文方法的部份有提到Loading Aware Virtual Machine Mapping的優
化技術由於此實驗上面的實驗數據都已經使用優化技術來改善時間因此
此實驗就是要探討這優化技術對於MapReduce完成時間的影響
由於Loading Aware Virtual Machine Mapping此優化技術是變動同一台實體
31
機內部的Reducer使得原本是根據Communication locality來選擇虛擬機器但
是在挑選的過程中並沒有依據處理資料的大小分配到其處理速度相對映的
虛擬機器而這優化技術就是將同一台實體機內的虛擬機器重新分配由於此
優化技術並不會影響Communication locality所以這部份並沒有在此實驗探討
圖十四(a)圖十四(b)顯示未使用優化技術的Best fit和Priority的MapReduce
完成時間雖然比Hadoop的方法好但是其Reduce phase完成時間上慢了一些
並且可以看出此優化技術並不會影響到Map phase主要影響的是在Reduce階
段在Reduce階段的完成時間上利用優化技術可以將Reduce階段時間縮短其13
32
Chapter 6 Conclusions and Future Works
目前 Hadoop 資料處理的環境還是應用在群集內節點效能是相同的情況下
如果是異構性環境可能就無法這麼有效率的處理本篇論文提出了兩個方法
動態資料切割和虛擬機對映以及一個優化技術 Loading aware virtual machine
mapping模擬實驗結果表明透過本篇方法來得比 Hadoop 縮短 41的時間以
及最多節省 Communication Locality 約莫 33尤其在異構性越高的環境以及
一台實體機器架設的虛擬機器數量越多改善的效果越明顯另外 Loading
aware virtual machine mapping 優化技術改善了 Reduce phase 的完成時間約莫
13
在未來研究上可以朝著動態調整 Reducer 數量的方向前進當固定大小的
資料上其實有時候過多的節點去運算消耗了大量的運算資源卻只得到一些
秒數的縮短如何利用適當的運算資源來得到最大的利益這是相當重要的議
題由於此實驗都是屬於模擬實驗希望在未來可以實際架設在機器上運行
透過 Benchmark得到真正的數據
33
Reference
1 Masato Asahara Shinji Nakadai and Takuya Araki ldquoLoadAtomizer A
Locality and IO Load aware Task Scheduler for MapReducerdquo in 4th IEEE
International Conference on Cloud Computing Technology and Science
(CloudCom) pp 317-324 2012
2 Paul Barham Boris Dragovic Keir Fraser Steven Hand Tim Harris Alex
Ho Rolf Neugebauer Ian Pratt and Andrew Warfield ldquoXen and the Art of
Virtualizationrdquo SOSP 03 Proceedings of the nineteenth ACM symposium
on Operating systems principles vol 37 Issue 5 pp 164-177 December
2003
3 Xiangping Bu Jia Rao and Cheng Zhong Xu ldquoInterference and
Locality-Aware Task Scheduling for MapReduce Applications in Virtual
Clustersrdquo Proceeding HPDC 13 Proceedings of the 22nd international
sym-posium on High-performance parallel and distributed computing pp
227-238 2013
4 Kasim Selcuk Candan Jong Wook Kim Parth Nagarkar Mithila Nagendra
and Ren-wei Yu ldquoScalable Multimedia Data Processing in Server Clustersrdquo
IEEE MultiMedia pp 3-5 2010
5 Fay Chang Jeffrey Dean Sanjay Ghemawat Wilson C Hsieh Deborah A
Wallach Mike Burrws Tushar Chandra Andrew Fikes and Robert EGruber
ldquoBigtable A Distributed Storage System for Structured Datardquo 7th UENIX
Symposium on Operating Systems Design and Implementation pp 205-218
2006
6 P C Chen Y L Su J B Chang and C K Shieh ldquoVariable-Sized Map and
Locality-Aware Reduce on Public-Resource Gridsrdquo in Proceedings
Conference Grid and Pervasive Computing (GPC 2010) pp 234-243 2010
May
7 Q Chen D Zhang M Guo Q Deng and S Guo ldquoSamr A self adaptive
mapreduce scheduling algorithm in heterogeneous environmentrdquo in 10th
IEEE International Conference on Computer and Information Technology
CIT rsquo10 (Washington DC USA) pp 2736ndash2743 2010
8 Jeffrey Dean and Sanjay Ghemawat ldquoMapReduce Simplified Data
Processing on Large Clustersrdquo Communications of the ACM vol 51 no 1
pp 107ndash113 2008
9 Yuanquan Fan Weiguo Wu Haijun Cao Huo Zhu Xu Zhao and Wei Wei
34
ldquoA heterogeneity-aware data distribution and rebalance method in Hadoop
clusterrdquo 2012 Seventh ChinaGrid Annual Conference pp 176-181 2012
10 Zacharia Fadika Elif Dede Jessica Hartog and Madhusudhan Govindaraju
ldquoMARLA MapReduce for Heterogeneous Clustersrdquo in 12th IEEEACM
International Symposium on Cluster Cloud and Grid Computing pp 49-56
2012
11 Sanjay Ghemawat Howard Gobioff and ShunTak Leung ldquoThe Google file
systemrdquo In Proceedings of 19th Symposium on Operating Systems
Principles pp 29-43 2003
12 Sven Groot ldquoJumbo Beyond MapReduce for Workload Balancingrdquo Fuzzy
Systems and Knowledge Discovery (FSKD) 2011 Eighth International
Conference on Cloud Computing Technology and Science vol 4 pp
2675-2678 2011 July
13 B Gufler N Augsten A Reiser and A Kemper ldquoHandling Data Skew in
MapReducerdquo in Proceedings of CLOSER pp 574ndash583 2011
14 Mohammad Hammoud and Majd F Sakr ldquoLocality-Aware Reduce Task
Scheduling for MapReducerdquo Third IEEE International Conference on
Cloud Computing Technology and Science pp 570-576 2011
15 C He Y Lu and D Swanson ldquoMatch-making A New MapReduce
Scheduling Techniquerdquo IEEE Third International Conference on Cloud
Computing Technology and Science (CloudCom) pp 40ndash47 2011
16 Hung Chang Hsiao Huesh Yi Chung Haiying Shen and Yu Chang
ChaoldquoLoad Re-balancing for Distributed File Systems in Cloudsrdquo IEEE
Trans on Parallel and Distributed Systems vol24 pp 951-962 2012
17 Shadi Ibrahim Hai Jin Lu Lu Song Wu Bingsheng He and Li Qi ldquoLEEN
LocalityFairness Aware Key Partitioning for MapReduce in the Cloudrdquo
2010 IEEE Second International Conference on Cloud Computing
Technology and Science (CloudCom) pp 17ndash24 2010
18 S Ibrahim H Jin L Lu L Qi S Wu and X Shi ldquoEvaluating MapReduce
on Virtual Machines The Hadoop Caserdquo Proceedings Conference Cloud
Computing (CloudCom 2009) Springer LNCS pp 519-528 2009 Dec
19 C Jin and R Buyya ldquoMapreduce programming model for net-based cloud
computingrdquo in Proceedings of the 15th International Euro-Par Conference
on Parallel Processing Euro-Par (Berlin Heidelberg) pp 417ndash428 2009
20 R Nanduri N Maheshwari A Reddyraja and V Varma ldquoJob aware
scheduling algorithm for Mapreduce frameworkrdquo in 3rd International
Conference on Cloud Computing Technology and Science
CLOUDCOM rsquo11 (Washington DC USA) pp 724ndash729 2011
35
21 Andrew J Page and Thomas J Naughton ldquoDynamic task scheduling using
genetic algorithms for heterogeneous distributed computingrdquo in 19th IEEE
International Parallel and Distributed Processing Symposium pp 189a
2005 April
22 Xiaoyu Sun Chen He and Ying Lu ldquoESAMR An Enhanced Self-Adaptive
MapReduce Scheduling Algorithmrdquo 2012 IEEE 18th International
Conference on Parallel and Distributed Systems pp 148-155 2012
23 Chao Tian Haojie Zhou Yongqiang He and Li Zha ldquoA Dynamic
MapReduce Scheduler for Heterogeneous Workloadsrdquo Eighth International
Conference on Grid and Cooperative Computing pp 218ndash244 2009 Aug
24 Jiong Xie Shu Yin Xiaojun Ruan Zhi-yang Ding Yun Tian James Majors
Adam Manzanares and Xiao Qin ldquoImproving mapreduce performance
through data placement in heterogeneous hadoop clustersrdquo in IPDPS
Workshops pp 1ndash9 2010
25 J Tan X Pan S Kavulya R Gandhi and P Narasimhan ldquoMochi Visual
Log-Analysis Based Tools for Debugging Hadooprdquo USENIX Workshop on
Hot Topics in Cloud Computing (HotCloud) pp 1-5 2009
26 Matei Zaharia Andy Konwinski Anthony D Joseph Randy Katz and Ion
Stoica ldquoImproving MapReduce Performance in Heterogeneous
Environmentsrdquo 8th Symposium on Operating Systems Design and
Implementation pp 29ndash42 2008 Dec
27 X Zhang Z Zhong S Feng B Tu and J Fan ldquoImproving Data locality of
MapReduce by Scheduling in Homogeneous Computing Environmentsrdquo in
9th IEEE International Symposium on Parallel and Distributed Processing
with Applications (ISPA) pp 120-126 2011
28 Apache hadoop Available from httphadoopapacheorg
29 MapReduce with a lot of examples for Mining datasets Available from
httpinfolabstanfordedu~ullmanmmdsbookpdf
Page 25
16
422 Priority
為了確保每個Reducer都能挑選Communication locality最高的機器因此
此章節做了改善
1 在Reducer在挑選機器之前先判斷Reducer哪台要先下去做挑選
2 將每台Reducer最高的Communication locality的跟第二高的相減會得到一個
Difference locality在利用Difference locality下去做排序由大到小
3 Difference locality越大的代表那台Reducer要優先做挑選所以就從
Difference locality越大的挑選到Difference locality最小的
圖六 Priority挑選機器流程
1 如圖六所示R1總共的Data block為57單位R2為42單位R3為41單位經過
Shuffle階段之後
2 R1如果選擇P1這台機器能節省的Communication locality就是17單位R1如果選
擇P2這台機器能節省的Communication locality就是18單位R3如果選擇P2這台
機器能節省的Communication locality就是22單位
3 根據Communication locality將第一高的減掉第二高的會得到一個Difference
17
locality
4 根據此Difference locality排出哪個Reducer要先選取機器此例子的順序為
R2再來R3再來R1而Best Fit就是R1再來R2再來R3
Priority可以避免前面的Reducer把機器挑選完迫使只能選擇第二高的
Communication locality使這樣大幅降低的情況給消除而Best fit和Priority這兩
種方法大幅提高了Communication locality的狀況可是卻也導致了Reduce階段
的完成時間變長所以下章節主要敘述將Reduce階段完成時間優化
43 Loading Aware Virtual Machine Mapping
上述的兩種方法Best fitPriority都是為了降低節點彼此之間的溝通成本
但是卻引發了一個問題Reducer執行完成的時間比原始Hadoop還來得長為
了解決此問題本篇論文在這章節提出優化的方法前面兩種方法是根據節點
的Communication locality來決定要在哪一台Worker做運算當決定好Worker
的時候Reducer會先將運算能力較好的虛擬機器拿去做運算這樣使得運算較
快的機器並不會對映到運算較複雜的資料使得較早完成的機器還是得等候還沒
做好的機器造成時間上的延長所以本篇論文針對此部份做優化
圖七 Reducer對應到其相對效率的Worker
18
如圖七所示當Reducer都挑選好要在哪台實體機做在開始執行Reduce程
式之前我們根據要處理的資料量來分配相對映的機器而這虛擬機的交換
並不會影響到Communication locality因為都是在同一台實體機架設的虛擬機
器做交換
19
Chapter 5 Performance Analysis
本實驗以模擬的方式進行利用 C 語言程式撰寫可設定節點數量節點
裡的 Worker 數量資料大小異構性環境低 (h = 1-3)或高 (h = 1-5)透過模擬
的實驗數據分析基於 Hadoop 的 MapReduce 以及本篇論文透過 Map mapping
和 Reduce mapping 的方式進而改善原始 MapReduce 所造成的缺點
51 Communication Locality
本模擬實驗主要探討的是 Communication Locality圖八(a)和圖八(b)模擬環
境為低異構性圖八(c)和圖八(d)為高異構性環境固定每台實體機架設 2 台以
及 5 台虛擬機器固定 Worker 總數量分別為 102030要處理的資料為 900G
Communication locality(vm = 2 h = 1-3)
0
50
100
150
200
250
300
10 20 30
Number of vm
Dat
a lo
cali
ty
Hadoop
Best Fit
Priority
(a)
20
Communication locality(vm = 5 h = 1-3)
0
100
200
300
400
500
600
10 20 30Number of vm
Dat
a lo
cali
ty
Hadoop
Best Fit
Priority
(b)
Communcation Locality(vm = 2 h = 1-5)
0
50
100
150
200
250
300
10 20 30Number of vm
Dat
a lo
cali
ty
Hadoop
Best Fit
Priority
(c)
Communcation locality(vm = 5 h = 1-5)
0
100
200
300
400
500
600
10 20 30
Number of vm
Dat
a lo
cali
ty
Hadoop
Best Fit
Priority
(d)
圖八 Communication locality (a) low heterogeneity vm=2 (b) low heterogeneity
vm=5 (c) high heterogeneity vm=2 (d) high heterogeneity vm=5
21
由圖八(a)可看出本篇論文提出的兩個方法在低異構性環境所能節省的
Communication Locality 比原始的 Hadoop 提出的方法最多節省了 33的
Communication Locality圖八 (b)也最多節省了約 12的 Communication
Locality雖然節省在固定架設的虛擬機器為兩台的時候節省比較多但是
兩個實驗節省的 Communication Locality 量卻相差了快 2 倍原因是在於 Map 階
段完成的資料都儲存在 Local disc兩台實體機在交換資料的時候溝通成本是
很高的而建立在同一台實體機的兩台虛擬機器交換資料則溝通成本卻來的低
很多 因此溝通成本量的提高也會被實體機上架設的虛擬機器的多寡來影
響
由圖八(c)所示在高異構性最多可節省 27的 Communication Locality圖
八(d)則為 15的 Communication Locality分別從圖八(a)圖八(c)圖八(b)以及
圖八(d)可以看得出來Best Fit 和 Priority 不會隨著異構性環境的高低溝通成
本量會有大幅度的改變而 Priority 在節省的 Communication Locality 都會比 Best
Fit 都來的多一點因為Priority 可以避免前面的 Reducer 把機器挑選完迫使
只能選擇第二高的Communication location 因此大幅降低的情況給消除
52 Task Execution Time
此節實驗是要探討 Map 以及 Reduce 完成的時間圖九(a)和圖九(b)為低異構
性環境的實驗圖九(c)和圖九(d)為高異構性環境都是固定每台實體機架設 2
台以及 5 台虛擬機器所以固定虛擬機器總數量分別為 102030要處理
的資料為 900G
22
Map completion time(vm = 2 h = 1-3)
0
20
40
60
80
100
10 20 30
Number of vm
Sec
ond
Hadoop
Best Fit amp Priority
(a)
Map completion time(vm = 5 h = 1-3)
0
20
40
60
80
100
10 20 30Number of vm
Sec
ond
Hadoop
Best Fit amp Priority
(b)
Map completion time(vm = 2 h = 1-5)
0
20
40
60
80
100
10 20 30Number of vm
seco
nd
Hadoop
Best Fit amp Priority
(c)
23
Map completion time(vm = 5 h = 1-5)
0
20
40
60
80
100
10 20 30Number of vm
seco
nd
Hadoop
Best Fit amp Priority
(d)
圖九 Map completion time (a) low heterogeneity vm=2 (b) low heterogeneity
vm=5 (c) high heterogeneity vm=2 (d) high heterogeneity vm=5
圖九(a)圖九(b)圖九(c)以及圖九(d)顯示了本論文提出的兩個方法 Best Fit
和 Priority 他們完成的時間是一樣的因為兩個方法的 Map mapping 概念是一樣
的所以完成時間也會一樣在此實驗裡可發現 Best Fit 和 Priority 也會隨著
實體機上的虛擬機器數量增多而完成時間縮短而縮短的時間最多甚至可以達
到 44也可看出本論文的兩個方法在低異構性環境的效能比在高異構性環境
的效能來的較差所以在異構性越高的環境越能看得出 Best Fit 和 Priority
的優勢
24
Reduce completion time(vm = 2 h = 1-3)
0
20
40
60
80
100
120
10 20 30Number of vm
Sec
ond
Hadoop
Best Fit
Priority
(a)
Reduce completion time(vm = 5 h = 1-3)
0
20
40
60
80
100
120
10 20 30Number of vm
Sec
ond
Hadoop
Best Fit
Priority
(b)
Reduce completion time(vm = 2 h = 1-5)
0
20
40
60
80
100
120
10 20 30Number of vm
seco
nd
Hadoop
Best Fit
Priority
(c)
25
Reduce completion time(vm = 5 h = 1-5)
0
20
40
60
80
100
120
10 20 30Number of vm
Sec
ond
Hadoop
Best Fit
Priority
(d)
圖十 Reduce completion time (a) low heterogeneity vm=2 (b) low
heterogeneity vm=5 (c) high heterogeneity vm=2 (d) high heterogeneity vm=5
而在 Reduce 完成時間的方面不像 Map 的完成時間是一樣的因為選
擇 Reducer 的方式不同造成 Best Fit 以及 Priority 時間完成上有些許不同
如圖十(a)所示節省了 14的時間圖十(b)節省了 16的時間圖十(c)
節省了 23圖十(d)節省了 29由圖十(b)以及圖十(d)可見影響 Reduce
階段完成時間最主要的原因是異構性環境的問題當環境的異構性越高其
所節省的時間越多而圖十(c)以及圖十(d)所示一台實體機架設的虛擬機器數
量影響的範圍比較小
26
Total completion time (vm = 2 pm = 5 h = 1-3)
0 50 100 150 200 250
Hadoop
Best Fit
Priority
Met
hod
Second
Map Reduce
(a)
Total completion time(vm = 5 pm = 2 h = 1-3)
0 50 100 150 200
Hadoop
Best Fit
Priority
Met
hod
Second
Map Reduce
(b)
Total completion time(vm = 2 pm = 5 h = 1-5)
0 50 100 150 200 250
Hadoop
Best Fit
Priority
Met
hod
Second
Map Reduce
(c)
27
Total completion time(vm=5 pm = 2 h = 1-5)
0 50 100 150 200
Hadoop
Best Fit
Priority
Second
Met
hod
Map Reduce
(d)
圖十一 Total completion time (a) low heterogeneity vm=2 pm=5 (b) low
heterogeneity vm=5 pm=2 (c) high heterogeneity vm=2 pm=5 (d) high
heterogeneity vm=5 pm=2
由於前面分別是 Map以及 Reduce的完成時間為了想知道Map以及 Reduce
對於 MapReduce 的整體影響我們將前面的 Map 以及 Reduce 的完成時間在
處理資料的節點固定為 10 台 Worker將其做整合
從圖十一(a)圖十一(b)圖十一(c)圖十一(d)顯示 Best Fit 和 Priority 不論
是在低異構性或高異構性環境MapReduce 完成時間都比 Hadoop 的完成時間縮
短很多在低異構性環境最多可縮短到 29的時間在高異構性環境最多可縮
短 41的時間而造成 Hadoop 跟 Best Fit 和 Priority 在時間上差異如此大的原
因主要是在 Map 階段的完成時間因為Best Fit 和 Priority 是根據 Worker 的
效能來決定要處理的資料大小而 Hadoop 就是分配固定大小的資料給 Worker
運算所以在越高的異構性環境其縮短的時間會越明顯
28
Total completion time with different number of vm (h=1-3)
0
20
40
60
80
100
120
vm=2 vm=3 vm=4Number of vm per physical machine
Sec
ond
Hadoop
Best Fit
Priority
(a)
Total completion time with different number of vm (h=1-5)
0
20
40
60
80
100
120
vm=2 vm=3 vm=4Number of vm per physical machine
Sec
ond
Hadoop
Best Fit
Priority
(b)
圖十二 Total completion time with different number of vm (a) low heterogeneity
vm=2 worker=12 (b) high heterogeneity vm=5 worker=12
圖十二(a)是在低異構性環境圖十二(b)是在高異構性環境並且1 台實體
機架設 2 個3 個4 個虛擬機器使 Worker 數量固定 12 台處理的資料量為
600G
這個模擬實驗主要探討的是在一台實體機架設的虛擬機器數量對於
MapReduce 完成時間是否真正有影響圖十二(a)和圖十二(b)更可以顯示出 Best
Fit 和 Priority 在異構性越高的環境裏且一台實體機架設越多虛擬機器來當作
Worker 的時候可以縮短更多的時間前者會縮短 Map 的完成時間後者會縮
29
短 Reduce 的完成時間而 Hadoop 在異構性環境高的時候也有些微的縮短一
些時間
Total completion time with different data size (h=1-5)
0
20
40
60
80
100
120
140
400 600 800 1000 1200
Data
Sec
ond
Hadoop
Best Fit
Priority
圖十三 Total completion time with different data size
在上述的實驗中在同樣的資料大小處理的 Worker 數量越多的時候其
完成時間會縮短很多但是到達一定的數量的時候其縮短時間的效果就很低
所以就做了此實驗因為本篇論文就是要探討異構性的環境選擇高異構性
環境固定 Worker 數量 20 台資料大小由 400G 到 1200G探討資料大小對
MapReduce 以及 Worker 的影響如圖十三顯示出在 600G 以下的時候Map 加
上 Reduce 完成的時間突然靠近起來代表了當資料量越小的時候Best Fit 和
Priority 的方法跟原始的 Hadoop 的方法優勢會越來越少但相反的是當資料
量越大的時候雖然Best Fit 和 Priority 完成時間會增加但是跟 Hadoop 的
完成時間比會更加突顯
30
Total completion time (best fit)
0
10
20
30
40
50
60
70
80
(Without optimization) (Optimization)
Best Fit
Sec
ond
Map Reduce
(a)
Total completion time (priority)
0
10
20
30
40
50
60
70
80
(Without optimization) (Optimization)
Priority
Sec
ond
Map Reduce
(b)
圖十四 Total completion time of loading aware optimization (a) without
optimal (b) with optimization
圖十四(a)未使用優化技術圖十四(b)是使用優化技術同樣都是在高異構
性環境之下並且1 台實體機架設 5 個虛擬機器使 Worker 數量固定 15 台
處理的資料量為 900G
在本篇論文方法的部份有提到Loading Aware Virtual Machine Mapping的優
化技術由於此實驗上面的實驗數據都已經使用優化技術來改善時間因此
此實驗就是要探討這優化技術對於MapReduce完成時間的影響
由於Loading Aware Virtual Machine Mapping此優化技術是變動同一台實體
31
機內部的Reducer使得原本是根據Communication locality來選擇虛擬機器但
是在挑選的過程中並沒有依據處理資料的大小分配到其處理速度相對映的
虛擬機器而這優化技術就是將同一台實體機內的虛擬機器重新分配由於此
優化技術並不會影響Communication locality所以這部份並沒有在此實驗探討
圖十四(a)圖十四(b)顯示未使用優化技術的Best fit和Priority的MapReduce
完成時間雖然比Hadoop的方法好但是其Reduce phase完成時間上慢了一些
並且可以看出此優化技術並不會影響到Map phase主要影響的是在Reduce階
段在Reduce階段的完成時間上利用優化技術可以將Reduce階段時間縮短其13
32
Chapter 6 Conclusions and Future Works
目前 Hadoop 資料處理的環境還是應用在群集內節點效能是相同的情況下
如果是異構性環境可能就無法這麼有效率的處理本篇論文提出了兩個方法
動態資料切割和虛擬機對映以及一個優化技術 Loading aware virtual machine
mapping模擬實驗結果表明透過本篇方法來得比 Hadoop 縮短 41的時間以
及最多節省 Communication Locality 約莫 33尤其在異構性越高的環境以及
一台實體機器架設的虛擬機器數量越多改善的效果越明顯另外 Loading
aware virtual machine mapping 優化技術改善了 Reduce phase 的完成時間約莫
13
在未來研究上可以朝著動態調整 Reducer 數量的方向前進當固定大小的
資料上其實有時候過多的節點去運算消耗了大量的運算資源卻只得到一些
秒數的縮短如何利用適當的運算資源來得到最大的利益這是相當重要的議
題由於此實驗都是屬於模擬實驗希望在未來可以實際架設在機器上運行
透過 Benchmark得到真正的數據
33
Reference
1 Masato Asahara Shinji Nakadai and Takuya Araki ldquoLoadAtomizer A
Locality and IO Load aware Task Scheduler for MapReducerdquo in 4th IEEE
International Conference on Cloud Computing Technology and Science
(CloudCom) pp 317-324 2012
2 Paul Barham Boris Dragovic Keir Fraser Steven Hand Tim Harris Alex
Ho Rolf Neugebauer Ian Pratt and Andrew Warfield ldquoXen and the Art of
Virtualizationrdquo SOSP 03 Proceedings of the nineteenth ACM symposium
on Operating systems principles vol 37 Issue 5 pp 164-177 December
2003
3 Xiangping Bu Jia Rao and Cheng Zhong Xu ldquoInterference and
Locality-Aware Task Scheduling for MapReduce Applications in Virtual
Clustersrdquo Proceeding HPDC 13 Proceedings of the 22nd international
sym-posium on High-performance parallel and distributed computing pp
227-238 2013
4 Kasim Selcuk Candan Jong Wook Kim Parth Nagarkar Mithila Nagendra
and Ren-wei Yu ldquoScalable Multimedia Data Processing in Server Clustersrdquo
IEEE MultiMedia pp 3-5 2010
5 Fay Chang Jeffrey Dean Sanjay Ghemawat Wilson C Hsieh Deborah A
Wallach Mike Burrws Tushar Chandra Andrew Fikes and Robert EGruber
ldquoBigtable A Distributed Storage System for Structured Datardquo 7th UENIX
Symposium on Operating Systems Design and Implementation pp 205-218
2006
6 P C Chen Y L Su J B Chang and C K Shieh ldquoVariable-Sized Map and
Locality-Aware Reduce on Public-Resource Gridsrdquo in Proceedings
Conference Grid and Pervasive Computing (GPC 2010) pp 234-243 2010
May
7 Q Chen D Zhang M Guo Q Deng and S Guo ldquoSamr A self adaptive
mapreduce scheduling algorithm in heterogeneous environmentrdquo in 10th
IEEE International Conference on Computer and Information Technology
CIT rsquo10 (Washington DC USA) pp 2736ndash2743 2010
8 Jeffrey Dean and Sanjay Ghemawat ldquoMapReduce Simplified Data
Processing on Large Clustersrdquo Communications of the ACM vol 51 no 1
pp 107ndash113 2008
9 Yuanquan Fan Weiguo Wu Haijun Cao Huo Zhu Xu Zhao and Wei Wei
34
ldquoA heterogeneity-aware data distribution and rebalance method in Hadoop
clusterrdquo 2012 Seventh ChinaGrid Annual Conference pp 176-181 2012
10 Zacharia Fadika Elif Dede Jessica Hartog and Madhusudhan Govindaraju
ldquoMARLA MapReduce for Heterogeneous Clustersrdquo in 12th IEEEACM
International Symposium on Cluster Cloud and Grid Computing pp 49-56
2012
11 Sanjay Ghemawat Howard Gobioff and ShunTak Leung ldquoThe Google file
systemrdquo In Proceedings of 19th Symposium on Operating Systems
Principles pp 29-43 2003
12 Sven Groot ldquoJumbo Beyond MapReduce for Workload Balancingrdquo Fuzzy
Systems and Knowledge Discovery (FSKD) 2011 Eighth International
Conference on Cloud Computing Technology and Science vol 4 pp
2675-2678 2011 July
13 B Gufler N Augsten A Reiser and A Kemper ldquoHandling Data Skew in
MapReducerdquo in Proceedings of CLOSER pp 574ndash583 2011
14 Mohammad Hammoud and Majd F Sakr ldquoLocality-Aware Reduce Task
Scheduling for MapReducerdquo Third IEEE International Conference on
Cloud Computing Technology and Science pp 570-576 2011
15 C He Y Lu and D Swanson ldquoMatch-making A New MapReduce
Scheduling Techniquerdquo IEEE Third International Conference on Cloud
Computing Technology and Science (CloudCom) pp 40ndash47 2011
16 Hung Chang Hsiao Huesh Yi Chung Haiying Shen and Yu Chang
ChaoldquoLoad Re-balancing for Distributed File Systems in Cloudsrdquo IEEE
Trans on Parallel and Distributed Systems vol24 pp 951-962 2012
17 Shadi Ibrahim Hai Jin Lu Lu Song Wu Bingsheng He and Li Qi ldquoLEEN
LocalityFairness Aware Key Partitioning for MapReduce in the Cloudrdquo
2010 IEEE Second International Conference on Cloud Computing
Technology and Science (CloudCom) pp 17ndash24 2010
18 S Ibrahim H Jin L Lu L Qi S Wu and X Shi ldquoEvaluating MapReduce
on Virtual Machines The Hadoop Caserdquo Proceedings Conference Cloud
Computing (CloudCom 2009) Springer LNCS pp 519-528 2009 Dec
19 C Jin and R Buyya ldquoMapreduce programming model for net-based cloud
computingrdquo in Proceedings of the 15th International Euro-Par Conference
on Parallel Processing Euro-Par (Berlin Heidelberg) pp 417ndash428 2009
20 R Nanduri N Maheshwari A Reddyraja and V Varma ldquoJob aware
scheduling algorithm for Mapreduce frameworkrdquo in 3rd International
Conference on Cloud Computing Technology and Science
CLOUDCOM rsquo11 (Washington DC USA) pp 724ndash729 2011
35
21 Andrew J Page and Thomas J Naughton ldquoDynamic task scheduling using
genetic algorithms for heterogeneous distributed computingrdquo in 19th IEEE
International Parallel and Distributed Processing Symposium pp 189a
2005 April
22 Xiaoyu Sun Chen He and Ying Lu ldquoESAMR An Enhanced Self-Adaptive
MapReduce Scheduling Algorithmrdquo 2012 IEEE 18th International
Conference on Parallel and Distributed Systems pp 148-155 2012
23 Chao Tian Haojie Zhou Yongqiang He and Li Zha ldquoA Dynamic
MapReduce Scheduler for Heterogeneous Workloadsrdquo Eighth International
Conference on Grid and Cooperative Computing pp 218ndash244 2009 Aug
24 Jiong Xie Shu Yin Xiaojun Ruan Zhi-yang Ding Yun Tian James Majors
Adam Manzanares and Xiao Qin ldquoImproving mapreduce performance
through data placement in heterogeneous hadoop clustersrdquo in IPDPS
Workshops pp 1ndash9 2010
25 J Tan X Pan S Kavulya R Gandhi and P Narasimhan ldquoMochi Visual
Log-Analysis Based Tools for Debugging Hadooprdquo USENIX Workshop on
Hot Topics in Cloud Computing (HotCloud) pp 1-5 2009
26 Matei Zaharia Andy Konwinski Anthony D Joseph Randy Katz and Ion
Stoica ldquoImproving MapReduce Performance in Heterogeneous
Environmentsrdquo 8th Symposium on Operating Systems Design and
Implementation pp 29ndash42 2008 Dec
27 X Zhang Z Zhong S Feng B Tu and J Fan ldquoImproving Data locality of
MapReduce by Scheduling in Homogeneous Computing Environmentsrdquo in
9th IEEE International Symposium on Parallel and Distributed Processing
with Applications (ISPA) pp 120-126 2011
28 Apache hadoop Available from httphadoopapacheorg
29 MapReduce with a lot of examples for Mining datasets Available from
httpinfolabstanfordedu~ullmanmmdsbookpdf
Page 26
17
locality
4 根據此Difference locality排出哪個Reducer要先選取機器此例子的順序為
R2再來R3再來R1而Best Fit就是R1再來R2再來R3
Priority可以避免前面的Reducer把機器挑選完迫使只能選擇第二高的
Communication locality使這樣大幅降低的情況給消除而Best fit和Priority這兩
種方法大幅提高了Communication locality的狀況可是卻也導致了Reduce階段
的完成時間變長所以下章節主要敘述將Reduce階段完成時間優化
43 Loading Aware Virtual Machine Mapping
上述的兩種方法Best fitPriority都是為了降低節點彼此之間的溝通成本
但是卻引發了一個問題Reducer執行完成的時間比原始Hadoop還來得長為
了解決此問題本篇論文在這章節提出優化的方法前面兩種方法是根據節點
的Communication locality來決定要在哪一台Worker做運算當決定好Worker
的時候Reducer會先將運算能力較好的虛擬機器拿去做運算這樣使得運算較
快的機器並不會對映到運算較複雜的資料使得較早完成的機器還是得等候還沒
做好的機器造成時間上的延長所以本篇論文針對此部份做優化
圖七 Reducer對應到其相對效率的Worker
18
如圖七所示當Reducer都挑選好要在哪台實體機做在開始執行Reduce程
式之前我們根據要處理的資料量來分配相對映的機器而這虛擬機的交換
並不會影響到Communication locality因為都是在同一台實體機架設的虛擬機
器做交換
19
Chapter 5 Performance Analysis
本實驗以模擬的方式進行利用 C 語言程式撰寫可設定節點數量節點
裡的 Worker 數量資料大小異構性環境低 (h = 1-3)或高 (h = 1-5)透過模擬
的實驗數據分析基於 Hadoop 的 MapReduce 以及本篇論文透過 Map mapping
和 Reduce mapping 的方式進而改善原始 MapReduce 所造成的缺點
51 Communication Locality
本模擬實驗主要探討的是 Communication Locality圖八(a)和圖八(b)模擬環
境為低異構性圖八(c)和圖八(d)為高異構性環境固定每台實體機架設 2 台以
及 5 台虛擬機器固定 Worker 總數量分別為 102030要處理的資料為 900G
Communication locality(vm = 2 h = 1-3)
0
50
100
150
200
250
300
10 20 30
Number of vm
Dat
a lo
cali
ty
Hadoop
Best Fit
Priority
(a)
20
Communication locality(vm = 5 h = 1-3)
0
100
200
300
400
500
600
10 20 30Number of vm
Dat
a lo
cali
ty
Hadoop
Best Fit
Priority
(b)
Communcation Locality(vm = 2 h = 1-5)
0
50
100
150
200
250
300
10 20 30Number of vm
Dat
a lo
cali
ty
Hadoop
Best Fit
Priority
(c)
Communcation locality(vm = 5 h = 1-5)
0
100
200
300
400
500
600
10 20 30
Number of vm
Dat
a lo
cali
ty
Hadoop
Best Fit
Priority
(d)
圖八 Communication locality (a) low heterogeneity vm=2 (b) low heterogeneity
vm=5 (c) high heterogeneity vm=2 (d) high heterogeneity vm=5
21
由圖八(a)可看出本篇論文提出的兩個方法在低異構性環境所能節省的
Communication Locality 比原始的 Hadoop 提出的方法最多節省了 33的
Communication Locality圖八 (b)也最多節省了約 12的 Communication
Locality雖然節省在固定架設的虛擬機器為兩台的時候節省比較多但是
兩個實驗節省的 Communication Locality 量卻相差了快 2 倍原因是在於 Map 階
段完成的資料都儲存在 Local disc兩台實體機在交換資料的時候溝通成本是
很高的而建立在同一台實體機的兩台虛擬機器交換資料則溝通成本卻來的低
很多 因此溝通成本量的提高也會被實體機上架設的虛擬機器的多寡來影
響
由圖八(c)所示在高異構性最多可節省 27的 Communication Locality圖
八(d)則為 15的 Communication Locality分別從圖八(a)圖八(c)圖八(b)以及
圖八(d)可以看得出來Best Fit 和 Priority 不會隨著異構性環境的高低溝通成
本量會有大幅度的改變而 Priority 在節省的 Communication Locality 都會比 Best
Fit 都來的多一點因為Priority 可以避免前面的 Reducer 把機器挑選完迫使
只能選擇第二高的Communication location 因此大幅降低的情況給消除
52 Task Execution Time
此節實驗是要探討 Map 以及 Reduce 完成的時間圖九(a)和圖九(b)為低異構
性環境的實驗圖九(c)和圖九(d)為高異構性環境都是固定每台實體機架設 2
台以及 5 台虛擬機器所以固定虛擬機器總數量分別為 102030要處理
的資料為 900G
22
Map completion time(vm = 2 h = 1-3)
0
20
40
60
80
100
10 20 30
Number of vm
Sec
ond
Hadoop
Best Fit amp Priority
(a)
Map completion time(vm = 5 h = 1-3)
0
20
40
60
80
100
10 20 30Number of vm
Sec
ond
Hadoop
Best Fit amp Priority
(b)
Map completion time(vm = 2 h = 1-5)
0
20
40
60
80
100
10 20 30Number of vm
seco
nd
Hadoop
Best Fit amp Priority
(c)
23
Map completion time(vm = 5 h = 1-5)
0
20
40
60
80
100
10 20 30Number of vm
seco
nd
Hadoop
Best Fit amp Priority
(d)
圖九 Map completion time (a) low heterogeneity vm=2 (b) low heterogeneity
vm=5 (c) high heterogeneity vm=2 (d) high heterogeneity vm=5
圖九(a)圖九(b)圖九(c)以及圖九(d)顯示了本論文提出的兩個方法 Best Fit
和 Priority 他們完成的時間是一樣的因為兩個方法的 Map mapping 概念是一樣
的所以完成時間也會一樣在此實驗裡可發現 Best Fit 和 Priority 也會隨著
實體機上的虛擬機器數量增多而完成時間縮短而縮短的時間最多甚至可以達
到 44也可看出本論文的兩個方法在低異構性環境的效能比在高異構性環境
的效能來的較差所以在異構性越高的環境越能看得出 Best Fit 和 Priority
的優勢
24
Reduce completion time(vm = 2 h = 1-3)
0
20
40
60
80
100
120
10 20 30Number of vm
Sec
ond
Hadoop
Best Fit
Priority
(a)
Reduce completion time(vm = 5 h = 1-3)
0
20
40
60
80
100
120
10 20 30Number of vm
Sec
ond
Hadoop
Best Fit
Priority
(b)
Reduce completion time(vm = 2 h = 1-5)
0
20
40
60
80
100
120
10 20 30Number of vm
seco
nd
Hadoop
Best Fit
Priority
(c)
25
Reduce completion time(vm = 5 h = 1-5)
0
20
40
60
80
100
120
10 20 30Number of vm
Sec
ond
Hadoop
Best Fit
Priority
(d)
圖十 Reduce completion time (a) low heterogeneity vm=2 (b) low
heterogeneity vm=5 (c) high heterogeneity vm=2 (d) high heterogeneity vm=5
而在 Reduce 完成時間的方面不像 Map 的完成時間是一樣的因為選
擇 Reducer 的方式不同造成 Best Fit 以及 Priority 時間完成上有些許不同
如圖十(a)所示節省了 14的時間圖十(b)節省了 16的時間圖十(c)
節省了 23圖十(d)節省了 29由圖十(b)以及圖十(d)可見影響 Reduce
階段完成時間最主要的原因是異構性環境的問題當環境的異構性越高其
所節省的時間越多而圖十(c)以及圖十(d)所示一台實體機架設的虛擬機器數
量影響的範圍比較小
26
Total completion time (vm = 2 pm = 5 h = 1-3)
0 50 100 150 200 250
Hadoop
Best Fit
Priority
Met
hod
Second
Map Reduce
(a)
Total completion time(vm = 5 pm = 2 h = 1-3)
0 50 100 150 200
Hadoop
Best Fit
Priority
Met
hod
Second
Map Reduce
(b)
Total completion time(vm = 2 pm = 5 h = 1-5)
0 50 100 150 200 250
Hadoop
Best Fit
Priority
Met
hod
Second
Map Reduce
(c)
27
Total completion time(vm=5 pm = 2 h = 1-5)
0 50 100 150 200
Hadoop
Best Fit
Priority
Second
Met
hod
Map Reduce
(d)
圖十一 Total completion time (a) low heterogeneity vm=2 pm=5 (b) low
heterogeneity vm=5 pm=2 (c) high heterogeneity vm=2 pm=5 (d) high
heterogeneity vm=5 pm=2
由於前面分別是 Map以及 Reduce的完成時間為了想知道Map以及 Reduce
對於 MapReduce 的整體影響我們將前面的 Map 以及 Reduce 的完成時間在
處理資料的節點固定為 10 台 Worker將其做整合
從圖十一(a)圖十一(b)圖十一(c)圖十一(d)顯示 Best Fit 和 Priority 不論
是在低異構性或高異構性環境MapReduce 完成時間都比 Hadoop 的完成時間縮
短很多在低異構性環境最多可縮短到 29的時間在高異構性環境最多可縮
短 41的時間而造成 Hadoop 跟 Best Fit 和 Priority 在時間上差異如此大的原
因主要是在 Map 階段的完成時間因為Best Fit 和 Priority 是根據 Worker 的
效能來決定要處理的資料大小而 Hadoop 就是分配固定大小的資料給 Worker
運算所以在越高的異構性環境其縮短的時間會越明顯
28
Total completion time with different number of vm (h=1-3)
0
20
40
60
80
100
120
vm=2 vm=3 vm=4Number of vm per physical machine
Sec
ond
Hadoop
Best Fit
Priority
(a)
Total completion time with different number of vm (h=1-5)
0
20
40
60
80
100
120
vm=2 vm=3 vm=4Number of vm per physical machine
Sec
ond
Hadoop
Best Fit
Priority
(b)
圖十二 Total completion time with different number of vm (a) low heterogeneity
vm=2 worker=12 (b) high heterogeneity vm=5 worker=12
圖十二(a)是在低異構性環境圖十二(b)是在高異構性環境並且1 台實體
機架設 2 個3 個4 個虛擬機器使 Worker 數量固定 12 台處理的資料量為
600G
這個模擬實驗主要探討的是在一台實體機架設的虛擬機器數量對於
MapReduce 完成時間是否真正有影響圖十二(a)和圖十二(b)更可以顯示出 Best
Fit 和 Priority 在異構性越高的環境裏且一台實體機架設越多虛擬機器來當作
Worker 的時候可以縮短更多的時間前者會縮短 Map 的完成時間後者會縮
29
短 Reduce 的完成時間而 Hadoop 在異構性環境高的時候也有些微的縮短一
些時間
Total completion time with different data size (h=1-5)
0
20
40
60
80
100
120
140
400 600 800 1000 1200
Data
Sec
ond
Hadoop
Best Fit
Priority
圖十三 Total completion time with different data size
在上述的實驗中在同樣的資料大小處理的 Worker 數量越多的時候其
完成時間會縮短很多但是到達一定的數量的時候其縮短時間的效果就很低
所以就做了此實驗因為本篇論文就是要探討異構性的環境選擇高異構性
環境固定 Worker 數量 20 台資料大小由 400G 到 1200G探討資料大小對
MapReduce 以及 Worker 的影響如圖十三顯示出在 600G 以下的時候Map 加
上 Reduce 完成的時間突然靠近起來代表了當資料量越小的時候Best Fit 和
Priority 的方法跟原始的 Hadoop 的方法優勢會越來越少但相反的是當資料
量越大的時候雖然Best Fit 和 Priority 完成時間會增加但是跟 Hadoop 的
完成時間比會更加突顯
30
Total completion time (best fit)
0
10
20
30
40
50
60
70
80
(Without optimization) (Optimization)
Best Fit
Sec
ond
Map Reduce
(a)
Total completion time (priority)
0
10
20
30
40
50
60
70
80
(Without optimization) (Optimization)
Priority
Sec
ond
Map Reduce
(b)
圖十四 Total completion time of loading aware optimization (a) without
optimal (b) with optimization
圖十四(a)未使用優化技術圖十四(b)是使用優化技術同樣都是在高異構
性環境之下並且1 台實體機架設 5 個虛擬機器使 Worker 數量固定 15 台
處理的資料量為 900G
在本篇論文方法的部份有提到Loading Aware Virtual Machine Mapping的優
化技術由於此實驗上面的實驗數據都已經使用優化技術來改善時間因此
此實驗就是要探討這優化技術對於MapReduce完成時間的影響
由於Loading Aware Virtual Machine Mapping此優化技術是變動同一台實體
31
機內部的Reducer使得原本是根據Communication locality來選擇虛擬機器但
是在挑選的過程中並沒有依據處理資料的大小分配到其處理速度相對映的
虛擬機器而這優化技術就是將同一台實體機內的虛擬機器重新分配由於此
優化技術並不會影響Communication locality所以這部份並沒有在此實驗探討
圖十四(a)圖十四(b)顯示未使用優化技術的Best fit和Priority的MapReduce
完成時間雖然比Hadoop的方法好但是其Reduce phase完成時間上慢了一些
並且可以看出此優化技術並不會影響到Map phase主要影響的是在Reduce階
段在Reduce階段的完成時間上利用優化技術可以將Reduce階段時間縮短其13
32
Chapter 6 Conclusions and Future Works
目前 Hadoop 資料處理的環境還是應用在群集內節點效能是相同的情況下
如果是異構性環境可能就無法這麼有效率的處理本篇論文提出了兩個方法
動態資料切割和虛擬機對映以及一個優化技術 Loading aware virtual machine
mapping模擬實驗結果表明透過本篇方法來得比 Hadoop 縮短 41的時間以
及最多節省 Communication Locality 約莫 33尤其在異構性越高的環境以及
一台實體機器架設的虛擬機器數量越多改善的效果越明顯另外 Loading
aware virtual machine mapping 優化技術改善了 Reduce phase 的完成時間約莫
13
在未來研究上可以朝著動態調整 Reducer 數量的方向前進當固定大小的
資料上其實有時候過多的節點去運算消耗了大量的運算資源卻只得到一些
秒數的縮短如何利用適當的運算資源來得到最大的利益這是相當重要的議
題由於此實驗都是屬於模擬實驗希望在未來可以實際架設在機器上運行
透過 Benchmark得到真正的數據
33
Reference
1 Masato Asahara Shinji Nakadai and Takuya Araki ldquoLoadAtomizer A
Locality and IO Load aware Task Scheduler for MapReducerdquo in 4th IEEE
International Conference on Cloud Computing Technology and Science
(CloudCom) pp 317-324 2012
2 Paul Barham Boris Dragovic Keir Fraser Steven Hand Tim Harris Alex
Ho Rolf Neugebauer Ian Pratt and Andrew Warfield ldquoXen and the Art of
Virtualizationrdquo SOSP 03 Proceedings of the nineteenth ACM symposium
on Operating systems principles vol 37 Issue 5 pp 164-177 December
2003
3 Xiangping Bu Jia Rao and Cheng Zhong Xu ldquoInterference and
Locality-Aware Task Scheduling for MapReduce Applications in Virtual
Clustersrdquo Proceeding HPDC 13 Proceedings of the 22nd international
sym-posium on High-performance parallel and distributed computing pp
227-238 2013
4 Kasim Selcuk Candan Jong Wook Kim Parth Nagarkar Mithila Nagendra
and Ren-wei Yu ldquoScalable Multimedia Data Processing in Server Clustersrdquo
IEEE MultiMedia pp 3-5 2010
5 Fay Chang Jeffrey Dean Sanjay Ghemawat Wilson C Hsieh Deborah A
Wallach Mike Burrws Tushar Chandra Andrew Fikes and Robert EGruber
ldquoBigtable A Distributed Storage System for Structured Datardquo 7th UENIX
Symposium on Operating Systems Design and Implementation pp 205-218
2006
6 P C Chen Y L Su J B Chang and C K Shieh ldquoVariable-Sized Map and
Locality-Aware Reduce on Public-Resource Gridsrdquo in Proceedings
Conference Grid and Pervasive Computing (GPC 2010) pp 234-243 2010
May
7 Q Chen D Zhang M Guo Q Deng and S Guo ldquoSamr A self adaptive
mapreduce scheduling algorithm in heterogeneous environmentrdquo in 10th
IEEE International Conference on Computer and Information Technology
CIT rsquo10 (Washington DC USA) pp 2736ndash2743 2010
8 Jeffrey Dean and Sanjay Ghemawat ldquoMapReduce Simplified Data
Processing on Large Clustersrdquo Communications of the ACM vol 51 no 1
pp 107ndash113 2008
9 Yuanquan Fan Weiguo Wu Haijun Cao Huo Zhu Xu Zhao and Wei Wei
34
ldquoA heterogeneity-aware data distribution and rebalance method in Hadoop
clusterrdquo 2012 Seventh ChinaGrid Annual Conference pp 176-181 2012
10 Zacharia Fadika Elif Dede Jessica Hartog and Madhusudhan Govindaraju
ldquoMARLA MapReduce for Heterogeneous Clustersrdquo in 12th IEEEACM
International Symposium on Cluster Cloud and Grid Computing pp 49-56
2012
11 Sanjay Ghemawat Howard Gobioff and ShunTak Leung ldquoThe Google file
systemrdquo In Proceedings of 19th Symposium on Operating Systems
Principles pp 29-43 2003
12 Sven Groot ldquoJumbo Beyond MapReduce for Workload Balancingrdquo Fuzzy
Systems and Knowledge Discovery (FSKD) 2011 Eighth International
Conference on Cloud Computing Technology and Science vol 4 pp
2675-2678 2011 July
13 B Gufler N Augsten A Reiser and A Kemper ldquoHandling Data Skew in
MapReducerdquo in Proceedings of CLOSER pp 574ndash583 2011
14 Mohammad Hammoud and Majd F Sakr ldquoLocality-Aware Reduce Task
Scheduling for MapReducerdquo Third IEEE International Conference on
Cloud Computing Technology and Science pp 570-576 2011
15 C He Y Lu and D Swanson ldquoMatch-making A New MapReduce
Scheduling Techniquerdquo IEEE Third International Conference on Cloud
Computing Technology and Science (CloudCom) pp 40ndash47 2011
16 Hung Chang Hsiao Huesh Yi Chung Haiying Shen and Yu Chang
ChaoldquoLoad Re-balancing for Distributed File Systems in Cloudsrdquo IEEE
Trans on Parallel and Distributed Systems vol24 pp 951-962 2012
17 Shadi Ibrahim Hai Jin Lu Lu Song Wu Bingsheng He and Li Qi ldquoLEEN
LocalityFairness Aware Key Partitioning for MapReduce in the Cloudrdquo
2010 IEEE Second International Conference on Cloud Computing
Technology and Science (CloudCom) pp 17ndash24 2010
18 S Ibrahim H Jin L Lu L Qi S Wu and X Shi ldquoEvaluating MapReduce
on Virtual Machines The Hadoop Caserdquo Proceedings Conference Cloud
Computing (CloudCom 2009) Springer LNCS pp 519-528 2009 Dec
19 C Jin and R Buyya ldquoMapreduce programming model for net-based cloud
computingrdquo in Proceedings of the 15th International Euro-Par Conference
on Parallel Processing Euro-Par (Berlin Heidelberg) pp 417ndash428 2009
20 R Nanduri N Maheshwari A Reddyraja and V Varma ldquoJob aware
scheduling algorithm for Mapreduce frameworkrdquo in 3rd International
Conference on Cloud Computing Technology and Science
CLOUDCOM rsquo11 (Washington DC USA) pp 724ndash729 2011
35
21 Andrew J Page and Thomas J Naughton ldquoDynamic task scheduling using
genetic algorithms for heterogeneous distributed computingrdquo in 19th IEEE
International Parallel and Distributed Processing Symposium pp 189a
2005 April
22 Xiaoyu Sun Chen He and Ying Lu ldquoESAMR An Enhanced Self-Adaptive
MapReduce Scheduling Algorithmrdquo 2012 IEEE 18th International
Conference on Parallel and Distributed Systems pp 148-155 2012
23 Chao Tian Haojie Zhou Yongqiang He and Li Zha ldquoA Dynamic
MapReduce Scheduler for Heterogeneous Workloadsrdquo Eighth International
Conference on Grid and Cooperative Computing pp 218ndash244 2009 Aug
24 Jiong Xie Shu Yin Xiaojun Ruan Zhi-yang Ding Yun Tian James Majors
Adam Manzanares and Xiao Qin ldquoImproving mapreduce performance
through data placement in heterogeneous hadoop clustersrdquo in IPDPS
Workshops pp 1ndash9 2010
25 J Tan X Pan S Kavulya R Gandhi and P Narasimhan ldquoMochi Visual
Log-Analysis Based Tools for Debugging Hadooprdquo USENIX Workshop on
Hot Topics in Cloud Computing (HotCloud) pp 1-5 2009
26 Matei Zaharia Andy Konwinski Anthony D Joseph Randy Katz and Ion
Stoica ldquoImproving MapReduce Performance in Heterogeneous
Environmentsrdquo 8th Symposium on Operating Systems Design and
Implementation pp 29ndash42 2008 Dec
27 X Zhang Z Zhong S Feng B Tu and J Fan ldquoImproving Data locality of
MapReduce by Scheduling in Homogeneous Computing Environmentsrdquo in
9th IEEE International Symposium on Parallel and Distributed Processing
with Applications (ISPA) pp 120-126 2011
28 Apache hadoop Available from httphadoopapacheorg
29 MapReduce with a lot of examples for Mining datasets Available from
httpinfolabstanfordedu~ullmanmmdsbookpdf
Page 27
18
如圖七所示當Reducer都挑選好要在哪台實體機做在開始執行Reduce程
式之前我們根據要處理的資料量來分配相對映的機器而這虛擬機的交換
並不會影響到Communication locality因為都是在同一台實體機架設的虛擬機
器做交換
19
Chapter 5 Performance Analysis
本實驗以模擬的方式進行利用 C 語言程式撰寫可設定節點數量節點
裡的 Worker 數量資料大小異構性環境低 (h = 1-3)或高 (h = 1-5)透過模擬
的實驗數據分析基於 Hadoop 的 MapReduce 以及本篇論文透過 Map mapping
和 Reduce mapping 的方式進而改善原始 MapReduce 所造成的缺點
51 Communication Locality
本模擬實驗主要探討的是 Communication Locality圖八(a)和圖八(b)模擬環
境為低異構性圖八(c)和圖八(d)為高異構性環境固定每台實體機架設 2 台以
及 5 台虛擬機器固定 Worker 總數量分別為 102030要處理的資料為 900G
Communication locality(vm = 2 h = 1-3)
0
50
100
150
200
250
300
10 20 30
Number of vm
Dat
a lo
cali
ty
Hadoop
Best Fit
Priority
(a)
20
Communication locality(vm = 5 h = 1-3)
0
100
200
300
400
500
600
10 20 30Number of vm
Dat
a lo
cali
ty
Hadoop
Best Fit
Priority
(b)
Communcation Locality(vm = 2 h = 1-5)
0
50
100
150
200
250
300
10 20 30Number of vm
Dat
a lo
cali
ty
Hadoop
Best Fit
Priority
(c)
Communcation locality(vm = 5 h = 1-5)
0
100
200
300
400
500
600
10 20 30
Number of vm
Dat
a lo
cali
ty
Hadoop
Best Fit
Priority
(d)
圖八 Communication locality (a) low heterogeneity vm=2 (b) low heterogeneity
vm=5 (c) high heterogeneity vm=2 (d) high heterogeneity vm=5
21
由圖八(a)可看出本篇論文提出的兩個方法在低異構性環境所能節省的
Communication Locality 比原始的 Hadoop 提出的方法最多節省了 33的
Communication Locality圖八 (b)也最多節省了約 12的 Communication
Locality雖然節省在固定架設的虛擬機器為兩台的時候節省比較多但是
兩個實驗節省的 Communication Locality 量卻相差了快 2 倍原因是在於 Map 階
段完成的資料都儲存在 Local disc兩台實體機在交換資料的時候溝通成本是
很高的而建立在同一台實體機的兩台虛擬機器交換資料則溝通成本卻來的低
很多 因此溝通成本量的提高也會被實體機上架設的虛擬機器的多寡來影
響
由圖八(c)所示在高異構性最多可節省 27的 Communication Locality圖
八(d)則為 15的 Communication Locality分別從圖八(a)圖八(c)圖八(b)以及
圖八(d)可以看得出來Best Fit 和 Priority 不會隨著異構性環境的高低溝通成
本量會有大幅度的改變而 Priority 在節省的 Communication Locality 都會比 Best
Fit 都來的多一點因為Priority 可以避免前面的 Reducer 把機器挑選完迫使
只能選擇第二高的Communication location 因此大幅降低的情況給消除
52 Task Execution Time
此節實驗是要探討 Map 以及 Reduce 完成的時間圖九(a)和圖九(b)為低異構
性環境的實驗圖九(c)和圖九(d)為高異構性環境都是固定每台實體機架設 2
台以及 5 台虛擬機器所以固定虛擬機器總數量分別為 102030要處理
的資料為 900G
22
Map completion time(vm = 2 h = 1-3)
0
20
40
60
80
100
10 20 30
Number of vm
Sec
ond
Hadoop
Best Fit amp Priority
(a)
Map completion time(vm = 5 h = 1-3)
0
20
40
60
80
100
10 20 30Number of vm
Sec
ond
Hadoop
Best Fit amp Priority
(b)
Map completion time(vm = 2 h = 1-5)
0
20
40
60
80
100
10 20 30Number of vm
seco
nd
Hadoop
Best Fit amp Priority
(c)
23
Map completion time(vm = 5 h = 1-5)
0
20
40
60
80
100
10 20 30Number of vm
seco
nd
Hadoop
Best Fit amp Priority
(d)
圖九 Map completion time (a) low heterogeneity vm=2 (b) low heterogeneity
vm=5 (c) high heterogeneity vm=2 (d) high heterogeneity vm=5
圖九(a)圖九(b)圖九(c)以及圖九(d)顯示了本論文提出的兩個方法 Best Fit
和 Priority 他們完成的時間是一樣的因為兩個方法的 Map mapping 概念是一樣
的所以完成時間也會一樣在此實驗裡可發現 Best Fit 和 Priority 也會隨著
實體機上的虛擬機器數量增多而完成時間縮短而縮短的時間最多甚至可以達
到 44也可看出本論文的兩個方法在低異構性環境的效能比在高異構性環境
的效能來的較差所以在異構性越高的環境越能看得出 Best Fit 和 Priority
的優勢
24
Reduce completion time(vm = 2 h = 1-3)
0
20
40
60
80
100
120
10 20 30Number of vm
Sec
ond
Hadoop
Best Fit
Priority
(a)
Reduce completion time(vm = 5 h = 1-3)
0
20
40
60
80
100
120
10 20 30Number of vm
Sec
ond
Hadoop
Best Fit
Priority
(b)
Reduce completion time(vm = 2 h = 1-5)
0
20
40
60
80
100
120
10 20 30Number of vm
seco
nd
Hadoop
Best Fit
Priority
(c)
25
Reduce completion time(vm = 5 h = 1-5)
0
20
40
60
80
100
120
10 20 30Number of vm
Sec
ond
Hadoop
Best Fit
Priority
(d)
圖十 Reduce completion time (a) low heterogeneity vm=2 (b) low
heterogeneity vm=5 (c) high heterogeneity vm=2 (d) high heterogeneity vm=5
而在 Reduce 完成時間的方面不像 Map 的完成時間是一樣的因為選
擇 Reducer 的方式不同造成 Best Fit 以及 Priority 時間完成上有些許不同
如圖十(a)所示節省了 14的時間圖十(b)節省了 16的時間圖十(c)
節省了 23圖十(d)節省了 29由圖十(b)以及圖十(d)可見影響 Reduce
階段完成時間最主要的原因是異構性環境的問題當環境的異構性越高其
所節省的時間越多而圖十(c)以及圖十(d)所示一台實體機架設的虛擬機器數
量影響的範圍比較小
26
Total completion time (vm = 2 pm = 5 h = 1-3)
0 50 100 150 200 250
Hadoop
Best Fit
Priority
Met
hod
Second
Map Reduce
(a)
Total completion time(vm = 5 pm = 2 h = 1-3)
0 50 100 150 200
Hadoop
Best Fit
Priority
Met
hod
Second
Map Reduce
(b)
Total completion time(vm = 2 pm = 5 h = 1-5)
0 50 100 150 200 250
Hadoop
Best Fit
Priority
Met
hod
Second
Map Reduce
(c)
27
Total completion time(vm=5 pm = 2 h = 1-5)
0 50 100 150 200
Hadoop
Best Fit
Priority
Second
Met
hod
Map Reduce
(d)
圖十一 Total completion time (a) low heterogeneity vm=2 pm=5 (b) low
heterogeneity vm=5 pm=2 (c) high heterogeneity vm=2 pm=5 (d) high
heterogeneity vm=5 pm=2
由於前面分別是 Map以及 Reduce的完成時間為了想知道Map以及 Reduce
對於 MapReduce 的整體影響我們將前面的 Map 以及 Reduce 的完成時間在
處理資料的節點固定為 10 台 Worker將其做整合
從圖十一(a)圖十一(b)圖十一(c)圖十一(d)顯示 Best Fit 和 Priority 不論
是在低異構性或高異構性環境MapReduce 完成時間都比 Hadoop 的完成時間縮
短很多在低異構性環境最多可縮短到 29的時間在高異構性環境最多可縮
短 41的時間而造成 Hadoop 跟 Best Fit 和 Priority 在時間上差異如此大的原
因主要是在 Map 階段的完成時間因為Best Fit 和 Priority 是根據 Worker 的
效能來決定要處理的資料大小而 Hadoop 就是分配固定大小的資料給 Worker
運算所以在越高的異構性環境其縮短的時間會越明顯
28
Total completion time with different number of vm (h=1-3)
0
20
40
60
80
100
120
vm=2 vm=3 vm=4Number of vm per physical machine
Sec
ond
Hadoop
Best Fit
Priority
(a)
Total completion time with different number of vm (h=1-5)
0
20
40
60
80
100
120
vm=2 vm=3 vm=4Number of vm per physical machine
Sec
ond
Hadoop
Best Fit
Priority
(b)
圖十二 Total completion time with different number of vm (a) low heterogeneity
vm=2 worker=12 (b) high heterogeneity vm=5 worker=12
圖十二(a)是在低異構性環境圖十二(b)是在高異構性環境並且1 台實體
機架設 2 個3 個4 個虛擬機器使 Worker 數量固定 12 台處理的資料量為
600G
這個模擬實驗主要探討的是在一台實體機架設的虛擬機器數量對於
MapReduce 完成時間是否真正有影響圖十二(a)和圖十二(b)更可以顯示出 Best
Fit 和 Priority 在異構性越高的環境裏且一台實體機架設越多虛擬機器來當作
Worker 的時候可以縮短更多的時間前者會縮短 Map 的完成時間後者會縮
29
短 Reduce 的完成時間而 Hadoop 在異構性環境高的時候也有些微的縮短一
些時間
Total completion time with different data size (h=1-5)
0
20
40
60
80
100
120
140
400 600 800 1000 1200
Data
Sec
ond
Hadoop
Best Fit
Priority
圖十三 Total completion time with different data size
在上述的實驗中在同樣的資料大小處理的 Worker 數量越多的時候其
完成時間會縮短很多但是到達一定的數量的時候其縮短時間的效果就很低
所以就做了此實驗因為本篇論文就是要探討異構性的環境選擇高異構性
環境固定 Worker 數量 20 台資料大小由 400G 到 1200G探討資料大小對
MapReduce 以及 Worker 的影響如圖十三顯示出在 600G 以下的時候Map 加
上 Reduce 完成的時間突然靠近起來代表了當資料量越小的時候Best Fit 和
Priority 的方法跟原始的 Hadoop 的方法優勢會越來越少但相反的是當資料
量越大的時候雖然Best Fit 和 Priority 完成時間會增加但是跟 Hadoop 的
完成時間比會更加突顯
30
Total completion time (best fit)
0
10
20
30
40
50
60
70
80
(Without optimization) (Optimization)
Best Fit
Sec
ond
Map Reduce
(a)
Total completion time (priority)
0
10
20
30
40
50
60
70
80
(Without optimization) (Optimization)
Priority
Sec
ond
Map Reduce
(b)
圖十四 Total completion time of loading aware optimization (a) without
optimal (b) with optimization
圖十四(a)未使用優化技術圖十四(b)是使用優化技術同樣都是在高異構
性環境之下並且1 台實體機架設 5 個虛擬機器使 Worker 數量固定 15 台
處理的資料量為 900G
在本篇論文方法的部份有提到Loading Aware Virtual Machine Mapping的優
化技術由於此實驗上面的實驗數據都已經使用優化技術來改善時間因此
此實驗就是要探討這優化技術對於MapReduce完成時間的影響
由於Loading Aware Virtual Machine Mapping此優化技術是變動同一台實體
31
機內部的Reducer使得原本是根據Communication locality來選擇虛擬機器但
是在挑選的過程中並沒有依據處理資料的大小分配到其處理速度相對映的
虛擬機器而這優化技術就是將同一台實體機內的虛擬機器重新分配由於此
優化技術並不會影響Communication locality所以這部份並沒有在此實驗探討
圖十四(a)圖十四(b)顯示未使用優化技術的Best fit和Priority的MapReduce
完成時間雖然比Hadoop的方法好但是其Reduce phase完成時間上慢了一些
並且可以看出此優化技術並不會影響到Map phase主要影響的是在Reduce階
段在Reduce階段的完成時間上利用優化技術可以將Reduce階段時間縮短其13
32
Chapter 6 Conclusions and Future Works
目前 Hadoop 資料處理的環境還是應用在群集內節點效能是相同的情況下
如果是異構性環境可能就無法這麼有效率的處理本篇論文提出了兩個方法
動態資料切割和虛擬機對映以及一個優化技術 Loading aware virtual machine
mapping模擬實驗結果表明透過本篇方法來得比 Hadoop 縮短 41的時間以
及最多節省 Communication Locality 約莫 33尤其在異構性越高的環境以及
一台實體機器架設的虛擬機器數量越多改善的效果越明顯另外 Loading
aware virtual machine mapping 優化技術改善了 Reduce phase 的完成時間約莫
13
在未來研究上可以朝著動態調整 Reducer 數量的方向前進當固定大小的
資料上其實有時候過多的節點去運算消耗了大量的運算資源卻只得到一些
秒數的縮短如何利用適當的運算資源來得到最大的利益這是相當重要的議
題由於此實驗都是屬於模擬實驗希望在未來可以實際架設在機器上運行
透過 Benchmark得到真正的數據
33
Reference
1 Masato Asahara Shinji Nakadai and Takuya Araki ldquoLoadAtomizer A
Locality and IO Load aware Task Scheduler for MapReducerdquo in 4th IEEE
International Conference on Cloud Computing Technology and Science
(CloudCom) pp 317-324 2012
2 Paul Barham Boris Dragovic Keir Fraser Steven Hand Tim Harris Alex
Ho Rolf Neugebauer Ian Pratt and Andrew Warfield ldquoXen and the Art of
Virtualizationrdquo SOSP 03 Proceedings of the nineteenth ACM symposium
on Operating systems principles vol 37 Issue 5 pp 164-177 December
2003
3 Xiangping Bu Jia Rao and Cheng Zhong Xu ldquoInterference and
Locality-Aware Task Scheduling for MapReduce Applications in Virtual
Clustersrdquo Proceeding HPDC 13 Proceedings of the 22nd international
sym-posium on High-performance parallel and distributed computing pp
227-238 2013
4 Kasim Selcuk Candan Jong Wook Kim Parth Nagarkar Mithila Nagendra
and Ren-wei Yu ldquoScalable Multimedia Data Processing in Server Clustersrdquo
IEEE MultiMedia pp 3-5 2010
5 Fay Chang Jeffrey Dean Sanjay Ghemawat Wilson C Hsieh Deborah A
Wallach Mike Burrws Tushar Chandra Andrew Fikes and Robert EGruber
ldquoBigtable A Distributed Storage System for Structured Datardquo 7th UENIX
Symposium on Operating Systems Design and Implementation pp 205-218
2006
6 P C Chen Y L Su J B Chang and C K Shieh ldquoVariable-Sized Map and
Locality-Aware Reduce on Public-Resource Gridsrdquo in Proceedings
Conference Grid and Pervasive Computing (GPC 2010) pp 234-243 2010
May
7 Q Chen D Zhang M Guo Q Deng and S Guo ldquoSamr A self adaptive
mapreduce scheduling algorithm in heterogeneous environmentrdquo in 10th
IEEE International Conference on Computer and Information Technology
CIT rsquo10 (Washington DC USA) pp 2736ndash2743 2010
8 Jeffrey Dean and Sanjay Ghemawat ldquoMapReduce Simplified Data
Processing on Large Clustersrdquo Communications of the ACM vol 51 no 1
pp 107ndash113 2008
9 Yuanquan Fan Weiguo Wu Haijun Cao Huo Zhu Xu Zhao and Wei Wei
34
ldquoA heterogeneity-aware data distribution and rebalance method in Hadoop
clusterrdquo 2012 Seventh ChinaGrid Annual Conference pp 176-181 2012
10 Zacharia Fadika Elif Dede Jessica Hartog and Madhusudhan Govindaraju
ldquoMARLA MapReduce for Heterogeneous Clustersrdquo in 12th IEEEACM
International Symposium on Cluster Cloud and Grid Computing pp 49-56
2012
11 Sanjay Ghemawat Howard Gobioff and ShunTak Leung ldquoThe Google file
systemrdquo In Proceedings of 19th Symposium on Operating Systems
Principles pp 29-43 2003
12 Sven Groot ldquoJumbo Beyond MapReduce for Workload Balancingrdquo Fuzzy
Systems and Knowledge Discovery (FSKD) 2011 Eighth International
Conference on Cloud Computing Technology and Science vol 4 pp
2675-2678 2011 July
13 B Gufler N Augsten A Reiser and A Kemper ldquoHandling Data Skew in
MapReducerdquo in Proceedings of CLOSER pp 574ndash583 2011
14 Mohammad Hammoud and Majd F Sakr ldquoLocality-Aware Reduce Task
Scheduling for MapReducerdquo Third IEEE International Conference on
Cloud Computing Technology and Science pp 570-576 2011
15 C He Y Lu and D Swanson ldquoMatch-making A New MapReduce
Scheduling Techniquerdquo IEEE Third International Conference on Cloud
Computing Technology and Science (CloudCom) pp 40ndash47 2011
16 Hung Chang Hsiao Huesh Yi Chung Haiying Shen and Yu Chang
ChaoldquoLoad Re-balancing for Distributed File Systems in Cloudsrdquo IEEE
Trans on Parallel and Distributed Systems vol24 pp 951-962 2012
17 Shadi Ibrahim Hai Jin Lu Lu Song Wu Bingsheng He and Li Qi ldquoLEEN
LocalityFairness Aware Key Partitioning for MapReduce in the Cloudrdquo
2010 IEEE Second International Conference on Cloud Computing
Technology and Science (CloudCom) pp 17ndash24 2010
18 S Ibrahim H Jin L Lu L Qi S Wu and X Shi ldquoEvaluating MapReduce
on Virtual Machines The Hadoop Caserdquo Proceedings Conference Cloud
Computing (CloudCom 2009) Springer LNCS pp 519-528 2009 Dec
19 C Jin and R Buyya ldquoMapreduce programming model for net-based cloud
computingrdquo in Proceedings of the 15th International Euro-Par Conference
on Parallel Processing Euro-Par (Berlin Heidelberg) pp 417ndash428 2009
20 R Nanduri N Maheshwari A Reddyraja and V Varma ldquoJob aware
scheduling algorithm for Mapreduce frameworkrdquo in 3rd International
Conference on Cloud Computing Technology and Science
CLOUDCOM rsquo11 (Washington DC USA) pp 724ndash729 2011
35
21 Andrew J Page and Thomas J Naughton ldquoDynamic task scheduling using
genetic algorithms for heterogeneous distributed computingrdquo in 19th IEEE
International Parallel and Distributed Processing Symposium pp 189a
2005 April
22 Xiaoyu Sun Chen He and Ying Lu ldquoESAMR An Enhanced Self-Adaptive
MapReduce Scheduling Algorithmrdquo 2012 IEEE 18th International
Conference on Parallel and Distributed Systems pp 148-155 2012
23 Chao Tian Haojie Zhou Yongqiang He and Li Zha ldquoA Dynamic
MapReduce Scheduler for Heterogeneous Workloadsrdquo Eighth International
Conference on Grid and Cooperative Computing pp 218ndash244 2009 Aug
24 Jiong Xie Shu Yin Xiaojun Ruan Zhi-yang Ding Yun Tian James Majors
Adam Manzanares and Xiao Qin ldquoImproving mapreduce performance
through data placement in heterogeneous hadoop clustersrdquo in IPDPS
Workshops pp 1ndash9 2010
25 J Tan X Pan S Kavulya R Gandhi and P Narasimhan ldquoMochi Visual
Log-Analysis Based Tools for Debugging Hadooprdquo USENIX Workshop on
Hot Topics in Cloud Computing (HotCloud) pp 1-5 2009
26 Matei Zaharia Andy Konwinski Anthony D Joseph Randy Katz and Ion
Stoica ldquoImproving MapReduce Performance in Heterogeneous
Environmentsrdquo 8th Symposium on Operating Systems Design and
Implementation pp 29ndash42 2008 Dec
27 X Zhang Z Zhong S Feng B Tu and J Fan ldquoImproving Data locality of
MapReduce by Scheduling in Homogeneous Computing Environmentsrdquo in
9th IEEE International Symposium on Parallel and Distributed Processing
with Applications (ISPA) pp 120-126 2011
28 Apache hadoop Available from httphadoopapacheorg
29 MapReduce with a lot of examples for Mining datasets Available from
httpinfolabstanfordedu~ullmanmmdsbookpdf
Page 28
19
Chapter 5 Performance Analysis
本實驗以模擬的方式進行利用 C 語言程式撰寫可設定節點數量節點
裡的 Worker 數量資料大小異構性環境低 (h = 1-3)或高 (h = 1-5)透過模擬
的實驗數據分析基於 Hadoop 的 MapReduce 以及本篇論文透過 Map mapping
和 Reduce mapping 的方式進而改善原始 MapReduce 所造成的缺點
51 Communication Locality
本模擬實驗主要探討的是 Communication Locality圖八(a)和圖八(b)模擬環
境為低異構性圖八(c)和圖八(d)為高異構性環境固定每台實體機架設 2 台以
及 5 台虛擬機器固定 Worker 總數量分別為 102030要處理的資料為 900G
Communication locality(vm = 2 h = 1-3)
0
50
100
150
200
250
300
10 20 30
Number of vm
Dat
a lo
cali
ty
Hadoop
Best Fit
Priority
(a)
20
Communication locality(vm = 5 h = 1-3)
0
100
200
300
400
500
600
10 20 30Number of vm
Dat
a lo
cali
ty
Hadoop
Best Fit
Priority
(b)
Communcation Locality(vm = 2 h = 1-5)
0
50
100
150
200
250
300
10 20 30Number of vm
Dat
a lo
cali
ty
Hadoop
Best Fit
Priority
(c)
Communcation locality(vm = 5 h = 1-5)
0
100
200
300
400
500
600
10 20 30
Number of vm
Dat
a lo
cali
ty
Hadoop
Best Fit
Priority
(d)
圖八 Communication locality (a) low heterogeneity vm=2 (b) low heterogeneity
vm=5 (c) high heterogeneity vm=2 (d) high heterogeneity vm=5
21
由圖八(a)可看出本篇論文提出的兩個方法在低異構性環境所能節省的
Communication Locality 比原始的 Hadoop 提出的方法最多節省了 33的
Communication Locality圖八 (b)也最多節省了約 12的 Communication
Locality雖然節省在固定架設的虛擬機器為兩台的時候節省比較多但是
兩個實驗節省的 Communication Locality 量卻相差了快 2 倍原因是在於 Map 階
段完成的資料都儲存在 Local disc兩台實體機在交換資料的時候溝通成本是
很高的而建立在同一台實體機的兩台虛擬機器交換資料則溝通成本卻來的低
很多 因此溝通成本量的提高也會被實體機上架設的虛擬機器的多寡來影
響
由圖八(c)所示在高異構性最多可節省 27的 Communication Locality圖
八(d)則為 15的 Communication Locality分別從圖八(a)圖八(c)圖八(b)以及
圖八(d)可以看得出來Best Fit 和 Priority 不會隨著異構性環境的高低溝通成
本量會有大幅度的改變而 Priority 在節省的 Communication Locality 都會比 Best
Fit 都來的多一點因為Priority 可以避免前面的 Reducer 把機器挑選完迫使
只能選擇第二高的Communication location 因此大幅降低的情況給消除
52 Task Execution Time
此節實驗是要探討 Map 以及 Reduce 完成的時間圖九(a)和圖九(b)為低異構
性環境的實驗圖九(c)和圖九(d)為高異構性環境都是固定每台實體機架設 2
台以及 5 台虛擬機器所以固定虛擬機器總數量分別為 102030要處理
的資料為 900G
22
Map completion time(vm = 2 h = 1-3)
0
20
40
60
80
100
10 20 30
Number of vm
Sec
ond
Hadoop
Best Fit amp Priority
(a)
Map completion time(vm = 5 h = 1-3)
0
20
40
60
80
100
10 20 30Number of vm
Sec
ond
Hadoop
Best Fit amp Priority
(b)
Map completion time(vm = 2 h = 1-5)
0
20
40
60
80
100
10 20 30Number of vm
seco
nd
Hadoop
Best Fit amp Priority
(c)
23
Map completion time(vm = 5 h = 1-5)
0
20
40
60
80
100
10 20 30Number of vm
seco
nd
Hadoop
Best Fit amp Priority
(d)
圖九 Map completion time (a) low heterogeneity vm=2 (b) low heterogeneity
vm=5 (c) high heterogeneity vm=2 (d) high heterogeneity vm=5
圖九(a)圖九(b)圖九(c)以及圖九(d)顯示了本論文提出的兩個方法 Best Fit
和 Priority 他們完成的時間是一樣的因為兩個方法的 Map mapping 概念是一樣
的所以完成時間也會一樣在此實驗裡可發現 Best Fit 和 Priority 也會隨著
實體機上的虛擬機器數量增多而完成時間縮短而縮短的時間最多甚至可以達
到 44也可看出本論文的兩個方法在低異構性環境的效能比在高異構性環境
的效能來的較差所以在異構性越高的環境越能看得出 Best Fit 和 Priority
的優勢
24
Reduce completion time(vm = 2 h = 1-3)
0
20
40
60
80
100
120
10 20 30Number of vm
Sec
ond
Hadoop
Best Fit
Priority
(a)
Reduce completion time(vm = 5 h = 1-3)
0
20
40
60
80
100
120
10 20 30Number of vm
Sec
ond
Hadoop
Best Fit
Priority
(b)
Reduce completion time(vm = 2 h = 1-5)
0
20
40
60
80
100
120
10 20 30Number of vm
seco
nd
Hadoop
Best Fit
Priority
(c)
25
Reduce completion time(vm = 5 h = 1-5)
0
20
40
60
80
100
120
10 20 30Number of vm
Sec
ond
Hadoop
Best Fit
Priority
(d)
圖十 Reduce completion time (a) low heterogeneity vm=2 (b) low
heterogeneity vm=5 (c) high heterogeneity vm=2 (d) high heterogeneity vm=5
而在 Reduce 完成時間的方面不像 Map 的完成時間是一樣的因為選
擇 Reducer 的方式不同造成 Best Fit 以及 Priority 時間完成上有些許不同
如圖十(a)所示節省了 14的時間圖十(b)節省了 16的時間圖十(c)
節省了 23圖十(d)節省了 29由圖十(b)以及圖十(d)可見影響 Reduce
階段完成時間最主要的原因是異構性環境的問題當環境的異構性越高其
所節省的時間越多而圖十(c)以及圖十(d)所示一台實體機架設的虛擬機器數
量影響的範圍比較小
26
Total completion time (vm = 2 pm = 5 h = 1-3)
0 50 100 150 200 250
Hadoop
Best Fit
Priority
Met
hod
Second
Map Reduce
(a)
Total completion time(vm = 5 pm = 2 h = 1-3)
0 50 100 150 200
Hadoop
Best Fit
Priority
Met
hod
Second
Map Reduce
(b)
Total completion time(vm = 2 pm = 5 h = 1-5)
0 50 100 150 200 250
Hadoop
Best Fit
Priority
Met
hod
Second
Map Reduce
(c)
27
Total completion time(vm=5 pm = 2 h = 1-5)
0 50 100 150 200
Hadoop
Best Fit
Priority
Second
Met
hod
Map Reduce
(d)
圖十一 Total completion time (a) low heterogeneity vm=2 pm=5 (b) low
heterogeneity vm=5 pm=2 (c) high heterogeneity vm=2 pm=5 (d) high
heterogeneity vm=5 pm=2
由於前面分別是 Map以及 Reduce的完成時間為了想知道Map以及 Reduce
對於 MapReduce 的整體影響我們將前面的 Map 以及 Reduce 的完成時間在
處理資料的節點固定為 10 台 Worker將其做整合
從圖十一(a)圖十一(b)圖十一(c)圖十一(d)顯示 Best Fit 和 Priority 不論
是在低異構性或高異構性環境MapReduce 完成時間都比 Hadoop 的完成時間縮
短很多在低異構性環境最多可縮短到 29的時間在高異構性環境最多可縮
短 41的時間而造成 Hadoop 跟 Best Fit 和 Priority 在時間上差異如此大的原
因主要是在 Map 階段的完成時間因為Best Fit 和 Priority 是根據 Worker 的
效能來決定要處理的資料大小而 Hadoop 就是分配固定大小的資料給 Worker
運算所以在越高的異構性環境其縮短的時間會越明顯
28
Total completion time with different number of vm (h=1-3)
0
20
40
60
80
100
120
vm=2 vm=3 vm=4Number of vm per physical machine
Sec
ond
Hadoop
Best Fit
Priority
(a)
Total completion time with different number of vm (h=1-5)
0
20
40
60
80
100
120
vm=2 vm=3 vm=4Number of vm per physical machine
Sec
ond
Hadoop
Best Fit
Priority
(b)
圖十二 Total completion time with different number of vm (a) low heterogeneity
vm=2 worker=12 (b) high heterogeneity vm=5 worker=12
圖十二(a)是在低異構性環境圖十二(b)是在高異構性環境並且1 台實體
機架設 2 個3 個4 個虛擬機器使 Worker 數量固定 12 台處理的資料量為
600G
這個模擬實驗主要探討的是在一台實體機架設的虛擬機器數量對於
MapReduce 完成時間是否真正有影響圖十二(a)和圖十二(b)更可以顯示出 Best
Fit 和 Priority 在異構性越高的環境裏且一台實體機架設越多虛擬機器來當作
Worker 的時候可以縮短更多的時間前者會縮短 Map 的完成時間後者會縮
29
短 Reduce 的完成時間而 Hadoop 在異構性環境高的時候也有些微的縮短一
些時間
Total completion time with different data size (h=1-5)
0
20
40
60
80
100
120
140
400 600 800 1000 1200
Data
Sec
ond
Hadoop
Best Fit
Priority
圖十三 Total completion time with different data size
在上述的實驗中在同樣的資料大小處理的 Worker 數量越多的時候其
完成時間會縮短很多但是到達一定的數量的時候其縮短時間的效果就很低
所以就做了此實驗因為本篇論文就是要探討異構性的環境選擇高異構性
環境固定 Worker 數量 20 台資料大小由 400G 到 1200G探討資料大小對
MapReduce 以及 Worker 的影響如圖十三顯示出在 600G 以下的時候Map 加
上 Reduce 完成的時間突然靠近起來代表了當資料量越小的時候Best Fit 和
Priority 的方法跟原始的 Hadoop 的方法優勢會越來越少但相反的是當資料
量越大的時候雖然Best Fit 和 Priority 完成時間會增加但是跟 Hadoop 的
完成時間比會更加突顯
30
Total completion time (best fit)
0
10
20
30
40
50
60
70
80
(Without optimization) (Optimization)
Best Fit
Sec
ond
Map Reduce
(a)
Total completion time (priority)
0
10
20
30
40
50
60
70
80
(Without optimization) (Optimization)
Priority
Sec
ond
Map Reduce
(b)
圖十四 Total completion time of loading aware optimization (a) without
optimal (b) with optimization
圖十四(a)未使用優化技術圖十四(b)是使用優化技術同樣都是在高異構
性環境之下並且1 台實體機架設 5 個虛擬機器使 Worker 數量固定 15 台
處理的資料量為 900G
在本篇論文方法的部份有提到Loading Aware Virtual Machine Mapping的優
化技術由於此實驗上面的實驗數據都已經使用優化技術來改善時間因此
此實驗就是要探討這優化技術對於MapReduce完成時間的影響
由於Loading Aware Virtual Machine Mapping此優化技術是變動同一台實體
31
機內部的Reducer使得原本是根據Communication locality來選擇虛擬機器但
是在挑選的過程中並沒有依據處理資料的大小分配到其處理速度相對映的
虛擬機器而這優化技術就是將同一台實體機內的虛擬機器重新分配由於此
優化技術並不會影響Communication locality所以這部份並沒有在此實驗探討
圖十四(a)圖十四(b)顯示未使用優化技術的Best fit和Priority的MapReduce
完成時間雖然比Hadoop的方法好但是其Reduce phase完成時間上慢了一些
並且可以看出此優化技術並不會影響到Map phase主要影響的是在Reduce階
段在Reduce階段的完成時間上利用優化技術可以將Reduce階段時間縮短其13
32
Chapter 6 Conclusions and Future Works
目前 Hadoop 資料處理的環境還是應用在群集內節點效能是相同的情況下
如果是異構性環境可能就無法這麼有效率的處理本篇論文提出了兩個方法
動態資料切割和虛擬機對映以及一個優化技術 Loading aware virtual machine
mapping模擬實驗結果表明透過本篇方法來得比 Hadoop 縮短 41的時間以
及最多節省 Communication Locality 約莫 33尤其在異構性越高的環境以及
一台實體機器架設的虛擬機器數量越多改善的效果越明顯另外 Loading
aware virtual machine mapping 優化技術改善了 Reduce phase 的完成時間約莫
13
在未來研究上可以朝著動態調整 Reducer 數量的方向前進當固定大小的
資料上其實有時候過多的節點去運算消耗了大量的運算資源卻只得到一些
秒數的縮短如何利用適當的運算資源來得到最大的利益這是相當重要的議
題由於此實驗都是屬於模擬實驗希望在未來可以實際架設在機器上運行
透過 Benchmark得到真正的數據
33
Reference
1 Masato Asahara Shinji Nakadai and Takuya Araki ldquoLoadAtomizer A
Locality and IO Load aware Task Scheduler for MapReducerdquo in 4th IEEE
International Conference on Cloud Computing Technology and Science
(CloudCom) pp 317-324 2012
2 Paul Barham Boris Dragovic Keir Fraser Steven Hand Tim Harris Alex
Ho Rolf Neugebauer Ian Pratt and Andrew Warfield ldquoXen and the Art of
Virtualizationrdquo SOSP 03 Proceedings of the nineteenth ACM symposium
on Operating systems principles vol 37 Issue 5 pp 164-177 December
2003
3 Xiangping Bu Jia Rao and Cheng Zhong Xu ldquoInterference and
Locality-Aware Task Scheduling for MapReduce Applications in Virtual
Clustersrdquo Proceeding HPDC 13 Proceedings of the 22nd international
sym-posium on High-performance parallel and distributed computing pp
227-238 2013
4 Kasim Selcuk Candan Jong Wook Kim Parth Nagarkar Mithila Nagendra
and Ren-wei Yu ldquoScalable Multimedia Data Processing in Server Clustersrdquo
IEEE MultiMedia pp 3-5 2010
5 Fay Chang Jeffrey Dean Sanjay Ghemawat Wilson C Hsieh Deborah A
Wallach Mike Burrws Tushar Chandra Andrew Fikes and Robert EGruber
ldquoBigtable A Distributed Storage System for Structured Datardquo 7th UENIX
Symposium on Operating Systems Design and Implementation pp 205-218
2006
6 P C Chen Y L Su J B Chang and C K Shieh ldquoVariable-Sized Map and
Locality-Aware Reduce on Public-Resource Gridsrdquo in Proceedings
Conference Grid and Pervasive Computing (GPC 2010) pp 234-243 2010
May
7 Q Chen D Zhang M Guo Q Deng and S Guo ldquoSamr A self adaptive
mapreduce scheduling algorithm in heterogeneous environmentrdquo in 10th
IEEE International Conference on Computer and Information Technology
CIT rsquo10 (Washington DC USA) pp 2736ndash2743 2010
8 Jeffrey Dean and Sanjay Ghemawat ldquoMapReduce Simplified Data
Processing on Large Clustersrdquo Communications of the ACM vol 51 no 1
pp 107ndash113 2008
9 Yuanquan Fan Weiguo Wu Haijun Cao Huo Zhu Xu Zhao and Wei Wei
34
ldquoA heterogeneity-aware data distribution and rebalance method in Hadoop
clusterrdquo 2012 Seventh ChinaGrid Annual Conference pp 176-181 2012
10 Zacharia Fadika Elif Dede Jessica Hartog and Madhusudhan Govindaraju
ldquoMARLA MapReduce for Heterogeneous Clustersrdquo in 12th IEEEACM
International Symposium on Cluster Cloud and Grid Computing pp 49-56
2012
11 Sanjay Ghemawat Howard Gobioff and ShunTak Leung ldquoThe Google file
systemrdquo In Proceedings of 19th Symposium on Operating Systems
Principles pp 29-43 2003
12 Sven Groot ldquoJumbo Beyond MapReduce for Workload Balancingrdquo Fuzzy
Systems and Knowledge Discovery (FSKD) 2011 Eighth International
Conference on Cloud Computing Technology and Science vol 4 pp
2675-2678 2011 July
13 B Gufler N Augsten A Reiser and A Kemper ldquoHandling Data Skew in
MapReducerdquo in Proceedings of CLOSER pp 574ndash583 2011
14 Mohammad Hammoud and Majd F Sakr ldquoLocality-Aware Reduce Task
Scheduling for MapReducerdquo Third IEEE International Conference on
Cloud Computing Technology and Science pp 570-576 2011
15 C He Y Lu and D Swanson ldquoMatch-making A New MapReduce
Scheduling Techniquerdquo IEEE Third International Conference on Cloud
Computing Technology and Science (CloudCom) pp 40ndash47 2011
16 Hung Chang Hsiao Huesh Yi Chung Haiying Shen and Yu Chang
ChaoldquoLoad Re-balancing for Distributed File Systems in Cloudsrdquo IEEE
Trans on Parallel and Distributed Systems vol24 pp 951-962 2012
17 Shadi Ibrahim Hai Jin Lu Lu Song Wu Bingsheng He and Li Qi ldquoLEEN
LocalityFairness Aware Key Partitioning for MapReduce in the Cloudrdquo
2010 IEEE Second International Conference on Cloud Computing
Technology and Science (CloudCom) pp 17ndash24 2010
18 S Ibrahim H Jin L Lu L Qi S Wu and X Shi ldquoEvaluating MapReduce
on Virtual Machines The Hadoop Caserdquo Proceedings Conference Cloud
Computing (CloudCom 2009) Springer LNCS pp 519-528 2009 Dec
19 C Jin and R Buyya ldquoMapreduce programming model for net-based cloud
computingrdquo in Proceedings of the 15th International Euro-Par Conference
on Parallel Processing Euro-Par (Berlin Heidelberg) pp 417ndash428 2009
20 R Nanduri N Maheshwari A Reddyraja and V Varma ldquoJob aware
scheduling algorithm for Mapreduce frameworkrdquo in 3rd International
Conference on Cloud Computing Technology and Science
CLOUDCOM rsquo11 (Washington DC USA) pp 724ndash729 2011
35
21 Andrew J Page and Thomas J Naughton ldquoDynamic task scheduling using
genetic algorithms for heterogeneous distributed computingrdquo in 19th IEEE
International Parallel and Distributed Processing Symposium pp 189a
2005 April
22 Xiaoyu Sun Chen He and Ying Lu ldquoESAMR An Enhanced Self-Adaptive
MapReduce Scheduling Algorithmrdquo 2012 IEEE 18th International
Conference on Parallel and Distributed Systems pp 148-155 2012
23 Chao Tian Haojie Zhou Yongqiang He and Li Zha ldquoA Dynamic
MapReduce Scheduler for Heterogeneous Workloadsrdquo Eighth International
Conference on Grid and Cooperative Computing pp 218ndash244 2009 Aug
24 Jiong Xie Shu Yin Xiaojun Ruan Zhi-yang Ding Yun Tian James Majors
Adam Manzanares and Xiao Qin ldquoImproving mapreduce performance
through data placement in heterogeneous hadoop clustersrdquo in IPDPS
Workshops pp 1ndash9 2010
25 J Tan X Pan S Kavulya R Gandhi and P Narasimhan ldquoMochi Visual
Log-Analysis Based Tools for Debugging Hadooprdquo USENIX Workshop on
Hot Topics in Cloud Computing (HotCloud) pp 1-5 2009
26 Matei Zaharia Andy Konwinski Anthony D Joseph Randy Katz and Ion
Stoica ldquoImproving MapReduce Performance in Heterogeneous
Environmentsrdquo 8th Symposium on Operating Systems Design and
Implementation pp 29ndash42 2008 Dec
27 X Zhang Z Zhong S Feng B Tu and J Fan ldquoImproving Data locality of
MapReduce by Scheduling in Homogeneous Computing Environmentsrdquo in
9th IEEE International Symposium on Parallel and Distributed Processing
with Applications (ISPA) pp 120-126 2011
28 Apache hadoop Available from httphadoopapacheorg
29 MapReduce with a lot of examples for Mining datasets Available from
httpinfolabstanfordedu~ullmanmmdsbookpdf
Page 29
20
Communication locality(vm = 5 h = 1-3)
0
100
200
300
400
500
600
10 20 30Number of vm
Dat
a lo
cali
ty
Hadoop
Best Fit
Priority
(b)
Communcation Locality(vm = 2 h = 1-5)
0
50
100
150
200
250
300
10 20 30Number of vm
Dat
a lo
cali
ty
Hadoop
Best Fit
Priority
(c)
Communcation locality(vm = 5 h = 1-5)
0
100
200
300
400
500
600
10 20 30
Number of vm
Dat
a lo
cali
ty
Hadoop
Best Fit
Priority
(d)
圖八 Communication locality (a) low heterogeneity vm=2 (b) low heterogeneity
vm=5 (c) high heterogeneity vm=2 (d) high heterogeneity vm=5
21
由圖八(a)可看出本篇論文提出的兩個方法在低異構性環境所能節省的
Communication Locality 比原始的 Hadoop 提出的方法最多節省了 33的
Communication Locality圖八 (b)也最多節省了約 12的 Communication
Locality雖然節省在固定架設的虛擬機器為兩台的時候節省比較多但是
兩個實驗節省的 Communication Locality 量卻相差了快 2 倍原因是在於 Map 階
段完成的資料都儲存在 Local disc兩台實體機在交換資料的時候溝通成本是
很高的而建立在同一台實體機的兩台虛擬機器交換資料則溝通成本卻來的低
很多 因此溝通成本量的提高也會被實體機上架設的虛擬機器的多寡來影
響
由圖八(c)所示在高異構性最多可節省 27的 Communication Locality圖
八(d)則為 15的 Communication Locality分別從圖八(a)圖八(c)圖八(b)以及
圖八(d)可以看得出來Best Fit 和 Priority 不會隨著異構性環境的高低溝通成
本量會有大幅度的改變而 Priority 在節省的 Communication Locality 都會比 Best
Fit 都來的多一點因為Priority 可以避免前面的 Reducer 把機器挑選完迫使
只能選擇第二高的Communication location 因此大幅降低的情況給消除
52 Task Execution Time
此節實驗是要探討 Map 以及 Reduce 完成的時間圖九(a)和圖九(b)為低異構
性環境的實驗圖九(c)和圖九(d)為高異構性環境都是固定每台實體機架設 2
台以及 5 台虛擬機器所以固定虛擬機器總數量分別為 102030要處理
的資料為 900G
22
Map completion time(vm = 2 h = 1-3)
0
20
40
60
80
100
10 20 30
Number of vm
Sec
ond
Hadoop
Best Fit amp Priority
(a)
Map completion time(vm = 5 h = 1-3)
0
20
40
60
80
100
10 20 30Number of vm
Sec
ond
Hadoop
Best Fit amp Priority
(b)
Map completion time(vm = 2 h = 1-5)
0
20
40
60
80
100
10 20 30Number of vm
seco
nd
Hadoop
Best Fit amp Priority
(c)
23
Map completion time(vm = 5 h = 1-5)
0
20
40
60
80
100
10 20 30Number of vm
seco
nd
Hadoop
Best Fit amp Priority
(d)
圖九 Map completion time (a) low heterogeneity vm=2 (b) low heterogeneity
vm=5 (c) high heterogeneity vm=2 (d) high heterogeneity vm=5
圖九(a)圖九(b)圖九(c)以及圖九(d)顯示了本論文提出的兩個方法 Best Fit
和 Priority 他們完成的時間是一樣的因為兩個方法的 Map mapping 概念是一樣
的所以完成時間也會一樣在此實驗裡可發現 Best Fit 和 Priority 也會隨著
實體機上的虛擬機器數量增多而完成時間縮短而縮短的時間最多甚至可以達
到 44也可看出本論文的兩個方法在低異構性環境的效能比在高異構性環境
的效能來的較差所以在異構性越高的環境越能看得出 Best Fit 和 Priority
的優勢
24
Reduce completion time(vm = 2 h = 1-3)
0
20
40
60
80
100
120
10 20 30Number of vm
Sec
ond
Hadoop
Best Fit
Priority
(a)
Reduce completion time(vm = 5 h = 1-3)
0
20
40
60
80
100
120
10 20 30Number of vm
Sec
ond
Hadoop
Best Fit
Priority
(b)
Reduce completion time(vm = 2 h = 1-5)
0
20
40
60
80
100
120
10 20 30Number of vm
seco
nd
Hadoop
Best Fit
Priority
(c)
25
Reduce completion time(vm = 5 h = 1-5)
0
20
40
60
80
100
120
10 20 30Number of vm
Sec
ond
Hadoop
Best Fit
Priority
(d)
圖十 Reduce completion time (a) low heterogeneity vm=2 (b) low
heterogeneity vm=5 (c) high heterogeneity vm=2 (d) high heterogeneity vm=5
而在 Reduce 完成時間的方面不像 Map 的完成時間是一樣的因為選
擇 Reducer 的方式不同造成 Best Fit 以及 Priority 時間完成上有些許不同
如圖十(a)所示節省了 14的時間圖十(b)節省了 16的時間圖十(c)
節省了 23圖十(d)節省了 29由圖十(b)以及圖十(d)可見影響 Reduce
階段完成時間最主要的原因是異構性環境的問題當環境的異構性越高其
所節省的時間越多而圖十(c)以及圖十(d)所示一台實體機架設的虛擬機器數
量影響的範圍比較小
26
Total completion time (vm = 2 pm = 5 h = 1-3)
0 50 100 150 200 250
Hadoop
Best Fit
Priority
Met
hod
Second
Map Reduce
(a)
Total completion time(vm = 5 pm = 2 h = 1-3)
0 50 100 150 200
Hadoop
Best Fit
Priority
Met
hod
Second
Map Reduce
(b)
Total completion time(vm = 2 pm = 5 h = 1-5)
0 50 100 150 200 250
Hadoop
Best Fit
Priority
Met
hod
Second
Map Reduce
(c)
27
Total completion time(vm=5 pm = 2 h = 1-5)
0 50 100 150 200
Hadoop
Best Fit
Priority
Second
Met
hod
Map Reduce
(d)
圖十一 Total completion time (a) low heterogeneity vm=2 pm=5 (b) low
heterogeneity vm=5 pm=2 (c) high heterogeneity vm=2 pm=5 (d) high
heterogeneity vm=5 pm=2
由於前面分別是 Map以及 Reduce的完成時間為了想知道Map以及 Reduce
對於 MapReduce 的整體影響我們將前面的 Map 以及 Reduce 的完成時間在
處理資料的節點固定為 10 台 Worker將其做整合
從圖十一(a)圖十一(b)圖十一(c)圖十一(d)顯示 Best Fit 和 Priority 不論
是在低異構性或高異構性環境MapReduce 完成時間都比 Hadoop 的完成時間縮
短很多在低異構性環境最多可縮短到 29的時間在高異構性環境最多可縮
短 41的時間而造成 Hadoop 跟 Best Fit 和 Priority 在時間上差異如此大的原
因主要是在 Map 階段的完成時間因為Best Fit 和 Priority 是根據 Worker 的
效能來決定要處理的資料大小而 Hadoop 就是分配固定大小的資料給 Worker
運算所以在越高的異構性環境其縮短的時間會越明顯
28
Total completion time with different number of vm (h=1-3)
0
20
40
60
80
100
120
vm=2 vm=3 vm=4Number of vm per physical machine
Sec
ond
Hadoop
Best Fit
Priority
(a)
Total completion time with different number of vm (h=1-5)
0
20
40
60
80
100
120
vm=2 vm=3 vm=4Number of vm per physical machine
Sec
ond
Hadoop
Best Fit
Priority
(b)
圖十二 Total completion time with different number of vm (a) low heterogeneity
vm=2 worker=12 (b) high heterogeneity vm=5 worker=12
圖十二(a)是在低異構性環境圖十二(b)是在高異構性環境並且1 台實體
機架設 2 個3 個4 個虛擬機器使 Worker 數量固定 12 台處理的資料量為
600G
這個模擬實驗主要探討的是在一台實體機架設的虛擬機器數量對於
MapReduce 完成時間是否真正有影響圖十二(a)和圖十二(b)更可以顯示出 Best
Fit 和 Priority 在異構性越高的環境裏且一台實體機架設越多虛擬機器來當作
Worker 的時候可以縮短更多的時間前者會縮短 Map 的完成時間後者會縮
29
短 Reduce 的完成時間而 Hadoop 在異構性環境高的時候也有些微的縮短一
些時間
Total completion time with different data size (h=1-5)
0
20
40
60
80
100
120
140
400 600 800 1000 1200
Data
Sec
ond
Hadoop
Best Fit
Priority
圖十三 Total completion time with different data size
在上述的實驗中在同樣的資料大小處理的 Worker 數量越多的時候其
完成時間會縮短很多但是到達一定的數量的時候其縮短時間的效果就很低
所以就做了此實驗因為本篇論文就是要探討異構性的環境選擇高異構性
環境固定 Worker 數量 20 台資料大小由 400G 到 1200G探討資料大小對
MapReduce 以及 Worker 的影響如圖十三顯示出在 600G 以下的時候Map 加
上 Reduce 完成的時間突然靠近起來代表了當資料量越小的時候Best Fit 和
Priority 的方法跟原始的 Hadoop 的方法優勢會越來越少但相反的是當資料
量越大的時候雖然Best Fit 和 Priority 完成時間會增加但是跟 Hadoop 的
完成時間比會更加突顯
30
Total completion time (best fit)
0
10
20
30
40
50
60
70
80
(Without optimization) (Optimization)
Best Fit
Sec
ond
Map Reduce
(a)
Total completion time (priority)
0
10
20
30
40
50
60
70
80
(Without optimization) (Optimization)
Priority
Sec
ond
Map Reduce
(b)
圖十四 Total completion time of loading aware optimization (a) without
optimal (b) with optimization
圖十四(a)未使用優化技術圖十四(b)是使用優化技術同樣都是在高異構
性環境之下並且1 台實體機架設 5 個虛擬機器使 Worker 數量固定 15 台
處理的資料量為 900G
在本篇論文方法的部份有提到Loading Aware Virtual Machine Mapping的優
化技術由於此實驗上面的實驗數據都已經使用優化技術來改善時間因此
此實驗就是要探討這優化技術對於MapReduce完成時間的影響
由於Loading Aware Virtual Machine Mapping此優化技術是變動同一台實體
31
機內部的Reducer使得原本是根據Communication locality來選擇虛擬機器但
是在挑選的過程中並沒有依據處理資料的大小分配到其處理速度相對映的
虛擬機器而這優化技術就是將同一台實體機內的虛擬機器重新分配由於此
優化技術並不會影響Communication locality所以這部份並沒有在此實驗探討
圖十四(a)圖十四(b)顯示未使用優化技術的Best fit和Priority的MapReduce
完成時間雖然比Hadoop的方法好但是其Reduce phase完成時間上慢了一些
並且可以看出此優化技術並不會影響到Map phase主要影響的是在Reduce階
段在Reduce階段的完成時間上利用優化技術可以將Reduce階段時間縮短其13
32
Chapter 6 Conclusions and Future Works
目前 Hadoop 資料處理的環境還是應用在群集內節點效能是相同的情況下
如果是異構性環境可能就無法這麼有效率的處理本篇論文提出了兩個方法
動態資料切割和虛擬機對映以及一個優化技術 Loading aware virtual machine
mapping模擬實驗結果表明透過本篇方法來得比 Hadoop 縮短 41的時間以
及最多節省 Communication Locality 約莫 33尤其在異構性越高的環境以及
一台實體機器架設的虛擬機器數量越多改善的效果越明顯另外 Loading
aware virtual machine mapping 優化技術改善了 Reduce phase 的完成時間約莫
13
在未來研究上可以朝著動態調整 Reducer 數量的方向前進當固定大小的
資料上其實有時候過多的節點去運算消耗了大量的運算資源卻只得到一些
秒數的縮短如何利用適當的運算資源來得到最大的利益這是相當重要的議
題由於此實驗都是屬於模擬實驗希望在未來可以實際架設在機器上運行
透過 Benchmark得到真正的數據
33
Reference
1 Masato Asahara Shinji Nakadai and Takuya Araki ldquoLoadAtomizer A
Locality and IO Load aware Task Scheduler for MapReducerdquo in 4th IEEE
International Conference on Cloud Computing Technology and Science
(CloudCom) pp 317-324 2012
2 Paul Barham Boris Dragovic Keir Fraser Steven Hand Tim Harris Alex
Ho Rolf Neugebauer Ian Pratt and Andrew Warfield ldquoXen and the Art of
Virtualizationrdquo SOSP 03 Proceedings of the nineteenth ACM symposium
on Operating systems principles vol 37 Issue 5 pp 164-177 December
2003
3 Xiangping Bu Jia Rao and Cheng Zhong Xu ldquoInterference and
Locality-Aware Task Scheduling for MapReduce Applications in Virtual
Clustersrdquo Proceeding HPDC 13 Proceedings of the 22nd international
sym-posium on High-performance parallel and distributed computing pp
227-238 2013
4 Kasim Selcuk Candan Jong Wook Kim Parth Nagarkar Mithila Nagendra
and Ren-wei Yu ldquoScalable Multimedia Data Processing in Server Clustersrdquo
IEEE MultiMedia pp 3-5 2010
5 Fay Chang Jeffrey Dean Sanjay Ghemawat Wilson C Hsieh Deborah A
Wallach Mike Burrws Tushar Chandra Andrew Fikes and Robert EGruber
ldquoBigtable A Distributed Storage System for Structured Datardquo 7th UENIX
Symposium on Operating Systems Design and Implementation pp 205-218
2006
6 P C Chen Y L Su J B Chang and C K Shieh ldquoVariable-Sized Map and
Locality-Aware Reduce on Public-Resource Gridsrdquo in Proceedings
Conference Grid and Pervasive Computing (GPC 2010) pp 234-243 2010
May
7 Q Chen D Zhang M Guo Q Deng and S Guo ldquoSamr A self adaptive
mapreduce scheduling algorithm in heterogeneous environmentrdquo in 10th
IEEE International Conference on Computer and Information Technology
CIT rsquo10 (Washington DC USA) pp 2736ndash2743 2010
8 Jeffrey Dean and Sanjay Ghemawat ldquoMapReduce Simplified Data
Processing on Large Clustersrdquo Communications of the ACM vol 51 no 1
pp 107ndash113 2008
9 Yuanquan Fan Weiguo Wu Haijun Cao Huo Zhu Xu Zhao and Wei Wei
34
ldquoA heterogeneity-aware data distribution and rebalance method in Hadoop
clusterrdquo 2012 Seventh ChinaGrid Annual Conference pp 176-181 2012
10 Zacharia Fadika Elif Dede Jessica Hartog and Madhusudhan Govindaraju
ldquoMARLA MapReduce for Heterogeneous Clustersrdquo in 12th IEEEACM
International Symposium on Cluster Cloud and Grid Computing pp 49-56
2012
11 Sanjay Ghemawat Howard Gobioff and ShunTak Leung ldquoThe Google file
systemrdquo In Proceedings of 19th Symposium on Operating Systems
Principles pp 29-43 2003
12 Sven Groot ldquoJumbo Beyond MapReduce for Workload Balancingrdquo Fuzzy
Systems and Knowledge Discovery (FSKD) 2011 Eighth International
Conference on Cloud Computing Technology and Science vol 4 pp
2675-2678 2011 July
13 B Gufler N Augsten A Reiser and A Kemper ldquoHandling Data Skew in
MapReducerdquo in Proceedings of CLOSER pp 574ndash583 2011
14 Mohammad Hammoud and Majd F Sakr ldquoLocality-Aware Reduce Task
Scheduling for MapReducerdquo Third IEEE International Conference on
Cloud Computing Technology and Science pp 570-576 2011
15 C He Y Lu and D Swanson ldquoMatch-making A New MapReduce
Scheduling Techniquerdquo IEEE Third International Conference on Cloud
Computing Technology and Science (CloudCom) pp 40ndash47 2011
16 Hung Chang Hsiao Huesh Yi Chung Haiying Shen and Yu Chang
ChaoldquoLoad Re-balancing for Distributed File Systems in Cloudsrdquo IEEE
Trans on Parallel and Distributed Systems vol24 pp 951-962 2012
17 Shadi Ibrahim Hai Jin Lu Lu Song Wu Bingsheng He and Li Qi ldquoLEEN
LocalityFairness Aware Key Partitioning for MapReduce in the Cloudrdquo
2010 IEEE Second International Conference on Cloud Computing
Technology and Science (CloudCom) pp 17ndash24 2010
18 S Ibrahim H Jin L Lu L Qi S Wu and X Shi ldquoEvaluating MapReduce
on Virtual Machines The Hadoop Caserdquo Proceedings Conference Cloud
Computing (CloudCom 2009) Springer LNCS pp 519-528 2009 Dec
19 C Jin and R Buyya ldquoMapreduce programming model for net-based cloud
computingrdquo in Proceedings of the 15th International Euro-Par Conference
on Parallel Processing Euro-Par (Berlin Heidelberg) pp 417ndash428 2009
20 R Nanduri N Maheshwari A Reddyraja and V Varma ldquoJob aware
scheduling algorithm for Mapreduce frameworkrdquo in 3rd International
Conference on Cloud Computing Technology and Science
CLOUDCOM rsquo11 (Washington DC USA) pp 724ndash729 2011
35
21 Andrew J Page and Thomas J Naughton ldquoDynamic task scheduling using
genetic algorithms for heterogeneous distributed computingrdquo in 19th IEEE
International Parallel and Distributed Processing Symposium pp 189a
2005 April
22 Xiaoyu Sun Chen He and Ying Lu ldquoESAMR An Enhanced Self-Adaptive
MapReduce Scheduling Algorithmrdquo 2012 IEEE 18th International
Conference on Parallel and Distributed Systems pp 148-155 2012
23 Chao Tian Haojie Zhou Yongqiang He and Li Zha ldquoA Dynamic
MapReduce Scheduler for Heterogeneous Workloadsrdquo Eighth International
Conference on Grid and Cooperative Computing pp 218ndash244 2009 Aug
24 Jiong Xie Shu Yin Xiaojun Ruan Zhi-yang Ding Yun Tian James Majors
Adam Manzanares and Xiao Qin ldquoImproving mapreduce performance
through data placement in heterogeneous hadoop clustersrdquo in IPDPS
Workshops pp 1ndash9 2010
25 J Tan X Pan S Kavulya R Gandhi and P Narasimhan ldquoMochi Visual
Log-Analysis Based Tools for Debugging Hadooprdquo USENIX Workshop on
Hot Topics in Cloud Computing (HotCloud) pp 1-5 2009
26 Matei Zaharia Andy Konwinski Anthony D Joseph Randy Katz and Ion
Stoica ldquoImproving MapReduce Performance in Heterogeneous
Environmentsrdquo 8th Symposium on Operating Systems Design and
Implementation pp 29ndash42 2008 Dec
27 X Zhang Z Zhong S Feng B Tu and J Fan ldquoImproving Data locality of
MapReduce by Scheduling in Homogeneous Computing Environmentsrdquo in
9th IEEE International Symposium on Parallel and Distributed Processing
with Applications (ISPA) pp 120-126 2011
28 Apache hadoop Available from httphadoopapacheorg
29 MapReduce with a lot of examples for Mining datasets Available from
httpinfolabstanfordedu~ullmanmmdsbookpdf
Page 30
21
由圖八(a)可看出本篇論文提出的兩個方法在低異構性環境所能節省的
Communication Locality 比原始的 Hadoop 提出的方法最多節省了 33的
Communication Locality圖八 (b)也最多節省了約 12的 Communication
Locality雖然節省在固定架設的虛擬機器為兩台的時候節省比較多但是
兩個實驗節省的 Communication Locality 量卻相差了快 2 倍原因是在於 Map 階
段完成的資料都儲存在 Local disc兩台實體機在交換資料的時候溝通成本是
很高的而建立在同一台實體機的兩台虛擬機器交換資料則溝通成本卻來的低
很多 因此溝通成本量的提高也會被實體機上架設的虛擬機器的多寡來影
響
由圖八(c)所示在高異構性最多可節省 27的 Communication Locality圖
八(d)則為 15的 Communication Locality分別從圖八(a)圖八(c)圖八(b)以及
圖八(d)可以看得出來Best Fit 和 Priority 不會隨著異構性環境的高低溝通成
本量會有大幅度的改變而 Priority 在節省的 Communication Locality 都會比 Best
Fit 都來的多一點因為Priority 可以避免前面的 Reducer 把機器挑選完迫使
只能選擇第二高的Communication location 因此大幅降低的情況給消除
52 Task Execution Time
此節實驗是要探討 Map 以及 Reduce 完成的時間圖九(a)和圖九(b)為低異構
性環境的實驗圖九(c)和圖九(d)為高異構性環境都是固定每台實體機架設 2
台以及 5 台虛擬機器所以固定虛擬機器總數量分別為 102030要處理
的資料為 900G
22
Map completion time(vm = 2 h = 1-3)
0
20
40
60
80
100
10 20 30
Number of vm
Sec
ond
Hadoop
Best Fit amp Priority
(a)
Map completion time(vm = 5 h = 1-3)
0
20
40
60
80
100
10 20 30Number of vm
Sec
ond
Hadoop
Best Fit amp Priority
(b)
Map completion time(vm = 2 h = 1-5)
0
20
40
60
80
100
10 20 30Number of vm
seco
nd
Hadoop
Best Fit amp Priority
(c)
23
Map completion time(vm = 5 h = 1-5)
0
20
40
60
80
100
10 20 30Number of vm
seco
nd
Hadoop
Best Fit amp Priority
(d)
圖九 Map completion time (a) low heterogeneity vm=2 (b) low heterogeneity
vm=5 (c) high heterogeneity vm=2 (d) high heterogeneity vm=5
圖九(a)圖九(b)圖九(c)以及圖九(d)顯示了本論文提出的兩個方法 Best Fit
和 Priority 他們完成的時間是一樣的因為兩個方法的 Map mapping 概念是一樣
的所以完成時間也會一樣在此實驗裡可發現 Best Fit 和 Priority 也會隨著
實體機上的虛擬機器數量增多而完成時間縮短而縮短的時間最多甚至可以達
到 44也可看出本論文的兩個方法在低異構性環境的效能比在高異構性環境
的效能來的較差所以在異構性越高的環境越能看得出 Best Fit 和 Priority
的優勢
24
Reduce completion time(vm = 2 h = 1-3)
0
20
40
60
80
100
120
10 20 30Number of vm
Sec
ond
Hadoop
Best Fit
Priority
(a)
Reduce completion time(vm = 5 h = 1-3)
0
20
40
60
80
100
120
10 20 30Number of vm
Sec
ond
Hadoop
Best Fit
Priority
(b)
Reduce completion time(vm = 2 h = 1-5)
0
20
40
60
80
100
120
10 20 30Number of vm
seco
nd
Hadoop
Best Fit
Priority
(c)
25
Reduce completion time(vm = 5 h = 1-5)
0
20
40
60
80
100
120
10 20 30Number of vm
Sec
ond
Hadoop
Best Fit
Priority
(d)
圖十 Reduce completion time (a) low heterogeneity vm=2 (b) low
heterogeneity vm=5 (c) high heterogeneity vm=2 (d) high heterogeneity vm=5
而在 Reduce 完成時間的方面不像 Map 的完成時間是一樣的因為選
擇 Reducer 的方式不同造成 Best Fit 以及 Priority 時間完成上有些許不同
如圖十(a)所示節省了 14的時間圖十(b)節省了 16的時間圖十(c)
節省了 23圖十(d)節省了 29由圖十(b)以及圖十(d)可見影響 Reduce
階段完成時間最主要的原因是異構性環境的問題當環境的異構性越高其
所節省的時間越多而圖十(c)以及圖十(d)所示一台實體機架設的虛擬機器數
量影響的範圍比較小
26
Total completion time (vm = 2 pm = 5 h = 1-3)
0 50 100 150 200 250
Hadoop
Best Fit
Priority
Met
hod
Second
Map Reduce
(a)
Total completion time(vm = 5 pm = 2 h = 1-3)
0 50 100 150 200
Hadoop
Best Fit
Priority
Met
hod
Second
Map Reduce
(b)
Total completion time(vm = 2 pm = 5 h = 1-5)
0 50 100 150 200 250
Hadoop
Best Fit
Priority
Met
hod
Second
Map Reduce
(c)
27
Total completion time(vm=5 pm = 2 h = 1-5)
0 50 100 150 200
Hadoop
Best Fit
Priority
Second
Met
hod
Map Reduce
(d)
圖十一 Total completion time (a) low heterogeneity vm=2 pm=5 (b) low
heterogeneity vm=5 pm=2 (c) high heterogeneity vm=2 pm=5 (d) high
heterogeneity vm=5 pm=2
由於前面分別是 Map以及 Reduce的完成時間為了想知道Map以及 Reduce
對於 MapReduce 的整體影響我們將前面的 Map 以及 Reduce 的完成時間在
處理資料的節點固定為 10 台 Worker將其做整合
從圖十一(a)圖十一(b)圖十一(c)圖十一(d)顯示 Best Fit 和 Priority 不論
是在低異構性或高異構性環境MapReduce 完成時間都比 Hadoop 的完成時間縮
短很多在低異構性環境最多可縮短到 29的時間在高異構性環境最多可縮
短 41的時間而造成 Hadoop 跟 Best Fit 和 Priority 在時間上差異如此大的原
因主要是在 Map 階段的完成時間因為Best Fit 和 Priority 是根據 Worker 的
效能來決定要處理的資料大小而 Hadoop 就是分配固定大小的資料給 Worker
運算所以在越高的異構性環境其縮短的時間會越明顯
28
Total completion time with different number of vm (h=1-3)
0
20
40
60
80
100
120
vm=2 vm=3 vm=4Number of vm per physical machine
Sec
ond
Hadoop
Best Fit
Priority
(a)
Total completion time with different number of vm (h=1-5)
0
20
40
60
80
100
120
vm=2 vm=3 vm=4Number of vm per physical machine
Sec
ond
Hadoop
Best Fit
Priority
(b)
圖十二 Total completion time with different number of vm (a) low heterogeneity
vm=2 worker=12 (b) high heterogeneity vm=5 worker=12
圖十二(a)是在低異構性環境圖十二(b)是在高異構性環境並且1 台實體
機架設 2 個3 個4 個虛擬機器使 Worker 數量固定 12 台處理的資料量為
600G
這個模擬實驗主要探討的是在一台實體機架設的虛擬機器數量對於
MapReduce 完成時間是否真正有影響圖十二(a)和圖十二(b)更可以顯示出 Best
Fit 和 Priority 在異構性越高的環境裏且一台實體機架設越多虛擬機器來當作
Worker 的時候可以縮短更多的時間前者會縮短 Map 的完成時間後者會縮
29
短 Reduce 的完成時間而 Hadoop 在異構性環境高的時候也有些微的縮短一
些時間
Total completion time with different data size (h=1-5)
0
20
40
60
80
100
120
140
400 600 800 1000 1200
Data
Sec
ond
Hadoop
Best Fit
Priority
圖十三 Total completion time with different data size
在上述的實驗中在同樣的資料大小處理的 Worker 數量越多的時候其
完成時間會縮短很多但是到達一定的數量的時候其縮短時間的效果就很低
所以就做了此實驗因為本篇論文就是要探討異構性的環境選擇高異構性
環境固定 Worker 數量 20 台資料大小由 400G 到 1200G探討資料大小對
MapReduce 以及 Worker 的影響如圖十三顯示出在 600G 以下的時候Map 加
上 Reduce 完成的時間突然靠近起來代表了當資料量越小的時候Best Fit 和
Priority 的方法跟原始的 Hadoop 的方法優勢會越來越少但相反的是當資料
量越大的時候雖然Best Fit 和 Priority 完成時間會增加但是跟 Hadoop 的
完成時間比會更加突顯
30
Total completion time (best fit)
0
10
20
30
40
50
60
70
80
(Without optimization) (Optimization)
Best Fit
Sec
ond
Map Reduce
(a)
Total completion time (priority)
0
10
20
30
40
50
60
70
80
(Without optimization) (Optimization)
Priority
Sec
ond
Map Reduce
(b)
圖十四 Total completion time of loading aware optimization (a) without
optimal (b) with optimization
圖十四(a)未使用優化技術圖十四(b)是使用優化技術同樣都是在高異構
性環境之下並且1 台實體機架設 5 個虛擬機器使 Worker 數量固定 15 台
處理的資料量為 900G
在本篇論文方法的部份有提到Loading Aware Virtual Machine Mapping的優
化技術由於此實驗上面的實驗數據都已經使用優化技術來改善時間因此
此實驗就是要探討這優化技術對於MapReduce完成時間的影響
由於Loading Aware Virtual Machine Mapping此優化技術是變動同一台實體
31
機內部的Reducer使得原本是根據Communication locality來選擇虛擬機器但
是在挑選的過程中並沒有依據處理資料的大小分配到其處理速度相對映的
虛擬機器而這優化技術就是將同一台實體機內的虛擬機器重新分配由於此
優化技術並不會影響Communication locality所以這部份並沒有在此實驗探討
圖十四(a)圖十四(b)顯示未使用優化技術的Best fit和Priority的MapReduce
完成時間雖然比Hadoop的方法好但是其Reduce phase完成時間上慢了一些
並且可以看出此優化技術並不會影響到Map phase主要影響的是在Reduce階
段在Reduce階段的完成時間上利用優化技術可以將Reduce階段時間縮短其13
32
Chapter 6 Conclusions and Future Works
目前 Hadoop 資料處理的環境還是應用在群集內節點效能是相同的情況下
如果是異構性環境可能就無法這麼有效率的處理本篇論文提出了兩個方法
動態資料切割和虛擬機對映以及一個優化技術 Loading aware virtual machine
mapping模擬實驗結果表明透過本篇方法來得比 Hadoop 縮短 41的時間以
及最多節省 Communication Locality 約莫 33尤其在異構性越高的環境以及
一台實體機器架設的虛擬機器數量越多改善的效果越明顯另外 Loading
aware virtual machine mapping 優化技術改善了 Reduce phase 的完成時間約莫
13
在未來研究上可以朝著動態調整 Reducer 數量的方向前進當固定大小的
資料上其實有時候過多的節點去運算消耗了大量的運算資源卻只得到一些
秒數的縮短如何利用適當的運算資源來得到最大的利益這是相當重要的議
題由於此實驗都是屬於模擬實驗希望在未來可以實際架設在機器上運行
透過 Benchmark得到真正的數據
33
Reference
1 Masato Asahara Shinji Nakadai and Takuya Araki ldquoLoadAtomizer A
Locality and IO Load aware Task Scheduler for MapReducerdquo in 4th IEEE
International Conference on Cloud Computing Technology and Science
(CloudCom) pp 317-324 2012
2 Paul Barham Boris Dragovic Keir Fraser Steven Hand Tim Harris Alex
Ho Rolf Neugebauer Ian Pratt and Andrew Warfield ldquoXen and the Art of
Virtualizationrdquo SOSP 03 Proceedings of the nineteenth ACM symposium
on Operating systems principles vol 37 Issue 5 pp 164-177 December
2003
3 Xiangping Bu Jia Rao and Cheng Zhong Xu ldquoInterference and
Locality-Aware Task Scheduling for MapReduce Applications in Virtual
Clustersrdquo Proceeding HPDC 13 Proceedings of the 22nd international
sym-posium on High-performance parallel and distributed computing pp
227-238 2013
4 Kasim Selcuk Candan Jong Wook Kim Parth Nagarkar Mithila Nagendra
and Ren-wei Yu ldquoScalable Multimedia Data Processing in Server Clustersrdquo
IEEE MultiMedia pp 3-5 2010
5 Fay Chang Jeffrey Dean Sanjay Ghemawat Wilson C Hsieh Deborah A
Wallach Mike Burrws Tushar Chandra Andrew Fikes and Robert EGruber
ldquoBigtable A Distributed Storage System for Structured Datardquo 7th UENIX
Symposium on Operating Systems Design and Implementation pp 205-218
2006
6 P C Chen Y L Su J B Chang and C K Shieh ldquoVariable-Sized Map and
Locality-Aware Reduce on Public-Resource Gridsrdquo in Proceedings
Conference Grid and Pervasive Computing (GPC 2010) pp 234-243 2010
May
7 Q Chen D Zhang M Guo Q Deng and S Guo ldquoSamr A self adaptive
mapreduce scheduling algorithm in heterogeneous environmentrdquo in 10th
IEEE International Conference on Computer and Information Technology
CIT rsquo10 (Washington DC USA) pp 2736ndash2743 2010
8 Jeffrey Dean and Sanjay Ghemawat ldquoMapReduce Simplified Data
Processing on Large Clustersrdquo Communications of the ACM vol 51 no 1
pp 107ndash113 2008
9 Yuanquan Fan Weiguo Wu Haijun Cao Huo Zhu Xu Zhao and Wei Wei
34
ldquoA heterogeneity-aware data distribution and rebalance method in Hadoop
clusterrdquo 2012 Seventh ChinaGrid Annual Conference pp 176-181 2012
10 Zacharia Fadika Elif Dede Jessica Hartog and Madhusudhan Govindaraju
ldquoMARLA MapReduce for Heterogeneous Clustersrdquo in 12th IEEEACM
International Symposium on Cluster Cloud and Grid Computing pp 49-56
2012
11 Sanjay Ghemawat Howard Gobioff and ShunTak Leung ldquoThe Google file
systemrdquo In Proceedings of 19th Symposium on Operating Systems
Principles pp 29-43 2003
12 Sven Groot ldquoJumbo Beyond MapReduce for Workload Balancingrdquo Fuzzy
Systems and Knowledge Discovery (FSKD) 2011 Eighth International
Conference on Cloud Computing Technology and Science vol 4 pp
2675-2678 2011 July
13 B Gufler N Augsten A Reiser and A Kemper ldquoHandling Data Skew in
MapReducerdquo in Proceedings of CLOSER pp 574ndash583 2011
14 Mohammad Hammoud and Majd F Sakr ldquoLocality-Aware Reduce Task
Scheduling for MapReducerdquo Third IEEE International Conference on
Cloud Computing Technology and Science pp 570-576 2011
15 C He Y Lu and D Swanson ldquoMatch-making A New MapReduce
Scheduling Techniquerdquo IEEE Third International Conference on Cloud
Computing Technology and Science (CloudCom) pp 40ndash47 2011
16 Hung Chang Hsiao Huesh Yi Chung Haiying Shen and Yu Chang
ChaoldquoLoad Re-balancing for Distributed File Systems in Cloudsrdquo IEEE
Trans on Parallel and Distributed Systems vol24 pp 951-962 2012
17 Shadi Ibrahim Hai Jin Lu Lu Song Wu Bingsheng He and Li Qi ldquoLEEN
LocalityFairness Aware Key Partitioning for MapReduce in the Cloudrdquo
2010 IEEE Second International Conference on Cloud Computing
Technology and Science (CloudCom) pp 17ndash24 2010
18 S Ibrahim H Jin L Lu L Qi S Wu and X Shi ldquoEvaluating MapReduce
on Virtual Machines The Hadoop Caserdquo Proceedings Conference Cloud
Computing (CloudCom 2009) Springer LNCS pp 519-528 2009 Dec
19 C Jin and R Buyya ldquoMapreduce programming model for net-based cloud
computingrdquo in Proceedings of the 15th International Euro-Par Conference
on Parallel Processing Euro-Par (Berlin Heidelberg) pp 417ndash428 2009
20 R Nanduri N Maheshwari A Reddyraja and V Varma ldquoJob aware
scheduling algorithm for Mapreduce frameworkrdquo in 3rd International
Conference on Cloud Computing Technology and Science
CLOUDCOM rsquo11 (Washington DC USA) pp 724ndash729 2011
35
21 Andrew J Page and Thomas J Naughton ldquoDynamic task scheduling using
genetic algorithms for heterogeneous distributed computingrdquo in 19th IEEE
International Parallel and Distributed Processing Symposium pp 189a
2005 April
22 Xiaoyu Sun Chen He and Ying Lu ldquoESAMR An Enhanced Self-Adaptive
MapReduce Scheduling Algorithmrdquo 2012 IEEE 18th International
Conference on Parallel and Distributed Systems pp 148-155 2012
23 Chao Tian Haojie Zhou Yongqiang He and Li Zha ldquoA Dynamic
MapReduce Scheduler for Heterogeneous Workloadsrdquo Eighth International
Conference on Grid and Cooperative Computing pp 218ndash244 2009 Aug
24 Jiong Xie Shu Yin Xiaojun Ruan Zhi-yang Ding Yun Tian James Majors
Adam Manzanares and Xiao Qin ldquoImproving mapreduce performance
through data placement in heterogeneous hadoop clustersrdquo in IPDPS
Workshops pp 1ndash9 2010
25 J Tan X Pan S Kavulya R Gandhi and P Narasimhan ldquoMochi Visual
Log-Analysis Based Tools for Debugging Hadooprdquo USENIX Workshop on
Hot Topics in Cloud Computing (HotCloud) pp 1-5 2009
26 Matei Zaharia Andy Konwinski Anthony D Joseph Randy Katz and Ion
Stoica ldquoImproving MapReduce Performance in Heterogeneous
Environmentsrdquo 8th Symposium on Operating Systems Design and
Implementation pp 29ndash42 2008 Dec
27 X Zhang Z Zhong S Feng B Tu and J Fan ldquoImproving Data locality of
MapReduce by Scheduling in Homogeneous Computing Environmentsrdquo in
9th IEEE International Symposium on Parallel and Distributed Processing
with Applications (ISPA) pp 120-126 2011
28 Apache hadoop Available from httphadoopapacheorg
29 MapReduce with a lot of examples for Mining datasets Available from
httpinfolabstanfordedu~ullmanmmdsbookpdf
Page 31
22
Map completion time(vm = 2 h = 1-3)
0
20
40
60
80
100
10 20 30
Number of vm
Sec
ond
Hadoop
Best Fit amp Priority
(a)
Map completion time(vm = 5 h = 1-3)
0
20
40
60
80
100
10 20 30Number of vm
Sec
ond
Hadoop
Best Fit amp Priority
(b)
Map completion time(vm = 2 h = 1-5)
0
20
40
60
80
100
10 20 30Number of vm
seco
nd
Hadoop
Best Fit amp Priority
(c)
23
Map completion time(vm = 5 h = 1-5)
0
20
40
60
80
100
10 20 30Number of vm
seco
nd
Hadoop
Best Fit amp Priority
(d)
圖九 Map completion time (a) low heterogeneity vm=2 (b) low heterogeneity
vm=5 (c) high heterogeneity vm=2 (d) high heterogeneity vm=5
圖九(a)圖九(b)圖九(c)以及圖九(d)顯示了本論文提出的兩個方法 Best Fit
和 Priority 他們完成的時間是一樣的因為兩個方法的 Map mapping 概念是一樣
的所以完成時間也會一樣在此實驗裡可發現 Best Fit 和 Priority 也會隨著
實體機上的虛擬機器數量增多而完成時間縮短而縮短的時間最多甚至可以達
到 44也可看出本論文的兩個方法在低異構性環境的效能比在高異構性環境
的效能來的較差所以在異構性越高的環境越能看得出 Best Fit 和 Priority
的優勢
24
Reduce completion time(vm = 2 h = 1-3)
0
20
40
60
80
100
120
10 20 30Number of vm
Sec
ond
Hadoop
Best Fit
Priority
(a)
Reduce completion time(vm = 5 h = 1-3)
0
20
40
60
80
100
120
10 20 30Number of vm
Sec
ond
Hadoop
Best Fit
Priority
(b)
Reduce completion time(vm = 2 h = 1-5)
0
20
40
60
80
100
120
10 20 30Number of vm
seco
nd
Hadoop
Best Fit
Priority
(c)
25
Reduce completion time(vm = 5 h = 1-5)
0
20
40
60
80
100
120
10 20 30Number of vm
Sec
ond
Hadoop
Best Fit
Priority
(d)
圖十 Reduce completion time (a) low heterogeneity vm=2 (b) low
heterogeneity vm=5 (c) high heterogeneity vm=2 (d) high heterogeneity vm=5
而在 Reduce 完成時間的方面不像 Map 的完成時間是一樣的因為選
擇 Reducer 的方式不同造成 Best Fit 以及 Priority 時間完成上有些許不同
如圖十(a)所示節省了 14的時間圖十(b)節省了 16的時間圖十(c)
節省了 23圖十(d)節省了 29由圖十(b)以及圖十(d)可見影響 Reduce
階段完成時間最主要的原因是異構性環境的問題當環境的異構性越高其
所節省的時間越多而圖十(c)以及圖十(d)所示一台實體機架設的虛擬機器數
量影響的範圍比較小
26
Total completion time (vm = 2 pm = 5 h = 1-3)
0 50 100 150 200 250
Hadoop
Best Fit
Priority
Met
hod
Second
Map Reduce
(a)
Total completion time(vm = 5 pm = 2 h = 1-3)
0 50 100 150 200
Hadoop
Best Fit
Priority
Met
hod
Second
Map Reduce
(b)
Total completion time(vm = 2 pm = 5 h = 1-5)
0 50 100 150 200 250
Hadoop
Best Fit
Priority
Met
hod
Second
Map Reduce
(c)
27
Total completion time(vm=5 pm = 2 h = 1-5)
0 50 100 150 200
Hadoop
Best Fit
Priority
Second
Met
hod
Map Reduce
(d)
圖十一 Total completion time (a) low heterogeneity vm=2 pm=5 (b) low
heterogeneity vm=5 pm=2 (c) high heterogeneity vm=2 pm=5 (d) high
heterogeneity vm=5 pm=2
由於前面分別是 Map以及 Reduce的完成時間為了想知道Map以及 Reduce
對於 MapReduce 的整體影響我們將前面的 Map 以及 Reduce 的完成時間在
處理資料的節點固定為 10 台 Worker將其做整合
從圖十一(a)圖十一(b)圖十一(c)圖十一(d)顯示 Best Fit 和 Priority 不論
是在低異構性或高異構性環境MapReduce 完成時間都比 Hadoop 的完成時間縮
短很多在低異構性環境最多可縮短到 29的時間在高異構性環境最多可縮
短 41的時間而造成 Hadoop 跟 Best Fit 和 Priority 在時間上差異如此大的原
因主要是在 Map 階段的完成時間因為Best Fit 和 Priority 是根據 Worker 的
效能來決定要處理的資料大小而 Hadoop 就是分配固定大小的資料給 Worker
運算所以在越高的異構性環境其縮短的時間會越明顯
28
Total completion time with different number of vm (h=1-3)
0
20
40
60
80
100
120
vm=2 vm=3 vm=4Number of vm per physical machine
Sec
ond
Hadoop
Best Fit
Priority
(a)
Total completion time with different number of vm (h=1-5)
0
20
40
60
80
100
120
vm=2 vm=3 vm=4Number of vm per physical machine
Sec
ond
Hadoop
Best Fit
Priority
(b)
圖十二 Total completion time with different number of vm (a) low heterogeneity
vm=2 worker=12 (b) high heterogeneity vm=5 worker=12
圖十二(a)是在低異構性環境圖十二(b)是在高異構性環境並且1 台實體
機架設 2 個3 個4 個虛擬機器使 Worker 數量固定 12 台處理的資料量為
600G
這個模擬實驗主要探討的是在一台實體機架設的虛擬機器數量對於
MapReduce 完成時間是否真正有影響圖十二(a)和圖十二(b)更可以顯示出 Best
Fit 和 Priority 在異構性越高的環境裏且一台實體機架設越多虛擬機器來當作
Worker 的時候可以縮短更多的時間前者會縮短 Map 的完成時間後者會縮
29
短 Reduce 的完成時間而 Hadoop 在異構性環境高的時候也有些微的縮短一
些時間
Total completion time with different data size (h=1-5)
0
20
40
60
80
100
120
140
400 600 800 1000 1200
Data
Sec
ond
Hadoop
Best Fit
Priority
圖十三 Total completion time with different data size
在上述的實驗中在同樣的資料大小處理的 Worker 數量越多的時候其
完成時間會縮短很多但是到達一定的數量的時候其縮短時間的效果就很低
所以就做了此實驗因為本篇論文就是要探討異構性的環境選擇高異構性
環境固定 Worker 數量 20 台資料大小由 400G 到 1200G探討資料大小對
MapReduce 以及 Worker 的影響如圖十三顯示出在 600G 以下的時候Map 加
上 Reduce 完成的時間突然靠近起來代表了當資料量越小的時候Best Fit 和
Priority 的方法跟原始的 Hadoop 的方法優勢會越來越少但相反的是當資料
量越大的時候雖然Best Fit 和 Priority 完成時間會增加但是跟 Hadoop 的
完成時間比會更加突顯
30
Total completion time (best fit)
0
10
20
30
40
50
60
70
80
(Without optimization) (Optimization)
Best Fit
Sec
ond
Map Reduce
(a)
Total completion time (priority)
0
10
20
30
40
50
60
70
80
(Without optimization) (Optimization)
Priority
Sec
ond
Map Reduce
(b)
圖十四 Total completion time of loading aware optimization (a) without
optimal (b) with optimization
圖十四(a)未使用優化技術圖十四(b)是使用優化技術同樣都是在高異構
性環境之下並且1 台實體機架設 5 個虛擬機器使 Worker 數量固定 15 台
處理的資料量為 900G
在本篇論文方法的部份有提到Loading Aware Virtual Machine Mapping的優
化技術由於此實驗上面的實驗數據都已經使用優化技術來改善時間因此
此實驗就是要探討這優化技術對於MapReduce完成時間的影響
由於Loading Aware Virtual Machine Mapping此優化技術是變動同一台實體
31
機內部的Reducer使得原本是根據Communication locality來選擇虛擬機器但
是在挑選的過程中並沒有依據處理資料的大小分配到其處理速度相對映的
虛擬機器而這優化技術就是將同一台實體機內的虛擬機器重新分配由於此
優化技術並不會影響Communication locality所以這部份並沒有在此實驗探討
圖十四(a)圖十四(b)顯示未使用優化技術的Best fit和Priority的MapReduce
完成時間雖然比Hadoop的方法好但是其Reduce phase完成時間上慢了一些
並且可以看出此優化技術並不會影響到Map phase主要影響的是在Reduce階
段在Reduce階段的完成時間上利用優化技術可以將Reduce階段時間縮短其13
32
Chapter 6 Conclusions and Future Works
目前 Hadoop 資料處理的環境還是應用在群集內節點效能是相同的情況下
如果是異構性環境可能就無法這麼有效率的處理本篇論文提出了兩個方法
動態資料切割和虛擬機對映以及一個優化技術 Loading aware virtual machine
mapping模擬實驗結果表明透過本篇方法來得比 Hadoop 縮短 41的時間以
及最多節省 Communication Locality 約莫 33尤其在異構性越高的環境以及
一台實體機器架設的虛擬機器數量越多改善的效果越明顯另外 Loading
aware virtual machine mapping 優化技術改善了 Reduce phase 的完成時間約莫
13
在未來研究上可以朝著動態調整 Reducer 數量的方向前進當固定大小的
資料上其實有時候過多的節點去運算消耗了大量的運算資源卻只得到一些
秒數的縮短如何利用適當的運算資源來得到最大的利益這是相當重要的議
題由於此實驗都是屬於模擬實驗希望在未來可以實際架設在機器上運行
透過 Benchmark得到真正的數據
33
Reference
1 Masato Asahara Shinji Nakadai and Takuya Araki ldquoLoadAtomizer A
Locality and IO Load aware Task Scheduler for MapReducerdquo in 4th IEEE
International Conference on Cloud Computing Technology and Science
(CloudCom) pp 317-324 2012
2 Paul Barham Boris Dragovic Keir Fraser Steven Hand Tim Harris Alex
Ho Rolf Neugebauer Ian Pratt and Andrew Warfield ldquoXen and the Art of
Virtualizationrdquo SOSP 03 Proceedings of the nineteenth ACM symposium
on Operating systems principles vol 37 Issue 5 pp 164-177 December
2003
3 Xiangping Bu Jia Rao and Cheng Zhong Xu ldquoInterference and
Locality-Aware Task Scheduling for MapReduce Applications in Virtual
Clustersrdquo Proceeding HPDC 13 Proceedings of the 22nd international
sym-posium on High-performance parallel and distributed computing pp
227-238 2013
4 Kasim Selcuk Candan Jong Wook Kim Parth Nagarkar Mithila Nagendra
and Ren-wei Yu ldquoScalable Multimedia Data Processing in Server Clustersrdquo
IEEE MultiMedia pp 3-5 2010
5 Fay Chang Jeffrey Dean Sanjay Ghemawat Wilson C Hsieh Deborah A
Wallach Mike Burrws Tushar Chandra Andrew Fikes and Robert EGruber
ldquoBigtable A Distributed Storage System for Structured Datardquo 7th UENIX
Symposium on Operating Systems Design and Implementation pp 205-218
2006
6 P C Chen Y L Su J B Chang and C K Shieh ldquoVariable-Sized Map and
Locality-Aware Reduce on Public-Resource Gridsrdquo in Proceedings
Conference Grid and Pervasive Computing (GPC 2010) pp 234-243 2010
May
7 Q Chen D Zhang M Guo Q Deng and S Guo ldquoSamr A self adaptive
mapreduce scheduling algorithm in heterogeneous environmentrdquo in 10th
IEEE International Conference on Computer and Information Technology
CIT rsquo10 (Washington DC USA) pp 2736ndash2743 2010
8 Jeffrey Dean and Sanjay Ghemawat ldquoMapReduce Simplified Data
Processing on Large Clustersrdquo Communications of the ACM vol 51 no 1
pp 107ndash113 2008
9 Yuanquan Fan Weiguo Wu Haijun Cao Huo Zhu Xu Zhao and Wei Wei
34
ldquoA heterogeneity-aware data distribution and rebalance method in Hadoop
clusterrdquo 2012 Seventh ChinaGrid Annual Conference pp 176-181 2012
10 Zacharia Fadika Elif Dede Jessica Hartog and Madhusudhan Govindaraju
ldquoMARLA MapReduce for Heterogeneous Clustersrdquo in 12th IEEEACM
International Symposium on Cluster Cloud and Grid Computing pp 49-56
2012
11 Sanjay Ghemawat Howard Gobioff and ShunTak Leung ldquoThe Google file
systemrdquo In Proceedings of 19th Symposium on Operating Systems
Principles pp 29-43 2003
12 Sven Groot ldquoJumbo Beyond MapReduce for Workload Balancingrdquo Fuzzy
Systems and Knowledge Discovery (FSKD) 2011 Eighth International
Conference on Cloud Computing Technology and Science vol 4 pp
2675-2678 2011 July
13 B Gufler N Augsten A Reiser and A Kemper ldquoHandling Data Skew in
MapReducerdquo in Proceedings of CLOSER pp 574ndash583 2011
14 Mohammad Hammoud and Majd F Sakr ldquoLocality-Aware Reduce Task
Scheduling for MapReducerdquo Third IEEE International Conference on
Cloud Computing Technology and Science pp 570-576 2011
15 C He Y Lu and D Swanson ldquoMatch-making A New MapReduce
Scheduling Techniquerdquo IEEE Third International Conference on Cloud
Computing Technology and Science (CloudCom) pp 40ndash47 2011
16 Hung Chang Hsiao Huesh Yi Chung Haiying Shen and Yu Chang
ChaoldquoLoad Re-balancing for Distributed File Systems in Cloudsrdquo IEEE
Trans on Parallel and Distributed Systems vol24 pp 951-962 2012
17 Shadi Ibrahim Hai Jin Lu Lu Song Wu Bingsheng He and Li Qi ldquoLEEN
LocalityFairness Aware Key Partitioning for MapReduce in the Cloudrdquo
2010 IEEE Second International Conference on Cloud Computing
Technology and Science (CloudCom) pp 17ndash24 2010
18 S Ibrahim H Jin L Lu L Qi S Wu and X Shi ldquoEvaluating MapReduce
on Virtual Machines The Hadoop Caserdquo Proceedings Conference Cloud
Computing (CloudCom 2009) Springer LNCS pp 519-528 2009 Dec
19 C Jin and R Buyya ldquoMapreduce programming model for net-based cloud
computingrdquo in Proceedings of the 15th International Euro-Par Conference
on Parallel Processing Euro-Par (Berlin Heidelberg) pp 417ndash428 2009
20 R Nanduri N Maheshwari A Reddyraja and V Varma ldquoJob aware
scheduling algorithm for Mapreduce frameworkrdquo in 3rd International
Conference on Cloud Computing Technology and Science
CLOUDCOM rsquo11 (Washington DC USA) pp 724ndash729 2011
35
21 Andrew J Page and Thomas J Naughton ldquoDynamic task scheduling using
genetic algorithms for heterogeneous distributed computingrdquo in 19th IEEE
International Parallel and Distributed Processing Symposium pp 189a
2005 April
22 Xiaoyu Sun Chen He and Ying Lu ldquoESAMR An Enhanced Self-Adaptive
MapReduce Scheduling Algorithmrdquo 2012 IEEE 18th International
Conference on Parallel and Distributed Systems pp 148-155 2012
23 Chao Tian Haojie Zhou Yongqiang He and Li Zha ldquoA Dynamic
MapReduce Scheduler for Heterogeneous Workloadsrdquo Eighth International
Conference on Grid and Cooperative Computing pp 218ndash244 2009 Aug
24 Jiong Xie Shu Yin Xiaojun Ruan Zhi-yang Ding Yun Tian James Majors
Adam Manzanares and Xiao Qin ldquoImproving mapreduce performance
through data placement in heterogeneous hadoop clustersrdquo in IPDPS
Workshops pp 1ndash9 2010
25 J Tan X Pan S Kavulya R Gandhi and P Narasimhan ldquoMochi Visual
Log-Analysis Based Tools for Debugging Hadooprdquo USENIX Workshop on
Hot Topics in Cloud Computing (HotCloud) pp 1-5 2009
26 Matei Zaharia Andy Konwinski Anthony D Joseph Randy Katz and Ion
Stoica ldquoImproving MapReduce Performance in Heterogeneous
Environmentsrdquo 8th Symposium on Operating Systems Design and
Implementation pp 29ndash42 2008 Dec
27 X Zhang Z Zhong S Feng B Tu and J Fan ldquoImproving Data locality of
MapReduce by Scheduling in Homogeneous Computing Environmentsrdquo in
9th IEEE International Symposium on Parallel and Distributed Processing
with Applications (ISPA) pp 120-126 2011
28 Apache hadoop Available from httphadoopapacheorg
29 MapReduce with a lot of examples for Mining datasets Available from
httpinfolabstanfordedu~ullmanmmdsbookpdf
Page 32
23
Map completion time(vm = 5 h = 1-5)
0
20
40
60
80
100
10 20 30Number of vm
seco
nd
Hadoop
Best Fit amp Priority
(d)
圖九 Map completion time (a) low heterogeneity vm=2 (b) low heterogeneity
vm=5 (c) high heterogeneity vm=2 (d) high heterogeneity vm=5
圖九(a)圖九(b)圖九(c)以及圖九(d)顯示了本論文提出的兩個方法 Best Fit
和 Priority 他們完成的時間是一樣的因為兩個方法的 Map mapping 概念是一樣
的所以完成時間也會一樣在此實驗裡可發現 Best Fit 和 Priority 也會隨著
實體機上的虛擬機器數量增多而完成時間縮短而縮短的時間最多甚至可以達
到 44也可看出本論文的兩個方法在低異構性環境的效能比在高異構性環境
的效能來的較差所以在異構性越高的環境越能看得出 Best Fit 和 Priority
的優勢
24
Reduce completion time(vm = 2 h = 1-3)
0
20
40
60
80
100
120
10 20 30Number of vm
Sec
ond
Hadoop
Best Fit
Priority
(a)
Reduce completion time(vm = 5 h = 1-3)
0
20
40
60
80
100
120
10 20 30Number of vm
Sec
ond
Hadoop
Best Fit
Priority
(b)
Reduce completion time(vm = 2 h = 1-5)
0
20
40
60
80
100
120
10 20 30Number of vm
seco
nd
Hadoop
Best Fit
Priority
(c)
25
Reduce completion time(vm = 5 h = 1-5)
0
20
40
60
80
100
120
10 20 30Number of vm
Sec
ond
Hadoop
Best Fit
Priority
(d)
圖十 Reduce completion time (a) low heterogeneity vm=2 (b) low
heterogeneity vm=5 (c) high heterogeneity vm=2 (d) high heterogeneity vm=5
而在 Reduce 完成時間的方面不像 Map 的完成時間是一樣的因為選
擇 Reducer 的方式不同造成 Best Fit 以及 Priority 時間完成上有些許不同
如圖十(a)所示節省了 14的時間圖十(b)節省了 16的時間圖十(c)
節省了 23圖十(d)節省了 29由圖十(b)以及圖十(d)可見影響 Reduce
階段完成時間最主要的原因是異構性環境的問題當環境的異構性越高其
所節省的時間越多而圖十(c)以及圖十(d)所示一台實體機架設的虛擬機器數
量影響的範圍比較小
26
Total completion time (vm = 2 pm = 5 h = 1-3)
0 50 100 150 200 250
Hadoop
Best Fit
Priority
Met
hod
Second
Map Reduce
(a)
Total completion time(vm = 5 pm = 2 h = 1-3)
0 50 100 150 200
Hadoop
Best Fit
Priority
Met
hod
Second
Map Reduce
(b)
Total completion time(vm = 2 pm = 5 h = 1-5)
0 50 100 150 200 250
Hadoop
Best Fit
Priority
Met
hod
Second
Map Reduce
(c)
27
Total completion time(vm=5 pm = 2 h = 1-5)
0 50 100 150 200
Hadoop
Best Fit
Priority
Second
Met
hod
Map Reduce
(d)
圖十一 Total completion time (a) low heterogeneity vm=2 pm=5 (b) low
heterogeneity vm=5 pm=2 (c) high heterogeneity vm=2 pm=5 (d) high
heterogeneity vm=5 pm=2
由於前面分別是 Map以及 Reduce的完成時間為了想知道Map以及 Reduce
對於 MapReduce 的整體影響我們將前面的 Map 以及 Reduce 的完成時間在
處理資料的節點固定為 10 台 Worker將其做整合
從圖十一(a)圖十一(b)圖十一(c)圖十一(d)顯示 Best Fit 和 Priority 不論
是在低異構性或高異構性環境MapReduce 完成時間都比 Hadoop 的完成時間縮
短很多在低異構性環境最多可縮短到 29的時間在高異構性環境最多可縮
短 41的時間而造成 Hadoop 跟 Best Fit 和 Priority 在時間上差異如此大的原
因主要是在 Map 階段的完成時間因為Best Fit 和 Priority 是根據 Worker 的
效能來決定要處理的資料大小而 Hadoop 就是分配固定大小的資料給 Worker
運算所以在越高的異構性環境其縮短的時間會越明顯
28
Total completion time with different number of vm (h=1-3)
0
20
40
60
80
100
120
vm=2 vm=3 vm=4Number of vm per physical machine
Sec
ond
Hadoop
Best Fit
Priority
(a)
Total completion time with different number of vm (h=1-5)
0
20
40
60
80
100
120
vm=2 vm=3 vm=4Number of vm per physical machine
Sec
ond
Hadoop
Best Fit
Priority
(b)
圖十二 Total completion time with different number of vm (a) low heterogeneity
vm=2 worker=12 (b) high heterogeneity vm=5 worker=12
圖十二(a)是在低異構性環境圖十二(b)是在高異構性環境並且1 台實體
機架設 2 個3 個4 個虛擬機器使 Worker 數量固定 12 台處理的資料量為
600G
這個模擬實驗主要探討的是在一台實體機架設的虛擬機器數量對於
MapReduce 完成時間是否真正有影響圖十二(a)和圖十二(b)更可以顯示出 Best
Fit 和 Priority 在異構性越高的環境裏且一台實體機架設越多虛擬機器來當作
Worker 的時候可以縮短更多的時間前者會縮短 Map 的完成時間後者會縮
29
短 Reduce 的完成時間而 Hadoop 在異構性環境高的時候也有些微的縮短一
些時間
Total completion time with different data size (h=1-5)
0
20
40
60
80
100
120
140
400 600 800 1000 1200
Data
Sec
ond
Hadoop
Best Fit
Priority
圖十三 Total completion time with different data size
在上述的實驗中在同樣的資料大小處理的 Worker 數量越多的時候其
完成時間會縮短很多但是到達一定的數量的時候其縮短時間的效果就很低
所以就做了此實驗因為本篇論文就是要探討異構性的環境選擇高異構性
環境固定 Worker 數量 20 台資料大小由 400G 到 1200G探討資料大小對
MapReduce 以及 Worker 的影響如圖十三顯示出在 600G 以下的時候Map 加
上 Reduce 完成的時間突然靠近起來代表了當資料量越小的時候Best Fit 和
Priority 的方法跟原始的 Hadoop 的方法優勢會越來越少但相反的是當資料
量越大的時候雖然Best Fit 和 Priority 完成時間會增加但是跟 Hadoop 的
完成時間比會更加突顯
30
Total completion time (best fit)
0
10
20
30
40
50
60
70
80
(Without optimization) (Optimization)
Best Fit
Sec
ond
Map Reduce
(a)
Total completion time (priority)
0
10
20
30
40
50
60
70
80
(Without optimization) (Optimization)
Priority
Sec
ond
Map Reduce
(b)
圖十四 Total completion time of loading aware optimization (a) without
optimal (b) with optimization
圖十四(a)未使用優化技術圖十四(b)是使用優化技術同樣都是在高異構
性環境之下並且1 台實體機架設 5 個虛擬機器使 Worker 數量固定 15 台
處理的資料量為 900G
在本篇論文方法的部份有提到Loading Aware Virtual Machine Mapping的優
化技術由於此實驗上面的實驗數據都已經使用優化技術來改善時間因此
此實驗就是要探討這優化技術對於MapReduce完成時間的影響
由於Loading Aware Virtual Machine Mapping此優化技術是變動同一台實體
31
機內部的Reducer使得原本是根據Communication locality來選擇虛擬機器但
是在挑選的過程中並沒有依據處理資料的大小分配到其處理速度相對映的
虛擬機器而這優化技術就是將同一台實體機內的虛擬機器重新分配由於此
優化技術並不會影響Communication locality所以這部份並沒有在此實驗探討
圖十四(a)圖十四(b)顯示未使用優化技術的Best fit和Priority的MapReduce
完成時間雖然比Hadoop的方法好但是其Reduce phase完成時間上慢了一些
並且可以看出此優化技術並不會影響到Map phase主要影響的是在Reduce階
段在Reduce階段的完成時間上利用優化技術可以將Reduce階段時間縮短其13
32
Chapter 6 Conclusions and Future Works
目前 Hadoop 資料處理的環境還是應用在群集內節點效能是相同的情況下
如果是異構性環境可能就無法這麼有效率的處理本篇論文提出了兩個方法
動態資料切割和虛擬機對映以及一個優化技術 Loading aware virtual machine
mapping模擬實驗結果表明透過本篇方法來得比 Hadoop 縮短 41的時間以
及最多節省 Communication Locality 約莫 33尤其在異構性越高的環境以及
一台實體機器架設的虛擬機器數量越多改善的效果越明顯另外 Loading
aware virtual machine mapping 優化技術改善了 Reduce phase 的完成時間約莫
13
在未來研究上可以朝著動態調整 Reducer 數量的方向前進當固定大小的
資料上其實有時候過多的節點去運算消耗了大量的運算資源卻只得到一些
秒數的縮短如何利用適當的運算資源來得到最大的利益這是相當重要的議
題由於此實驗都是屬於模擬實驗希望在未來可以實際架設在機器上運行
透過 Benchmark得到真正的數據
33
Reference
1 Masato Asahara Shinji Nakadai and Takuya Araki ldquoLoadAtomizer A
Locality and IO Load aware Task Scheduler for MapReducerdquo in 4th IEEE
International Conference on Cloud Computing Technology and Science
(CloudCom) pp 317-324 2012
2 Paul Barham Boris Dragovic Keir Fraser Steven Hand Tim Harris Alex
Ho Rolf Neugebauer Ian Pratt and Andrew Warfield ldquoXen and the Art of
Virtualizationrdquo SOSP 03 Proceedings of the nineteenth ACM symposium
on Operating systems principles vol 37 Issue 5 pp 164-177 December
2003
3 Xiangping Bu Jia Rao and Cheng Zhong Xu ldquoInterference and
Locality-Aware Task Scheduling for MapReduce Applications in Virtual
Clustersrdquo Proceeding HPDC 13 Proceedings of the 22nd international
sym-posium on High-performance parallel and distributed computing pp
227-238 2013
4 Kasim Selcuk Candan Jong Wook Kim Parth Nagarkar Mithila Nagendra
and Ren-wei Yu ldquoScalable Multimedia Data Processing in Server Clustersrdquo
IEEE MultiMedia pp 3-5 2010
5 Fay Chang Jeffrey Dean Sanjay Ghemawat Wilson C Hsieh Deborah A
Wallach Mike Burrws Tushar Chandra Andrew Fikes and Robert EGruber
ldquoBigtable A Distributed Storage System for Structured Datardquo 7th UENIX
Symposium on Operating Systems Design and Implementation pp 205-218
2006
6 P C Chen Y L Su J B Chang and C K Shieh ldquoVariable-Sized Map and
Locality-Aware Reduce on Public-Resource Gridsrdquo in Proceedings
Conference Grid and Pervasive Computing (GPC 2010) pp 234-243 2010
May
7 Q Chen D Zhang M Guo Q Deng and S Guo ldquoSamr A self adaptive
mapreduce scheduling algorithm in heterogeneous environmentrdquo in 10th
IEEE International Conference on Computer and Information Technology
CIT rsquo10 (Washington DC USA) pp 2736ndash2743 2010
8 Jeffrey Dean and Sanjay Ghemawat ldquoMapReduce Simplified Data
Processing on Large Clustersrdquo Communications of the ACM vol 51 no 1
pp 107ndash113 2008
9 Yuanquan Fan Weiguo Wu Haijun Cao Huo Zhu Xu Zhao and Wei Wei
34
ldquoA heterogeneity-aware data distribution and rebalance method in Hadoop
clusterrdquo 2012 Seventh ChinaGrid Annual Conference pp 176-181 2012
10 Zacharia Fadika Elif Dede Jessica Hartog and Madhusudhan Govindaraju
ldquoMARLA MapReduce for Heterogeneous Clustersrdquo in 12th IEEEACM
International Symposium on Cluster Cloud and Grid Computing pp 49-56
2012
11 Sanjay Ghemawat Howard Gobioff and ShunTak Leung ldquoThe Google file
systemrdquo In Proceedings of 19th Symposium on Operating Systems
Principles pp 29-43 2003
12 Sven Groot ldquoJumbo Beyond MapReduce for Workload Balancingrdquo Fuzzy
Systems and Knowledge Discovery (FSKD) 2011 Eighth International
Conference on Cloud Computing Technology and Science vol 4 pp
2675-2678 2011 July
13 B Gufler N Augsten A Reiser and A Kemper ldquoHandling Data Skew in
MapReducerdquo in Proceedings of CLOSER pp 574ndash583 2011
14 Mohammad Hammoud and Majd F Sakr ldquoLocality-Aware Reduce Task
Scheduling for MapReducerdquo Third IEEE International Conference on
Cloud Computing Technology and Science pp 570-576 2011
15 C He Y Lu and D Swanson ldquoMatch-making A New MapReduce
Scheduling Techniquerdquo IEEE Third International Conference on Cloud
Computing Technology and Science (CloudCom) pp 40ndash47 2011
16 Hung Chang Hsiao Huesh Yi Chung Haiying Shen and Yu Chang
ChaoldquoLoad Re-balancing for Distributed File Systems in Cloudsrdquo IEEE
Trans on Parallel and Distributed Systems vol24 pp 951-962 2012
17 Shadi Ibrahim Hai Jin Lu Lu Song Wu Bingsheng He and Li Qi ldquoLEEN
LocalityFairness Aware Key Partitioning for MapReduce in the Cloudrdquo
2010 IEEE Second International Conference on Cloud Computing
Technology and Science (CloudCom) pp 17ndash24 2010
18 S Ibrahim H Jin L Lu L Qi S Wu and X Shi ldquoEvaluating MapReduce
on Virtual Machines The Hadoop Caserdquo Proceedings Conference Cloud
Computing (CloudCom 2009) Springer LNCS pp 519-528 2009 Dec
19 C Jin and R Buyya ldquoMapreduce programming model for net-based cloud
computingrdquo in Proceedings of the 15th International Euro-Par Conference
on Parallel Processing Euro-Par (Berlin Heidelberg) pp 417ndash428 2009
20 R Nanduri N Maheshwari A Reddyraja and V Varma ldquoJob aware
scheduling algorithm for Mapreduce frameworkrdquo in 3rd International
Conference on Cloud Computing Technology and Science
CLOUDCOM rsquo11 (Washington DC USA) pp 724ndash729 2011
35
21 Andrew J Page and Thomas J Naughton ldquoDynamic task scheduling using
genetic algorithms for heterogeneous distributed computingrdquo in 19th IEEE
International Parallel and Distributed Processing Symposium pp 189a
2005 April
22 Xiaoyu Sun Chen He and Ying Lu ldquoESAMR An Enhanced Self-Adaptive
MapReduce Scheduling Algorithmrdquo 2012 IEEE 18th International
Conference on Parallel and Distributed Systems pp 148-155 2012
23 Chao Tian Haojie Zhou Yongqiang He and Li Zha ldquoA Dynamic
MapReduce Scheduler for Heterogeneous Workloadsrdquo Eighth International
Conference on Grid and Cooperative Computing pp 218ndash244 2009 Aug
24 Jiong Xie Shu Yin Xiaojun Ruan Zhi-yang Ding Yun Tian James Majors
Adam Manzanares and Xiao Qin ldquoImproving mapreduce performance
through data placement in heterogeneous hadoop clustersrdquo in IPDPS
Workshops pp 1ndash9 2010
25 J Tan X Pan S Kavulya R Gandhi and P Narasimhan ldquoMochi Visual
Log-Analysis Based Tools for Debugging Hadooprdquo USENIX Workshop on
Hot Topics in Cloud Computing (HotCloud) pp 1-5 2009
26 Matei Zaharia Andy Konwinski Anthony D Joseph Randy Katz and Ion
Stoica ldquoImproving MapReduce Performance in Heterogeneous
Environmentsrdquo 8th Symposium on Operating Systems Design and
Implementation pp 29ndash42 2008 Dec
27 X Zhang Z Zhong S Feng B Tu and J Fan ldquoImproving Data locality of
MapReduce by Scheduling in Homogeneous Computing Environmentsrdquo in
9th IEEE International Symposium on Parallel and Distributed Processing
with Applications (ISPA) pp 120-126 2011
28 Apache hadoop Available from httphadoopapacheorg
29 MapReduce with a lot of examples for Mining datasets Available from
httpinfolabstanfordedu~ullmanmmdsbookpdf
Page 33
24
Reduce completion time(vm = 2 h = 1-3)
0
20
40
60
80
100
120
10 20 30Number of vm
Sec
ond
Hadoop
Best Fit
Priority
(a)
Reduce completion time(vm = 5 h = 1-3)
0
20
40
60
80
100
120
10 20 30Number of vm
Sec
ond
Hadoop
Best Fit
Priority
(b)
Reduce completion time(vm = 2 h = 1-5)
0
20
40
60
80
100
120
10 20 30Number of vm
seco
nd
Hadoop
Best Fit
Priority
(c)
25
Reduce completion time(vm = 5 h = 1-5)
0
20
40
60
80
100
120
10 20 30Number of vm
Sec
ond
Hadoop
Best Fit
Priority
(d)
圖十 Reduce completion time (a) low heterogeneity vm=2 (b) low
heterogeneity vm=5 (c) high heterogeneity vm=2 (d) high heterogeneity vm=5
而在 Reduce 完成時間的方面不像 Map 的完成時間是一樣的因為選
擇 Reducer 的方式不同造成 Best Fit 以及 Priority 時間完成上有些許不同
如圖十(a)所示節省了 14的時間圖十(b)節省了 16的時間圖十(c)
節省了 23圖十(d)節省了 29由圖十(b)以及圖十(d)可見影響 Reduce
階段完成時間最主要的原因是異構性環境的問題當環境的異構性越高其
所節省的時間越多而圖十(c)以及圖十(d)所示一台實體機架設的虛擬機器數
量影響的範圍比較小
26
Total completion time (vm = 2 pm = 5 h = 1-3)
0 50 100 150 200 250
Hadoop
Best Fit
Priority
Met
hod
Second
Map Reduce
(a)
Total completion time(vm = 5 pm = 2 h = 1-3)
0 50 100 150 200
Hadoop
Best Fit
Priority
Met
hod
Second
Map Reduce
(b)
Total completion time(vm = 2 pm = 5 h = 1-5)
0 50 100 150 200 250
Hadoop
Best Fit
Priority
Met
hod
Second
Map Reduce
(c)
27
Total completion time(vm=5 pm = 2 h = 1-5)
0 50 100 150 200
Hadoop
Best Fit
Priority
Second
Met
hod
Map Reduce
(d)
圖十一 Total completion time (a) low heterogeneity vm=2 pm=5 (b) low
heterogeneity vm=5 pm=2 (c) high heterogeneity vm=2 pm=5 (d) high
heterogeneity vm=5 pm=2
由於前面分別是 Map以及 Reduce的完成時間為了想知道Map以及 Reduce
對於 MapReduce 的整體影響我們將前面的 Map 以及 Reduce 的完成時間在
處理資料的節點固定為 10 台 Worker將其做整合
從圖十一(a)圖十一(b)圖十一(c)圖十一(d)顯示 Best Fit 和 Priority 不論
是在低異構性或高異構性環境MapReduce 完成時間都比 Hadoop 的完成時間縮
短很多在低異構性環境最多可縮短到 29的時間在高異構性環境最多可縮
短 41的時間而造成 Hadoop 跟 Best Fit 和 Priority 在時間上差異如此大的原
因主要是在 Map 階段的完成時間因為Best Fit 和 Priority 是根據 Worker 的
效能來決定要處理的資料大小而 Hadoop 就是分配固定大小的資料給 Worker
運算所以在越高的異構性環境其縮短的時間會越明顯
28
Total completion time with different number of vm (h=1-3)
0
20
40
60
80
100
120
vm=2 vm=3 vm=4Number of vm per physical machine
Sec
ond
Hadoop
Best Fit
Priority
(a)
Total completion time with different number of vm (h=1-5)
0
20
40
60
80
100
120
vm=2 vm=3 vm=4Number of vm per physical machine
Sec
ond
Hadoop
Best Fit
Priority
(b)
圖十二 Total completion time with different number of vm (a) low heterogeneity
vm=2 worker=12 (b) high heterogeneity vm=5 worker=12
圖十二(a)是在低異構性環境圖十二(b)是在高異構性環境並且1 台實體
機架設 2 個3 個4 個虛擬機器使 Worker 數量固定 12 台處理的資料量為
600G
這個模擬實驗主要探討的是在一台實體機架設的虛擬機器數量對於
MapReduce 完成時間是否真正有影響圖十二(a)和圖十二(b)更可以顯示出 Best
Fit 和 Priority 在異構性越高的環境裏且一台實體機架設越多虛擬機器來當作
Worker 的時候可以縮短更多的時間前者會縮短 Map 的完成時間後者會縮
29
短 Reduce 的完成時間而 Hadoop 在異構性環境高的時候也有些微的縮短一
些時間
Total completion time with different data size (h=1-5)
0
20
40
60
80
100
120
140
400 600 800 1000 1200
Data
Sec
ond
Hadoop
Best Fit
Priority
圖十三 Total completion time with different data size
在上述的實驗中在同樣的資料大小處理的 Worker 數量越多的時候其
完成時間會縮短很多但是到達一定的數量的時候其縮短時間的效果就很低
所以就做了此實驗因為本篇論文就是要探討異構性的環境選擇高異構性
環境固定 Worker 數量 20 台資料大小由 400G 到 1200G探討資料大小對
MapReduce 以及 Worker 的影響如圖十三顯示出在 600G 以下的時候Map 加
上 Reduce 完成的時間突然靠近起來代表了當資料量越小的時候Best Fit 和
Priority 的方法跟原始的 Hadoop 的方法優勢會越來越少但相反的是當資料
量越大的時候雖然Best Fit 和 Priority 完成時間會增加但是跟 Hadoop 的
完成時間比會更加突顯
30
Total completion time (best fit)
0
10
20
30
40
50
60
70
80
(Without optimization) (Optimization)
Best Fit
Sec
ond
Map Reduce
(a)
Total completion time (priority)
0
10
20
30
40
50
60
70
80
(Without optimization) (Optimization)
Priority
Sec
ond
Map Reduce
(b)
圖十四 Total completion time of loading aware optimization (a) without
optimal (b) with optimization
圖十四(a)未使用優化技術圖十四(b)是使用優化技術同樣都是在高異構
性環境之下並且1 台實體機架設 5 個虛擬機器使 Worker 數量固定 15 台
處理的資料量為 900G
在本篇論文方法的部份有提到Loading Aware Virtual Machine Mapping的優
化技術由於此實驗上面的實驗數據都已經使用優化技術來改善時間因此
此實驗就是要探討這優化技術對於MapReduce完成時間的影響
由於Loading Aware Virtual Machine Mapping此優化技術是變動同一台實體
31
機內部的Reducer使得原本是根據Communication locality來選擇虛擬機器但
是在挑選的過程中並沒有依據處理資料的大小分配到其處理速度相對映的
虛擬機器而這優化技術就是將同一台實體機內的虛擬機器重新分配由於此
優化技術並不會影響Communication locality所以這部份並沒有在此實驗探討
圖十四(a)圖十四(b)顯示未使用優化技術的Best fit和Priority的MapReduce
完成時間雖然比Hadoop的方法好但是其Reduce phase完成時間上慢了一些
並且可以看出此優化技術並不會影響到Map phase主要影響的是在Reduce階
段在Reduce階段的完成時間上利用優化技術可以將Reduce階段時間縮短其13
32
Chapter 6 Conclusions and Future Works
目前 Hadoop 資料處理的環境還是應用在群集內節點效能是相同的情況下
如果是異構性環境可能就無法這麼有效率的處理本篇論文提出了兩個方法
動態資料切割和虛擬機對映以及一個優化技術 Loading aware virtual machine
mapping模擬實驗結果表明透過本篇方法來得比 Hadoop 縮短 41的時間以
及最多節省 Communication Locality 約莫 33尤其在異構性越高的環境以及
一台實體機器架設的虛擬機器數量越多改善的效果越明顯另外 Loading
aware virtual machine mapping 優化技術改善了 Reduce phase 的完成時間約莫
13
在未來研究上可以朝著動態調整 Reducer 數量的方向前進當固定大小的
資料上其實有時候過多的節點去運算消耗了大量的運算資源卻只得到一些
秒數的縮短如何利用適當的運算資源來得到最大的利益這是相當重要的議
題由於此實驗都是屬於模擬實驗希望在未來可以實際架設在機器上運行
透過 Benchmark得到真正的數據
33
Reference
1 Masato Asahara Shinji Nakadai and Takuya Araki ldquoLoadAtomizer A
Locality and IO Load aware Task Scheduler for MapReducerdquo in 4th IEEE
International Conference on Cloud Computing Technology and Science
(CloudCom) pp 317-324 2012
2 Paul Barham Boris Dragovic Keir Fraser Steven Hand Tim Harris Alex
Ho Rolf Neugebauer Ian Pratt and Andrew Warfield ldquoXen and the Art of
Virtualizationrdquo SOSP 03 Proceedings of the nineteenth ACM symposium
on Operating systems principles vol 37 Issue 5 pp 164-177 December
2003
3 Xiangping Bu Jia Rao and Cheng Zhong Xu ldquoInterference and
Locality-Aware Task Scheduling for MapReduce Applications in Virtual
Clustersrdquo Proceeding HPDC 13 Proceedings of the 22nd international
sym-posium on High-performance parallel and distributed computing pp
227-238 2013
4 Kasim Selcuk Candan Jong Wook Kim Parth Nagarkar Mithila Nagendra
and Ren-wei Yu ldquoScalable Multimedia Data Processing in Server Clustersrdquo
IEEE MultiMedia pp 3-5 2010
5 Fay Chang Jeffrey Dean Sanjay Ghemawat Wilson C Hsieh Deborah A
Wallach Mike Burrws Tushar Chandra Andrew Fikes and Robert EGruber
ldquoBigtable A Distributed Storage System for Structured Datardquo 7th UENIX
Symposium on Operating Systems Design and Implementation pp 205-218
2006
6 P C Chen Y L Su J B Chang and C K Shieh ldquoVariable-Sized Map and
Locality-Aware Reduce on Public-Resource Gridsrdquo in Proceedings
Conference Grid and Pervasive Computing (GPC 2010) pp 234-243 2010
May
7 Q Chen D Zhang M Guo Q Deng and S Guo ldquoSamr A self adaptive
mapreduce scheduling algorithm in heterogeneous environmentrdquo in 10th
IEEE International Conference on Computer and Information Technology
CIT rsquo10 (Washington DC USA) pp 2736ndash2743 2010
8 Jeffrey Dean and Sanjay Ghemawat ldquoMapReduce Simplified Data
Processing on Large Clustersrdquo Communications of the ACM vol 51 no 1
pp 107ndash113 2008
9 Yuanquan Fan Weiguo Wu Haijun Cao Huo Zhu Xu Zhao and Wei Wei
34
ldquoA heterogeneity-aware data distribution and rebalance method in Hadoop
clusterrdquo 2012 Seventh ChinaGrid Annual Conference pp 176-181 2012
10 Zacharia Fadika Elif Dede Jessica Hartog and Madhusudhan Govindaraju
ldquoMARLA MapReduce for Heterogeneous Clustersrdquo in 12th IEEEACM
International Symposium on Cluster Cloud and Grid Computing pp 49-56
2012
11 Sanjay Ghemawat Howard Gobioff and ShunTak Leung ldquoThe Google file
systemrdquo In Proceedings of 19th Symposium on Operating Systems
Principles pp 29-43 2003
12 Sven Groot ldquoJumbo Beyond MapReduce for Workload Balancingrdquo Fuzzy
Systems and Knowledge Discovery (FSKD) 2011 Eighth International
Conference on Cloud Computing Technology and Science vol 4 pp
2675-2678 2011 July
13 B Gufler N Augsten A Reiser and A Kemper ldquoHandling Data Skew in
MapReducerdquo in Proceedings of CLOSER pp 574ndash583 2011
14 Mohammad Hammoud and Majd F Sakr ldquoLocality-Aware Reduce Task
Scheduling for MapReducerdquo Third IEEE International Conference on
Cloud Computing Technology and Science pp 570-576 2011
15 C He Y Lu and D Swanson ldquoMatch-making A New MapReduce
Scheduling Techniquerdquo IEEE Third International Conference on Cloud
Computing Technology and Science (CloudCom) pp 40ndash47 2011
16 Hung Chang Hsiao Huesh Yi Chung Haiying Shen and Yu Chang
ChaoldquoLoad Re-balancing for Distributed File Systems in Cloudsrdquo IEEE
Trans on Parallel and Distributed Systems vol24 pp 951-962 2012
17 Shadi Ibrahim Hai Jin Lu Lu Song Wu Bingsheng He and Li Qi ldquoLEEN
LocalityFairness Aware Key Partitioning for MapReduce in the Cloudrdquo
2010 IEEE Second International Conference on Cloud Computing
Technology and Science (CloudCom) pp 17ndash24 2010
18 S Ibrahim H Jin L Lu L Qi S Wu and X Shi ldquoEvaluating MapReduce
on Virtual Machines The Hadoop Caserdquo Proceedings Conference Cloud
Computing (CloudCom 2009) Springer LNCS pp 519-528 2009 Dec
19 C Jin and R Buyya ldquoMapreduce programming model for net-based cloud
computingrdquo in Proceedings of the 15th International Euro-Par Conference
on Parallel Processing Euro-Par (Berlin Heidelberg) pp 417ndash428 2009
20 R Nanduri N Maheshwari A Reddyraja and V Varma ldquoJob aware
scheduling algorithm for Mapreduce frameworkrdquo in 3rd International
Conference on Cloud Computing Technology and Science
CLOUDCOM rsquo11 (Washington DC USA) pp 724ndash729 2011
35
21 Andrew J Page and Thomas J Naughton ldquoDynamic task scheduling using
genetic algorithms for heterogeneous distributed computingrdquo in 19th IEEE
International Parallel and Distributed Processing Symposium pp 189a
2005 April
22 Xiaoyu Sun Chen He and Ying Lu ldquoESAMR An Enhanced Self-Adaptive
MapReduce Scheduling Algorithmrdquo 2012 IEEE 18th International
Conference on Parallel and Distributed Systems pp 148-155 2012
23 Chao Tian Haojie Zhou Yongqiang He and Li Zha ldquoA Dynamic
MapReduce Scheduler for Heterogeneous Workloadsrdquo Eighth International
Conference on Grid and Cooperative Computing pp 218ndash244 2009 Aug
24 Jiong Xie Shu Yin Xiaojun Ruan Zhi-yang Ding Yun Tian James Majors
Adam Manzanares and Xiao Qin ldquoImproving mapreduce performance
through data placement in heterogeneous hadoop clustersrdquo in IPDPS
Workshops pp 1ndash9 2010
25 J Tan X Pan S Kavulya R Gandhi and P Narasimhan ldquoMochi Visual
Log-Analysis Based Tools for Debugging Hadooprdquo USENIX Workshop on
Hot Topics in Cloud Computing (HotCloud) pp 1-5 2009
26 Matei Zaharia Andy Konwinski Anthony D Joseph Randy Katz and Ion
Stoica ldquoImproving MapReduce Performance in Heterogeneous
Environmentsrdquo 8th Symposium on Operating Systems Design and
Implementation pp 29ndash42 2008 Dec
27 X Zhang Z Zhong S Feng B Tu and J Fan ldquoImproving Data locality of
MapReduce by Scheduling in Homogeneous Computing Environmentsrdquo in
9th IEEE International Symposium on Parallel and Distributed Processing
with Applications (ISPA) pp 120-126 2011
28 Apache hadoop Available from httphadoopapacheorg
29 MapReduce with a lot of examples for Mining datasets Available from
httpinfolabstanfordedu~ullmanmmdsbookpdf
Page 34
25
Reduce completion time(vm = 5 h = 1-5)
0
20
40
60
80
100
120
10 20 30Number of vm
Sec
ond
Hadoop
Best Fit
Priority
(d)
圖十 Reduce completion time (a) low heterogeneity vm=2 (b) low
heterogeneity vm=5 (c) high heterogeneity vm=2 (d) high heterogeneity vm=5
而在 Reduce 完成時間的方面不像 Map 的完成時間是一樣的因為選
擇 Reducer 的方式不同造成 Best Fit 以及 Priority 時間完成上有些許不同
如圖十(a)所示節省了 14的時間圖十(b)節省了 16的時間圖十(c)
節省了 23圖十(d)節省了 29由圖十(b)以及圖十(d)可見影響 Reduce
階段完成時間最主要的原因是異構性環境的問題當環境的異構性越高其
所節省的時間越多而圖十(c)以及圖十(d)所示一台實體機架設的虛擬機器數
量影響的範圍比較小
26
Total completion time (vm = 2 pm = 5 h = 1-3)
0 50 100 150 200 250
Hadoop
Best Fit
Priority
Met
hod
Second
Map Reduce
(a)
Total completion time(vm = 5 pm = 2 h = 1-3)
0 50 100 150 200
Hadoop
Best Fit
Priority
Met
hod
Second
Map Reduce
(b)
Total completion time(vm = 2 pm = 5 h = 1-5)
0 50 100 150 200 250
Hadoop
Best Fit
Priority
Met
hod
Second
Map Reduce
(c)
27
Total completion time(vm=5 pm = 2 h = 1-5)
0 50 100 150 200
Hadoop
Best Fit
Priority
Second
Met
hod
Map Reduce
(d)
圖十一 Total completion time (a) low heterogeneity vm=2 pm=5 (b) low
heterogeneity vm=5 pm=2 (c) high heterogeneity vm=2 pm=5 (d) high
heterogeneity vm=5 pm=2
由於前面分別是 Map以及 Reduce的完成時間為了想知道Map以及 Reduce
對於 MapReduce 的整體影響我們將前面的 Map 以及 Reduce 的完成時間在
處理資料的節點固定為 10 台 Worker將其做整合
從圖十一(a)圖十一(b)圖十一(c)圖十一(d)顯示 Best Fit 和 Priority 不論
是在低異構性或高異構性環境MapReduce 完成時間都比 Hadoop 的完成時間縮
短很多在低異構性環境最多可縮短到 29的時間在高異構性環境最多可縮
短 41的時間而造成 Hadoop 跟 Best Fit 和 Priority 在時間上差異如此大的原
因主要是在 Map 階段的完成時間因為Best Fit 和 Priority 是根據 Worker 的
效能來決定要處理的資料大小而 Hadoop 就是分配固定大小的資料給 Worker
運算所以在越高的異構性環境其縮短的時間會越明顯
28
Total completion time with different number of vm (h=1-3)
0
20
40
60
80
100
120
vm=2 vm=3 vm=4Number of vm per physical machine
Sec
ond
Hadoop
Best Fit
Priority
(a)
Total completion time with different number of vm (h=1-5)
0
20
40
60
80
100
120
vm=2 vm=3 vm=4Number of vm per physical machine
Sec
ond
Hadoop
Best Fit
Priority
(b)
圖十二 Total completion time with different number of vm (a) low heterogeneity
vm=2 worker=12 (b) high heterogeneity vm=5 worker=12
圖十二(a)是在低異構性環境圖十二(b)是在高異構性環境並且1 台實體
機架設 2 個3 個4 個虛擬機器使 Worker 數量固定 12 台處理的資料量為
600G
這個模擬實驗主要探討的是在一台實體機架設的虛擬機器數量對於
MapReduce 完成時間是否真正有影響圖十二(a)和圖十二(b)更可以顯示出 Best
Fit 和 Priority 在異構性越高的環境裏且一台實體機架設越多虛擬機器來當作
Worker 的時候可以縮短更多的時間前者會縮短 Map 的完成時間後者會縮
29
短 Reduce 的完成時間而 Hadoop 在異構性環境高的時候也有些微的縮短一
些時間
Total completion time with different data size (h=1-5)
0
20
40
60
80
100
120
140
400 600 800 1000 1200
Data
Sec
ond
Hadoop
Best Fit
Priority
圖十三 Total completion time with different data size
在上述的實驗中在同樣的資料大小處理的 Worker 數量越多的時候其
完成時間會縮短很多但是到達一定的數量的時候其縮短時間的效果就很低
所以就做了此實驗因為本篇論文就是要探討異構性的環境選擇高異構性
環境固定 Worker 數量 20 台資料大小由 400G 到 1200G探討資料大小對
MapReduce 以及 Worker 的影響如圖十三顯示出在 600G 以下的時候Map 加
上 Reduce 完成的時間突然靠近起來代表了當資料量越小的時候Best Fit 和
Priority 的方法跟原始的 Hadoop 的方法優勢會越來越少但相反的是當資料
量越大的時候雖然Best Fit 和 Priority 完成時間會增加但是跟 Hadoop 的
完成時間比會更加突顯
30
Total completion time (best fit)
0
10
20
30
40
50
60
70
80
(Without optimization) (Optimization)
Best Fit
Sec
ond
Map Reduce
(a)
Total completion time (priority)
0
10
20
30
40
50
60
70
80
(Without optimization) (Optimization)
Priority
Sec
ond
Map Reduce
(b)
圖十四 Total completion time of loading aware optimization (a) without
optimal (b) with optimization
圖十四(a)未使用優化技術圖十四(b)是使用優化技術同樣都是在高異構
性環境之下並且1 台實體機架設 5 個虛擬機器使 Worker 數量固定 15 台
處理的資料量為 900G
在本篇論文方法的部份有提到Loading Aware Virtual Machine Mapping的優
化技術由於此實驗上面的實驗數據都已經使用優化技術來改善時間因此
此實驗就是要探討這優化技術對於MapReduce完成時間的影響
由於Loading Aware Virtual Machine Mapping此優化技術是變動同一台實體
31
機內部的Reducer使得原本是根據Communication locality來選擇虛擬機器但
是在挑選的過程中並沒有依據處理資料的大小分配到其處理速度相對映的
虛擬機器而這優化技術就是將同一台實體機內的虛擬機器重新分配由於此
優化技術並不會影響Communication locality所以這部份並沒有在此實驗探討
圖十四(a)圖十四(b)顯示未使用優化技術的Best fit和Priority的MapReduce
完成時間雖然比Hadoop的方法好但是其Reduce phase完成時間上慢了一些
並且可以看出此優化技術並不會影響到Map phase主要影響的是在Reduce階
段在Reduce階段的完成時間上利用優化技術可以將Reduce階段時間縮短其13
32
Chapter 6 Conclusions and Future Works
目前 Hadoop 資料處理的環境還是應用在群集內節點效能是相同的情況下
如果是異構性環境可能就無法這麼有效率的處理本篇論文提出了兩個方法
動態資料切割和虛擬機對映以及一個優化技術 Loading aware virtual machine
mapping模擬實驗結果表明透過本篇方法來得比 Hadoop 縮短 41的時間以
及最多節省 Communication Locality 約莫 33尤其在異構性越高的環境以及
一台實體機器架設的虛擬機器數量越多改善的效果越明顯另外 Loading
aware virtual machine mapping 優化技術改善了 Reduce phase 的完成時間約莫
13
在未來研究上可以朝著動態調整 Reducer 數量的方向前進當固定大小的
資料上其實有時候過多的節點去運算消耗了大量的運算資源卻只得到一些
秒數的縮短如何利用適當的運算資源來得到最大的利益這是相當重要的議
題由於此實驗都是屬於模擬實驗希望在未來可以實際架設在機器上運行
透過 Benchmark得到真正的數據
33
Reference
1 Masato Asahara Shinji Nakadai and Takuya Araki ldquoLoadAtomizer A
Locality and IO Load aware Task Scheduler for MapReducerdquo in 4th IEEE
International Conference on Cloud Computing Technology and Science
(CloudCom) pp 317-324 2012
2 Paul Barham Boris Dragovic Keir Fraser Steven Hand Tim Harris Alex
Ho Rolf Neugebauer Ian Pratt and Andrew Warfield ldquoXen and the Art of
Virtualizationrdquo SOSP 03 Proceedings of the nineteenth ACM symposium
on Operating systems principles vol 37 Issue 5 pp 164-177 December
2003
3 Xiangping Bu Jia Rao and Cheng Zhong Xu ldquoInterference and
Locality-Aware Task Scheduling for MapReduce Applications in Virtual
Clustersrdquo Proceeding HPDC 13 Proceedings of the 22nd international
sym-posium on High-performance parallel and distributed computing pp
227-238 2013
4 Kasim Selcuk Candan Jong Wook Kim Parth Nagarkar Mithila Nagendra
and Ren-wei Yu ldquoScalable Multimedia Data Processing in Server Clustersrdquo
IEEE MultiMedia pp 3-5 2010
5 Fay Chang Jeffrey Dean Sanjay Ghemawat Wilson C Hsieh Deborah A
Wallach Mike Burrws Tushar Chandra Andrew Fikes and Robert EGruber
ldquoBigtable A Distributed Storage System for Structured Datardquo 7th UENIX
Symposium on Operating Systems Design and Implementation pp 205-218
2006
6 P C Chen Y L Su J B Chang and C K Shieh ldquoVariable-Sized Map and
Locality-Aware Reduce on Public-Resource Gridsrdquo in Proceedings
Conference Grid and Pervasive Computing (GPC 2010) pp 234-243 2010
May
7 Q Chen D Zhang M Guo Q Deng and S Guo ldquoSamr A self adaptive
mapreduce scheduling algorithm in heterogeneous environmentrdquo in 10th
IEEE International Conference on Computer and Information Technology
CIT rsquo10 (Washington DC USA) pp 2736ndash2743 2010
8 Jeffrey Dean and Sanjay Ghemawat ldquoMapReduce Simplified Data
Processing on Large Clustersrdquo Communications of the ACM vol 51 no 1
pp 107ndash113 2008
9 Yuanquan Fan Weiguo Wu Haijun Cao Huo Zhu Xu Zhao and Wei Wei
34
ldquoA heterogeneity-aware data distribution and rebalance method in Hadoop
clusterrdquo 2012 Seventh ChinaGrid Annual Conference pp 176-181 2012
10 Zacharia Fadika Elif Dede Jessica Hartog and Madhusudhan Govindaraju
ldquoMARLA MapReduce for Heterogeneous Clustersrdquo in 12th IEEEACM
International Symposium on Cluster Cloud and Grid Computing pp 49-56
2012
11 Sanjay Ghemawat Howard Gobioff and ShunTak Leung ldquoThe Google file
systemrdquo In Proceedings of 19th Symposium on Operating Systems
Principles pp 29-43 2003
12 Sven Groot ldquoJumbo Beyond MapReduce for Workload Balancingrdquo Fuzzy
Systems and Knowledge Discovery (FSKD) 2011 Eighth International
Conference on Cloud Computing Technology and Science vol 4 pp
2675-2678 2011 July
13 B Gufler N Augsten A Reiser and A Kemper ldquoHandling Data Skew in
MapReducerdquo in Proceedings of CLOSER pp 574ndash583 2011
14 Mohammad Hammoud and Majd F Sakr ldquoLocality-Aware Reduce Task
Scheduling for MapReducerdquo Third IEEE International Conference on
Cloud Computing Technology and Science pp 570-576 2011
15 C He Y Lu and D Swanson ldquoMatch-making A New MapReduce
Scheduling Techniquerdquo IEEE Third International Conference on Cloud
Computing Technology and Science (CloudCom) pp 40ndash47 2011
16 Hung Chang Hsiao Huesh Yi Chung Haiying Shen and Yu Chang
ChaoldquoLoad Re-balancing for Distributed File Systems in Cloudsrdquo IEEE
Trans on Parallel and Distributed Systems vol24 pp 951-962 2012
17 Shadi Ibrahim Hai Jin Lu Lu Song Wu Bingsheng He and Li Qi ldquoLEEN
LocalityFairness Aware Key Partitioning for MapReduce in the Cloudrdquo
2010 IEEE Second International Conference on Cloud Computing
Technology and Science (CloudCom) pp 17ndash24 2010
18 S Ibrahim H Jin L Lu L Qi S Wu and X Shi ldquoEvaluating MapReduce
on Virtual Machines The Hadoop Caserdquo Proceedings Conference Cloud
Computing (CloudCom 2009) Springer LNCS pp 519-528 2009 Dec
19 C Jin and R Buyya ldquoMapreduce programming model for net-based cloud
computingrdquo in Proceedings of the 15th International Euro-Par Conference
on Parallel Processing Euro-Par (Berlin Heidelberg) pp 417ndash428 2009
20 R Nanduri N Maheshwari A Reddyraja and V Varma ldquoJob aware
scheduling algorithm for Mapreduce frameworkrdquo in 3rd International
Conference on Cloud Computing Technology and Science
CLOUDCOM rsquo11 (Washington DC USA) pp 724ndash729 2011
35
21 Andrew J Page and Thomas J Naughton ldquoDynamic task scheduling using
genetic algorithms for heterogeneous distributed computingrdquo in 19th IEEE
International Parallel and Distributed Processing Symposium pp 189a
2005 April
22 Xiaoyu Sun Chen He and Ying Lu ldquoESAMR An Enhanced Self-Adaptive
MapReduce Scheduling Algorithmrdquo 2012 IEEE 18th International
Conference on Parallel and Distributed Systems pp 148-155 2012
23 Chao Tian Haojie Zhou Yongqiang He and Li Zha ldquoA Dynamic
MapReduce Scheduler for Heterogeneous Workloadsrdquo Eighth International
Conference on Grid and Cooperative Computing pp 218ndash244 2009 Aug
24 Jiong Xie Shu Yin Xiaojun Ruan Zhi-yang Ding Yun Tian James Majors
Adam Manzanares and Xiao Qin ldquoImproving mapreduce performance
through data placement in heterogeneous hadoop clustersrdquo in IPDPS
Workshops pp 1ndash9 2010
25 J Tan X Pan S Kavulya R Gandhi and P Narasimhan ldquoMochi Visual
Log-Analysis Based Tools for Debugging Hadooprdquo USENIX Workshop on
Hot Topics in Cloud Computing (HotCloud) pp 1-5 2009
26 Matei Zaharia Andy Konwinski Anthony D Joseph Randy Katz and Ion
Stoica ldquoImproving MapReduce Performance in Heterogeneous
Environmentsrdquo 8th Symposium on Operating Systems Design and
Implementation pp 29ndash42 2008 Dec
27 X Zhang Z Zhong S Feng B Tu and J Fan ldquoImproving Data locality of
MapReduce by Scheduling in Homogeneous Computing Environmentsrdquo in
9th IEEE International Symposium on Parallel and Distributed Processing
with Applications (ISPA) pp 120-126 2011
28 Apache hadoop Available from httphadoopapacheorg
29 MapReduce with a lot of examples for Mining datasets Available from
httpinfolabstanfordedu~ullmanmmdsbookpdf
Page 35
26
Total completion time (vm = 2 pm = 5 h = 1-3)
0 50 100 150 200 250
Hadoop
Best Fit
Priority
Met
hod
Second
Map Reduce
(a)
Total completion time(vm = 5 pm = 2 h = 1-3)
0 50 100 150 200
Hadoop
Best Fit
Priority
Met
hod
Second
Map Reduce
(b)
Total completion time(vm = 2 pm = 5 h = 1-5)
0 50 100 150 200 250
Hadoop
Best Fit
Priority
Met
hod
Second
Map Reduce
(c)
27
Total completion time(vm=5 pm = 2 h = 1-5)
0 50 100 150 200
Hadoop
Best Fit
Priority
Second
Met
hod
Map Reduce
(d)
圖十一 Total completion time (a) low heterogeneity vm=2 pm=5 (b) low
heterogeneity vm=5 pm=2 (c) high heterogeneity vm=2 pm=5 (d) high
heterogeneity vm=5 pm=2
由於前面分別是 Map以及 Reduce的完成時間為了想知道Map以及 Reduce
對於 MapReduce 的整體影響我們將前面的 Map 以及 Reduce 的完成時間在
處理資料的節點固定為 10 台 Worker將其做整合
從圖十一(a)圖十一(b)圖十一(c)圖十一(d)顯示 Best Fit 和 Priority 不論
是在低異構性或高異構性環境MapReduce 完成時間都比 Hadoop 的完成時間縮
短很多在低異構性環境最多可縮短到 29的時間在高異構性環境最多可縮
短 41的時間而造成 Hadoop 跟 Best Fit 和 Priority 在時間上差異如此大的原
因主要是在 Map 階段的完成時間因為Best Fit 和 Priority 是根據 Worker 的
效能來決定要處理的資料大小而 Hadoop 就是分配固定大小的資料給 Worker
運算所以在越高的異構性環境其縮短的時間會越明顯
28
Total completion time with different number of vm (h=1-3)
0
20
40
60
80
100
120
vm=2 vm=3 vm=4Number of vm per physical machine
Sec
ond
Hadoop
Best Fit
Priority
(a)
Total completion time with different number of vm (h=1-5)
0
20
40
60
80
100
120
vm=2 vm=3 vm=4Number of vm per physical machine
Sec
ond
Hadoop
Best Fit
Priority
(b)
圖十二 Total completion time with different number of vm (a) low heterogeneity
vm=2 worker=12 (b) high heterogeneity vm=5 worker=12
圖十二(a)是在低異構性環境圖十二(b)是在高異構性環境並且1 台實體
機架設 2 個3 個4 個虛擬機器使 Worker 數量固定 12 台處理的資料量為
600G
這個模擬實驗主要探討的是在一台實體機架設的虛擬機器數量對於
MapReduce 完成時間是否真正有影響圖十二(a)和圖十二(b)更可以顯示出 Best
Fit 和 Priority 在異構性越高的環境裏且一台實體機架設越多虛擬機器來當作
Worker 的時候可以縮短更多的時間前者會縮短 Map 的完成時間後者會縮
29
短 Reduce 的完成時間而 Hadoop 在異構性環境高的時候也有些微的縮短一
些時間
Total completion time with different data size (h=1-5)
0
20
40
60
80
100
120
140
400 600 800 1000 1200
Data
Sec
ond
Hadoop
Best Fit
Priority
圖十三 Total completion time with different data size
在上述的實驗中在同樣的資料大小處理的 Worker 數量越多的時候其
完成時間會縮短很多但是到達一定的數量的時候其縮短時間的效果就很低
所以就做了此實驗因為本篇論文就是要探討異構性的環境選擇高異構性
環境固定 Worker 數量 20 台資料大小由 400G 到 1200G探討資料大小對
MapReduce 以及 Worker 的影響如圖十三顯示出在 600G 以下的時候Map 加
上 Reduce 完成的時間突然靠近起來代表了當資料量越小的時候Best Fit 和
Priority 的方法跟原始的 Hadoop 的方法優勢會越來越少但相反的是當資料
量越大的時候雖然Best Fit 和 Priority 完成時間會增加但是跟 Hadoop 的
完成時間比會更加突顯
30
Total completion time (best fit)
0
10
20
30
40
50
60
70
80
(Without optimization) (Optimization)
Best Fit
Sec
ond
Map Reduce
(a)
Total completion time (priority)
0
10
20
30
40
50
60
70
80
(Without optimization) (Optimization)
Priority
Sec
ond
Map Reduce
(b)
圖十四 Total completion time of loading aware optimization (a) without
optimal (b) with optimization
圖十四(a)未使用優化技術圖十四(b)是使用優化技術同樣都是在高異構
性環境之下並且1 台實體機架設 5 個虛擬機器使 Worker 數量固定 15 台
處理的資料量為 900G
在本篇論文方法的部份有提到Loading Aware Virtual Machine Mapping的優
化技術由於此實驗上面的實驗數據都已經使用優化技術來改善時間因此
此實驗就是要探討這優化技術對於MapReduce完成時間的影響
由於Loading Aware Virtual Machine Mapping此優化技術是變動同一台實體
31
機內部的Reducer使得原本是根據Communication locality來選擇虛擬機器但
是在挑選的過程中並沒有依據處理資料的大小分配到其處理速度相對映的
虛擬機器而這優化技術就是將同一台實體機內的虛擬機器重新分配由於此
優化技術並不會影響Communication locality所以這部份並沒有在此實驗探討
圖十四(a)圖十四(b)顯示未使用優化技術的Best fit和Priority的MapReduce
完成時間雖然比Hadoop的方法好但是其Reduce phase完成時間上慢了一些
並且可以看出此優化技術並不會影響到Map phase主要影響的是在Reduce階
段在Reduce階段的完成時間上利用優化技術可以將Reduce階段時間縮短其13
32
Chapter 6 Conclusions and Future Works
目前 Hadoop 資料處理的環境還是應用在群集內節點效能是相同的情況下
如果是異構性環境可能就無法這麼有效率的處理本篇論文提出了兩個方法
動態資料切割和虛擬機對映以及一個優化技術 Loading aware virtual machine
mapping模擬實驗結果表明透過本篇方法來得比 Hadoop 縮短 41的時間以
及最多節省 Communication Locality 約莫 33尤其在異構性越高的環境以及
一台實體機器架設的虛擬機器數量越多改善的效果越明顯另外 Loading
aware virtual machine mapping 優化技術改善了 Reduce phase 的完成時間約莫
13
在未來研究上可以朝著動態調整 Reducer 數量的方向前進當固定大小的
資料上其實有時候過多的節點去運算消耗了大量的運算資源卻只得到一些
秒數的縮短如何利用適當的運算資源來得到最大的利益這是相當重要的議
題由於此實驗都是屬於模擬實驗希望在未來可以實際架設在機器上運行
透過 Benchmark得到真正的數據
33
Reference
1 Masato Asahara Shinji Nakadai and Takuya Araki ldquoLoadAtomizer A
Locality and IO Load aware Task Scheduler for MapReducerdquo in 4th IEEE
International Conference on Cloud Computing Technology and Science
(CloudCom) pp 317-324 2012
2 Paul Barham Boris Dragovic Keir Fraser Steven Hand Tim Harris Alex
Ho Rolf Neugebauer Ian Pratt and Andrew Warfield ldquoXen and the Art of
Virtualizationrdquo SOSP 03 Proceedings of the nineteenth ACM symposium
on Operating systems principles vol 37 Issue 5 pp 164-177 December
2003
3 Xiangping Bu Jia Rao and Cheng Zhong Xu ldquoInterference and
Locality-Aware Task Scheduling for MapReduce Applications in Virtual
Clustersrdquo Proceeding HPDC 13 Proceedings of the 22nd international
sym-posium on High-performance parallel and distributed computing pp
227-238 2013
4 Kasim Selcuk Candan Jong Wook Kim Parth Nagarkar Mithila Nagendra
and Ren-wei Yu ldquoScalable Multimedia Data Processing in Server Clustersrdquo
IEEE MultiMedia pp 3-5 2010
5 Fay Chang Jeffrey Dean Sanjay Ghemawat Wilson C Hsieh Deborah A
Wallach Mike Burrws Tushar Chandra Andrew Fikes and Robert EGruber
ldquoBigtable A Distributed Storage System for Structured Datardquo 7th UENIX
Symposium on Operating Systems Design and Implementation pp 205-218
2006
6 P C Chen Y L Su J B Chang and C K Shieh ldquoVariable-Sized Map and
Locality-Aware Reduce on Public-Resource Gridsrdquo in Proceedings
Conference Grid and Pervasive Computing (GPC 2010) pp 234-243 2010
May
7 Q Chen D Zhang M Guo Q Deng and S Guo ldquoSamr A self adaptive
mapreduce scheduling algorithm in heterogeneous environmentrdquo in 10th
IEEE International Conference on Computer and Information Technology
CIT rsquo10 (Washington DC USA) pp 2736ndash2743 2010
8 Jeffrey Dean and Sanjay Ghemawat ldquoMapReduce Simplified Data
Processing on Large Clustersrdquo Communications of the ACM vol 51 no 1
pp 107ndash113 2008
9 Yuanquan Fan Weiguo Wu Haijun Cao Huo Zhu Xu Zhao and Wei Wei
34
ldquoA heterogeneity-aware data distribution and rebalance method in Hadoop
clusterrdquo 2012 Seventh ChinaGrid Annual Conference pp 176-181 2012
10 Zacharia Fadika Elif Dede Jessica Hartog and Madhusudhan Govindaraju
ldquoMARLA MapReduce for Heterogeneous Clustersrdquo in 12th IEEEACM
International Symposium on Cluster Cloud and Grid Computing pp 49-56
2012
11 Sanjay Ghemawat Howard Gobioff and ShunTak Leung ldquoThe Google file
systemrdquo In Proceedings of 19th Symposium on Operating Systems
Principles pp 29-43 2003
12 Sven Groot ldquoJumbo Beyond MapReduce for Workload Balancingrdquo Fuzzy
Systems and Knowledge Discovery (FSKD) 2011 Eighth International
Conference on Cloud Computing Technology and Science vol 4 pp
2675-2678 2011 July
13 B Gufler N Augsten A Reiser and A Kemper ldquoHandling Data Skew in
MapReducerdquo in Proceedings of CLOSER pp 574ndash583 2011
14 Mohammad Hammoud and Majd F Sakr ldquoLocality-Aware Reduce Task
Scheduling for MapReducerdquo Third IEEE International Conference on
Cloud Computing Technology and Science pp 570-576 2011
15 C He Y Lu and D Swanson ldquoMatch-making A New MapReduce
Scheduling Techniquerdquo IEEE Third International Conference on Cloud
Computing Technology and Science (CloudCom) pp 40ndash47 2011
16 Hung Chang Hsiao Huesh Yi Chung Haiying Shen and Yu Chang
ChaoldquoLoad Re-balancing for Distributed File Systems in Cloudsrdquo IEEE
Trans on Parallel and Distributed Systems vol24 pp 951-962 2012
17 Shadi Ibrahim Hai Jin Lu Lu Song Wu Bingsheng He and Li Qi ldquoLEEN
LocalityFairness Aware Key Partitioning for MapReduce in the Cloudrdquo
2010 IEEE Second International Conference on Cloud Computing
Technology and Science (CloudCom) pp 17ndash24 2010
18 S Ibrahim H Jin L Lu L Qi S Wu and X Shi ldquoEvaluating MapReduce
on Virtual Machines The Hadoop Caserdquo Proceedings Conference Cloud
Computing (CloudCom 2009) Springer LNCS pp 519-528 2009 Dec
19 C Jin and R Buyya ldquoMapreduce programming model for net-based cloud
computingrdquo in Proceedings of the 15th International Euro-Par Conference
on Parallel Processing Euro-Par (Berlin Heidelberg) pp 417ndash428 2009
20 R Nanduri N Maheshwari A Reddyraja and V Varma ldquoJob aware
scheduling algorithm for Mapreduce frameworkrdquo in 3rd International
Conference on Cloud Computing Technology and Science
CLOUDCOM rsquo11 (Washington DC USA) pp 724ndash729 2011
35
21 Andrew J Page and Thomas J Naughton ldquoDynamic task scheduling using
genetic algorithms for heterogeneous distributed computingrdquo in 19th IEEE
International Parallel and Distributed Processing Symposium pp 189a
2005 April
22 Xiaoyu Sun Chen He and Ying Lu ldquoESAMR An Enhanced Self-Adaptive
MapReduce Scheduling Algorithmrdquo 2012 IEEE 18th International
Conference on Parallel and Distributed Systems pp 148-155 2012
23 Chao Tian Haojie Zhou Yongqiang He and Li Zha ldquoA Dynamic
MapReduce Scheduler for Heterogeneous Workloadsrdquo Eighth International
Conference on Grid and Cooperative Computing pp 218ndash244 2009 Aug
24 Jiong Xie Shu Yin Xiaojun Ruan Zhi-yang Ding Yun Tian James Majors
Adam Manzanares and Xiao Qin ldquoImproving mapreduce performance
through data placement in heterogeneous hadoop clustersrdquo in IPDPS
Workshops pp 1ndash9 2010
25 J Tan X Pan S Kavulya R Gandhi and P Narasimhan ldquoMochi Visual
Log-Analysis Based Tools for Debugging Hadooprdquo USENIX Workshop on
Hot Topics in Cloud Computing (HotCloud) pp 1-5 2009
26 Matei Zaharia Andy Konwinski Anthony D Joseph Randy Katz and Ion
Stoica ldquoImproving MapReduce Performance in Heterogeneous
Environmentsrdquo 8th Symposium on Operating Systems Design and
Implementation pp 29ndash42 2008 Dec
27 X Zhang Z Zhong S Feng B Tu and J Fan ldquoImproving Data locality of
MapReduce by Scheduling in Homogeneous Computing Environmentsrdquo in
9th IEEE International Symposium on Parallel and Distributed Processing
with Applications (ISPA) pp 120-126 2011
28 Apache hadoop Available from httphadoopapacheorg
29 MapReduce with a lot of examples for Mining datasets Available from
httpinfolabstanfordedu~ullmanmmdsbookpdf
Page 36
27
Total completion time(vm=5 pm = 2 h = 1-5)
0 50 100 150 200
Hadoop
Best Fit
Priority
Second
Met
hod
Map Reduce
(d)
圖十一 Total completion time (a) low heterogeneity vm=2 pm=5 (b) low
heterogeneity vm=5 pm=2 (c) high heterogeneity vm=2 pm=5 (d) high
heterogeneity vm=5 pm=2
由於前面分別是 Map以及 Reduce的完成時間為了想知道Map以及 Reduce
對於 MapReduce 的整體影響我們將前面的 Map 以及 Reduce 的完成時間在
處理資料的節點固定為 10 台 Worker將其做整合
從圖十一(a)圖十一(b)圖十一(c)圖十一(d)顯示 Best Fit 和 Priority 不論
是在低異構性或高異構性環境MapReduce 完成時間都比 Hadoop 的完成時間縮
短很多在低異構性環境最多可縮短到 29的時間在高異構性環境最多可縮
短 41的時間而造成 Hadoop 跟 Best Fit 和 Priority 在時間上差異如此大的原
因主要是在 Map 階段的完成時間因為Best Fit 和 Priority 是根據 Worker 的
效能來決定要處理的資料大小而 Hadoop 就是分配固定大小的資料給 Worker
運算所以在越高的異構性環境其縮短的時間會越明顯
28
Total completion time with different number of vm (h=1-3)
0
20
40
60
80
100
120
vm=2 vm=3 vm=4Number of vm per physical machine
Sec
ond
Hadoop
Best Fit
Priority
(a)
Total completion time with different number of vm (h=1-5)
0
20
40
60
80
100
120
vm=2 vm=3 vm=4Number of vm per physical machine
Sec
ond
Hadoop
Best Fit
Priority
(b)
圖十二 Total completion time with different number of vm (a) low heterogeneity
vm=2 worker=12 (b) high heterogeneity vm=5 worker=12
圖十二(a)是在低異構性環境圖十二(b)是在高異構性環境並且1 台實體
機架設 2 個3 個4 個虛擬機器使 Worker 數量固定 12 台處理的資料量為
600G
這個模擬實驗主要探討的是在一台實體機架設的虛擬機器數量對於
MapReduce 完成時間是否真正有影響圖十二(a)和圖十二(b)更可以顯示出 Best
Fit 和 Priority 在異構性越高的環境裏且一台實體機架設越多虛擬機器來當作
Worker 的時候可以縮短更多的時間前者會縮短 Map 的完成時間後者會縮
29
短 Reduce 的完成時間而 Hadoop 在異構性環境高的時候也有些微的縮短一
些時間
Total completion time with different data size (h=1-5)
0
20
40
60
80
100
120
140
400 600 800 1000 1200
Data
Sec
ond
Hadoop
Best Fit
Priority
圖十三 Total completion time with different data size
在上述的實驗中在同樣的資料大小處理的 Worker 數量越多的時候其
完成時間會縮短很多但是到達一定的數量的時候其縮短時間的效果就很低
所以就做了此實驗因為本篇論文就是要探討異構性的環境選擇高異構性
環境固定 Worker 數量 20 台資料大小由 400G 到 1200G探討資料大小對
MapReduce 以及 Worker 的影響如圖十三顯示出在 600G 以下的時候Map 加
上 Reduce 完成的時間突然靠近起來代表了當資料量越小的時候Best Fit 和
Priority 的方法跟原始的 Hadoop 的方法優勢會越來越少但相反的是當資料
量越大的時候雖然Best Fit 和 Priority 完成時間會增加但是跟 Hadoop 的
完成時間比會更加突顯
30
Total completion time (best fit)
0
10
20
30
40
50
60
70
80
(Without optimization) (Optimization)
Best Fit
Sec
ond
Map Reduce
(a)
Total completion time (priority)
0
10
20
30
40
50
60
70
80
(Without optimization) (Optimization)
Priority
Sec
ond
Map Reduce
(b)
圖十四 Total completion time of loading aware optimization (a) without
optimal (b) with optimization
圖十四(a)未使用優化技術圖十四(b)是使用優化技術同樣都是在高異構
性環境之下並且1 台實體機架設 5 個虛擬機器使 Worker 數量固定 15 台
處理的資料量為 900G
在本篇論文方法的部份有提到Loading Aware Virtual Machine Mapping的優
化技術由於此實驗上面的實驗數據都已經使用優化技術來改善時間因此
此實驗就是要探討這優化技術對於MapReduce完成時間的影響
由於Loading Aware Virtual Machine Mapping此優化技術是變動同一台實體
31
機內部的Reducer使得原本是根據Communication locality來選擇虛擬機器但
是在挑選的過程中並沒有依據處理資料的大小分配到其處理速度相對映的
虛擬機器而這優化技術就是將同一台實體機內的虛擬機器重新分配由於此
優化技術並不會影響Communication locality所以這部份並沒有在此實驗探討
圖十四(a)圖十四(b)顯示未使用優化技術的Best fit和Priority的MapReduce
完成時間雖然比Hadoop的方法好但是其Reduce phase完成時間上慢了一些
並且可以看出此優化技術並不會影響到Map phase主要影響的是在Reduce階
段在Reduce階段的完成時間上利用優化技術可以將Reduce階段時間縮短其13
32
Chapter 6 Conclusions and Future Works
目前 Hadoop 資料處理的環境還是應用在群集內節點效能是相同的情況下
如果是異構性環境可能就無法這麼有效率的處理本篇論文提出了兩個方法
動態資料切割和虛擬機對映以及一個優化技術 Loading aware virtual machine
mapping模擬實驗結果表明透過本篇方法來得比 Hadoop 縮短 41的時間以
及最多節省 Communication Locality 約莫 33尤其在異構性越高的環境以及
一台實體機器架設的虛擬機器數量越多改善的效果越明顯另外 Loading
aware virtual machine mapping 優化技術改善了 Reduce phase 的完成時間約莫
13
在未來研究上可以朝著動態調整 Reducer 數量的方向前進當固定大小的
資料上其實有時候過多的節點去運算消耗了大量的運算資源卻只得到一些
秒數的縮短如何利用適當的運算資源來得到最大的利益這是相當重要的議
題由於此實驗都是屬於模擬實驗希望在未來可以實際架設在機器上運行
透過 Benchmark得到真正的數據
33
Reference
1 Masato Asahara Shinji Nakadai and Takuya Araki ldquoLoadAtomizer A
Locality and IO Load aware Task Scheduler for MapReducerdquo in 4th IEEE
International Conference on Cloud Computing Technology and Science
(CloudCom) pp 317-324 2012
2 Paul Barham Boris Dragovic Keir Fraser Steven Hand Tim Harris Alex
Ho Rolf Neugebauer Ian Pratt and Andrew Warfield ldquoXen and the Art of
Virtualizationrdquo SOSP 03 Proceedings of the nineteenth ACM symposium
on Operating systems principles vol 37 Issue 5 pp 164-177 December
2003
3 Xiangping Bu Jia Rao and Cheng Zhong Xu ldquoInterference and
Locality-Aware Task Scheduling for MapReduce Applications in Virtual
Clustersrdquo Proceeding HPDC 13 Proceedings of the 22nd international
sym-posium on High-performance parallel and distributed computing pp
227-238 2013
4 Kasim Selcuk Candan Jong Wook Kim Parth Nagarkar Mithila Nagendra
and Ren-wei Yu ldquoScalable Multimedia Data Processing in Server Clustersrdquo
IEEE MultiMedia pp 3-5 2010
5 Fay Chang Jeffrey Dean Sanjay Ghemawat Wilson C Hsieh Deborah A
Wallach Mike Burrws Tushar Chandra Andrew Fikes and Robert EGruber
ldquoBigtable A Distributed Storage System for Structured Datardquo 7th UENIX
Symposium on Operating Systems Design and Implementation pp 205-218
2006
6 P C Chen Y L Su J B Chang and C K Shieh ldquoVariable-Sized Map and
Locality-Aware Reduce on Public-Resource Gridsrdquo in Proceedings
Conference Grid and Pervasive Computing (GPC 2010) pp 234-243 2010
May
7 Q Chen D Zhang M Guo Q Deng and S Guo ldquoSamr A self adaptive
mapreduce scheduling algorithm in heterogeneous environmentrdquo in 10th
IEEE International Conference on Computer and Information Technology
CIT rsquo10 (Washington DC USA) pp 2736ndash2743 2010
8 Jeffrey Dean and Sanjay Ghemawat ldquoMapReduce Simplified Data
Processing on Large Clustersrdquo Communications of the ACM vol 51 no 1
pp 107ndash113 2008
9 Yuanquan Fan Weiguo Wu Haijun Cao Huo Zhu Xu Zhao and Wei Wei
34
ldquoA heterogeneity-aware data distribution and rebalance method in Hadoop
clusterrdquo 2012 Seventh ChinaGrid Annual Conference pp 176-181 2012
10 Zacharia Fadika Elif Dede Jessica Hartog and Madhusudhan Govindaraju
ldquoMARLA MapReduce for Heterogeneous Clustersrdquo in 12th IEEEACM
International Symposium on Cluster Cloud and Grid Computing pp 49-56
2012
11 Sanjay Ghemawat Howard Gobioff and ShunTak Leung ldquoThe Google file
systemrdquo In Proceedings of 19th Symposium on Operating Systems
Principles pp 29-43 2003
12 Sven Groot ldquoJumbo Beyond MapReduce for Workload Balancingrdquo Fuzzy
Systems and Knowledge Discovery (FSKD) 2011 Eighth International
Conference on Cloud Computing Technology and Science vol 4 pp
2675-2678 2011 July
13 B Gufler N Augsten A Reiser and A Kemper ldquoHandling Data Skew in
MapReducerdquo in Proceedings of CLOSER pp 574ndash583 2011
14 Mohammad Hammoud and Majd F Sakr ldquoLocality-Aware Reduce Task
Scheduling for MapReducerdquo Third IEEE International Conference on
Cloud Computing Technology and Science pp 570-576 2011
15 C He Y Lu and D Swanson ldquoMatch-making A New MapReduce
Scheduling Techniquerdquo IEEE Third International Conference on Cloud
Computing Technology and Science (CloudCom) pp 40ndash47 2011
16 Hung Chang Hsiao Huesh Yi Chung Haiying Shen and Yu Chang
ChaoldquoLoad Re-balancing for Distributed File Systems in Cloudsrdquo IEEE
Trans on Parallel and Distributed Systems vol24 pp 951-962 2012
17 Shadi Ibrahim Hai Jin Lu Lu Song Wu Bingsheng He and Li Qi ldquoLEEN
LocalityFairness Aware Key Partitioning for MapReduce in the Cloudrdquo
2010 IEEE Second International Conference on Cloud Computing
Technology and Science (CloudCom) pp 17ndash24 2010
18 S Ibrahim H Jin L Lu L Qi S Wu and X Shi ldquoEvaluating MapReduce
on Virtual Machines The Hadoop Caserdquo Proceedings Conference Cloud
Computing (CloudCom 2009) Springer LNCS pp 519-528 2009 Dec
19 C Jin and R Buyya ldquoMapreduce programming model for net-based cloud
computingrdquo in Proceedings of the 15th International Euro-Par Conference
on Parallel Processing Euro-Par (Berlin Heidelberg) pp 417ndash428 2009
20 R Nanduri N Maheshwari A Reddyraja and V Varma ldquoJob aware
scheduling algorithm for Mapreduce frameworkrdquo in 3rd International
Conference on Cloud Computing Technology and Science
CLOUDCOM rsquo11 (Washington DC USA) pp 724ndash729 2011
35
21 Andrew J Page and Thomas J Naughton ldquoDynamic task scheduling using
genetic algorithms for heterogeneous distributed computingrdquo in 19th IEEE
International Parallel and Distributed Processing Symposium pp 189a
2005 April
22 Xiaoyu Sun Chen He and Ying Lu ldquoESAMR An Enhanced Self-Adaptive
MapReduce Scheduling Algorithmrdquo 2012 IEEE 18th International
Conference on Parallel and Distributed Systems pp 148-155 2012
23 Chao Tian Haojie Zhou Yongqiang He and Li Zha ldquoA Dynamic
MapReduce Scheduler for Heterogeneous Workloadsrdquo Eighth International
Conference on Grid and Cooperative Computing pp 218ndash244 2009 Aug
24 Jiong Xie Shu Yin Xiaojun Ruan Zhi-yang Ding Yun Tian James Majors
Adam Manzanares and Xiao Qin ldquoImproving mapreduce performance
through data placement in heterogeneous hadoop clustersrdquo in IPDPS
Workshops pp 1ndash9 2010
25 J Tan X Pan S Kavulya R Gandhi and P Narasimhan ldquoMochi Visual
Log-Analysis Based Tools for Debugging Hadooprdquo USENIX Workshop on
Hot Topics in Cloud Computing (HotCloud) pp 1-5 2009
26 Matei Zaharia Andy Konwinski Anthony D Joseph Randy Katz and Ion
Stoica ldquoImproving MapReduce Performance in Heterogeneous
Environmentsrdquo 8th Symposium on Operating Systems Design and
Implementation pp 29ndash42 2008 Dec
27 X Zhang Z Zhong S Feng B Tu and J Fan ldquoImproving Data locality of
MapReduce by Scheduling in Homogeneous Computing Environmentsrdquo in
9th IEEE International Symposium on Parallel and Distributed Processing
with Applications (ISPA) pp 120-126 2011
28 Apache hadoop Available from httphadoopapacheorg
29 MapReduce with a lot of examples for Mining datasets Available from
httpinfolabstanfordedu~ullmanmmdsbookpdf
Page 37
28
Total completion time with different number of vm (h=1-3)
0
20
40
60
80
100
120
vm=2 vm=3 vm=4Number of vm per physical machine
Sec
ond
Hadoop
Best Fit
Priority
(a)
Total completion time with different number of vm (h=1-5)
0
20
40
60
80
100
120
vm=2 vm=3 vm=4Number of vm per physical machine
Sec
ond
Hadoop
Best Fit
Priority
(b)
圖十二 Total completion time with different number of vm (a) low heterogeneity
vm=2 worker=12 (b) high heterogeneity vm=5 worker=12
圖十二(a)是在低異構性環境圖十二(b)是在高異構性環境並且1 台實體
機架設 2 個3 個4 個虛擬機器使 Worker 數量固定 12 台處理的資料量為
600G
這個模擬實驗主要探討的是在一台實體機架設的虛擬機器數量對於
MapReduce 完成時間是否真正有影響圖十二(a)和圖十二(b)更可以顯示出 Best
Fit 和 Priority 在異構性越高的環境裏且一台實體機架設越多虛擬機器來當作
Worker 的時候可以縮短更多的時間前者會縮短 Map 的完成時間後者會縮
29
短 Reduce 的完成時間而 Hadoop 在異構性環境高的時候也有些微的縮短一
些時間
Total completion time with different data size (h=1-5)
0
20
40
60
80
100
120
140
400 600 800 1000 1200
Data
Sec
ond
Hadoop
Best Fit
Priority
圖十三 Total completion time with different data size
在上述的實驗中在同樣的資料大小處理的 Worker 數量越多的時候其
完成時間會縮短很多但是到達一定的數量的時候其縮短時間的效果就很低
所以就做了此實驗因為本篇論文就是要探討異構性的環境選擇高異構性
環境固定 Worker 數量 20 台資料大小由 400G 到 1200G探討資料大小對
MapReduce 以及 Worker 的影響如圖十三顯示出在 600G 以下的時候Map 加
上 Reduce 完成的時間突然靠近起來代表了當資料量越小的時候Best Fit 和
Priority 的方法跟原始的 Hadoop 的方法優勢會越來越少但相反的是當資料
量越大的時候雖然Best Fit 和 Priority 完成時間會增加但是跟 Hadoop 的
完成時間比會更加突顯
30
Total completion time (best fit)
0
10
20
30
40
50
60
70
80
(Without optimization) (Optimization)
Best Fit
Sec
ond
Map Reduce
(a)
Total completion time (priority)
0
10
20
30
40
50
60
70
80
(Without optimization) (Optimization)
Priority
Sec
ond
Map Reduce
(b)
圖十四 Total completion time of loading aware optimization (a) without
optimal (b) with optimization
圖十四(a)未使用優化技術圖十四(b)是使用優化技術同樣都是在高異構
性環境之下並且1 台實體機架設 5 個虛擬機器使 Worker 數量固定 15 台
處理的資料量為 900G
在本篇論文方法的部份有提到Loading Aware Virtual Machine Mapping的優
化技術由於此實驗上面的實驗數據都已經使用優化技術來改善時間因此
此實驗就是要探討這優化技術對於MapReduce完成時間的影響
由於Loading Aware Virtual Machine Mapping此優化技術是變動同一台實體
31
機內部的Reducer使得原本是根據Communication locality來選擇虛擬機器但
是在挑選的過程中並沒有依據處理資料的大小分配到其處理速度相對映的
虛擬機器而這優化技術就是將同一台實體機內的虛擬機器重新分配由於此
優化技術並不會影響Communication locality所以這部份並沒有在此實驗探討
圖十四(a)圖十四(b)顯示未使用優化技術的Best fit和Priority的MapReduce
完成時間雖然比Hadoop的方法好但是其Reduce phase完成時間上慢了一些
並且可以看出此優化技術並不會影響到Map phase主要影響的是在Reduce階
段在Reduce階段的完成時間上利用優化技術可以將Reduce階段時間縮短其13
32
Chapter 6 Conclusions and Future Works
目前 Hadoop 資料處理的環境還是應用在群集內節點效能是相同的情況下
如果是異構性環境可能就無法這麼有效率的處理本篇論文提出了兩個方法
動態資料切割和虛擬機對映以及一個優化技術 Loading aware virtual machine
mapping模擬實驗結果表明透過本篇方法來得比 Hadoop 縮短 41的時間以
及最多節省 Communication Locality 約莫 33尤其在異構性越高的環境以及
一台實體機器架設的虛擬機器數量越多改善的效果越明顯另外 Loading
aware virtual machine mapping 優化技術改善了 Reduce phase 的完成時間約莫
13
在未來研究上可以朝著動態調整 Reducer 數量的方向前進當固定大小的
資料上其實有時候過多的節點去運算消耗了大量的運算資源卻只得到一些
秒數的縮短如何利用適當的運算資源來得到最大的利益這是相當重要的議
題由於此實驗都是屬於模擬實驗希望在未來可以實際架設在機器上運行
透過 Benchmark得到真正的數據
33
Reference
1 Masato Asahara Shinji Nakadai and Takuya Araki ldquoLoadAtomizer A
Locality and IO Load aware Task Scheduler for MapReducerdquo in 4th IEEE
International Conference on Cloud Computing Technology and Science
(CloudCom) pp 317-324 2012
2 Paul Barham Boris Dragovic Keir Fraser Steven Hand Tim Harris Alex
Ho Rolf Neugebauer Ian Pratt and Andrew Warfield ldquoXen and the Art of
Virtualizationrdquo SOSP 03 Proceedings of the nineteenth ACM symposium
on Operating systems principles vol 37 Issue 5 pp 164-177 December
2003
3 Xiangping Bu Jia Rao and Cheng Zhong Xu ldquoInterference and
Locality-Aware Task Scheduling for MapReduce Applications in Virtual
Clustersrdquo Proceeding HPDC 13 Proceedings of the 22nd international
sym-posium on High-performance parallel and distributed computing pp
227-238 2013
4 Kasim Selcuk Candan Jong Wook Kim Parth Nagarkar Mithila Nagendra
and Ren-wei Yu ldquoScalable Multimedia Data Processing in Server Clustersrdquo
IEEE MultiMedia pp 3-5 2010
5 Fay Chang Jeffrey Dean Sanjay Ghemawat Wilson C Hsieh Deborah A
Wallach Mike Burrws Tushar Chandra Andrew Fikes and Robert EGruber
ldquoBigtable A Distributed Storage System for Structured Datardquo 7th UENIX
Symposium on Operating Systems Design and Implementation pp 205-218
2006
6 P C Chen Y L Su J B Chang and C K Shieh ldquoVariable-Sized Map and
Locality-Aware Reduce on Public-Resource Gridsrdquo in Proceedings
Conference Grid and Pervasive Computing (GPC 2010) pp 234-243 2010
May
7 Q Chen D Zhang M Guo Q Deng and S Guo ldquoSamr A self adaptive
mapreduce scheduling algorithm in heterogeneous environmentrdquo in 10th
IEEE International Conference on Computer and Information Technology
CIT rsquo10 (Washington DC USA) pp 2736ndash2743 2010
8 Jeffrey Dean and Sanjay Ghemawat ldquoMapReduce Simplified Data
Processing on Large Clustersrdquo Communications of the ACM vol 51 no 1
pp 107ndash113 2008
9 Yuanquan Fan Weiguo Wu Haijun Cao Huo Zhu Xu Zhao and Wei Wei
34
ldquoA heterogeneity-aware data distribution and rebalance method in Hadoop
clusterrdquo 2012 Seventh ChinaGrid Annual Conference pp 176-181 2012
10 Zacharia Fadika Elif Dede Jessica Hartog and Madhusudhan Govindaraju
ldquoMARLA MapReduce for Heterogeneous Clustersrdquo in 12th IEEEACM
International Symposium on Cluster Cloud and Grid Computing pp 49-56
2012
11 Sanjay Ghemawat Howard Gobioff and ShunTak Leung ldquoThe Google file
systemrdquo In Proceedings of 19th Symposium on Operating Systems
Principles pp 29-43 2003
12 Sven Groot ldquoJumbo Beyond MapReduce for Workload Balancingrdquo Fuzzy
Systems and Knowledge Discovery (FSKD) 2011 Eighth International
Conference on Cloud Computing Technology and Science vol 4 pp
2675-2678 2011 July
13 B Gufler N Augsten A Reiser and A Kemper ldquoHandling Data Skew in
MapReducerdquo in Proceedings of CLOSER pp 574ndash583 2011
14 Mohammad Hammoud and Majd F Sakr ldquoLocality-Aware Reduce Task
Scheduling for MapReducerdquo Third IEEE International Conference on
Cloud Computing Technology and Science pp 570-576 2011
15 C He Y Lu and D Swanson ldquoMatch-making A New MapReduce
Scheduling Techniquerdquo IEEE Third International Conference on Cloud
Computing Technology and Science (CloudCom) pp 40ndash47 2011
16 Hung Chang Hsiao Huesh Yi Chung Haiying Shen and Yu Chang
ChaoldquoLoad Re-balancing for Distributed File Systems in Cloudsrdquo IEEE
Trans on Parallel and Distributed Systems vol24 pp 951-962 2012
17 Shadi Ibrahim Hai Jin Lu Lu Song Wu Bingsheng He and Li Qi ldquoLEEN
LocalityFairness Aware Key Partitioning for MapReduce in the Cloudrdquo
2010 IEEE Second International Conference on Cloud Computing
Technology and Science (CloudCom) pp 17ndash24 2010
18 S Ibrahim H Jin L Lu L Qi S Wu and X Shi ldquoEvaluating MapReduce
on Virtual Machines The Hadoop Caserdquo Proceedings Conference Cloud
Computing (CloudCom 2009) Springer LNCS pp 519-528 2009 Dec
19 C Jin and R Buyya ldquoMapreduce programming model for net-based cloud
computingrdquo in Proceedings of the 15th International Euro-Par Conference
on Parallel Processing Euro-Par (Berlin Heidelberg) pp 417ndash428 2009
20 R Nanduri N Maheshwari A Reddyraja and V Varma ldquoJob aware
scheduling algorithm for Mapreduce frameworkrdquo in 3rd International
Conference on Cloud Computing Technology and Science
CLOUDCOM rsquo11 (Washington DC USA) pp 724ndash729 2011
35
21 Andrew J Page and Thomas J Naughton ldquoDynamic task scheduling using
genetic algorithms for heterogeneous distributed computingrdquo in 19th IEEE
International Parallel and Distributed Processing Symposium pp 189a
2005 April
22 Xiaoyu Sun Chen He and Ying Lu ldquoESAMR An Enhanced Self-Adaptive
MapReduce Scheduling Algorithmrdquo 2012 IEEE 18th International
Conference on Parallel and Distributed Systems pp 148-155 2012
23 Chao Tian Haojie Zhou Yongqiang He and Li Zha ldquoA Dynamic
MapReduce Scheduler for Heterogeneous Workloadsrdquo Eighth International
Conference on Grid and Cooperative Computing pp 218ndash244 2009 Aug
24 Jiong Xie Shu Yin Xiaojun Ruan Zhi-yang Ding Yun Tian James Majors
Adam Manzanares and Xiao Qin ldquoImproving mapreduce performance
through data placement in heterogeneous hadoop clustersrdquo in IPDPS
Workshops pp 1ndash9 2010
25 J Tan X Pan S Kavulya R Gandhi and P Narasimhan ldquoMochi Visual
Log-Analysis Based Tools for Debugging Hadooprdquo USENIX Workshop on
Hot Topics in Cloud Computing (HotCloud) pp 1-5 2009
26 Matei Zaharia Andy Konwinski Anthony D Joseph Randy Katz and Ion
Stoica ldquoImproving MapReduce Performance in Heterogeneous
Environmentsrdquo 8th Symposium on Operating Systems Design and
Implementation pp 29ndash42 2008 Dec
27 X Zhang Z Zhong S Feng B Tu and J Fan ldquoImproving Data locality of
MapReduce by Scheduling in Homogeneous Computing Environmentsrdquo in
9th IEEE International Symposium on Parallel and Distributed Processing
with Applications (ISPA) pp 120-126 2011
28 Apache hadoop Available from httphadoopapacheorg
29 MapReduce with a lot of examples for Mining datasets Available from
httpinfolabstanfordedu~ullmanmmdsbookpdf
Page 38
29
短 Reduce 的完成時間而 Hadoop 在異構性環境高的時候也有些微的縮短一
些時間
Total completion time with different data size (h=1-5)
0
20
40
60
80
100
120
140
400 600 800 1000 1200
Data
Sec
ond
Hadoop
Best Fit
Priority
圖十三 Total completion time with different data size
在上述的實驗中在同樣的資料大小處理的 Worker 數量越多的時候其
完成時間會縮短很多但是到達一定的數量的時候其縮短時間的效果就很低
所以就做了此實驗因為本篇論文就是要探討異構性的環境選擇高異構性
環境固定 Worker 數量 20 台資料大小由 400G 到 1200G探討資料大小對
MapReduce 以及 Worker 的影響如圖十三顯示出在 600G 以下的時候Map 加
上 Reduce 完成的時間突然靠近起來代表了當資料量越小的時候Best Fit 和
Priority 的方法跟原始的 Hadoop 的方法優勢會越來越少但相反的是當資料
量越大的時候雖然Best Fit 和 Priority 完成時間會增加但是跟 Hadoop 的
完成時間比會更加突顯
30
Total completion time (best fit)
0
10
20
30
40
50
60
70
80
(Without optimization) (Optimization)
Best Fit
Sec
ond
Map Reduce
(a)
Total completion time (priority)
0
10
20
30
40
50
60
70
80
(Without optimization) (Optimization)
Priority
Sec
ond
Map Reduce
(b)
圖十四 Total completion time of loading aware optimization (a) without
optimal (b) with optimization
圖十四(a)未使用優化技術圖十四(b)是使用優化技術同樣都是在高異構
性環境之下並且1 台實體機架設 5 個虛擬機器使 Worker 數量固定 15 台
處理的資料量為 900G
在本篇論文方法的部份有提到Loading Aware Virtual Machine Mapping的優
化技術由於此實驗上面的實驗數據都已經使用優化技術來改善時間因此
此實驗就是要探討這優化技術對於MapReduce完成時間的影響
由於Loading Aware Virtual Machine Mapping此優化技術是變動同一台實體
31
機內部的Reducer使得原本是根據Communication locality來選擇虛擬機器但
是在挑選的過程中並沒有依據處理資料的大小分配到其處理速度相對映的
虛擬機器而這優化技術就是將同一台實體機內的虛擬機器重新分配由於此
優化技術並不會影響Communication locality所以這部份並沒有在此實驗探討
圖十四(a)圖十四(b)顯示未使用優化技術的Best fit和Priority的MapReduce
完成時間雖然比Hadoop的方法好但是其Reduce phase完成時間上慢了一些
並且可以看出此優化技術並不會影響到Map phase主要影響的是在Reduce階
段在Reduce階段的完成時間上利用優化技術可以將Reduce階段時間縮短其13
32
Chapter 6 Conclusions and Future Works
目前 Hadoop 資料處理的環境還是應用在群集內節點效能是相同的情況下
如果是異構性環境可能就無法這麼有效率的處理本篇論文提出了兩個方法
動態資料切割和虛擬機對映以及一個優化技術 Loading aware virtual machine
mapping模擬實驗結果表明透過本篇方法來得比 Hadoop 縮短 41的時間以
及最多節省 Communication Locality 約莫 33尤其在異構性越高的環境以及
一台實體機器架設的虛擬機器數量越多改善的效果越明顯另外 Loading
aware virtual machine mapping 優化技術改善了 Reduce phase 的完成時間約莫
13
在未來研究上可以朝著動態調整 Reducer 數量的方向前進當固定大小的
資料上其實有時候過多的節點去運算消耗了大量的運算資源卻只得到一些
秒數的縮短如何利用適當的運算資源來得到最大的利益這是相當重要的議
題由於此實驗都是屬於模擬實驗希望在未來可以實際架設在機器上運行
透過 Benchmark得到真正的數據
33
Reference
1 Masato Asahara Shinji Nakadai and Takuya Araki ldquoLoadAtomizer A
Locality and IO Load aware Task Scheduler for MapReducerdquo in 4th IEEE
International Conference on Cloud Computing Technology and Science
(CloudCom) pp 317-324 2012
2 Paul Barham Boris Dragovic Keir Fraser Steven Hand Tim Harris Alex
Ho Rolf Neugebauer Ian Pratt and Andrew Warfield ldquoXen and the Art of
Virtualizationrdquo SOSP 03 Proceedings of the nineteenth ACM symposium
on Operating systems principles vol 37 Issue 5 pp 164-177 December
2003
3 Xiangping Bu Jia Rao and Cheng Zhong Xu ldquoInterference and
Locality-Aware Task Scheduling for MapReduce Applications in Virtual
Clustersrdquo Proceeding HPDC 13 Proceedings of the 22nd international
sym-posium on High-performance parallel and distributed computing pp
227-238 2013
4 Kasim Selcuk Candan Jong Wook Kim Parth Nagarkar Mithila Nagendra
and Ren-wei Yu ldquoScalable Multimedia Data Processing in Server Clustersrdquo
IEEE MultiMedia pp 3-5 2010
5 Fay Chang Jeffrey Dean Sanjay Ghemawat Wilson C Hsieh Deborah A
Wallach Mike Burrws Tushar Chandra Andrew Fikes and Robert EGruber
ldquoBigtable A Distributed Storage System for Structured Datardquo 7th UENIX
Symposium on Operating Systems Design and Implementation pp 205-218
2006
6 P C Chen Y L Su J B Chang and C K Shieh ldquoVariable-Sized Map and
Locality-Aware Reduce on Public-Resource Gridsrdquo in Proceedings
Conference Grid and Pervasive Computing (GPC 2010) pp 234-243 2010
May
7 Q Chen D Zhang M Guo Q Deng and S Guo ldquoSamr A self adaptive
mapreduce scheduling algorithm in heterogeneous environmentrdquo in 10th
IEEE International Conference on Computer and Information Technology
CIT rsquo10 (Washington DC USA) pp 2736ndash2743 2010
8 Jeffrey Dean and Sanjay Ghemawat ldquoMapReduce Simplified Data
Processing on Large Clustersrdquo Communications of the ACM vol 51 no 1
pp 107ndash113 2008
9 Yuanquan Fan Weiguo Wu Haijun Cao Huo Zhu Xu Zhao and Wei Wei
34
ldquoA heterogeneity-aware data distribution and rebalance method in Hadoop
clusterrdquo 2012 Seventh ChinaGrid Annual Conference pp 176-181 2012
10 Zacharia Fadika Elif Dede Jessica Hartog and Madhusudhan Govindaraju
ldquoMARLA MapReduce for Heterogeneous Clustersrdquo in 12th IEEEACM
International Symposium on Cluster Cloud and Grid Computing pp 49-56
2012
11 Sanjay Ghemawat Howard Gobioff and ShunTak Leung ldquoThe Google file
systemrdquo In Proceedings of 19th Symposium on Operating Systems
Principles pp 29-43 2003
12 Sven Groot ldquoJumbo Beyond MapReduce for Workload Balancingrdquo Fuzzy
Systems and Knowledge Discovery (FSKD) 2011 Eighth International
Conference on Cloud Computing Technology and Science vol 4 pp
2675-2678 2011 July
13 B Gufler N Augsten A Reiser and A Kemper ldquoHandling Data Skew in
MapReducerdquo in Proceedings of CLOSER pp 574ndash583 2011
14 Mohammad Hammoud and Majd F Sakr ldquoLocality-Aware Reduce Task
Scheduling for MapReducerdquo Third IEEE International Conference on
Cloud Computing Technology and Science pp 570-576 2011
15 C He Y Lu and D Swanson ldquoMatch-making A New MapReduce
Scheduling Techniquerdquo IEEE Third International Conference on Cloud
Computing Technology and Science (CloudCom) pp 40ndash47 2011
16 Hung Chang Hsiao Huesh Yi Chung Haiying Shen and Yu Chang
ChaoldquoLoad Re-balancing for Distributed File Systems in Cloudsrdquo IEEE
Trans on Parallel and Distributed Systems vol24 pp 951-962 2012
17 Shadi Ibrahim Hai Jin Lu Lu Song Wu Bingsheng He and Li Qi ldquoLEEN
LocalityFairness Aware Key Partitioning for MapReduce in the Cloudrdquo
2010 IEEE Second International Conference on Cloud Computing
Technology and Science (CloudCom) pp 17ndash24 2010
18 S Ibrahim H Jin L Lu L Qi S Wu and X Shi ldquoEvaluating MapReduce
on Virtual Machines The Hadoop Caserdquo Proceedings Conference Cloud
Computing (CloudCom 2009) Springer LNCS pp 519-528 2009 Dec
19 C Jin and R Buyya ldquoMapreduce programming model for net-based cloud
computingrdquo in Proceedings of the 15th International Euro-Par Conference
on Parallel Processing Euro-Par (Berlin Heidelberg) pp 417ndash428 2009
20 R Nanduri N Maheshwari A Reddyraja and V Varma ldquoJob aware
scheduling algorithm for Mapreduce frameworkrdquo in 3rd International
Conference on Cloud Computing Technology and Science
CLOUDCOM rsquo11 (Washington DC USA) pp 724ndash729 2011
35
21 Andrew J Page and Thomas J Naughton ldquoDynamic task scheduling using
genetic algorithms for heterogeneous distributed computingrdquo in 19th IEEE
International Parallel and Distributed Processing Symposium pp 189a
2005 April
22 Xiaoyu Sun Chen He and Ying Lu ldquoESAMR An Enhanced Self-Adaptive
MapReduce Scheduling Algorithmrdquo 2012 IEEE 18th International
Conference on Parallel and Distributed Systems pp 148-155 2012
23 Chao Tian Haojie Zhou Yongqiang He and Li Zha ldquoA Dynamic
MapReduce Scheduler for Heterogeneous Workloadsrdquo Eighth International
Conference on Grid and Cooperative Computing pp 218ndash244 2009 Aug
24 Jiong Xie Shu Yin Xiaojun Ruan Zhi-yang Ding Yun Tian James Majors
Adam Manzanares and Xiao Qin ldquoImproving mapreduce performance
through data placement in heterogeneous hadoop clustersrdquo in IPDPS
Workshops pp 1ndash9 2010
25 J Tan X Pan S Kavulya R Gandhi and P Narasimhan ldquoMochi Visual
Log-Analysis Based Tools for Debugging Hadooprdquo USENIX Workshop on
Hot Topics in Cloud Computing (HotCloud) pp 1-5 2009
26 Matei Zaharia Andy Konwinski Anthony D Joseph Randy Katz and Ion
Stoica ldquoImproving MapReduce Performance in Heterogeneous
Environmentsrdquo 8th Symposium on Operating Systems Design and
Implementation pp 29ndash42 2008 Dec
27 X Zhang Z Zhong S Feng B Tu and J Fan ldquoImproving Data locality of
MapReduce by Scheduling in Homogeneous Computing Environmentsrdquo in
9th IEEE International Symposium on Parallel and Distributed Processing
with Applications (ISPA) pp 120-126 2011
28 Apache hadoop Available from httphadoopapacheorg
29 MapReduce with a lot of examples for Mining datasets Available from
httpinfolabstanfordedu~ullmanmmdsbookpdf
Page 39
30
Total completion time (best fit)
0
10
20
30
40
50
60
70
80
(Without optimization) (Optimization)
Best Fit
Sec
ond
Map Reduce
(a)
Total completion time (priority)
0
10
20
30
40
50
60
70
80
(Without optimization) (Optimization)
Priority
Sec
ond
Map Reduce
(b)
圖十四 Total completion time of loading aware optimization (a) without
optimal (b) with optimization
圖十四(a)未使用優化技術圖十四(b)是使用優化技術同樣都是在高異構
性環境之下並且1 台實體機架設 5 個虛擬機器使 Worker 數量固定 15 台
處理的資料量為 900G
在本篇論文方法的部份有提到Loading Aware Virtual Machine Mapping的優
化技術由於此實驗上面的實驗數據都已經使用優化技術來改善時間因此
此實驗就是要探討這優化技術對於MapReduce完成時間的影響
由於Loading Aware Virtual Machine Mapping此優化技術是變動同一台實體
31
機內部的Reducer使得原本是根據Communication locality來選擇虛擬機器但
是在挑選的過程中並沒有依據處理資料的大小分配到其處理速度相對映的
虛擬機器而這優化技術就是將同一台實體機內的虛擬機器重新分配由於此
優化技術並不會影響Communication locality所以這部份並沒有在此實驗探討
圖十四(a)圖十四(b)顯示未使用優化技術的Best fit和Priority的MapReduce
完成時間雖然比Hadoop的方法好但是其Reduce phase完成時間上慢了一些
並且可以看出此優化技術並不會影響到Map phase主要影響的是在Reduce階
段在Reduce階段的完成時間上利用優化技術可以將Reduce階段時間縮短其13
32
Chapter 6 Conclusions and Future Works
目前 Hadoop 資料處理的環境還是應用在群集內節點效能是相同的情況下
如果是異構性環境可能就無法這麼有效率的處理本篇論文提出了兩個方法
動態資料切割和虛擬機對映以及一個優化技術 Loading aware virtual machine
mapping模擬實驗結果表明透過本篇方法來得比 Hadoop 縮短 41的時間以
及最多節省 Communication Locality 約莫 33尤其在異構性越高的環境以及
一台實體機器架設的虛擬機器數量越多改善的效果越明顯另外 Loading
aware virtual machine mapping 優化技術改善了 Reduce phase 的完成時間約莫
13
在未來研究上可以朝著動態調整 Reducer 數量的方向前進當固定大小的
資料上其實有時候過多的節點去運算消耗了大量的運算資源卻只得到一些
秒數的縮短如何利用適當的運算資源來得到最大的利益這是相當重要的議
題由於此實驗都是屬於模擬實驗希望在未來可以實際架設在機器上運行
透過 Benchmark得到真正的數據
33
Reference
1 Masato Asahara Shinji Nakadai and Takuya Araki ldquoLoadAtomizer A
Locality and IO Load aware Task Scheduler for MapReducerdquo in 4th IEEE
International Conference on Cloud Computing Technology and Science
(CloudCom) pp 317-324 2012
2 Paul Barham Boris Dragovic Keir Fraser Steven Hand Tim Harris Alex
Ho Rolf Neugebauer Ian Pratt and Andrew Warfield ldquoXen and the Art of
Virtualizationrdquo SOSP 03 Proceedings of the nineteenth ACM symposium
on Operating systems principles vol 37 Issue 5 pp 164-177 December
2003
3 Xiangping Bu Jia Rao and Cheng Zhong Xu ldquoInterference and
Locality-Aware Task Scheduling for MapReduce Applications in Virtual
Clustersrdquo Proceeding HPDC 13 Proceedings of the 22nd international
sym-posium on High-performance parallel and distributed computing pp
227-238 2013
4 Kasim Selcuk Candan Jong Wook Kim Parth Nagarkar Mithila Nagendra
and Ren-wei Yu ldquoScalable Multimedia Data Processing in Server Clustersrdquo
IEEE MultiMedia pp 3-5 2010
5 Fay Chang Jeffrey Dean Sanjay Ghemawat Wilson C Hsieh Deborah A
Wallach Mike Burrws Tushar Chandra Andrew Fikes and Robert EGruber
ldquoBigtable A Distributed Storage System for Structured Datardquo 7th UENIX
Symposium on Operating Systems Design and Implementation pp 205-218
2006
6 P C Chen Y L Su J B Chang and C K Shieh ldquoVariable-Sized Map and
Locality-Aware Reduce on Public-Resource Gridsrdquo in Proceedings
Conference Grid and Pervasive Computing (GPC 2010) pp 234-243 2010
May
7 Q Chen D Zhang M Guo Q Deng and S Guo ldquoSamr A self adaptive
mapreduce scheduling algorithm in heterogeneous environmentrdquo in 10th
IEEE International Conference on Computer and Information Technology
CIT rsquo10 (Washington DC USA) pp 2736ndash2743 2010
8 Jeffrey Dean and Sanjay Ghemawat ldquoMapReduce Simplified Data
Processing on Large Clustersrdquo Communications of the ACM vol 51 no 1
pp 107ndash113 2008
9 Yuanquan Fan Weiguo Wu Haijun Cao Huo Zhu Xu Zhao and Wei Wei
34
ldquoA heterogeneity-aware data distribution and rebalance method in Hadoop
clusterrdquo 2012 Seventh ChinaGrid Annual Conference pp 176-181 2012
10 Zacharia Fadika Elif Dede Jessica Hartog and Madhusudhan Govindaraju
ldquoMARLA MapReduce for Heterogeneous Clustersrdquo in 12th IEEEACM
International Symposium on Cluster Cloud and Grid Computing pp 49-56
2012
11 Sanjay Ghemawat Howard Gobioff and ShunTak Leung ldquoThe Google file
systemrdquo In Proceedings of 19th Symposium on Operating Systems
Principles pp 29-43 2003
12 Sven Groot ldquoJumbo Beyond MapReduce for Workload Balancingrdquo Fuzzy
Systems and Knowledge Discovery (FSKD) 2011 Eighth International
Conference on Cloud Computing Technology and Science vol 4 pp
2675-2678 2011 July
13 B Gufler N Augsten A Reiser and A Kemper ldquoHandling Data Skew in
MapReducerdquo in Proceedings of CLOSER pp 574ndash583 2011
14 Mohammad Hammoud and Majd F Sakr ldquoLocality-Aware Reduce Task
Scheduling for MapReducerdquo Third IEEE International Conference on
Cloud Computing Technology and Science pp 570-576 2011
15 C He Y Lu and D Swanson ldquoMatch-making A New MapReduce
Scheduling Techniquerdquo IEEE Third International Conference on Cloud
Computing Technology and Science (CloudCom) pp 40ndash47 2011
16 Hung Chang Hsiao Huesh Yi Chung Haiying Shen and Yu Chang
ChaoldquoLoad Re-balancing for Distributed File Systems in Cloudsrdquo IEEE
Trans on Parallel and Distributed Systems vol24 pp 951-962 2012
17 Shadi Ibrahim Hai Jin Lu Lu Song Wu Bingsheng He and Li Qi ldquoLEEN
LocalityFairness Aware Key Partitioning for MapReduce in the Cloudrdquo
2010 IEEE Second International Conference on Cloud Computing
Technology and Science (CloudCom) pp 17ndash24 2010
18 S Ibrahim H Jin L Lu L Qi S Wu and X Shi ldquoEvaluating MapReduce
on Virtual Machines The Hadoop Caserdquo Proceedings Conference Cloud
Computing (CloudCom 2009) Springer LNCS pp 519-528 2009 Dec
19 C Jin and R Buyya ldquoMapreduce programming model for net-based cloud
computingrdquo in Proceedings of the 15th International Euro-Par Conference
on Parallel Processing Euro-Par (Berlin Heidelberg) pp 417ndash428 2009
20 R Nanduri N Maheshwari A Reddyraja and V Varma ldquoJob aware
scheduling algorithm for Mapreduce frameworkrdquo in 3rd International
Conference on Cloud Computing Technology and Science
CLOUDCOM rsquo11 (Washington DC USA) pp 724ndash729 2011
35
21 Andrew J Page and Thomas J Naughton ldquoDynamic task scheduling using
genetic algorithms for heterogeneous distributed computingrdquo in 19th IEEE
International Parallel and Distributed Processing Symposium pp 189a
2005 April
22 Xiaoyu Sun Chen He and Ying Lu ldquoESAMR An Enhanced Self-Adaptive
MapReduce Scheduling Algorithmrdquo 2012 IEEE 18th International
Conference on Parallel and Distributed Systems pp 148-155 2012
23 Chao Tian Haojie Zhou Yongqiang He and Li Zha ldquoA Dynamic
MapReduce Scheduler for Heterogeneous Workloadsrdquo Eighth International
Conference on Grid and Cooperative Computing pp 218ndash244 2009 Aug
24 Jiong Xie Shu Yin Xiaojun Ruan Zhi-yang Ding Yun Tian James Majors
Adam Manzanares and Xiao Qin ldquoImproving mapreduce performance
through data placement in heterogeneous hadoop clustersrdquo in IPDPS
Workshops pp 1ndash9 2010
25 J Tan X Pan S Kavulya R Gandhi and P Narasimhan ldquoMochi Visual
Log-Analysis Based Tools for Debugging Hadooprdquo USENIX Workshop on
Hot Topics in Cloud Computing (HotCloud) pp 1-5 2009
26 Matei Zaharia Andy Konwinski Anthony D Joseph Randy Katz and Ion
Stoica ldquoImproving MapReduce Performance in Heterogeneous
Environmentsrdquo 8th Symposium on Operating Systems Design and
Implementation pp 29ndash42 2008 Dec
27 X Zhang Z Zhong S Feng B Tu and J Fan ldquoImproving Data locality of
MapReduce by Scheduling in Homogeneous Computing Environmentsrdquo in
9th IEEE International Symposium on Parallel and Distributed Processing
with Applications (ISPA) pp 120-126 2011
28 Apache hadoop Available from httphadoopapacheorg
29 MapReduce with a lot of examples for Mining datasets Available from
httpinfolabstanfordedu~ullmanmmdsbookpdf
Page 40
31
機內部的Reducer使得原本是根據Communication locality來選擇虛擬機器但
是在挑選的過程中並沒有依據處理資料的大小分配到其處理速度相對映的
虛擬機器而這優化技術就是將同一台實體機內的虛擬機器重新分配由於此
優化技術並不會影響Communication locality所以這部份並沒有在此實驗探討
圖十四(a)圖十四(b)顯示未使用優化技術的Best fit和Priority的MapReduce
完成時間雖然比Hadoop的方法好但是其Reduce phase完成時間上慢了一些
並且可以看出此優化技術並不會影響到Map phase主要影響的是在Reduce階
段在Reduce階段的完成時間上利用優化技術可以將Reduce階段時間縮短其13
32
Chapter 6 Conclusions and Future Works
目前 Hadoop 資料處理的環境還是應用在群集內節點效能是相同的情況下
如果是異構性環境可能就無法這麼有效率的處理本篇論文提出了兩個方法
動態資料切割和虛擬機對映以及一個優化技術 Loading aware virtual machine
mapping模擬實驗結果表明透過本篇方法來得比 Hadoop 縮短 41的時間以
及最多節省 Communication Locality 約莫 33尤其在異構性越高的環境以及
一台實體機器架設的虛擬機器數量越多改善的效果越明顯另外 Loading
aware virtual machine mapping 優化技術改善了 Reduce phase 的完成時間約莫
13
在未來研究上可以朝著動態調整 Reducer 數量的方向前進當固定大小的
資料上其實有時候過多的節點去運算消耗了大量的運算資源卻只得到一些
秒數的縮短如何利用適當的運算資源來得到最大的利益這是相當重要的議
題由於此實驗都是屬於模擬實驗希望在未來可以實際架設在機器上運行
透過 Benchmark得到真正的數據
33
Reference
1 Masato Asahara Shinji Nakadai and Takuya Araki ldquoLoadAtomizer A
Locality and IO Load aware Task Scheduler for MapReducerdquo in 4th IEEE
International Conference on Cloud Computing Technology and Science
(CloudCom) pp 317-324 2012
2 Paul Barham Boris Dragovic Keir Fraser Steven Hand Tim Harris Alex
Ho Rolf Neugebauer Ian Pratt and Andrew Warfield ldquoXen and the Art of
Virtualizationrdquo SOSP 03 Proceedings of the nineteenth ACM symposium
on Operating systems principles vol 37 Issue 5 pp 164-177 December
2003
3 Xiangping Bu Jia Rao and Cheng Zhong Xu ldquoInterference and
Locality-Aware Task Scheduling for MapReduce Applications in Virtual
Clustersrdquo Proceeding HPDC 13 Proceedings of the 22nd international
sym-posium on High-performance parallel and distributed computing pp
227-238 2013
4 Kasim Selcuk Candan Jong Wook Kim Parth Nagarkar Mithila Nagendra
and Ren-wei Yu ldquoScalable Multimedia Data Processing in Server Clustersrdquo
IEEE MultiMedia pp 3-5 2010
5 Fay Chang Jeffrey Dean Sanjay Ghemawat Wilson C Hsieh Deborah A
Wallach Mike Burrws Tushar Chandra Andrew Fikes and Robert EGruber
ldquoBigtable A Distributed Storage System for Structured Datardquo 7th UENIX
Symposium on Operating Systems Design and Implementation pp 205-218
2006
6 P C Chen Y L Su J B Chang and C K Shieh ldquoVariable-Sized Map and
Locality-Aware Reduce on Public-Resource Gridsrdquo in Proceedings
Conference Grid and Pervasive Computing (GPC 2010) pp 234-243 2010
May
7 Q Chen D Zhang M Guo Q Deng and S Guo ldquoSamr A self adaptive
mapreduce scheduling algorithm in heterogeneous environmentrdquo in 10th
IEEE International Conference on Computer and Information Technology
CIT rsquo10 (Washington DC USA) pp 2736ndash2743 2010
8 Jeffrey Dean and Sanjay Ghemawat ldquoMapReduce Simplified Data
Processing on Large Clustersrdquo Communications of the ACM vol 51 no 1
pp 107ndash113 2008
9 Yuanquan Fan Weiguo Wu Haijun Cao Huo Zhu Xu Zhao and Wei Wei
34
ldquoA heterogeneity-aware data distribution and rebalance method in Hadoop
clusterrdquo 2012 Seventh ChinaGrid Annual Conference pp 176-181 2012
10 Zacharia Fadika Elif Dede Jessica Hartog and Madhusudhan Govindaraju
ldquoMARLA MapReduce for Heterogeneous Clustersrdquo in 12th IEEEACM
International Symposium on Cluster Cloud and Grid Computing pp 49-56
2012
11 Sanjay Ghemawat Howard Gobioff and ShunTak Leung ldquoThe Google file
systemrdquo In Proceedings of 19th Symposium on Operating Systems
Principles pp 29-43 2003
12 Sven Groot ldquoJumbo Beyond MapReduce for Workload Balancingrdquo Fuzzy
Systems and Knowledge Discovery (FSKD) 2011 Eighth International
Conference on Cloud Computing Technology and Science vol 4 pp
2675-2678 2011 July
13 B Gufler N Augsten A Reiser and A Kemper ldquoHandling Data Skew in
MapReducerdquo in Proceedings of CLOSER pp 574ndash583 2011
14 Mohammad Hammoud and Majd F Sakr ldquoLocality-Aware Reduce Task
Scheduling for MapReducerdquo Third IEEE International Conference on
Cloud Computing Technology and Science pp 570-576 2011
15 C He Y Lu and D Swanson ldquoMatch-making A New MapReduce
Scheduling Techniquerdquo IEEE Third International Conference on Cloud
Computing Technology and Science (CloudCom) pp 40ndash47 2011
16 Hung Chang Hsiao Huesh Yi Chung Haiying Shen and Yu Chang
ChaoldquoLoad Re-balancing for Distributed File Systems in Cloudsrdquo IEEE
Trans on Parallel and Distributed Systems vol24 pp 951-962 2012
17 Shadi Ibrahim Hai Jin Lu Lu Song Wu Bingsheng He and Li Qi ldquoLEEN
LocalityFairness Aware Key Partitioning for MapReduce in the Cloudrdquo
2010 IEEE Second International Conference on Cloud Computing
Technology and Science (CloudCom) pp 17ndash24 2010
18 S Ibrahim H Jin L Lu L Qi S Wu and X Shi ldquoEvaluating MapReduce
on Virtual Machines The Hadoop Caserdquo Proceedings Conference Cloud
Computing (CloudCom 2009) Springer LNCS pp 519-528 2009 Dec
19 C Jin and R Buyya ldquoMapreduce programming model for net-based cloud
computingrdquo in Proceedings of the 15th International Euro-Par Conference
on Parallel Processing Euro-Par (Berlin Heidelberg) pp 417ndash428 2009
20 R Nanduri N Maheshwari A Reddyraja and V Varma ldquoJob aware
scheduling algorithm for Mapreduce frameworkrdquo in 3rd International
Conference on Cloud Computing Technology and Science
CLOUDCOM rsquo11 (Washington DC USA) pp 724ndash729 2011
35
21 Andrew J Page and Thomas J Naughton ldquoDynamic task scheduling using
genetic algorithms for heterogeneous distributed computingrdquo in 19th IEEE
International Parallel and Distributed Processing Symposium pp 189a
2005 April
22 Xiaoyu Sun Chen He and Ying Lu ldquoESAMR An Enhanced Self-Adaptive
MapReduce Scheduling Algorithmrdquo 2012 IEEE 18th International
Conference on Parallel and Distributed Systems pp 148-155 2012
23 Chao Tian Haojie Zhou Yongqiang He and Li Zha ldquoA Dynamic
MapReduce Scheduler for Heterogeneous Workloadsrdquo Eighth International
Conference on Grid and Cooperative Computing pp 218ndash244 2009 Aug
24 Jiong Xie Shu Yin Xiaojun Ruan Zhi-yang Ding Yun Tian James Majors
Adam Manzanares and Xiao Qin ldquoImproving mapreduce performance
through data placement in heterogeneous hadoop clustersrdquo in IPDPS
Workshops pp 1ndash9 2010
25 J Tan X Pan S Kavulya R Gandhi and P Narasimhan ldquoMochi Visual
Log-Analysis Based Tools for Debugging Hadooprdquo USENIX Workshop on
Hot Topics in Cloud Computing (HotCloud) pp 1-5 2009
26 Matei Zaharia Andy Konwinski Anthony D Joseph Randy Katz and Ion
Stoica ldquoImproving MapReduce Performance in Heterogeneous
Environmentsrdquo 8th Symposium on Operating Systems Design and
Implementation pp 29ndash42 2008 Dec
27 X Zhang Z Zhong S Feng B Tu and J Fan ldquoImproving Data locality of
MapReduce by Scheduling in Homogeneous Computing Environmentsrdquo in
9th IEEE International Symposium on Parallel and Distributed Processing
with Applications (ISPA) pp 120-126 2011
28 Apache hadoop Available from httphadoopapacheorg
29 MapReduce with a lot of examples for Mining datasets Available from
httpinfolabstanfordedu~ullmanmmdsbookpdf
Page 41
32
Chapter 6 Conclusions and Future Works
目前 Hadoop 資料處理的環境還是應用在群集內節點效能是相同的情況下
如果是異構性環境可能就無法這麼有效率的處理本篇論文提出了兩個方法
動態資料切割和虛擬機對映以及一個優化技術 Loading aware virtual machine
mapping模擬實驗結果表明透過本篇方法來得比 Hadoop 縮短 41的時間以
及最多節省 Communication Locality 約莫 33尤其在異構性越高的環境以及
一台實體機器架設的虛擬機器數量越多改善的效果越明顯另外 Loading
aware virtual machine mapping 優化技術改善了 Reduce phase 的完成時間約莫
13
在未來研究上可以朝著動態調整 Reducer 數量的方向前進當固定大小的
資料上其實有時候過多的節點去運算消耗了大量的運算資源卻只得到一些
秒數的縮短如何利用適當的運算資源來得到最大的利益這是相當重要的議
題由於此實驗都是屬於模擬實驗希望在未來可以實際架設在機器上運行
透過 Benchmark得到真正的數據
33
Reference
1 Masato Asahara Shinji Nakadai and Takuya Araki ldquoLoadAtomizer A
Locality and IO Load aware Task Scheduler for MapReducerdquo in 4th IEEE
International Conference on Cloud Computing Technology and Science
(CloudCom) pp 317-324 2012
2 Paul Barham Boris Dragovic Keir Fraser Steven Hand Tim Harris Alex
Ho Rolf Neugebauer Ian Pratt and Andrew Warfield ldquoXen and the Art of
Virtualizationrdquo SOSP 03 Proceedings of the nineteenth ACM symposium
on Operating systems principles vol 37 Issue 5 pp 164-177 December
2003
3 Xiangping Bu Jia Rao and Cheng Zhong Xu ldquoInterference and
Locality-Aware Task Scheduling for MapReduce Applications in Virtual
Clustersrdquo Proceeding HPDC 13 Proceedings of the 22nd international
sym-posium on High-performance parallel and distributed computing pp
227-238 2013
4 Kasim Selcuk Candan Jong Wook Kim Parth Nagarkar Mithila Nagendra
and Ren-wei Yu ldquoScalable Multimedia Data Processing in Server Clustersrdquo
IEEE MultiMedia pp 3-5 2010
5 Fay Chang Jeffrey Dean Sanjay Ghemawat Wilson C Hsieh Deborah A
Wallach Mike Burrws Tushar Chandra Andrew Fikes and Robert EGruber
ldquoBigtable A Distributed Storage System for Structured Datardquo 7th UENIX
Symposium on Operating Systems Design and Implementation pp 205-218
2006
6 P C Chen Y L Su J B Chang and C K Shieh ldquoVariable-Sized Map and
Locality-Aware Reduce on Public-Resource Gridsrdquo in Proceedings
Conference Grid and Pervasive Computing (GPC 2010) pp 234-243 2010
May
7 Q Chen D Zhang M Guo Q Deng and S Guo ldquoSamr A self adaptive
mapreduce scheduling algorithm in heterogeneous environmentrdquo in 10th
IEEE International Conference on Computer and Information Technology
CIT rsquo10 (Washington DC USA) pp 2736ndash2743 2010
8 Jeffrey Dean and Sanjay Ghemawat ldquoMapReduce Simplified Data
Processing on Large Clustersrdquo Communications of the ACM vol 51 no 1
pp 107ndash113 2008
9 Yuanquan Fan Weiguo Wu Haijun Cao Huo Zhu Xu Zhao and Wei Wei
34
ldquoA heterogeneity-aware data distribution and rebalance method in Hadoop
clusterrdquo 2012 Seventh ChinaGrid Annual Conference pp 176-181 2012
10 Zacharia Fadika Elif Dede Jessica Hartog and Madhusudhan Govindaraju
ldquoMARLA MapReduce for Heterogeneous Clustersrdquo in 12th IEEEACM
International Symposium on Cluster Cloud and Grid Computing pp 49-56
2012
11 Sanjay Ghemawat Howard Gobioff and ShunTak Leung ldquoThe Google file
systemrdquo In Proceedings of 19th Symposium on Operating Systems
Principles pp 29-43 2003
12 Sven Groot ldquoJumbo Beyond MapReduce for Workload Balancingrdquo Fuzzy
Systems and Knowledge Discovery (FSKD) 2011 Eighth International
Conference on Cloud Computing Technology and Science vol 4 pp
2675-2678 2011 July
13 B Gufler N Augsten A Reiser and A Kemper ldquoHandling Data Skew in
MapReducerdquo in Proceedings of CLOSER pp 574ndash583 2011
14 Mohammad Hammoud and Majd F Sakr ldquoLocality-Aware Reduce Task
Scheduling for MapReducerdquo Third IEEE International Conference on
Cloud Computing Technology and Science pp 570-576 2011
15 C He Y Lu and D Swanson ldquoMatch-making A New MapReduce
Scheduling Techniquerdquo IEEE Third International Conference on Cloud
Computing Technology and Science (CloudCom) pp 40ndash47 2011
16 Hung Chang Hsiao Huesh Yi Chung Haiying Shen and Yu Chang
ChaoldquoLoad Re-balancing for Distributed File Systems in Cloudsrdquo IEEE
Trans on Parallel and Distributed Systems vol24 pp 951-962 2012
17 Shadi Ibrahim Hai Jin Lu Lu Song Wu Bingsheng He and Li Qi ldquoLEEN
LocalityFairness Aware Key Partitioning for MapReduce in the Cloudrdquo
2010 IEEE Second International Conference on Cloud Computing
Technology and Science (CloudCom) pp 17ndash24 2010
18 S Ibrahim H Jin L Lu L Qi S Wu and X Shi ldquoEvaluating MapReduce
on Virtual Machines The Hadoop Caserdquo Proceedings Conference Cloud
Computing (CloudCom 2009) Springer LNCS pp 519-528 2009 Dec
19 C Jin and R Buyya ldquoMapreduce programming model for net-based cloud
computingrdquo in Proceedings of the 15th International Euro-Par Conference
on Parallel Processing Euro-Par (Berlin Heidelberg) pp 417ndash428 2009
20 R Nanduri N Maheshwari A Reddyraja and V Varma ldquoJob aware
scheduling algorithm for Mapreduce frameworkrdquo in 3rd International
Conference on Cloud Computing Technology and Science
CLOUDCOM rsquo11 (Washington DC USA) pp 724ndash729 2011
35
21 Andrew J Page and Thomas J Naughton ldquoDynamic task scheduling using
genetic algorithms for heterogeneous distributed computingrdquo in 19th IEEE
International Parallel and Distributed Processing Symposium pp 189a
2005 April
22 Xiaoyu Sun Chen He and Ying Lu ldquoESAMR An Enhanced Self-Adaptive
MapReduce Scheduling Algorithmrdquo 2012 IEEE 18th International
Conference on Parallel and Distributed Systems pp 148-155 2012
23 Chao Tian Haojie Zhou Yongqiang He and Li Zha ldquoA Dynamic
MapReduce Scheduler for Heterogeneous Workloadsrdquo Eighth International
Conference on Grid and Cooperative Computing pp 218ndash244 2009 Aug
24 Jiong Xie Shu Yin Xiaojun Ruan Zhi-yang Ding Yun Tian James Majors
Adam Manzanares and Xiao Qin ldquoImproving mapreduce performance
through data placement in heterogeneous hadoop clustersrdquo in IPDPS
Workshops pp 1ndash9 2010
25 J Tan X Pan S Kavulya R Gandhi and P Narasimhan ldquoMochi Visual
Log-Analysis Based Tools for Debugging Hadooprdquo USENIX Workshop on
Hot Topics in Cloud Computing (HotCloud) pp 1-5 2009
26 Matei Zaharia Andy Konwinski Anthony D Joseph Randy Katz and Ion
Stoica ldquoImproving MapReduce Performance in Heterogeneous
Environmentsrdquo 8th Symposium on Operating Systems Design and
Implementation pp 29ndash42 2008 Dec
27 X Zhang Z Zhong S Feng B Tu and J Fan ldquoImproving Data locality of
MapReduce by Scheduling in Homogeneous Computing Environmentsrdquo in
9th IEEE International Symposium on Parallel and Distributed Processing
with Applications (ISPA) pp 120-126 2011
28 Apache hadoop Available from httphadoopapacheorg
29 MapReduce with a lot of examples for Mining datasets Available from
httpinfolabstanfordedu~ullmanmmdsbookpdf
Page 42
33
Reference
1 Masato Asahara Shinji Nakadai and Takuya Araki ldquoLoadAtomizer A
Locality and IO Load aware Task Scheduler for MapReducerdquo in 4th IEEE
International Conference on Cloud Computing Technology and Science
(CloudCom) pp 317-324 2012
2 Paul Barham Boris Dragovic Keir Fraser Steven Hand Tim Harris Alex
Ho Rolf Neugebauer Ian Pratt and Andrew Warfield ldquoXen and the Art of
Virtualizationrdquo SOSP 03 Proceedings of the nineteenth ACM symposium
on Operating systems principles vol 37 Issue 5 pp 164-177 December
2003
3 Xiangping Bu Jia Rao and Cheng Zhong Xu ldquoInterference and
Locality-Aware Task Scheduling for MapReduce Applications in Virtual
Clustersrdquo Proceeding HPDC 13 Proceedings of the 22nd international
sym-posium on High-performance parallel and distributed computing pp
227-238 2013
4 Kasim Selcuk Candan Jong Wook Kim Parth Nagarkar Mithila Nagendra
and Ren-wei Yu ldquoScalable Multimedia Data Processing in Server Clustersrdquo
IEEE MultiMedia pp 3-5 2010
5 Fay Chang Jeffrey Dean Sanjay Ghemawat Wilson C Hsieh Deborah A
Wallach Mike Burrws Tushar Chandra Andrew Fikes and Robert EGruber
ldquoBigtable A Distributed Storage System for Structured Datardquo 7th UENIX
Symposium on Operating Systems Design and Implementation pp 205-218
2006
6 P C Chen Y L Su J B Chang and C K Shieh ldquoVariable-Sized Map and
Locality-Aware Reduce on Public-Resource Gridsrdquo in Proceedings
Conference Grid and Pervasive Computing (GPC 2010) pp 234-243 2010
May
7 Q Chen D Zhang M Guo Q Deng and S Guo ldquoSamr A self adaptive
mapreduce scheduling algorithm in heterogeneous environmentrdquo in 10th
IEEE International Conference on Computer and Information Technology
CIT rsquo10 (Washington DC USA) pp 2736ndash2743 2010
8 Jeffrey Dean and Sanjay Ghemawat ldquoMapReduce Simplified Data
Processing on Large Clustersrdquo Communications of the ACM vol 51 no 1
pp 107ndash113 2008
9 Yuanquan Fan Weiguo Wu Haijun Cao Huo Zhu Xu Zhao and Wei Wei
34
ldquoA heterogeneity-aware data distribution and rebalance method in Hadoop
clusterrdquo 2012 Seventh ChinaGrid Annual Conference pp 176-181 2012
10 Zacharia Fadika Elif Dede Jessica Hartog and Madhusudhan Govindaraju
ldquoMARLA MapReduce for Heterogeneous Clustersrdquo in 12th IEEEACM
International Symposium on Cluster Cloud and Grid Computing pp 49-56
2012
11 Sanjay Ghemawat Howard Gobioff and ShunTak Leung ldquoThe Google file
systemrdquo In Proceedings of 19th Symposium on Operating Systems
Principles pp 29-43 2003
12 Sven Groot ldquoJumbo Beyond MapReduce for Workload Balancingrdquo Fuzzy
Systems and Knowledge Discovery (FSKD) 2011 Eighth International
Conference on Cloud Computing Technology and Science vol 4 pp
2675-2678 2011 July
13 B Gufler N Augsten A Reiser and A Kemper ldquoHandling Data Skew in
MapReducerdquo in Proceedings of CLOSER pp 574ndash583 2011
14 Mohammad Hammoud and Majd F Sakr ldquoLocality-Aware Reduce Task
Scheduling for MapReducerdquo Third IEEE International Conference on
Cloud Computing Technology and Science pp 570-576 2011
15 C He Y Lu and D Swanson ldquoMatch-making A New MapReduce
Scheduling Techniquerdquo IEEE Third International Conference on Cloud
Computing Technology and Science (CloudCom) pp 40ndash47 2011
16 Hung Chang Hsiao Huesh Yi Chung Haiying Shen and Yu Chang
ChaoldquoLoad Re-balancing for Distributed File Systems in Cloudsrdquo IEEE
Trans on Parallel and Distributed Systems vol24 pp 951-962 2012
17 Shadi Ibrahim Hai Jin Lu Lu Song Wu Bingsheng He and Li Qi ldquoLEEN
LocalityFairness Aware Key Partitioning for MapReduce in the Cloudrdquo
2010 IEEE Second International Conference on Cloud Computing
Technology and Science (CloudCom) pp 17ndash24 2010
18 S Ibrahim H Jin L Lu L Qi S Wu and X Shi ldquoEvaluating MapReduce
on Virtual Machines The Hadoop Caserdquo Proceedings Conference Cloud
Computing (CloudCom 2009) Springer LNCS pp 519-528 2009 Dec
19 C Jin and R Buyya ldquoMapreduce programming model for net-based cloud
computingrdquo in Proceedings of the 15th International Euro-Par Conference
on Parallel Processing Euro-Par (Berlin Heidelberg) pp 417ndash428 2009
20 R Nanduri N Maheshwari A Reddyraja and V Varma ldquoJob aware
scheduling algorithm for Mapreduce frameworkrdquo in 3rd International
Conference on Cloud Computing Technology and Science
CLOUDCOM rsquo11 (Washington DC USA) pp 724ndash729 2011
35
21 Andrew J Page and Thomas J Naughton ldquoDynamic task scheduling using
genetic algorithms for heterogeneous distributed computingrdquo in 19th IEEE
International Parallel and Distributed Processing Symposium pp 189a
2005 April
22 Xiaoyu Sun Chen He and Ying Lu ldquoESAMR An Enhanced Self-Adaptive
MapReduce Scheduling Algorithmrdquo 2012 IEEE 18th International
Conference on Parallel and Distributed Systems pp 148-155 2012
23 Chao Tian Haojie Zhou Yongqiang He and Li Zha ldquoA Dynamic
MapReduce Scheduler for Heterogeneous Workloadsrdquo Eighth International
Conference on Grid and Cooperative Computing pp 218ndash244 2009 Aug
24 Jiong Xie Shu Yin Xiaojun Ruan Zhi-yang Ding Yun Tian James Majors
Adam Manzanares and Xiao Qin ldquoImproving mapreduce performance
through data placement in heterogeneous hadoop clustersrdquo in IPDPS
Workshops pp 1ndash9 2010
25 J Tan X Pan S Kavulya R Gandhi and P Narasimhan ldquoMochi Visual
Log-Analysis Based Tools for Debugging Hadooprdquo USENIX Workshop on
Hot Topics in Cloud Computing (HotCloud) pp 1-5 2009
26 Matei Zaharia Andy Konwinski Anthony D Joseph Randy Katz and Ion
Stoica ldquoImproving MapReduce Performance in Heterogeneous
Environmentsrdquo 8th Symposium on Operating Systems Design and
Implementation pp 29ndash42 2008 Dec
27 X Zhang Z Zhong S Feng B Tu and J Fan ldquoImproving Data locality of
MapReduce by Scheduling in Homogeneous Computing Environmentsrdquo in
9th IEEE International Symposium on Parallel and Distributed Processing
with Applications (ISPA) pp 120-126 2011
28 Apache hadoop Available from httphadoopapacheorg
29 MapReduce with a lot of examples for Mining datasets Available from
httpinfolabstanfordedu~ullmanmmdsbookpdf
Page 43
34
ldquoA heterogeneity-aware data distribution and rebalance method in Hadoop
clusterrdquo 2012 Seventh ChinaGrid Annual Conference pp 176-181 2012
10 Zacharia Fadika Elif Dede Jessica Hartog and Madhusudhan Govindaraju
ldquoMARLA MapReduce for Heterogeneous Clustersrdquo in 12th IEEEACM
International Symposium on Cluster Cloud and Grid Computing pp 49-56
2012
11 Sanjay Ghemawat Howard Gobioff and ShunTak Leung ldquoThe Google file
systemrdquo In Proceedings of 19th Symposium on Operating Systems
Principles pp 29-43 2003
12 Sven Groot ldquoJumbo Beyond MapReduce for Workload Balancingrdquo Fuzzy
Systems and Knowledge Discovery (FSKD) 2011 Eighth International
Conference on Cloud Computing Technology and Science vol 4 pp
2675-2678 2011 July
13 B Gufler N Augsten A Reiser and A Kemper ldquoHandling Data Skew in
MapReducerdquo in Proceedings of CLOSER pp 574ndash583 2011
14 Mohammad Hammoud and Majd F Sakr ldquoLocality-Aware Reduce Task
Scheduling for MapReducerdquo Third IEEE International Conference on
Cloud Computing Technology and Science pp 570-576 2011
15 C He Y Lu and D Swanson ldquoMatch-making A New MapReduce
Scheduling Techniquerdquo IEEE Third International Conference on Cloud
Computing Technology and Science (CloudCom) pp 40ndash47 2011
16 Hung Chang Hsiao Huesh Yi Chung Haiying Shen and Yu Chang
ChaoldquoLoad Re-balancing for Distributed File Systems in Cloudsrdquo IEEE
Trans on Parallel and Distributed Systems vol24 pp 951-962 2012
17 Shadi Ibrahim Hai Jin Lu Lu Song Wu Bingsheng He and Li Qi ldquoLEEN
LocalityFairness Aware Key Partitioning for MapReduce in the Cloudrdquo
2010 IEEE Second International Conference on Cloud Computing
Technology and Science (CloudCom) pp 17ndash24 2010
18 S Ibrahim H Jin L Lu L Qi S Wu and X Shi ldquoEvaluating MapReduce
on Virtual Machines The Hadoop Caserdquo Proceedings Conference Cloud
Computing (CloudCom 2009) Springer LNCS pp 519-528 2009 Dec
19 C Jin and R Buyya ldquoMapreduce programming model for net-based cloud
computingrdquo in Proceedings of the 15th International Euro-Par Conference
on Parallel Processing Euro-Par (Berlin Heidelberg) pp 417ndash428 2009
20 R Nanduri N Maheshwari A Reddyraja and V Varma ldquoJob aware
scheduling algorithm for Mapreduce frameworkrdquo in 3rd International
Conference on Cloud Computing Technology and Science
CLOUDCOM rsquo11 (Washington DC USA) pp 724ndash729 2011
35
21 Andrew J Page and Thomas J Naughton ldquoDynamic task scheduling using
genetic algorithms for heterogeneous distributed computingrdquo in 19th IEEE
International Parallel and Distributed Processing Symposium pp 189a
2005 April
22 Xiaoyu Sun Chen He and Ying Lu ldquoESAMR An Enhanced Self-Adaptive
MapReduce Scheduling Algorithmrdquo 2012 IEEE 18th International
Conference on Parallel and Distributed Systems pp 148-155 2012
23 Chao Tian Haojie Zhou Yongqiang He and Li Zha ldquoA Dynamic
MapReduce Scheduler for Heterogeneous Workloadsrdquo Eighth International
Conference on Grid and Cooperative Computing pp 218ndash244 2009 Aug
24 Jiong Xie Shu Yin Xiaojun Ruan Zhi-yang Ding Yun Tian James Majors
Adam Manzanares and Xiao Qin ldquoImproving mapreduce performance
through data placement in heterogeneous hadoop clustersrdquo in IPDPS
Workshops pp 1ndash9 2010
25 J Tan X Pan S Kavulya R Gandhi and P Narasimhan ldquoMochi Visual
Log-Analysis Based Tools for Debugging Hadooprdquo USENIX Workshop on
Hot Topics in Cloud Computing (HotCloud) pp 1-5 2009
26 Matei Zaharia Andy Konwinski Anthony D Joseph Randy Katz and Ion
Stoica ldquoImproving MapReduce Performance in Heterogeneous
Environmentsrdquo 8th Symposium on Operating Systems Design and
Implementation pp 29ndash42 2008 Dec
27 X Zhang Z Zhong S Feng B Tu and J Fan ldquoImproving Data locality of
MapReduce by Scheduling in Homogeneous Computing Environmentsrdquo in
9th IEEE International Symposium on Parallel and Distributed Processing
with Applications (ISPA) pp 120-126 2011
28 Apache hadoop Available from httphadoopapacheorg
29 MapReduce with a lot of examples for Mining datasets Available from
httpinfolabstanfordedu~ullmanmmdsbookpdf
Page 44
35
21 Andrew J Page and Thomas J Naughton ldquoDynamic task scheduling using
genetic algorithms for heterogeneous distributed computingrdquo in 19th IEEE
International Parallel and Distributed Processing Symposium pp 189a
2005 April
22 Xiaoyu Sun Chen He and Ying Lu ldquoESAMR An Enhanced Self-Adaptive
MapReduce Scheduling Algorithmrdquo 2012 IEEE 18th International
Conference on Parallel and Distributed Systems pp 148-155 2012
23 Chao Tian Haojie Zhou Yongqiang He and Li Zha ldquoA Dynamic
MapReduce Scheduler for Heterogeneous Workloadsrdquo Eighth International
Conference on Grid and Cooperative Computing pp 218ndash244 2009 Aug
24 Jiong Xie Shu Yin Xiaojun Ruan Zhi-yang Ding Yun Tian James Majors
Adam Manzanares and Xiao Qin ldquoImproving mapreduce performance
through data placement in heterogeneous hadoop clustersrdquo in IPDPS
Workshops pp 1ndash9 2010
25 J Tan X Pan S Kavulya R Gandhi and P Narasimhan ldquoMochi Visual
Log-Analysis Based Tools for Debugging Hadooprdquo USENIX Workshop on
Hot Topics in Cloud Computing (HotCloud) pp 1-5 2009
26 Matei Zaharia Andy Konwinski Anthony D Joseph Randy Katz and Ion
Stoica ldquoImproving MapReduce Performance in Heterogeneous
Environmentsrdquo 8th Symposium on Operating Systems Design and
Implementation pp 29ndash42 2008 Dec
27 X Zhang Z Zhong S Feng B Tu and J Fan ldquoImproving Data locality of
MapReduce by Scheduling in Homogeneous Computing Environmentsrdquo in
9th IEEE International Symposium on Parallel and Distributed Processing
with Applications (ISPA) pp 120-126 2011
28 Apache hadoop Available from httphadoopapacheorg
29 MapReduce with a lot of examples for Mining datasets Available from
httpinfolabstanfordedu~ullmanmmdsbookpdf