• 沒有找到結果。

中 華 大 學

N/A
N/A
Protected

Academic year: 2022

Share "中 華 大 學"

Copied!
44
0
0

加載中.... (立即查看全文)

全文

(1)

中 華 大 學 碩 士 論 文

利用動態資料分割與虛擬機對映技術提高 異構性 MapReduce 資料密集型計算之效能

Dynamic Data Partitioning and Virtual Machine Mapping Towards Efficient Data Intensive Computation with Heterogeneous

MapReduce

系 所 別:資訊工程學系碩士班 學號姓名:M09902031 蔡宗輝 指導教授:許 慶 賢 博士

王 俊 鑫 博士

中 華 民 國 102 年 8 月

(2)

摘要

MapReduce 對於大規模平行資料是一個重要的編程模組。Hadoop 提出的 MapRedcue 概念主要是在同質性環境下運算,而在異構性環境下的運算效能可能 不盡理想。因為,在 Map 階段,節點處理速度相同的情況下,每個節點完成的 時間,在固定的資料量下,完成的時間會大致相同。但是,在節點處理速度不盡 相同的情況下,完成的時間彼此不一樣,則會造成先處理好的機器,必須得等待 處理速度較慢的節點完成,造成完成時間的延遲。而 Reduce 階段,原始的 Hadoop,在挑選機器的時候,只要有空的節點就拿去做運算,沒考慮到網路溝 通成本的問題。

本文提出兩種優化方法,動態資料切割和虛擬機器對映,以提高 Mapredcue 程式效率。另外有一個優化技術,稱為負載感知的虛擬機對映,藉以提高在 Reduce 階段的負載平衡。在 Map 階段,根據虛擬機的效能,將資料做動態切割,

來給予相對應的 Worker,使得完成時間盡量接近。在 Reducer mapping 方面,根 據 Communication locality,來給予相對應的虛擬機進行運算。此外,負載感知的 虛擬機映對優化技術,可以進一步使 Reduce phase 的完成時間縮短。經由性能分 析結果顯示,透過動態資料切割,最多可以節省約莫 33%的 Communication Locality,經由動態資料切割以及負載感知的虛擬機映對最多改善了 MapReduce 完成時間 41%。

關鍵字: MapReduce,雲端計算,Hadoop,虛擬機器,動態 Mapping。

(3)

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.

(4)

Keywords: MapReduce, Cloud computing, Hadoop, Virtual machines, Dynamic

Mapping.

(5)

致謝

本篇碩士論文能夠順利完成,在此要誠摯感謝我的指導教授許慶賢老師。在 這段期間,隨著跟老師的互動與討論之下,對於我所想探知的領域,也慢慢的深 入研究。在寫論文的過程,老師不斷的協助我,對於原本凌亂的想法做整合,在 遇到我無法理解問題的時候,能夠不厭其煩的利用一些例子,來使我更容易了解。

並且,對我的論文提出一些看法以及意見,使我得論文更有組織性。

再來就是要感謝實驗室的各位學長,可以即時的幫助我解決我遇到的困難,

在寫論文的時候,告知我該注意的地方,避免重蹈覆轍。另外要感謝的是碩士班 的同學,平常互相討論,互相勉勵對方,另外還要感謝學弟妹,能夠幫我處理雜 事,使我能夠專心在寫論文上。

最後要感謝的是我的家人,在我就學期間,能夠支持與鼓勵我,使我無後顧 之憂,能夠專心的在寫論文上,讓我能夠順利完成我的學業。最後,僅以此文獻 給我的師長,以及在學的時候,支持我的各位朋友以及家人。

(6)

Contents

摘要... i

ABSTRACT ... ii

致謝... iv

Contents ... v

List of Tables ... vii

List of Figures ... viii

Chapter 1 Introduction ... 1

1.1 Background ... 1

1.2 Motivation ... 2

1.3 Contribution ... 2

1.4 Organization ... 3

Chapter 2 Related Works ... 4

2.1 Homogeneous Environment... 4

2.2 Heterogeneity Environment ... 5

Chapter 3 Preliminary ... 8

3.1 Hadoop ... 8

