云计算与分布式系统

云计算与分布式系统

发布于:2013-02-28 00:01
本书是一本完整讲述云计算与分布式系统基本理论及其应用的教材,从现代分布式模型概述开始,介绍了并行、分布式与云计算系统的设计原理、系统体系结构和创新应用,并通过开源应用和商业应用例子,阐述了如何为科研、电子商务、社会网络和超级计算等创建高性能、可扩展的、可靠的系统。
查看更多
下载此书

关于本书

本电子迷你书摘自《云计算与分布式系统:从并行处理到物联网》一书第 1、2、6 章,由InfoQ 制作,属于InfoQ 软件开发丛书。

免费下载本电子书

以下是《云计算与分布式系统:从并行处理到物联网》一书的介绍:

经过 30 年的发展,并行处理和分布式计算在计算机科学和信息技术中方兴未艾。许多高校现在已经开设相关课程。教师和学生一直在寻找一本可以全面涵盖计算理论和信息技术(包括设计、编程和分布式系统应用)的教材。本书正是为了满足这一需求而设计,而且本书还可以作为相关领域专业技术人员的参考书。

本书介绍了硬件和软件、系统体系结构、新的编程范式,以及强调速度性能和节能的生态系统方面的最新进展。这些最新发展说明了如何创建高性能集群、可扩展网络、自动数据中心和高吞吐量云 / 网格系统。我们还介绍了云编程以及如何将分布式系统和云系统应用于创新的互联网应用中。本书的目的是将传统的多处理器和多计算机集群转换为 Web 规模网格、云以及在未来互联网中泛在使用的对等 (P2P) 网络,包括近年来快速发展的大型社会网络和物联网。

本书主要内容

我们已经在单独的一卷中介绍了许多里程碑式的发展。我们呈现的成果不仅来自于我们自己的研究团队,还来自于美国、中国和澳大利亚的主要研究组织。总的来说,本书总结了近年来从并行处理到分布式计算和未来互联网的进展。

本书从现代分布式模型概述开始,揭示并行、分布式与云计算系统的设计原理、系统体系结构和创新应用。本书试图将并行处理技术与基于网络的分布式系统结合。书中通过开源和商业厂商的具体例子,重点介绍了用于研究、电子商务、社会网络、超级计算等应用的可扩展物理系统、虚拟化数据中心和云系统。

全书共 9 章内容,分为三部分:第一部分覆盖系统模型和关键技术,包括集群化和虚拟化。第二部分介绍数据中心设计、云计算平台、面向服务的体系结构、分布式编程范式和软件支持。第三部分研究计算 / 数据网格、对等网络、普适云、物联网和社会网络。

本书有 6 章内容涉及云计算方面的相关材料,分别是第 1 章、第 3~6 章和第 9 章。书中描述的云系统包括公有云:谷歌应用引擎、亚马逊 Web 服务、Facebook、SalesForce.com 等。这些云系统在升级 Web 服务和互联网应用方面发挥着越来越重要的作用。计算机架构师、软件工程师和系统设计师可能想要利用云技术来建造未来计算机和基于互联网的系统。

本书特点

覆盖现代分布式计算技术,包括计算机集群、虚拟化、面向服务的体系结构、大规模并行处理器、对等系统、云计算、社会网络和物联网。

强调开发并行、分布式和云计算系统的普适性、灵活性、有效性、可扩展性、可用性和可编程性。

硬件、网络和系统体系结构方面的最新进展:

多核 CPU 和众核 GPU(Intel、 Nvidia、AMD)。

虚拟机和虚拟集群 (CoD、Violin、Amazon VPC)。

Top500 体系结构(Tianhe-1A、Jaguar、Roadrunner 等)。

谷歌应用引擎、亚马逊 AWS、微软 Azure、IBM 蓝云。

TeraGrid、DataGrid、ChinaGrid、BOINIC、Grid' 5000 和 FutureGrid。

Chord、Napster、BiTorrent、KaZaA、PPlive、JXTA 和.NET。

RFID、传感器网络、GPS、CPS 和物联网。

Facebook、Force.Com、Twitter、SGI Cylone、Nebula 和 GoGrid。

范式、编程、软件和生态系统方面新的改进:

