Presentation is loading. Please wait.

Presentation is loading. Please wait.

實現雲端運算 Hadoop HDFS 磁碟及記憶體之即時分級服務

Similar presentations


Presentation on theme: "實現雲端運算 Hadoop HDFS 磁碟及記憶體之即時分級服務"— Presentation transcript:

1 實現雲端運算 Hadoop HDFS 磁碟及記憶體之即時分級服務
輔仁大學 資訊工程研究所 指導老師:葉佐任 博士 研究生:孫逸峰

2 Outline Introduction Background Design and Implementation Experiment
Future Work Conclusion

3 Introduction (1) CPU與硬碟效能上的差距。 雲端系統中執行程式的效能瓶頸。
提升雲端系統中程式的執行I/O優先權,縮短I/O優先權程式執行時間。 結合作業系統核心(kernel)與Hadoop,發展具有I/O優先權機制的雲端環境。

4 Linux Operating System
Introduction (2) Hadoop Linux Operating System Hardware User Interface MapReduce  Hadoop Distributed File System (HDFS)

5 Background (1) 讀取HDFS檔案流程 Hadoop Hadoop客戶端 Namenode Datanode1
Namenode,我要讀取123.txt 請至Datanode2中第5~10的區塊讀取 Hadoop客戶端 Namenode 5 6 7 8 9 10 Datanode1 Datanode2 Datanode3

6 Background (2) 寫入檔案至HDFS流程 Hadoop Hadoop客戶端 Namenode Datanode1
Namenode,我要寫入456.txt Datanode1,我要寫入456.txt 請寫入至Datanode1中 456.txt 1 2 3 4 Hadoop客戶端 Namenode 1 2 3 4 1 2 3 4 Datanode1 Datanode2 Datanode3

7 Background (3) JobTracker分配MapReduce工作流程 Datanode1 (Tasktracker1)
Namenode (JobTracker) Datanode2 (TaskTracker2) job1 1 2 3 4 5 6 Datanode3 (TaskTracker3) job2 7 8 9 6 10 11 12

8 Background (4) Completely Fair Queuing (CFQ)為Linux預設使用的磁碟排程器。
PCFQ為在CFQ磁碟排程器中加入優先權的研究。

9 Design and Implementation (1)
研究設計重點部分: - 修改Hadoop中HDFS運作機制。 - 於kernel中使用PCFQ磁碟排程器,並將 記憶體置換機制加入優先權概念。 - 提供使用者執行I/O優先權的介面。

10 Design and Implementation (2)
Namenode建立優先權名單,並管控使用者能否執行I/O優先權指令的權力。

11 Design and Implementation (3)
客戶端成功申請I/O優先權後,可使用sethigh指令提升程式的I/O優先權。 sethigh指令提高程式I/O優先權範例: 客戶端修改socket封包內容並送往給Datanode sethigh hadoop fs –get source-file destination-file

12 Design and Implementation (4)
客戶端發送讀取HDFS檔案的socket封包內容 - passpriority為1代表具有I/O優先權,為0則沒有。

13 Design and Implementation (5)
客戶端發送寫入HDFS檔案的socket封包內容 - passpriority為1代表具有I/O優先權,為0則沒有。

14 Design and Implementation (6)
Datanode接收工作要求封包,將檢查封包中passpriority欄位值。 詢問Namenode此封包的發送者是否為合法的I/O優先權使用者。 Namenode若回傳True,Datanode則告知PCFQ磁碟排程器此封包要求為具有I/O優先權。

15 Experiment (1) 實驗環境 Hadoop環境中有一台Namenode與三台Datanode Software Hardware
Ubuntu LTS with kernel Hadoop 1.2.1 Hardware Namenode: CPU: Intel Core i5-2400S 2.50GHz RAM: 4GB DDR3 Hard Disk: SATA3 500GB 7200rpm

16 Experiment (2) 實驗環境 Hardware Datanode:
CPU: Intel Core 2 Duo E GHz RAM: 2GB DDR2 Hard Disk: SATA3 500GB 7200rpm 網路設備: Gigabit switch with Cat5e network wire

17 Experiment (3) 實驗設計 - 模擬一個忙碌的Hadoop環境,同時執行 多個程式,並分別執行以下實驗。 - TestDFSIO
- TeraSort - HDFS讀寫檔案程式

18 Experiment (4) 實驗設計 - 在以下三種情形中進行實驗數據比較

19 Experiment (5) 設定TestDFSIO(w)為I/O優先權程式

20 Experiment (6) 設定TestDFSIO(r)為I/O優先權程式

21 Experiment (7) 設定Terasort為I/O優先權程式(1)

22 Experiment (8) 討論Terasort提升效率不明顯之原因: - Terasort為CPU-bound的工作

23 Experiment (9) 設定Terasort為I/O優先權程式(2)

24 Experiment (10) 設定Terasort為I/O優先權程式(3)

25 Experiment (11) 權程式執行效率之原因: 全為執行MapReduce程式可提升具有I/O優先
MapReduce程式須經由JobTracker排班分配工作 具有I/O優先權的程式能提早將MapReduce程式所需要的檔案資料傳至HDFS中 比其它無I/O優先權程式更早被JobTracker分配工作給TaskTracker執行。

26 Experiment (12) 設定讀取檔案程式READ10G_1為I/O優先權程式

27 Experiment (13) 設定讀取檔案程式WRITE10G_1為I/O優先權程式

28 Experiment (14) 設定READ10G_1、 READ10G_2、 READ10G_3為I/O優先權程式

29 Experiment (15) 設定READ10G_1、 READ10G_2、 WRITE10G_1為I/O優先權程式

30 Experiment (16) 設定READ10G_1、 WRITE10G_1、 WRITE10G_2為I/O優先權程式

31 Experiment (17) 設定WRITE10G_1、 WRITE10G_2、 WRITE10G_3為I/O優先權程式

32 Experiment (18) 設定READ10G_1為I/O優先權程式(加入MapReduce工作一起執行)

33 Experiment (19) 設定WRITE10G_1為I/O優先權程式(加入MapReduce工作一起執行)

34 Future Work Hadoop部分: - 結合JobTracker的工作排班機制 作業系統部分: - 結合CPU優先權機制
- 結合磁碟NCQ指令加入優先權的概念

35 Conclusion Hadoop HDFS中加入I/O優先權機制,能有效提升具有I/O優先權程式的執行效能。
Hadoop中新增處理I/O優先權的機制後,在只執行一般程式下,幾乎不會影響執行效率。

36 Thank you

37 補充資料 (1) HDFS讀取檔案流程:

38 補充資料 (2) HDFS寫入檔案流程:

39 補充資料 (3) Linux kernel 原始記憶體置換機制:

40 補充資料 (4) Linux kernel 優先權頁面記憶體置換機制:

41 補充資料 (5) I/O優先權傳遞流程:


Download ppt "實現雲端運算 Hadoop HDFS 磁碟及記憶體之即時分級服務"

Similar presentations


Ads by Google