Dynamic Data Partitioning and Virtual Machine Mapping...

44
利用動態資料分割與虛擬機對映技術提高 異構性 MapReduce 資料密集型計算之效能 Dynamic Data Partitioning and Virtual Machine Mapping Towards Efficient Data Intensive Computation with Heterogeneous MapReduce 別:資訊工程學系碩士班 學號姓名:M09902031 蔡宗輝 指導教授:許 博士 博士 102 8

Transcript of Dynamic Data Partitioning and Virtual Machine Mapping...

Page 1: Dynamic Data Partitioning and Virtual Machine Mapping ...chur.chu.edu.tw/bitstream/987654321/1732/1/GM099020312.pdf · Hadoop proposed concepts of MapRedcue that mainly running in

中 華 大 學

碩 士 論 文

利用動態資料分割與虛擬機對映技術提高

異構性 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: Dynamic Data Partitioning and Virtual Machine Mapping ...chur.chu.edu.tw/bitstream/987654321/1732/1/GM099020312.pdf · Hadoop proposed concepts of MapRedcue that mainly running in

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: Dynamic Data Partitioning and Virtual Machine Mapping ...chur.chu.edu.tw/bitstream/987654321/1732/1/GM099020312.pdf · Hadoop proposed concepts of MapRedcue that mainly running in

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: Dynamic Data Partitioning and Virtual Machine Mapping ...chur.chu.edu.tw/bitstream/987654321/1732/1/GM099020312.pdf · Hadoop proposed concepts of MapRedcue that mainly running in

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: Dynamic Data Partitioning and Virtual Machine Mapping ...chur.chu.edu.tw/bitstream/987654321/1732/1/GM099020312.pdf · Hadoop proposed concepts of MapRedcue that mainly running in

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: Dynamic Data Partitioning and Virtual Machine Mapping ...chur.chu.edu.tw/bitstream/987654321/1732/1/GM099020312.pdf · Hadoop proposed concepts of MapRedcue that mainly running in

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: Dynamic Data Partitioning and Virtual Machine Mapping ...chur.chu.edu.tw/bitstream/987654321/1732/1/GM099020312.pdf · Hadoop proposed concepts of MapRedcue that mainly running in

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: Dynamic Data Partitioning and Virtual Machine Mapping ...chur.chu.edu.tw/bitstream/987654321/1732/1/GM099020312.pdf · Hadoop proposed concepts of MapRedcue that mainly running in

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: Dynamic Data Partitioning and Virtual Machine Mapping ...chur.chu.edu.tw/bitstream/987654321/1732/1/GM099020312.pdf · Hadoop proposed concepts of MapRedcue that mainly running in

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: Dynamic Data Partitioning and Virtual Machine Mapping ...chur.chu.edu.tw/bitstream/987654321/1732/1/GM099020312.pdf · Hadoop proposed concepts of MapRedcue that mainly running in

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: Dynamic Data Partitioning and Virtual Machine Mapping ...chur.chu.edu.tw/bitstream/987654321/1732/1/GM099020312.pdf · Hadoop proposed concepts of MapRedcue that mainly running in

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: Dynamic Data Partitioning and Virtual Machine Mapping ...chur.chu.edu.tw/bitstream/987654321/1732/1/GM099020312.pdf · Hadoop proposed concepts of MapRedcue that mainly running in

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: Dynamic Data Partitioning and Virtual Machine Mapping ...chur.chu.edu.tw/bitstream/987654321/1732/1/GM099020312.pdf · Hadoop proposed concepts of MapRedcue that mainly running in

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: Dynamic Data Partitioning and Virtual Machine Mapping ...chur.chu.edu.tw/bitstream/987654321/1732/1/GM099020312.pdf · Hadoop proposed concepts of MapRedcue that mainly running in

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: Dynamic Data Partitioning and Virtual Machine Mapping ...chur.chu.edu.tw/bitstream/987654321/1732/1/GM099020312.pdf · Hadoop proposed concepts of MapRedcue that mainly running in

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: Dynamic Data Partitioning and Virtual Machine Mapping ...chur.chu.edu.tw/bitstream/987654321/1732/1/GM099020312.pdf · Hadoop proposed concepts of MapRedcue that mainly running in

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: Dynamic Data Partitioning and Virtual Machine Mapping ...chur.chu.edu.tw/bitstream/987654321/1732/1/GM099020312.pdf · Hadoop proposed concepts of MapRedcue that mainly running in

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: Dynamic Data Partitioning and Virtual Machine Mapping ...chur.chu.edu.tw/bitstream/987654321/1732/1/GM099020312.pdf · Hadoop proposed concepts of MapRedcue that mainly running in

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: Dynamic Data Partitioning and Virtual Machine Mapping ...chur.chu.edu.tw/bitstream/987654321/1732/1/GM099020312.pdf · Hadoop proposed concepts of MapRedcue that mainly running in

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: Dynamic Data Partitioning and Virtual Machine Mapping ...chur.chu.edu.tw/bitstream/987654321/1732/1/GM099020312.pdf · Hadoop proposed concepts of MapRedcue that mainly running in

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: Dynamic Data Partitioning and Virtual Machine Mapping ...chur.chu.edu.tw/bitstream/987654321/1732/1/GM099020312.pdf · Hadoop proposed concepts of MapRedcue that mainly running in

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: Dynamic Data Partitioning and Virtual Machine Mapping ...chur.chu.edu.tw/bitstream/987654321/1732/1/GM099020312.pdf · Hadoop proposed concepts of MapRedcue that mainly running in

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: Dynamic Data Partitioning and Virtual Machine Mapping ...chur.chu.edu.tw/bitstream/987654321/1732/1/GM099020312.pdf · Hadoop proposed concepts of MapRedcue that mainly running in

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: Dynamic Data Partitioning and Virtual Machine Mapping ...chur.chu.edu.tw/bitstream/987654321/1732/1/GM099020312.pdf · Hadoop proposed concepts of MapRedcue that mainly running in

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: Dynamic Data Partitioning and Virtual Machine Mapping ...chur.chu.edu.tw/bitstream/987654321/1732/1/GM099020312.pdf · Hadoop proposed concepts of MapRedcue that mainly running in

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: Dynamic Data Partitioning and Virtual Machine Mapping ...chur.chu.edu.tw/bitstream/987654321/1732/1/GM099020312.pdf · Hadoop proposed concepts of MapRedcue that mainly running in

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: Dynamic Data Partitioning and Virtual Machine Mapping ...chur.chu.edu.tw/bitstream/987654321/1732/1/GM099020312.pdf · Hadoop proposed concepts of MapRedcue that mainly running in

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: Dynamic Data Partitioning and Virtual Machine Mapping ...chur.chu.edu.tw/bitstream/987654321/1732/1/GM099020312.pdf · Hadoop proposed concepts of MapRedcue that mainly running in

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: Dynamic Data Partitioning and Virtual Machine Mapping ...chur.chu.edu.tw/bitstream/987654321/1732/1/GM099020312.pdf · Hadoop proposed concepts of MapRedcue that mainly running in

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: Dynamic Data Partitioning and Virtual Machine Mapping ...chur.chu.edu.tw/bitstream/987654321/1732/1/GM099020312.pdf · Hadoop proposed concepts of MapRedcue that mainly running in

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: Dynamic Data Partitioning and Virtual Machine Mapping ...chur.chu.edu.tw/bitstream/987654321/1732/1/GM099020312.pdf · Hadoop proposed concepts of MapRedcue that mainly running in

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: Dynamic Data Partitioning and Virtual Machine Mapping ...chur.chu.edu.tw/bitstream/987654321/1732/1/GM099020312.pdf · Hadoop proposed concepts of MapRedcue that mainly running in

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: Dynamic Data Partitioning and Virtual Machine Mapping ...chur.chu.edu.tw/bitstream/987654321/1732/1/GM099020312.pdf · Hadoop proposed concepts of MapRedcue that mainly running in

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: Dynamic Data Partitioning and Virtual Machine Mapping ...chur.chu.edu.tw/bitstream/987654321/1732/1/GM099020312.pdf · Hadoop proposed concepts of MapRedcue that mainly running in

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: Dynamic Data Partitioning and Virtual Machine Mapping ...chur.chu.edu.tw/bitstream/987654321/1732/1/GM099020312.pdf · Hadoop proposed concepts of MapRedcue that mainly running in

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: Dynamic Data Partitioning and Virtual Machine Mapping ...chur.chu.edu.tw/bitstream/987654321/1732/1/GM099020312.pdf · Hadoop proposed concepts of MapRedcue that mainly running in

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: Dynamic Data Partitioning and Virtual Machine Mapping ...chur.chu.edu.tw/bitstream/987654321/1732/1/GM099020312.pdf · Hadoop proposed concepts of MapRedcue that mainly running in

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: Dynamic Data Partitioning and Virtual Machine Mapping ...chur.chu.edu.tw/bitstream/987654321/1732/1/GM099020312.pdf · Hadoop proposed concepts of MapRedcue that mainly running in

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: Dynamic Data Partitioning and Virtual Machine Mapping ...chur.chu.edu.tw/bitstream/987654321/1732/1/GM099020312.pdf · Hadoop proposed concepts of MapRedcue that mainly running in

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: Dynamic Data Partitioning and Virtual Machine Mapping ...chur.chu.edu.tw/bitstream/987654321/1732/1/GM099020312.pdf · Hadoop proposed concepts of MapRedcue that mainly running in

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: Dynamic Data Partitioning and Virtual Machine Mapping ...chur.chu.edu.tw/bitstream/987654321/1732/1/GM099020312.pdf · Hadoop proposed concepts of MapRedcue that mainly running in

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: Dynamic Data Partitioning and Virtual Machine Mapping ...chur.chu.edu.tw/bitstream/987654321/1732/1/GM099020312.pdf · Hadoop proposed concepts of MapRedcue that mainly running in

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: Dynamic Data Partitioning and Virtual Machine Mapping ...chur.chu.edu.tw/bitstream/987654321/1732/1/GM099020312.pdf · Hadoop proposed concepts of MapRedcue that mainly running in

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: Dynamic Data Partitioning and Virtual Machine Mapping ...chur.chu.edu.tw/bitstream/987654321/1732/1/GM099020312.pdf · Hadoop proposed concepts of MapRedcue that mainly running in

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