《雲計算解密:技術原理及套用實踐》是2014年6月電子工業出版社出版的圖書,作者是徐保民。
基本介紹
- 書名:雲計算解密:技術原理及套用實踐
- 作者:徐保民
- ISBN:9787121229985
- 出版社:電子工業出版社
- 出版時間:2014-6
內容簡介,作者簡介,圖書目錄,
內容簡介
作者根據多年從事雲計算學術研究和項目實施經歷,從分散式計算的角度出發,深入淺出地對雲計算的基本概念、雲計算的核心實現技術及作者所在研究小組關於雲計算的學術研究成果進行闡述。
zhua曲子白渡白顆
本書分為三大部分:第一部分為理論篇,主要介紹分散式計算及雲計算理論方面的知識;第二部分為技術篇,重點介紹雲數據中心的節能技術及作業調度策略,並深入剖析MapReduce框架存在的性能問題及其最佳化方法;第三部分為實踐篇,以PageRank算法和DNA序列拼接算法的實現為例,講述如何使用雲計算解決實際問題,並以圖計算框架Hama為例,闡述對開源雲計算項目的性能進行評價的方法。
作者簡介
徐保民,2007/05-2008 /04,美國中佛羅里達大學,電子工程與計算機學院,訪問學者 2003/07至今,北京交通大學,計算機與信息技術學院,副教授 2002/05-2003/06,丹麥科技大學,訪問學者 2000/05-2002/04,法國國家信息與自動化研究院,博士後。
圖書目錄
理 論 篇
第1章 緒論 3
1.1 計算模式演化 3
1.1.1 集中式計算模式 3
1.1.2 桌面計算模式 4
1.1.3 分散式計算模式 4
1.2 分散式計算 4
1.2.1 分散式計算概述 5
1.2.2 分散式計算結構 6
1.2.3 典型分散式計算技術 7
1.3 雲計算 12
1.3.1 雲計算的產生背景 12
1.3.2 雲計算概述 13
1.3.3 雲計算與格線計算 19
1.4 雲計算的關鍵技術 21
1.4.1 虛擬化 21
1.4.2 資源管理與調度 21
1.4.3 檔案系統 22
1.4.4 數據存儲 22
1.4.5 雲安全 22
1.4.6 編程模式 23
1.4.7 能耗管理 23
1.5 典型雲計算平台 23
1.5.1 Google雲計算平台 23
1.5.2 Amazon雲計算 25
1.5.3 IBM的藍雲平台 26
1.5.4 Microsoft雲計算 27
1.5.5 開源雲計算平台 29
參考文獻 32
第2章 並行計算編程模型 35
2.1 並行編程模型概述 35
2.1.1 共享存儲編程模型 36
2.1.2 訊息傳遞模型 37
2.1.3 分布並行編程模型 38
2.2 並行編程模型MapReduce 38
2.2.1 MapReduce概述 38
2.2.2 MapReduce編程模型 40
2.2.3 MapReduce的主要設計思想 43
2.2.4 MapReduce執行流程 44
2.2.5 MapReduce的核心技術 46
2.2.6 MapReduce技術研究 47
2.3 集群上的MapReduce實現——Hadoop 48
2.3.1 Hadoop項目簡介 48
2.3.2 Hadoop與Google 53
2.3.3 MapReduce運行機制 54
2.3.4 MapReduce執行流程 60
2.3.5 MapReduce的核心技術 62
2.3.6 Hadoop YARN簡介 63
2.3.7 典型案例剖析 65
2.3.8 MapReduce新舊API比較 73
2.4 MapReduce模型的其他實現 73
2.4.1 多核上的MapReduce實現 74
2.4.2 GPU上的MapReduce實現 75
參考文獻 76
第3章 分散式檔案系統 78
3.1 概述 78
3.1.1 什麼是分散式檔案系統 78
3.1.2 分散式檔案系統的發展歷史 79
3.1.3 分散式檔案系統的體系結構 82
3.1.4 分散式檔案系統的關鍵技術 83
3.2 GFS檔案系統 84
3.2.1 GFS的設計原則 84
3.2.2 GFS體系結構 87
3.2.3 GFS工作流程 88
3.3 HDFS分散式檔案系統 90
3.3.1 HDFS的設計目標 90
3.3.2 HDFS體系結構 91
3.3.3 HDFS故障處理 94
3.3.4 副本管理 94
3.3.5 HDFS工作流程 98
3.3.6 HDFS與GFS 101
3.3.7 HDFS聯盟介紹 102
3.4 分散式鎖服務Chubby 103
3.4.1 一致性問題 103
3.4.2 Paxos算法簡介 104
3.4.3 Chubby概述 109
3.4.4 Chubby架構 110
3.5 分散式套用協調器Zookeeper 112
3.5.1 Zookeeper概述 112
3.5.2 Zookeeper的數據結構 113
3.5.3 Zookeeper架構 114
3.5.4 Zookeeper的工作原理 116
3.5.5 Zookeeper套用場景 118
3.6 雲存儲 119
3.6.1 概述 119
3.6.2 雲存儲的分類 119
3.6.3 雲存儲的結構模型 120
3.6.4 典型雲存儲系統 121
參考文獻 122
第4章 分散式數據存儲系統 124
4.1 概述 124
4.2 NoSQL資料庫簡介 125
4.2.1 NoSQL的起源與發展 125
4.2.2 NoSQL概述 126
4.2.3 NoSQL系統架構 127
4.2.4 NoSQL的數據模型 128
4.2.5 NoSQL的理論基礎 131
4.2.6 NoSQL資料庫體系結構 134
4.2.7 NoSQL與SQL的比較 135
4.3 面向列存儲系統BigTable 136
4.3.1 概述 136
4.3.2 數據模型 137
4.3.3 系統架構 138
4.4 面向列存儲系統HBase 143
4.4.1 HBase概述 143
4.4.2 HBase的數據模型 143
4.4.3 HBase架構及實現 146
4.4.4 HBase與BigTable的比較 151
參考文獻 152
技 術 篇
第5章 雲數據中心節能技術 157
5.1 數據中心概述 157
5.1.1 數據中心發展歷史 157
5.1.2 數據中心網路結構 158
5.1.3 雲數據中心 160
5.2 雲數據中心節能技術 161
5.2.1 硬體設施 162
5.2.2 系統架構 162
5.2.3 軟體方式 163
5.2.4 數據中心的能耗模型 166
5.3 網路感知節能調度算法DENS 167
5.3.1 DENS算法原理 167
5.3.2 DENS算法實現 168
5.3.3 改進的DENS算法 169
5.4 基於超圖的存儲最佳化節能算法 172
5.4.1 問題提出 172
5.4.2 CS方法 172
5.4.3 基於超圖的副本存儲最佳化節能算法 174
5.4.4 作業靜態分配算法 176
5.4.5 動態副本遷移算法的相關分析 176
5.4.6 異構集群能效分析 177
5.4.7 覆蓋集發現算法CS-k 178
5.4.8 基於超圖的副本節能算法描述 178
5.4.9 實驗結果及分析 182
參考文獻 186
第6章 Hadoop集群的作業調度 189
6.1 集群與作業調度 189
6.1.1 集群簡介 189
6.1.2 作業調度系統 192
6.1.3 經典作業調度算法 193
6.1.4 PBS作業管理系統 196
6.1.5 雲環境下的作業調度 197
6.2 Hadoop的作業調度算法 200
6.2.1 Hadoop作業調度概述 200
6.2.2 批處理調度器FIFO 203
6.2.3 公平調度器 204
6.2.4 計算能力調度器 205
6.2.5 其他調度算法 207
6.3 基於伯格模型的公平調度算法 209
6.3.1 公平性概念 209
6.3.2 伯格模型概述 209
6.3.3 雲計算中資源分配的伯格模型 210
6.3.4 基於伯格模型的作業調度模型 211
6.3.5 基於伯格模型的作業調度算法 217
參考文獻 223
第7章 MapReduce性能最佳化 225
7.1 概述 225
7.1.1 MapReduce性能調優 225
7.1.2 MapReduce的性能最佳化研究 227
7.2 MapReduce性能模型 231
7.2.1 影響性能指標的因素 231
7.2.2 基於I/O成本的性能模型 232
7.3 Crunch概述 241
7.3.1 Crunch簡介 241
7.3.2 設計思路 242
7.3.3 框架結構 245
7.3.4 工作原理 246
7.4 Crunch最佳化 248
7.4.1 問題的提出 248
7.4.2 Profiling 249
7.4.3 基於代價的劃分 252
7.4.4 Reduce最佳化 253
7.4.5 數據抽樣 255
7.5 實驗與結果分析 255
7.5.1 實驗設定 256
7.5.2 基於MapReduce的協同過濾推薦算法 256
7.5.3 驗證算法正確性 259
7.5.4 驗證算法有效性 260
參考文獻 262
實 踐 篇
第8章 雲環境下的圖算法PageRank 267
8.1 圖計算概述 267
8.2 Web挖掘 268
8.2.1 Web挖掘概述 268
8.2.2 Web圖結構分析 270
8.3 淺析PageRank算法 274
8.3.1 PageRank算法簡介 274
8.3.2 PageRank算法分析 276
8.3.3 使用MapReduce思想計算PageRank值 276
8.4 基於MapReduce的PageRank算法 278
8.4.1 PageRank算法的MapReduce實現 278
8.4.2 利用矩陣分塊思想的並行PageRank算法 281
8.4.3 PageRank算法實現的改進 284
8.4.4 實驗及結果分析 288
8.5 基於BSP模型的PageRank算法 291
8.5.1 BSP模型 291
8.5.2 圖計算框架Pregel 293
8.5.3 PageRank的Pregel實現 305
8.5.4 Pregel存在的問題 306
參考文獻 306
第9章 圖計算框架Hama 309
9.1 Hama簡介 309
9.2 Hama核心技術 310
9.2.1 Hama層次結構 310
9.2.2 Hama體系結構 311
9.2.3 Hama代碼組織 313
9.2.4 Hama常用API 315
9.2.5 基於YARN的Hama程式執行流程 317
9.3 蒙特卡羅算法的實現 318
9.3.1 用蒙特卡羅算法求圓周率 318
9.3.2 基於Hadoop的蒙特卡羅算法 319
9.3.3 基於Hama的蒙特卡羅算法 321
9.4 Hadoop與Hama的性能比較 323
9.4.1 優勢區間 323
9.4.2 可用區間 325
9.4.3 劣勢區間 326
9.4.4 綜合分析 328
參考文獻 328
第10章 基於MapReduce的DNA序列拼接 329
10.1 概述 329
10.1.1 生物信息學現狀 329
10.1.2 序列拼接研究 330
10.2 測序技術 331
10.2.1 第一代DNA測序技術 331
10.2.2 第二代DNA測序技術 332
10.2.3 第三代DNA測序技術 332
10.3 序列拼接技術 332
10.3.1 序列拼接問題 333
10.3.2 序列拼接技術 333
10.4 repeat問題 337
10.4.1 聚類法 337
10.4.2 ARACHNE法 338
10.4.3 路徑相容性法 338
10.5 基於MapReduce的歐拉超路並行算法 339
10.5.1 算法的選擇 340
10.5.2 歐拉超路算法拼接流程 340
10.5.3 歐拉超路算法各步驟的並行化 342
10.5.4 並行歐拉超路算法性能分析 346
參考文獻 350
附錄A 雲計算仿真器CloudSim 353
A.1 CloudSim簡介 353
A.2 CloudSim體系結構 354
A.3 CloudSim核心類介紹 356
A.4 CloudSim開發環境搭建 357
A.5 仿真步驟 361
A.6 樣例程式分析 363
參考文獻 368
附錄B Hama開發環境的搭建 369
B.1 所需軟體 369
B.2 Hadoop和Hama的安裝 369
B.3 搭建Hama編程環境 377
附錄C 分散式Hadoop平台搭建 379
C.1 Hadoop系統的安裝方式 379
C.2 硬體和軟體需求 379
C.3 搭建步驟 380
C.4 運行示例程式 382