MapReduce、Dryad、Hadoop、MPI、Twister、BigTable、DISC 等。

云服务和信任模型 (SaaS、IaaS、PaaS 和 PowerTrust)。

编程语言和协议(Python, SOAP, UDDI, Pig Latin)。

虚拟化软件 (Xen、KVM、VMware ESX 等)。

云操作系统和混搭系统(Eucalyptus、Nimbus、OpenNebula、vShere/4 等)。

面向服务的体系结构 (REST、WS、Web 2.0、OGSA 等)。

分布式操作系统(DCE、Amoeba 和 MOSIX)。

中间件和软件库(LSF、Globus、Hadoop、Aneka)。

书中含有 100 多个例题,并且每章末都有习题和进一步阅读建议。

涵盖多个来自主流分布式计算提供商(亚马逊、谷歌、微软、IBM、惠普、Sun、 Silicon Graphics、Rackspace、SalesForce.com、netSuite 和 Enomaly 等)的案例研究。

原书目录

第一部分系统建模、集群化和虚拟化

第 1 章分布式系统模型和关键技术

1.1 互联网之上的可扩展计算

1.1.1 互联网计算的时代

1.1.2 可扩展性计算趋势和新的范式

1.1.3 物联网和 CPS

1.2 基于网络的系统技术

1.2.1 多核 CPU 和多线程技术

1.2.2 大规模和超大规模 GPU 计算

1.2.3 内存、外部存储和广域网

1.2.4 虚拟机和虚拟化中间件

1.2.5 云计算的数据中心虚拟化

1.3 分布式和云计算系统模型

1.3.1 协同计算机集群

1.3.2 网格计算的基础设施

1.3.3 对等网络家族

1.3.4 互联网上的云计算

1.4 分布式系统和云计算软件环境

1.4.1 面向服务的体系结构(SOA)

1.4.2 分布式操作系统趋势

1.4.3 并行和分布式编程模型

1.5 性能、安全和节能

1.5.1 性能度量和可扩展性分析

1.5.2 容错和系统可用性

1.5.3 网络威胁与数据完整性

1.5.4 分布式计算中的节能

1.6 参考文献和习题

第 2 章可扩展并行计算集群

2.1 大规模并行集群

2.1.1 集群发展趋势

2.1.2 计算机集群的设计宗旨

2.1.3 基础集群设计问题

2.1.4Top500 超级计算机分析

2.2 计算机集群和 MPP 体系结构

2.2.1 集群组织和资源共享

2.2.2 节点结构和 MPP 封装

2.2.3 集群系统互连

2.2.4 硬件、软件和中间件支持

2.2.5 大规模并行 GPU 集群

2.3 计算机集群的设计原则

2.3.1 单系统镜像特征

2.3.2 冗余高可用性

2.3.3 容错集群配置

2.3.4 检查点和恢复技术

2.4 集群作业和资源管理

2.4.1 集群作业调度方法

2.4.2 集群作业管理系统

2.4.3 集群计算的负载共享设备 (LSF)

2.4.4MOSIX: Linux 集群和云的操作系统

2.5 顶尖超级计算机系统的个案研究

2.5.1Tianhe-1A:2010 年的世界最快超级计算机

2.5.2Gray XT5 Jaguar:2009 年的领先超级计算机

2.5.3IBM Roadrunner:2008 年的领先超级计算机

2.6 参考文献和习题

第 3 章虚拟机和集群与数据中心虚拟化

3.1 虚拟化的实现层次

3.1.1 虚拟化实现的层次

3.1.2VMM 的设计需求和提供商

3.1.3 操作系统级的虚拟化支持

3.1.4 虚拟化的中间件支持

3.2 虚拟化的结构 / 工具与机制

3.2.1hypervisor 与 Xen 体系结构

3.2.2 全虚拟化的二进制翻译

3.2.3 编译器支持的半虚拟化技术

3.3CPU、内存和 I/O 设备的虚拟化

3.3.1 虚拟化的硬件支持

3.3.2CPU 虚拟化

3.3.3 内存虚拟化

3.3.4I/O 虚拟化

3.3.5 多核处理器的虚拟化

3.4 虚拟集群和资源管理

3.4.1 物理集群与虚拟集群