3.2 MapReduce ... 9

3.3 Heterogeneous Classification ... 10

Chapter 4 Dynamic Data Partitioning and Locality Aware Virtual Machine Mapping ... 11

4.1 Dynamic Data Partitioning ... 12

4.2 Locality Aware Virtual Machine Mapping ... 13

4.2.1 Best Fit ... 13

4.2.2 Priority ... 16

4.3 Loading Aware Virtual Machine Mapping ... 17

Chapter 5 Performance Analysis ... 19

5.1 Communication Locality ... 19

5.2 Task Excution Time ... 21

(7)

Chapter 6 Conclusions and Future Works ... 32

Reference ... 33

(8)

List of Tables

表一: Hardinfo benchmark ... 10

(9)

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

(10)

Chapter 1 Introduction

1.1 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在讓每個節點,將運算後的 結果,進行整合,再回傳給使用者。這樣的方式由原本只能單一處理,變成平行 處理,進而加快了處理速度。

(11)

Google雖然提出了多個雲端運算的技術,但是,並沒有開放原始碼出來,使 得企業們受到局限。直到Apache開發出Hadoop平台 [25],企業或使用者才可以 自己研發相關的MapReduce技術 [18][19][20],不再被受到限制。MapReduce技 術具有高容錯性、資源使用率高、平行處理,使得它在企業界備受青睞。

1.2 Motivation

在一個大的群集裡,原型的MapReduce,會將進來的資料,切割成固定大小,

主要節點會將這些資料,分散給各節點去做運算,但是 如果在異構性環境 [21][23],就無法根據機器的處理速度,動態的分配資料給相對映的機器去做運 算。在Map階段,節點處理速度相同的情況下,每個節點完成的時間會大致相同。

但是,在節點處理速度不盡相同的情況下,完成的時間彼此不一樣,則會造成最 先處理好的機器,得等待處理速度較慢的節點完成,因而拖累完成時間。而在 Reduce階段,則考慮到Communication locality的問題,Communication locality是 指說Reducer在此節點運算的時候,所能節省的溝通成本(意指不用到遠端節點 取資料的溝通成本)。原始的MapReduce,在挑選機器的時候,是有機器就拿去 做運算,而沒考慮此問題。

1.3 Contribution

本論文針對以上的敘述做了改進,首先,測試每台機器的運算效能,在Map 階段的時候,根據節點的運算效能來決定負責的運算量,進而達到平均完成時間 相近。在Reduce階段,評估Communication locality,再根據Communication locality 來決定Reducer要選擇在哪台機器,使其節省更多的Communication locality。最 後,透過Loading Aware Virtual Machine Mapping,來改善Reduce階段的完成時間。

(12)

1.4 Organization

本論文研究探討在異構性環境下,每個節點運算效能不一致的情況下,為了 要避免MapReduce運算所造成校能不佳的情況,動態的調整Map mapping以及 Reducer mapping。

本論文章節介紹如下:第一章緒論,簡述雲端運算的研究背景及研究動機與 目的,以此為基礎。第二章相關研究,介紹前人所提出的MapReduce改善方法。

第三章Preliminary,介紹Hadoop、MapRedcue的流程以及定義異構性環境。第四 章演算法,介紹MapReduce的各階段流程,以及介紹本篇論文所提出的動態資料 切割和虛擬機對映兩種技術的流程,另外,提出了一個優化技術。第五章性能分 析,透過實驗模擬的結果,將其結果分析與比較。最後,第六章為結論以及未來 可以繼續研究的方向。

(13)

Chapter 2 Related Works

MapReduce 是目前非常流行的分散式運算的架構,主要是透過網際網路來處 理在雲端上儲存的大量資料。將要執行的 MapReduce 程式複製到 Master node 以 及各個 Worker,Master node 會決定要給哪台 Worker 去執行 Map 程式或者 Reduce 程式。透過 Map 程式將資料切成許多區塊,經過 Map 階段產生出 Key / Value,

