第一部分 系统与应用 3
第1章 公共云上LIGO物理应用中的可扩展部署:工作流引擎与资源配置技术 3
1 引言 4
2 相关工作 5
3 体系架构及设计 7
3.1 负载均衡 10
4 LIGO数据分析和引力波搜索 12
4.1 应用需求 16
5 性能评估 17
5.1 平台可扩展性 18
5.2 工作者的动态配置 20
6 本章小结 20
参考文献 21
第2章 面向大数据的FutureGrid试验台 24
1 引言 24
2 FutureGrid简介 25
2.1 硬件概述 25
3 面向大数据的服务和工具 28
3.1 测试平台即服务(TestbedaaS) 29
3.2 传统的高性能计算即服务(HPCaaS) 30
3.3 网格即服务(GridaaS) 30
3.4 基础设施即服务(IaaS) 30
3.5 云平台即服务(PaaS) 32
4 FutureGrid的运用 34
5 系统管理 40
5.1 系统开发团队的整合 40
5.2 DevOps 40
5.3 教育支持 42
6 Cloudmesh 43
6.1 功能 43
6.2 架构 44
6.3 云转移 47
6.4 图形用户界面 47
6.5 Shell命令和命令行接口 49
7 本章小结 50
参考文献 51
第3章 支持数据密集型应用的云网络 54
1 引言 54
2 构建云网络的模块和技术 55
2.1 数据处理中心网络 55
2.2 存储区域网 55
2.3 网络协议栈 56
2.4 局域网分区 56
2.5 VPN 57
2.6 虚拟网络和覆盖网 57
2.7 高性能主干网 58
2.8 软件界定的网络 58
3 云的内部网络 60
3.1 商业IaaS云 60
3.2 开源IaaS云 61
3.3 SDN的网络虚拟化 63
4 内部云网络 64
4.1 CohesiveFT的VNS-Cubed模型 65
4.2 Pertino云网络引擎 65
4.3 ViNe网络覆盖基础设施 66
5 案例分析 68
5.1 优化云内和云间的数据传输 68
5.2 虚拟机迁移 68
5.3 云上的科学应用程序 69
6 本章小结 70
参考文献 71
第4章 IaaS云基准测试:方法、挑战和经验 74
1 引言 74
2 计算机系统基准简介 76
2.1 为什么要基准测试 77
2.2 基准测试的要素 77
3 IaaS云基准测试的通用架构 78
3.1 概述 78
3.2 显著的设计特征 79
4 IaaS云基准测试中的开放性挑战 80
4.1 方法论 80
4.2 系统属性 81
4.3 工作负载 82
4.4 度量 83
5 IaaS云基准测试的经验 83
5.1 方法:SPEC云工作组 84
5.2 SkyMark:IaaS云基准测试的框架 84
5.3 IaaS云性能的真实评估 85
5.4 工作负载的统计模型 86
5.5 开放数据:几个有用的档案库 87
6 本章小结 87
参考文献 88
第5章 数据密集型应用的GPU加速云计算 92
1 引言 92
2 背景和相关工作 93
2.1 云计算 93
2.2 GPU 94
2.3 MapReduce 94
2.4 通用图形处理 96
3 基于GPU集群的MapReduce 97
3.1 Mars概述 97
3.2 MarsHadoop 99
3.3 Mars-MR-MPI 100
3.4 实验 101
4 GPU和云上的图像处理 105
4.1 GPU上的并行图像处理 105
4.2 云上的并行图像处理 108
5 本章小结 110
参考文献 112
第6章 面向数据密集型科学应用的自适应工作负载分区与分配 117
1 引言 117
1.1 工作成果总结 118
1.2 组织结构 119
2 相关工作 119
3 问题描述 120
4 Apala 121
4.1 统一工作负载 121
4.2 分解统一的工作负载 122
4.3 分配统一的工作负载 124
5 评估 125
5.1 设置 125
5.2 分解模式 127
5.3 负载平衡的有效性 128
5.4 可移植性 129
5.5 分区的代价 131
6 本章小结 132
参考文献 133
第7章 DRAW:面向具有局部兴趣的数据密集型应用的一种基于数据分组感知的新型数据配置方案 135
1 引言 136
2 动机 137
3 基于数据分组感知的数据配置 138
3.1 历史数据访问图(HDAG) 138
3.2 数据分组矩阵 139
3.3 最优数据配置算法 141
3.4 其他注意事项 142
4 分析 143
4.1 “随机=最优”的可能性 143
4.2 数据分布的最优度 145
4.3 随机分布的最优度 147
4.4 多副本机架 148
5 方法 148
5.1 测试平台 148
5.2 应用程序 149
5.3 实现 150
6 实验结果与分析 151
6.1 实验结果 151
6.2 MapReduce程序的性能改进 152
6.3 敏感性研究:副本数目 154
6.4 DRAW的代价 155
7 相关工作 156
8 本章小结 156
参考文献 157
第二部分 资源管理 161
第8章 应用自适应组合拍卖的任务资源有效匹配 161
1 引言 161
1.1 贡献总结 163
1.2 组织结构 163
2 相关工作 163
3 问题定义 164
3.1 前言 165
3.2 任务资源匹配:从博弈论的角度解析 167
3.3 任务—资源匹配:示例场景 167
3.4 动态迭代拍卖简介 167
4 用于高效任务—资源匹配策略的基于拍卖的设计 169
4.1 同质性案例 169
4.2 K类异质性案例 174
4.3 通用异质性案例 175
5 结果评估 175
5.1 任务调度的性能 175
5.2 激励兼容性的验证 177
5.3 统一价格拍卖的性能比较 178
6 本章小结 179
参考文献 179
第9章 具备自主能力的高级网络基础设施的整合 182
1 引言 182
2 发展现状 184
2.1 联合计算网格 184
2.2 云计算的整合 185
2.3 互操作性标准化活动 185
3 聚合分布式资源的联合模型 186
3.1 要求 186
3.2 联合架构 187
3.3 Comet云 189
3.4 自主管理 189
3.5 启用自主能力 191
4 应用场景 191
4.1 CDS&E应用 192
4.2 企业业务数据分析 196
5 经验教训 199
6 本章小结 200
参考文献 201
第三部分 编程模型 209
第10章 科学工作流管理系统从网络到云的迁移 209
1 引言 210
2 挑战及可用的解决方案 211
2.1 传统科学工作流的挑战 211
2.2 将工作流应用程序迁移到云 213
2.3 将工作流管理迁移到云中 214
3 Swift和OpenNebula的集成 215
3.1 服务框架 215
3.2 集成架构和实现方法 216
4 性能评估 221
4.1 MODIS图像处理工作流程 221
4.2 实验配置 221
4.3 实验结果 222
5 相关工作 225
6 本章小结 227
参考文献 228
第11章 PaaS云上执行的风暴潮集成 232
1 引言 232
2 架构/系统概述 234
2.1 Windows Azure 234
2.2 Sigiri中间件 235
2.3 MapReduce:Twister4Azure 236
3 SLOSH集合 236
4 联合部署和运行 239
4.1 Sigiri中间件 239
4.2 MapReduce运行过程 240
5 输出感知任务的部署 242
5.1 负载分区 242
5.2 Sigiri中的工作-窃取算法 242
6 运行时间的建模 243
7 绩效评估 243
7.1 不同的工作负载 244
7.2 不同的并行度 245
7.3 模型评估 246
8 相关工作 247
9 本章小结 248
参考文献 248
第12章 MapReduce中的交叉相位优化 250
1 引言 251
1.1 MapReduce在高度分布式环境中的性能 253
1.2 交叉相位优化 255
2 Oracle:模型驱动优化 256
2.1 模型及其优化 256
2.2 观点 257
3 映射—感知推送 258
3.1 并行推送和映射以隐藏延迟 259
3.2 并行推送和映射以改进调度方案 259
3.3 映射-感知推送调度 259
3.4 在Hadoop中的实现 260
3.5 实验结果 261
4 置乱感知映射 263
4.1 置乱感知映射调度 264
4.2 在Hadoop中的实现 265
4.3 实验结果 265
5 综合比较 266
5.1 Amazon EC2环境下的测试 266
5.2 PlanetLab环境下的测试 268
6 相关工作 268
7 本章小结 270
参考文献 271
第13章 面向大规模迭代计算的异步计算模型 273
1 异步迭代 273
2 基于增量累积的迭代计算 276
2.1 DAIC简介 276
2.2 异步DAIC 278
2.3 收敛性 278
2.4 有效性 279
2.5 异步DAIC中的调度 280
3 编写异步DAIC算法 280
3.1 指导方案 281
3.2 案例 281
4 Maiter:一个支持异步DAIC的框架 283
4.1 系统设计 284
4.2 Maiter API 287
4.3 Maiter程序示例 288
5 性能 290
6 相关工作 293
7 本章小结 293
参考文献 294
第四部分 云计算 299
第14章 Azure云上的大数据存储与处理:大规模实验与经验教训 299
1 引言 299
2 面向数据密集型应用的云存储挑战 300
3 案例研究:Azure云数据存储与管理 301
3.1 存储非结构化数据:Azure Blobs 302
3.2 存储NoSQL结构化数据:Azure表 303
3.3 并发数据处理的同步过程:Azure队列 303
3.4 其他 303
4 进一步优化:在产生大量并发任务时处理存储延迟 304
4.1 聚合虚拟磁盘进行高效通信存储 305
4.2 使用专用的计算节点进行可扩展的数据管理 306
4.3 面向Azure云中归约密集型处理过程的低延迟存储方法 309
5 在云端执行大规模大数据实验 311
5.1 脑-基因相关性研究 311
5.2 计算和存储问题 311
5.3 实验设置 312
5.4 结果 312
5.5 云中的生物大数据处理:经验教训 315
6 本章小结 318
参考文献 319
第15章 FRIEDA云环境中的存储与数据生命周期管理 320
1 引言 320
2 相关工作 321
3 研究背景 323
3.1 存储模型 323
3.2 云环境中的I/O性能 324
3.3 资源模型 324
3.4 应用执行模式 325
3.5 科学应用数据类型 325
4 FRIEDA生命周期 326
4.1 数据分区 327
4.2 数据管理 328
5 存储规划 328
6 存储配置与准备 332
7 数据配置 333
8 FRIEDA执行过程 333
8.1 通信协议 334
8.2 执行阶段 336
8.3 数据分类 336
9 本章小结 337
参考文献 337
第16章 作为云服务的文件传输管理 340
1 引言 340
2 数据不溶性的问题 341
2.1 解决方案 342
3 文件传输管理 343
4 StorkCloud 346
4.1 StorkCloud调度程序 346
4.2 目录列表服务 347
4.3 Web API和小型客户端GUI 347
4.4 传输模块接口 348
4.5 优化模块 348
5 传输层吞吐量优化 349
5.1 优化技术 349
5.2 动态优化 351
5.3 MFT系统中的示例 351
6 调度优化和预约 352
6.1 协同调度算法 352
6.2 历史性能数据的估计 353
6.3 实际问题 354
7 MFT的潜在应用 354
7.1 云数据配置中间件 355
7.2 备份管理和复制 355
7.3 小型应用的数据传输 355
7.4 进一步了解MFT 355
8 本章小结 356
参考文献 356
第17章 定制化索引结构的社交媒体观察站:架构与性能 358
1 引言 359
2 数据和查询模式 360
3 HBase 363
4 IndexedHBase的设计与实现 364
4.1 系统架构 364
4.2 定制化的索引框架 365
4.3 数据加载策略 368
4.4 并行查询评估策略 369
5 与Riak性能评估结果的比较 370
5.1 测试环境配置 370
5.2 Riak的配置与实现 370
5.3 数据加载性能 372
5.4 查询评估的性能 374
6 相关工作 379
7 本章小结 380
参考文献 381