3.4.2 在线迁移虚拟机的步骤与性能影响

3.4.3 内存、文件与网络资源的迁移

3.4.4 虚拟集群的动态部署

3.5 数据中心的自动化与虚拟化

3.5.1 数据中心服务器合并

3.5.2 虚拟存储管理

3.5.3 虚拟化数据中心的云操作系统

3.5.4 虚拟化数据中心的可信管理

3.6 参考文献与习题

第二部分云平台、面向服务的体系结构和云编程

第 4 章构建在虚拟化数据中心上的云平台体系结构

4.1 云计算和服务模型

4.1.1 公有云、私有云和混合云

4.1.2 云生态系统和关键技术

4.1.3 基础设施即服务 (IaaS)

4.1.4 平台即服务 (PaaS) 和软件即服务 (SaaS)

4.2 数据中心设计与互连网络

4.2.1 仓库规模的数据中心设计

4.2.2 数据中心互连网络

4.2.3 运送集装器的模块化数据中心

4.2.4 模块化数据中心的互连

4.2.5 数据中心管理问题

4.3 计算与存储云的体系结构设计

4.3.1 通用的云体系结构设计

4.3.2 层次化的云体系结构开发

4.3.3 虚拟化支持和灾难恢复

4.3.4 体系结构设计挑战

4.4 公有云平台:GAE、AWS 和 Azure

4.4.1 公有云及其服务选项

4.4.2 谷歌应用引擎(GAE)

4.4.3 亚马逊的 Web 服务(AWS)

4.4.4 微软的 Windows Azure

4.5 云间的资源管理

4.5.1 扩展的云计算服务

4.5.2 资源配置和平台部署

4.5.3 虚拟机创建和管理

4.5.4 云资源的全球交易

4.6 云安全与信任管理

4.6.1 云安全的防御策略

4.6.2 分布式入侵 / 异常检测

4.6.3 数据和软件保护技术

4.6.4 数据中心的信誉指导保护

4.7 参考文献与习题

第 5 章面向服务的分布式体系结构

5.1 服务和面向服务的体系结构

5.1.1REST 和系统的系统

5.1.2 服务和 Web 服务

5.1.3 企业多层体系结构

5.1.4 网格服务和 OGSA

5.1.5 其他的面向服务的体系结构和系统

5.2 面向消息的中间件

5.2.1 企业总线

5.2.2 发布 - 订阅模型和通知

5.2.3 队列和消息传递系统

5.2.4 云或网格中间件应用

5.3 门户和科学网关

5.3.1 科学网关样例

5.3.2 科学协作的 HUBzero 平台

5.3.3 开放网关计算环境(OGCE)

5.4 发现、注册表、元数据和数据库

5.4.1UDDI 和服务注册表

5.4.2 数据库和订阅 - 发布

5.4.3 元数据目录

5.4.4 语义 Web 和网格

5.4.5 作业执行环境和监控

5.5 面向服务的体系结构中的工作流

5.5.1 工作流的基本概念

5.5.2 工作流标准

5.5.3 工作流体系结构和规范

5.5.4 工作流运行引擎

5.5.5 脚本工作流系统 Swift

5.6 参考文献与习题

第 6 章云编程和软件环境

6.1 云和网格平台的特性

6.1.1 云的功能和平台的特性

6.1.2 网格和云的公共传统特性

6.1.3 数据特性和数据库

6.1.4 编程和运行时支持

6.2 并行和分布式编程范式

6.2.1 并行计算和编程范式

6.2.2MapReduce、Twister 和迭代 MapReduce

6.2.3 来自 Apache 的 Hadoop 软件库

6.2.4 微软的 Dryad 和 DryadLINQ

6.2.5Sawzall 和 Pig Latin 高级语言

6.2.6 并行和分布式系统的映射应用

6.3GAE 的编程支持

6.3.1GAE 编程

6.3.2 谷歌文件系统(GFS)

6.3.3BigTable——谷歌的 NOSQL 系统

6.3.4Chubby——谷歌的分布式锁服务

6.4 亚马逊 AWS 与微软 Azure 中的编程

6.4.1 亚马逊 EC2 上的编程

6.4.2 亚马逊简单存储服务(S3)

6.4.3 亚马逊弹性数据块存储服务(EBS)和 SimpleDB