將此 Key / Value 存儲在 Local disc,然後經過 Shuffle(將相同屬性的 key 排序在 一起)。而 Reduce 程式將這些 Shuffle 後的結果進行整合,最後再將結果產生出 來。由於 MapReduce 一開始主要是在節點效能大致相同的情況下去執行,對於 節點效能不一致的情況 (也就是所謂的異構性環境),導致會有一些效能不盡理 想的狀態出現 [10]。並且,隨著虛擬技術的成熟,虛擬機器可以將實體機資源 更有效的利用,慢慢的開始以虛擬機器作為 Cluster。而且,MapReduce 在以虛 擬機器建立起的異構性環境之下,對於 I/O 負載不平衡 [12][13][16]以及任務排 程 [1][6][15]不平均的部份。目前已經有許多相關文獻在探討此方面。

2.1 Homogeneous Environment

由 Shadi Ibrahim 等人在 2010 年時所提 LEEN [17]的方法,在 Map 階段,因 為原始的 MapReduce 架構沒有考慮資料的內容,盲目的以資料數量區分,導致 Shuffle 階段時,會出現分配不平均的現象。為了改善此部份,LEEN 將每筆資料 計算出 Fairness Score 後,根據 Locality [3][27]概念分析與比較,將資料適當地放 在各個節點上,達到平均分配的效果,透過這樣的想法,我們將此概念延伸到 Reducer 挑選機器是根據 Communication locality,而不是盲目的去選擇有空的 Worker。

(14)

MapReduce是主從式架構,具有樹狀網路分佈的結構,節點分布在不同的主 機上,或者,可能在不同的資料中心的主機上。則兩個節點要溝通的話,則需要 透過網路,而頻寬會影響之間傳輸的速度。在MapReduce的Worker接受到Master 的要求,從而排程Map和Reduce。Hadoop企圖排程將比較靠近的資料做Map tasks,以避免在網路上增加過多的overhead。至於Reduce tasks則沒有考慮到此部 份,因此,在進行shuffle的時候,不必要的資料在網路上可能會降低校能。遙遠 的節點,資料傳送已經成為一個瓶頸。而Mohammad Hammoud等人在2011提出 的論文著重在Reduce任務的部分,透過網路位置做分區,來做排程。因此,形成 了LARTS 的策略 [14]。而且,還觀察到MapReduce在Map Tasks完成後,進行 shuffling的動作,此步驟是用交錯的方式。先前的方法,在Shuffling這個動作的 時候,使MapReduce的性能提高,但是,卻增加了網路的負載。而LARTS保持了 此Shuffling的優勢,還減少了網路的負載。但是,此篇論文著重在Reduce task的 部份,至於Map task的部份,並未做優化的部份。

2.2 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任務。

並且,可以識別在節點上執行較慢的任務,將其任務不做備份工作,使其完成時

(15)

間 可 以 降 低 。 在 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 個等級,分別 是 Fastest、Average 及 Slowest,不同的等級取得運算資料份量也不同,並建立一 張表,紀錄目前有哪些機器處於忙碌壅塞狀態,有那些機器處於閒置狀態,並且 將忙碌的機器的資料,分出 3 個等級,平均分配資料,直至平均為止,使得每台 機器資源利用率是相近的。雖然,這樣的動機很好,但是,對於資料遷移所花的 時間以及成本是沒考慮的。

根據上述研究不足的地方,我們提出了MapReduce在異構性環境裡,在Map

(16)

階段,將資料切割成不固定大小,依據節點能力的不同,做出適當的配置。在 Reduce階段,根據Communication locality ,找出適合在哪一台機器上執行。最 後,再透過優化技術,把本篇論文方法的執行時間縮短一些。

(17)

Chapter 3 Preliminary

3.1 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 Bigtable,HBase架構在Hadoop HDFS 上的分散式資料庫,與ㄧ般關聯式資料庫不同。HBase使用列和行為索引存取資 料值以及每一筆資料都有一個時間戳記,因此同一個欄位可以因為時間的不同,

而存在多筆資料。

HBase專門用來處理大規模的資料,是由HMasrter以及HRegion組成,一台 HMaster管理多部HRegion Server。HMaster負責監控與管理HRegion Server系統狀 態,而HRegion Server利用記憶體存取快速的優點,可以加速資料讀寫的動作,

