內容簡介
本書從雲基礎知識、雲套用編程和雲平台三個方面,介紹雲計算的起源、發展、核心技術、編程技巧和實際套用,基於Aneka平台詳細講解並行計算、高吞吐量計算和數據密集型計算的範式。此外,還涉及亞馬遜Web服務、谷歌AppEngine和微軟Azure三大雲平台,以及雲計算在科學、工程、遊戲、社交等領域的最新套用。
本書內容嚴謹、結構清晰、實例豐富,既可作為高等院校計算機相關專業的教材,也適合雲技術研發人員閱讀參考。
作者簡介
拉庫馬·布亞( Rajkumar Buyya)博士,澳大利亞墨爾本大學雲計算與分散式系統實驗室負責人,Manjrasoft公司創始人及首任CEO。
克里斯坦·維奇拉( Christian Vecchiola)博士,IBM澳大利亞研究院成員,澳大利亞墨爾本大學工程學院研究員。
S.泰馬萊·賽爾維(S.Thamarai Selvi)博士,印度安那大學金奈分校Madras技術學院院長。
目錄
出版者的話
譯者序
前言
致謝
第一部分 基礎
第1章 導論 2
1.1 雲計算簡介 2
1.1.1 雲計算構想 3
1.1.2 雲計算定義 4
1.1.3 進一步了解雲計算 6
1.1.4 雲計算參考模型 7
1.1.5 特性和優勢 9
1.1.6 面臨的挑戰 10
1.2 雲計算起源 10
1.2.1 分散式系統 11
1.2.2 虛擬化 12
1.2.3 Web 2.0 13
1.2.4 面向服務的計算 14
1.2.5 效用計算 15
1.3 構建雲計算環境 16
1.3.1 應用程式開發 16
1.3.2 基礎設施和系統開發 16
1.3.3 雲計算平台和技術 17
本章小結 18
習題 19
第2章 並行計算與分散式計算原理 20
2.1 計算時代 20
2.2 並行計算與分散式計算 21
2.3 並行計算基本要素 21
2.3.1 什麼是並行處理 21
2.3.2 並行處理硬體架構 22
2.3.3 並行編程方法 25
2.3.4 並行性的級別 25
2.3.5 注意事項 26
2.4 分散式計算基本要素 26
2.4.1 通用概念和定義 27
2.4.2 分散式系統組件 27
2.4.3 分散式計算架構模式 28
2.4.4 進程間通信模型 35
2.5 分散式計算技術 37
2.5.1 遠程過程調用 37
2.5.2 分散式對象框架 38
2.5.3 面向服務的計算 42
本章小結 48
習題 48
第3章 虛擬化 50
3.1 簡介 50
3.2 虛擬化環境特點 51
3.2.1 更強的安全性 52
3.2.2 執行管理 53
3.2.3 可移植性 54
3.3 虛擬化技術分類 54
3.3.1 執行虛擬化 54
3.3.2 其他類型的虛擬化 61
3.4 虛擬化和雲計算 62
3.5 虛擬化的利與弊 64
3.5.1 虛擬化技術的優點 64
3.5.2 虛擬化技術的缺點 64
3.6 技術實例 66
3.6.1 Xen:半虛擬化 66
3.6.2 VMware:完全虛擬化 67
3.6.3 微軟Hyper-V 72
本章小結 75
習題 75
第4章 雲計算架構 76
4.1 簡介 76
4.2 雲計算參考模型 76
4.2.1 架構 76
4.2.2 基礎設施即服務和硬體即服務 78
4.2.3 平台即服務 80
4.2.4 軟體即服務 83
4.3 雲的種類 85
4.3.1 公共雲 85
4.3.2 私有雲 86
4.3.3 混合雲 88
4.3.4 社區雲 90
4.4 雲計算經濟特性 91
4.5 雲計算面臨的挑戰 93
4.5.1 雲計算定義 93
4.5.2 雲計算互操作性和標準 93
4.5.3 可擴展性和容錯性 94
4.5.4 安全、可信和隱私 94
4.5.5 組織方面 95
本章小結 95
習題 95
第二部分 雲套用編程與Aneka平台
第5章 Aneka:雲套用平台 98
5.1 框架概述 98
5.2 Aneka容器結構 100
5.2.1 Aneka平台基礎:平台抽象層 101
5.2.2 構造服務 101
5.2.3 基礎服務 103
5.2.4 套用服務 105
5.3 構建Aneka雲平台 106
5.3.1 基礎設施組織 107
5.3.2 邏輯組織 107
5.3.3 私有雲部署模式 109
5.3.4 公共雲部署模式 110
5.3.5 混合雲部署模式 111
5.4 雲編程和雲管理 112
5.4.1 Aneka SDK 112
5.4.2 管理工具 115
本章小結 116
習題 116
第6章 並行計算:執行緒編程 117
6.1 單機並行計算簡介 117
6.2 執行緒編程套用 118
6.2.1 什麼是執行緒 119
6.2.2 執行緒API 120
6.2.3 執行緒並行計算技術 121
6.3 Aneka多執行緒方式 130
6.3.1 執行緒編程模型簡介 131
6.3.2 Aneka執行緒和普通執行緒 132
6.4 Aneka執行緒編程套用 135
6.4.1 Aneka執行緒套用模型 135
6.4.2 域分解:矩陣乘法 136
6.4.3 功能分解:Sine、Cosine、Tangent 142
本章小結 147
習題 148
第7章 高吞吐量計算:任務編程 149
7.1 任務計算 149
7.1.1 任務特性 150
7.1.2 計算類別 150
7.1.3 任務計算框架 151
7.2 基於任務的套用模型 152
7.2.1 高度並行套用 153
7.2.2 參數化套用 153
7.2.3 訊息傳遞接口套用 155
7.2.4 具有任務依賴性的
工作流套用 156
7.3 基於任務的Aneka編程 159
7.3.1 任務編程模型 159
7.3.2 用任務模型開發套用 160
7.3.3 開發參數化套用 174
7.3.4 管理工作流 176
本章小結 178
習題 179
第8章 數據密集型計算:MapReduce編程 181
8.1 什麼是數據密集型計算 181
8.1.1 數據密集型計算特性 182
8.1.2 未來的挑戰 182
8.1.3 歷史背景 183
8.2 數據密集型計算技術 186
8.2.1 存儲系統 186
8.2.2 編程平台 193
8.3 Aneka MapReduce編程 199
8.3.1 MapReduce編程模型簡介 199
8.3.2 套用實例 216
本章小結 226
習題 226
第三部分 工業雲平台與新進展
第9章 工業雲平台 228
9.1 亞馬遜Web服務 228
9.1.1 計算服務 229
9.1.2 存儲服務 232
9.1.3 通信服務 239
9.1.4 其他服務 240
9.1.5 總結 241
9.2 谷歌 AppEngine 241
9.2.1 架構和核心概念 241
9.2.2 應用程式生命周期 245
9.2.3 成本模型 247
9.2.4 結論 247
9.3 微軟Azure 248
9.3.1 Azure核心概念 248
9.3.2 SQL Azure 252
9.3.3 Windows Azure平台設備 253
9.3.4 結論 253
本章小結 254
習題 254
第10章 雲套用 256
10.1 科學套用 256
10.1.1 醫療保健:雲心電圖分析 256
10.1.2 生物學:蛋白質結構預測 257
10.1.3 生物學:基因表達數據用於癌症診斷分析 258
10.1.4 地球科學:衛星圖像處理 259
10.2 商業和消費套用 260
10.2.1 CRM和ERP 260
10.2.2 效率型套用 262
10.2.3社交網路265
10.2.4 媒體套用 265
10.2.5 多人線上遊戲 268
本章小結 269
習題 269
第11章 雲計算高級主題 270
11.1 雲能效 270
11.2 基於市場的雲管理 273
11.2.1 面向市場的雲計算 273
11.2.2MOCC參考模型 274
11.2.3 支持MOCC的技術和實現 278
11.2.4 結論 282
11.3 雲聯盟和互聯雲 282
11.3.1 特性和定義 282
11.3.2 雲聯盟棧 283
11.3.3 關注點 288
11.3.4 雲聯盟技術 301
11.3.5 結論 304
11.4 第三方雲服務 304
11.4.1 MetaCDN 304
11.4.2 SpotCloud 306
本章小結 307
習題 307
參考文獻 309
索引 317
叢書信息
計算機科學叢書 (共181冊), 這套叢書還有 《計算複雜性》,《深入理解計算機系統(原書第3版)》,《神經網路設計》,《垃圾回收算法手冊:自動記憶體管理的藝術》,《計算機文化(原書第4版)》 等。