6.4.4 微软 Azure 编程支持

6.5 新兴云软件环境

6.5.1 开源的 Eucalyptus 和 Nimbus

6.5.2OpenNebula、Sector/Sphere 和 Open Stack

6.5.3Manjrasoft Aneka 云和工具机

6.6 参考文献与习题

第三部分网格、P2P 和未来互联网

第 7 章网格计算系统和资源管理

7.1 网格体系结构和服务建模

7.1.1 网格历史与服务类别

7.1.2CPU 清除和虚拟超级计算机

7.1.3 开放网格服务体系结构(OGSA)

7.1.4 数据密集型网格服务模型

7.2 网格项目和网格系统创建

7.2.1 国家网格和国际项目

7.2.2 美国的 NSF TeraGrid

7.2.3 欧盟的 DataGrid

7.2.4ChinaGrid 设计经验

7.3 网格资源管理和资源中介

7.3.1 资源管理和作业调度

7.3.2CGSP 的网格资源监控

7.3.3 服务记账和经济模型

7.3.4Gridbus 的资源中介

7.4 网格计算的软件与中间件

7.4.1 开源网格中间件包

7.4.2Globus Tookit 体系结构(GT4)

7.4.3 集装器和资源 / 数据管理

7.4.4ChinaGrid 支持平台(CGSP)

7.5 网格应用趋势和安全措施

7.5.1 网格应用技术融合

7.5.2 网格负载与性能预测

7.5.3 网格安全执行的信任模型

7.5.4 认证与授权方法

7.5.5 网格安全基础设施(GSI)

7.6 参考文献与习题

第 8 章对等计算和覆盖网络

8.1P2P 计算系统

8.1.1P2P 计算系统的基本概念

8.1.2P2P 计算面临的基础挑战

8.1.3P2P 网络系统分类

8.2P2P 覆盖网络及其性质

8.2.1 无结构 P2P 覆盖网络

8.2.2 分布式哈希表(DHT)

8.2.3 结构化 P2P 覆盖网络

8.2.4 混合式覆盖网络

8.3 路由、邻近性和容错

8.3.1P2P 覆盖网络的路由

8.3.2P2P 覆盖网络中的网络邻近性

8.3.3 容错和失效恢复

8.3.4 抗扰动与失效

8.4 信任、信誉和安全管理

8.4.1 节点信任和信誉系统

8.4.2 信任覆盖网络和 DHT 实现

8.4.3PowerTrust:可扩展的信誉系统

8.4.4 加强覆盖网络安全,抵御 DDoS 攻击

8.5P2P 文件共享和版权保护

8.5.1 快速搜索、副本和一致性

8.5.2P2P 内容分发网络

8.5.3 版权保护问题和解决方案

8.5.4P2P 网络中的共谋盗版预防

8.6 参考文献与习题

第 9 章普适云计算、物联网与社会网络

9.1 支持普适计算的云趋势

9.1.1 云计算在 HPC/HTC 和普适计算中的应用

9.1.2NASA 和 CERN 的大规模私有云

9.1.3 灵活和可扩展的云混搭系统

9.1.4 移动云计算平台 Cloudlet

9.2 分布式系统和云的性能

9.2.1 科研云综述

9.2.2 数据密集型扩展计算(DISC)

9.2.3HPC/HTC 系统的性能指标

9.2.4 云计算的服务质量

9.2.5MPI、Azure、EC2、MapReduce、Hadoop 的基准测试

9.3 物联网关键技术

9.3.1 实现普适计算的物联网

9.3.2 射频标识(RFID)

9.3.3 传感器网络和 ZigBee 技术

9.3.4 全球定位系统(GPS)

9.4 物联网创新应用

9.4.1 物联网应用

9.4.2 零售和供应链管理

9.4.3 智能电网和智能建筑

9.4.4 信息物理系统(CPS)

9.5 在线社会网络和专业网络

9.5.1 在线社会网络特征

9.5.2 基于图论的社会网络分析

9.5.3 社会网络社区和应用

9.5.4Facebook:世界上最大的社会网络

9.5.5Twitter:微博、新闻和提醒服务平台

9.6 参考文献与习题

索引

评论

发布
暂无评论