所以,會先將資料存放在記憶體內,之後再將資料存回HDFS。

(18)

3.2 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 Phase

Output File

圖一 MapReduce的運作流程圖 如圖一即為MapReduce流程圖。

1. 將輸入的資料切割成固定大小。

2. 將要執行的MapReduce程式複製到Master與每一台Worker。

3. Master會挑選閒置的Worker當Mapper或Reducer。

4. Mapper會從切割好的資料,讀取相對映的資料,會產生Key / Value,會先暫 存在記憶體內,再週期性的傳送到Local Disc。

5. 執行Reducer程式的Worker,讀取每一個Mapper的結果,並進行排序以及彙 整,再將整合的結果輸出。

(19)

3.3 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,也就是所謂的高異構性環境。我們之後的實驗,根 據這兩個異構性等級做參數。

(20)

Chapter 4 Dynamic Data Partitioning and Locality Aware Virtual Machine Mapping

原始的 Hadoop 在同質性環境,執行 MapReduce 程式,每個節點運算能力大 致相同,所以,在 Map 階段並不會有互相等待的結果發生,但是,在異構性的 環境之下,每個節點的 Worker 彼此之間運算速度不同,導致先完成的,必須得 等速度較慢的節點完成,因而執行時間變長。而在 Reduce 階段,沒有考慮 Communication Locality 的問題,即使是用虛擬機架設的環境也是一樣,所以,

隱藏著一些 Communication overhead 的問題。本篇論文主要探討此兩問題。

圖二 整體方法流程圖

如圖二所示,將資料從 HDFS 讀取進來,因為每個節點不能去從其他節點讀 取資料來做,因此,只能將自己節點資料作完,等待其他節點完成後,才可繼續 執性 Reduce 階段。因此,在 Map mpping 階段是根據節點內部的虛擬機性能來 決定節點內部資料的分配,而不是固定資料大小丟給效能不一致的虛擬機器來做

(21)

運算。在 Reduce mapping 階段是根據 Locality aware 來選擇機器,選擇節省成本 最多的機器以及最後有個節點內部動態調整機制,為了減少 Reducer 完成的時間。

4.1 動態資料切割

在同質性環境 (即為每個節點設備大致相同),運行MapReduce,當Worker 完成Map階段任務,必須等待其他Worker完成,才能進行下一個動作。因為每台 節點運算能力大致相同,所以,當執行Map階段結束後,每台節點完成時間是大 致相同的,而在異構環境下 (每個節點設備不盡相同,則會產生出一個問題,在 運算效能不一致的情況,會造成在Map程式執行完成的時間變長,因為當資料相 同,可是每個節點運算能力不一樣,就會彼此互相牽制。為了要避免此情況發生,

所以,本篇論文用動態資料切割的方法來解決此問題。

圖三 根據節點能力分配相對應大小的資料

動態資料切割的方法得先知道每個Worker的運算能力,根據運算能力,動 態切割資料大小。如圖三所示,每個節點運算能力較好的Worker,就分配到資料 較多的Partition去做處理。而運算能力較差的Worker就分配到較少的Partition,使 得每個節點內部的Worker完成時間接近,就不會有處理速度比較快的節點完成後

(22)

必須要等待處理速度比較慢的節點。而資料分配方式,就是根據Performance,

也就是前面所提到的異構性等級的數值相加起來 (Worker處理速度越快,則等級 越高),將要處理的資料以及總數值相除,會得到一個平均值。這個平均值去乘 上等級,也就是Worker要處理的資料量。

4.2 Locality Aware Virtual Machine Mapping

由於虛擬機的使用,可以充分利用資源,所以,現在一台實體機,可架設多

台虛擬機。所以,同一台實體機,內部有兩台虛擬機,當這兩台互相交換資料的 時候,其實網路的負載是很低的。但是,如果是兩台實體機交換資料,網路的負 載會變很高。在執行Map階段之後,資料都儲存在Local disk裡,Reducer要怎麼 選擇機器,使得Communication locality節省更多,而這個即是本篇論文要探討的 第二個問題。

4.2.1 Best Fit

本篇論文提出了一個 Best Fit 方法,這個方法的概念是讓 Reducer 選擇在哪 一台節點上運行,使其 Communication locality 節省最多,接下來在找出節點內 Performance 最好的 Worker 來當 Reducer,而不是像 Hadoop 的 MapReduce 是照 順序去分配。這樣的選擇方式,是因為節點與節點之間資料傳遞的 Communication overhead 是相當大的,而節點內部之間的 Communication overhead,相較起來小 很多。而讓 Communication locality 節省越多,也可以讓 Communication overhead 降低。

(23)

圖四 Best Fit挑選機器流程

1. 如圖四所示,假設一台實體機上(P1)架設兩台虛擬機(v1、v2),根據虛擬 機的運算能力,分配相對映的資料量,v1即為25單位、v2即為22單位,以此類 推。

2. 執行Map程式產生出k值,因為有三台Reducer(R1、R2、R3),所以,產生出 3個k值,v1虛擬機的k1值為7、k2值為10、k3值為8,而這v1的所有k值相加即為

v

1所負責的資料量,v1虛擬機k1值為10、k2值為9、k3值為3,而這v2的所有k值 相加為v2所負責的資料量,v3也是一樣。

3. 先從R1要挑選哪台VM開始,首先把每個VM所產生出的k1值相加,得到一個 總和,即為57單位,底下看到有三個數值,第一個數值,即為R1如果在P1台機器上運行的話,所耗費的遠端溝通成本(要到P2、P3取資料的溝通成本),

則第二個數值,即為R2在P2這台機器上運行的話,所耗費的遠端溝通成本,

第三個也是。

4. 把總共要處理的資料減掉到遠端耗費的溝通成本,會得到一個數值,即為

(24)

Communication locality,R1如果選擇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. 如果節點的虛擬機都被挑選完就選第二順位的節點。

原始的Hadoop,R1挑選v1,而R2挑選v2,照順序的挑選,所以沒有考慮到溝 通成本,則本篇論文Best fit,是根據Communication locality來挑選機器,但是,

可能在某ㄧ些情況可能不夠完善。

圖五 Best Fit 挑選機器的不完善

如圖五所示,當Communication locality可以選擇很高的節點,卻因為前面的 Reducer把節點內部的Worker挑選完了,所以,逼不得已只能挑選第二順位的節 點,可是這個Communication locality遠遠低於前面Reducer挑選的節點,導致整體 的Communication locality大幅下降,因此4.2.2 Priority即為改善的方法。

(25)

4.2.2 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

(26)

locality。

4. 根據此Difference locality,排出哪個Reducer要先選取機器。此例子的順序為

R

2,再來R3,再來R1,而Best Fit就是R1,再來R2,再來R3

Priority可以避免 前面的 Reducer把機器挑選完,迫使只能選擇第二高的 Communication locality,使這樣大幅降低的情況給消除。而Best fit和Priority這兩 種方法,大幅提高了Communication locality的狀況,可是卻也導致了Reduce階段 的完成時間變長,所以,下章節主要敘述,將Reduce階段完成時間優化。

4.3 Loading Aware Virtual Machine Mapping

上述的兩種方法Best fit、Priority,都是為了降低節點彼此之間的溝通成本,

但是,卻引發了一個問題,Reducer執行完成的時間比原始Hadoop還來得長。為 了解決此問題,本篇論文在這章節提出優化的方法。前面兩種方法,是根據節點 的Communication locality,來決定要在哪一台Worker做運算,當決定好Worker 的時候,Reducer會先將運算能力較好的虛擬機器拿去做運算。這樣使得運算較 快的機器並不會對映到運算較複雜的資料,使得較早完成的機器還是得等候還沒 做好的機器,造成時間上的延長,所以,本篇論文針對此部份做優化。

圖七 Reducer對應到其相對效率的Worker

(27)

如圖七所示,當Reducer都挑選好要在哪台實體機做,在開始執行Reduce程 式之前,我們根據要處理的資料量,來分配相對映的機器,而這虛擬機的交換,

並不會影響到Communication locality,因為,都是在同一台實體機架設的虛擬機 器做交換。

(28)

Chapter 5 Performance Analysis

本實驗以模擬的方式進行,利用 C 語言程式撰寫,可設定節點數量、節點 裡的 Worker 數量、資料大小、異構性環境低 (h = 1-3)或高 (h = 1-5)。透過模擬 的實驗數據,分析基於 Hadoop 的 MapReduce 以及本篇論文透過 Map mapping 和 Reduce mapping 的方式,進而改善原始 MapReduce 所造成的缺點。

5.1 Communication Locality

本模擬實驗主要探討的是 Communication Locality,圖八(a)和圖八(b)模擬環 境為低異構性,圖八(c)和圖八(d)為高異構性環境,固定每台實體機架設 2 台以 及 5 台虛擬機器,固定 Worker 總數量分別為 10、20、30,要處理的資料為 900G。

Communication locality(vm = 2, h = 1-3)

0 50 100 150 200 250 300

10 20 30

Number of vm

Data locality

Hadoop Best Fit Priority

(a)

(29)

Communication locality(vm = 5, h = 1-3)

0 100 200 300 400 500 600

10 20 30

Number of vm

Data locality

Hadoop Best Fit Priority

(b)

Communcation Locality(vm = 2, h = 1-5)

0 50 100 150 200 250 300

10 20 30

Number of vm

Data locality

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

Data locality

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

(30)

由圖八(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 因此大幅降低的情況給消除。

5.2 Task Execution Time

此節實驗是要探討 Map 以及 Reduce 完成的時間。圖九(a)和圖九(b)為低異構 性環境的實驗,圖九(c)和圖九(d)為高異構性環境,都是固定每台實體機架設 2 台以及 5 台虛擬機器,所以,固定虛擬機器總數量分別為 10、20、30,要處理 的資料為 900G。

(31)

Map completion time(vm = 2, h = 1-3)

0 20 40 60 80 100

10 20 30

Number of vm

Second

Hadoop

Best Fit & Priority

(a)

Map completion time(vm = 5, h = 1-3)

0 20 40 60 80 100

10 20 30

Number of vm

Second

Hadoop

Best Fit & Priority

(b)

Map completion time(vm = 2, h = 1-5)

0 20 40 60 80 100

10 20 30

Number of vm

second

Hadoop

Best Fit & Priority

(c)

(32)

Map completion time(vm = 5, h = 1-5)

0 20 40 60 80 100

10 20 30

Number of vm

second

Hadoop

Best Fit & 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 的優勢。

(33)

Reduce completion time(vm = 2, h = 1-3)

0 20 40 60 80 100 120

10 20 30

Number of vm

Second

Hadoop Best Fit Priority

(a)

Reduce completion time(vm = 5, h = 1-3)

0 20 40 60 80 100 120

10 20 30

Number of vm

Second

Hadoop Best Fit Priority

(b)

Reduce completion time(vm = 2, h = 1-5)

0 20 40 60 80 100 120

10 20 30

Number of vm

second

Hadoop Best Fit Priority

(c)

(34)

Reduce completion time(vm = 5, h = 1-5)

0 20 40 60 80 100 120

10 20 30

Number of vm

Second

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)所示,一台實體機架設的虛擬機器數 量,影響的範圍比較小。

(35)

Total completion time (vm = 2, pm = 5, h = 1-3)

0 50 100 150 200 250

Hadoop Best Fit Priority

Method

Second

Map Reduce

(a)

Total completion time(vm = 5, pm = 2, h = 1-3)

0 50 100 150 200

Hadoop Best Fit Priority

Method

Second

Map Reduce

(b)

Total completion time(vm = 2, pm = 5, h = 1-5)

0 50 100 150 200 250

Hadoop Best Fit Priority

Method

Second

Map Reduce

(c)

(36)

Total completion time(vm=5, pm = 2, h = 1-5)

0 50 100 150 200

Hadoop Best Fit Priority

Second

Method

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 運算,所以,在越高的異構性環境,其縮短的時間會越明顯。

(37)

Total completion time with different number of vm (h=1-3)

0 20 40 60 80 100 120

vm=2 vm=3 vm=4

Number of vm per physical machine

Second

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=4

Number of vm per physical machine

Second

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 的完成時間,後者會縮

(38)

短 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

Second

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 的 完成時間比,會更加突顯。

(39)

Total completion time (best fit)

0 10 20 30 40 50 60 70 80

(Without optimization) (Optimization) Best Fit

Second

Map Reduce

(a)

Total completion time (priority)

0 10 20 30 40 50 60 70 80

(Without optimization) (Optimization) Priority

Second

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此優化技術,是變動同一台實體

(40)

機內部的Reducer,使得原本是根據Communication locality,來選擇虛擬機器,但 是,在挑選的過程中,並沒有依據處理資料的大小,分配到其處理速度相對映的 虛擬機器,而這優化技術就是將同一台實體機內的虛擬機器重新分配。由於,此 優化技術並不會影響Communication locality,所以,這部份並沒有在此實驗探討。

圖十四(a)、圖十四(b)顯示未使用優化技術的Best fit和Priority的MapReduce 完成時間,雖然比Hadoop的方法好,但是其Reduce phase完成時間上慢了一些。

並且,可以看出此優化技術並不會影響到Map phase,主要影響的是在Reduce階 段。在Reduce階段的完成時間上,利用優化技術可以將Reduce階段時間縮短其13

%。

(41)

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,得到真正的數據。

(42)

Reference

1. Masato Asahara, Shinji Nakadai and Takuya Araki, “LoadAtomizer: A Locality and I/O Load aware Task Scheduler for MapReduce,” 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, “Xen and the Art of Virtualization,” 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, “Interference and Locality-Aware Task Scheduling for MapReduce Applications in Virtual Clusters,” 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, “Scalable Multimedia Data Processing in Server Clusters,”

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 E.Gruber,

“Bigtable: A Distributed Storage System for Structured Data,” 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, “Variable-Sized Map and Locality-Aware Reduce on Public-Resource Grids,” 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, “Samr: A self adaptive mapreduce scheduling algorithm in heterogeneous environment,” in 10th

IEEE International Conference on Computer and Information Technology, CIT ’10, (Washington, DC, USA), pp. 2736–2743, 2010.

8. Jeffrey Dean and Sanjay Ghemawat, “MapReduce: Simplified Data Processing on Large Clusters,” Communications of the ACM, vol. 51, no. 1, pp. 107–113, 2008.

9. Yuanquan Fan, Weiguo Wu, Haijun Cao, Huo Zhu, Xu Zhao and Wei Wei,

(43)

“A heterogeneity-aware data distribution and rebalance method in Hadoop cluster”, 2012 Seventh ChinaGrid Annual Conference, pp. 176-181, 2012.

10. Zacharia Fadika, Elif Dede, Jessica Hartog and Madhusudhan Govindaraju,

“MARLA: MapReduce for Heterogeneous Clusters”, in 12th IEEE/ACM

International Symposium on Cluster, Cloud and Grid Computing, pp. 49-56,

2012.

11. Sanjay Ghemawat, Howard Gobioff, and ShunTak Leung, “The Google file system,” In Proceedings of 19th Symposium on Operating Systems

Principles, pp. 29-43, 2003.

12. Sven Groot, “Jumbo: Beyond MapReduce for Workload Balancing,” 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, “Handling Data Skew in MapReduce,” in Proceedings of CLOSER, pp. 574–583, 2011.

14. Mohammad Hammoud and Majd F. Sakr, “Locality-Aware Reduce Task Scheduling for MapReduce”, Third IEEE International Conference on

Cloud Computing Technology and Science, pp. 570-576, 2011.

15. C. He, Y. Lu and D. Swanson, “Match-making: A New MapReduce Scheduling Technique,” IEEE Third International Conference on Cloud

Computing Technology and Science (CloudCom), pp. 40–47, 2011.

16. Hung Chang Hsiao, Huesh Yi Chung, Haiying Shen, and Yu Chang Chao,“Load Re-balancing for Distributed File Systems in Clouds,” IEEE

Trans on Parallel and Distributed Systems, vol.24, pp. 951-962, 2012.

17. Shadi Ibrahim, Hai Jin, Lu Lu, Song Wu, Bingsheng He and Li Qi, “LEEN:

Locality/Fairness Aware Key Partitioning for MapReduce in the Cloud,”

2010 IEEE Second International Conference on Cloud Computing Technology and Science (CloudCom), pp. 17–24, 2010.

18. S. Ibrahim, H. Jin, L. Lu, L. Qi, S. Wu and X. Shi, “Evaluating MapReduce on Virtual Machines: The Hadoop Case,” Proceedings Conference Cloud

Computing (CloudCom 2009), Springer LNCS, pp. 519-528, 2009. Dec.

19. C. Jin and R. Buyya, “Mapreduce programming model for net-based cloud computing,” in Proceedings of the 15th International Euro-Par Conference

on Parallel Processing, Euro-Par (Berlin, Heidelberg), pp. 417–428, 2009.

20. R. Nanduri, N. Maheshwari, A. Reddyraja, and V. Varma, “Job aware scheduling algorithm for Mapreduce framework,” in 3rd International

Conference on Cloud Computing Technology and Science,

CLOUDCOM ’11, (Washington, DC, USA), pp. 724–729, 2011.

(44)

21. Andrew J. Page and Thomas J. Naughton, “Dynamic task scheduling using genetic algorithms for heterogeneous distributed computing,” in 19th IEEE

International Parallel and Distributed Processing Symposium, pp. 189a,

2005, April.

22. Xiaoyu Sun, Chen He and Ying Lu, “ESAMR: An Enhanced Self-Adaptive MapReduce Scheduling Algorithm,” 2012 IEEE 18th International

Conference on Parallel and Distributed Systems, pp. 148-155, 2012.

23. Chao Tian, Haojie Zhou, Yongqiang He and Li Zha, “A Dynamic MapReduce Scheduler for Heterogeneous Workloads”, Eighth International

Conference on Grid and Cooperative Computing, pp. 218–244, 2009. Aug.

24. Jiong Xie, Shu Yin, Xiaojun Ruan, Zhi-yang Ding, Yun Tian, James Majors, Adam Manzanares, and Xiao Qin, “Improving mapreduce performance through data placement in heterogeneous hadoop clusters,” in IPDPS

Workshops, pp. 1–9, 2010.

25. J. Tan, X. Pan, S. Kavulya, R. Gandhi, and P. Narasimhan, “Mochi: Visual Log-Analysis Based Tools for Debugging Hadoop,” 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, “Improving MapReduce Performance in Heterogeneous Environments,” 8th Symposium on Operating Systems Design and

Implementation, pp. 29–42, 2008. Dec.

27. X. Zhang, Z. Zhong, S. Feng, B. Tu and J. Fan, “Improving Data locality of MapReduce by Scheduling in Homogeneous Computing Environments”, in

9th IEEE International Symposium on Parallel and Distributed Processing with Applications (ISPA), pp. 120-126, 2011.

28. Apache hadoop. Available from: http://hadoop.apache.org.

29. MapReduce with a lot of examples for Mining datasets. Available from:

http://infolab.stanford.edu/~ullman/mmds/book.pdf.

參考文獻

相關文件

• Instead of uploading and downloading the dat a from cloud to client for computing , we shou ld directly computing on the cloud ( public syst em ) to save data transferring time.

• If we want analysis with amortized costs to show that in the worst cast the average cost per operation is small, the total amortized cost of a sequence of operations must be

Results show that the real ecological capacity of 0.003367 / M 2 is a transient population control standards, the survey by the existing facilities that the present facilities

Empirical analysis results show that:in term of the willingness-to-pay, the consumers who are using the IMVS wish to reduce their monthly expenditure, in which those who

The study of purpose: We use Structure-Conduct-Performance structure of industry organization economy theory by Mason-Bain to analysis the influence of market

The final results of experiment show that the performance of DBR system declines when labor utilization increases and the CCR-WIP dispatching rule facilitate to

Numerical results show that by introducing the binary holes to each unit cell in the PCF, a higher modal birefringence of the order of has been achieved within the wavelength

The results showed that (1) in the evolution process of GNN, two phenomena can be observed that “the training period performance is truly relevant to test period performance” and