第一章 - 实验室

Download Report

Transcript 第一章 - 实验室

Distributed and Cloud
Computing
分布式与云计算系统
1
Distributed
and Cloud
Computing
Kai Hwang,
Geoffrey Fox,
Jack Dongarra,
published by
Morgan Kaufmann,
Oct. 2011
(648 pages)
2
随着信息技术的广泛应用和快速发展,云计算
作为一种新兴的商业计算模型日益受到人们的广泛
关注。本书是国际上第一本完整讲述云计算与分布
式系统基本理论及其应用的教材。
书中首先简要介绍现代分布式模型,然后介绍
了并行、分布式与云计算系统的设计原理、系统体
系结构和创新应用,并通过开源应用和商业应用例
子,阐述了如何为科研、电子商务、社会网络和超
级计算等创建高性能、可扩展的、可靠的系统。本
书的目的是介绍从传统多处理器和多计算机集群到
Web规模网格、云和未来互联网中泛在使用的P2P网
络,包括大型社会网络和快速发展的物联网。
3
作者简介
Kai Hwang(黄铠) 美国南加州大学电子工程系与
计算机系教授,清华大学首席讲席教授,IEEE终身
会士。
Geoffrey Fox 美国印第安那大学信息、计算与物
理学的杰出教授,信息与计算研究生院副院长。
Jack Dongarra 田纳西大学电子工程与计算机科学
系的大学杰出教授,橡树岭国家实验室杰出研究员,
曼彻斯特大学Turning Fellow。
4
“你是学分布式系统或分布式计算课程的学生吗?如果
是,那么这本书是你的最佳选择。作者首先评价了过去30年
计算和IT趋势中的变革,并讨论了集群计算系统和大规模并
行处理器。接着,针对云计算应用,他们介绍了虚拟机、虚
拟机在线迁移、虚拟集群构建、资源配置和虚拟数据中心设
计。然后,作者介绍了云体系结构和数据中心设计的设计原
理与使能技术,探究了两种主要的分布式服务(REST和Web
服务)以及Web服务在网格系统中的扩展。此外,作者还介
绍了主要的云编程范式: MapReduce、BigTable、Twister、
Dryad、DryadLINQ、 Hadoop、Sawal和Pig Latin。而且书
中还介绍了计算/数据网格中的设计原理、平台体系结构、
中间件、资源管理和服务标准。之后,作者描述了非结构化、
结构化和混合式覆盖网络。最后,他们检测了 IBM、
Salesforce、SGI、Manijarsoft、NASA和CERN构建的一些公
有云和私有云。”
——摘自Amazon读者评论
5
第一部分 系统建模、集群化和虚拟化
 第1章分布式系统模型和关键技术。介绍过去30
年在并行、分布式、云计算领域发生的一些变
革。
 第2章可扩展并行计算集群。主要研究集群计算
系统和大规模并行处理器。
 第3章虚拟机和集群与数据中心虚拟化。介绍了
虚拟机、虚拟机在线迁移、虚拟集群构建、资
源配置、虚拟配置适应,以及用于云计算应用
的虚拟化数据中心的设计。
6
Chapter 1: Enabling Technologies
and Distributed System Models
分布式系统模型和关键技术
7
本章介绍过去30年在变化负载和大数据集的应用
驱动下,并行、分布式、云计算领域发生的一些变
革。
研究了并行计算领域要求高性能和高吞吐量的
一些计算系统,如计算机集群、SOA、计算网格、
P2P网络、互联网云和物联网。这些系统在硬件体系
结构、系统平台、处理算法、通信协议、提供的服
务模型等方面均有所不同。
也介绍了分布式系统中可扩展性、性能、可用
性、安全、节能等方面的基本问题。
8
1.1 互联网之上的可扩展计算
一个并行的、分布式的计算系统使用大量的计
算机解决互联网上的大规模计算问题。
分布式计算的缺点是数据敏感和网络中心化。
互联网计算的时代
平台的变革:1950年代起大型机、小型机、个人
计算机、便携式计算机
高性能计算:HPC系统强调系统的原生速度性能
高吞吐量计算:HTC主要应用于被百万以上用户
同时使用的互联网搜索和Web服务
讨论的问题包括集群、MPP、P2P网络、网格、
云、Web服务、社会网络和物联网。事实上,集群、
网格、P2P网络和云之间的区别将会越来越模糊
9
HPC: HighPerformance
Computing
HTC: HighThroughput
Computing
P2P:
Peer to Peer
MPP:
Massively Parallel
图1-1 HPC和HTC系统的演化趋势(并行、分布
式、云计算,具有集群、MPP、P2P网络、网格、
云、Web服务和物联网)
Processors
10
计算范式间的区别:
集中式计算:这种计算范式是将所有计算资源
集中在一个物理系统之内。所有资源(处理器、内
存、存储器)是全部共享的,并且紧耦合在一个集
成式的操作系统中。
并行计算:在并行计算中,所有处理器或是紧
耦合于中心共享内存或是松耦合于分布式内存。
分布式计算:一个分布式系统由众多自治的计
算机组成,各自拥有其私有内存,通过计算机网络
通信。分布式系统中的信息交换通过消息传递的方
式完成。
11
云计算:一个互联网云的资源可以是集中式的
也可以是分布式的。云采用分布式计算或并行计算,
或两者兼有。云可以在集中的或分布式的大规模数
据中心之上,由物理的或虚拟的计算资源构建。
普适计算是指在任何地点和时间通过有线或者
无线网络使用普遍的设备进行计算。
物联网是一个日常生活对象(包括计算机、传
感器、人等)网络化的连接。物联网通过互联网云
实现任何对象在任何地点和时间的普适计算。
互联网计算这一术语几乎涵盖了所有和互联网
相关的计算范式。
12
HPC和HTC系统需要遵从如下设计原则:
效率:在HPC系统中开发大规模并行计算时,度量
执行模型内资源的利用率。对于HTC系统,效率更依
赖于系统的任务吞吐量、数据访问、存储、节能。
可信:度量从芯片到系统到应用级别的可靠性和
自管理能力。目的是提供有服务质量(QoS)保证的
高吞吐量服务,即使是失效的情况下。
编程模型适应性:度量在海量数据集和虚拟云资
源上各种负载和服务模型下支持数十亿任务请求的
能力。
应用部署的灵活性:度量分布式系统能够同时很
好地运行在HPC(科学和工程)和HTC(商业)应用
上的能力。
13
可扩展性计算趋势和新的范式
位级并行(Bit Level Parallelism,BLP)
指令级并行(Instruction Level Parallelism,
ILP)。通过指令流水线、超标量计算、VLIW体系
结构、多线程实践了ILP。ILP需要分支预测、动态
规划、投机预测、提高运行效率的编译支持。
数据级并行(Data Level Parallelism,DLP)
的流行源于SIMD和使用向量与数组指令类型的向量
机
任务级并行(Task Level Parallelism,TLP)
作业级并行(Job Level Parallelism ,JLP)
14
15
图1-2 现代分布式计算系统中的计算机效用愿景
(Courtesy of Raj Buyya, University of Melbourne, 2011)
Copyright © 2012, Elsevier Inc. All rights reserved.
16
2011 Gartner “IT Hype Cycle” for Emerging Technologies
2010
2009
2011
2008
2007
新技术成熟周期
17
物联网和CPS
物联网是指日常生活中对象、工具、设备或计
算机间存在网络互连。物联网为互联了所有我们生
活中的对象的无线传感器网络。
CPS是计算过程和物理世界之间交互的结果。
CPS集成了“计算节点”(同构,异构)和“物理”
(并发和信息密集的)对象。CPS在物理世界和信
息世界之间将“3C”技术(计算、通信、控制)融
合到了一个智能闭环反馈系统中。
物联网强调物理对象之间的多样化连接,而
CPS强调物理世界中虚拟现实应用的开发和研究。
18
1.2
基于网络的系统技术
多核CPU和多线程技术
19
图1-5 现代多核CPU芯片的层次cache示意图,其中L1
cache是每个核私有的,片上L2 cache是共享的,L3
cache和DRAM是非片上的
20
图1-6 现代CPU处理器的5种微体系结构,通过多核和多线
程技术支持ILP和TLP
21
大规模和超大规模GPU计算
图1-7 数百或数千处理核心的海量并行处理中协同CPU
的GPU使用
22
图1-8 16个流式多处理器(SM),每个有32个CUDA核的
NVIDIA Fermi GPU,只一个SM被展示出来
23
图1-9 GPU性能(中间的曲线,2011年每个核心5
Gflops/W),相比较低的CPU性能(下面的曲线,2011年每个
核心0 8 Gflops/W),以及2011年预计未来每个核心60
Gflops/W的性能(上面曲线中的EF)
24
内存、外部存储和广域网
图1-10 过去33年中内存和磁盘技术的改进。2011年,
Seagate Barracuda XT磁盘容量为3TB
25
系统区域互连
图1.11三种连接服务器、客户机、存储设备的互连网络,LAN连接客户机和
服务器,SAN连接服务器和磁盘阵列,NAS连接客户机和网络环境中大规模
存储系统
26
虚拟机和虚拟化中间件
建立大规模集群、网格和云,我们需要以虚拟的方式访问
大量的计算、存储和网络化资源。我们需要集群化这些资源,
并希望提供一个单独的系统镜像。
图1-12 三种虚拟机体系结构与传统的物理机的比较
27
Primitive Operations in Virtual Machines:
图1-13 分布式计算环境中的虚拟机复用、挂起、供应和迁移
28
Datacenter and Server Cost Distribution
图1-14 近年来,数据中心的服务器数量增长和成本分析
29
Data Deluge Enabling New Challenges
(Courtesy of Judy Qiu, Indiana University, 2011)
30
Concept of Virtual Clusters
(Source: W. Emeneker, et et al, “Dynamic Virtual Clustering with Xen and Moab,
ISPA 2006, Springer-Verlag LNCS 4331, 2006, pp. 440-451)
Copyright © 2012, Elsevier Inc. All rights reserved.
31
1.3 分布式和云计算系统模型
分布式和云计算系统都建立于大量自治
的计算机节点之上。这些节点通过SAN、LAN
或WAN以层次方式互连。
大系统被认为高可扩展,并能在物理上
或逻辑上达到Web规模互连。
大系统被划分为四组:集群、P2P网络、
计算网格、大数据中心之上的互联网云。
32
33
协同计算机集群
A Typical Cluster Architecture
图1-15 服务器集群通过高带宽SAN或LAN互连以共享I/O设备
和磁盘阵列;集群以一个单独计算机的身份接入互联网
34
单系统镜像
集群应该合并多个系统镜像到一个单系统镜像
(SSI)。集群设计者期待一个集群操作系统或者一
些中间件在各个级别支持SSI。
硬件、软件和中间件支持
几乎所有的Top500中的HPC集群都是MPP的。基
本的构成部件包括计算机节点(PC、工作站、服务
器或SMP)、特殊的通信软件(如PVM或MPI)和每个
计算机节点上的网络接口卡。特殊的集群中间件支
持是用来实现SSI或高可用性
主要的集群设计问题
没有一个适合集群的完全资源共享的操作系统。
软件环境和应用依靠中间件来达到高性能。
35
网格计算的基础设施
在过去30年,用户经历了一个从互联网到Web和
网格计算服务的自然发展。互联网服务(如Telnet
命令)使本地计算机可以连接到一台远程计算机。
一个Web服务(如HTTP)使远程访问Web页面成为可
能。网格计算被预想用于同时在多台远距离计算机
上运行的应用间进行近距离交互。
网格呈现为集成的计算资源。它们也可以被视
为支持虚拟组织的虚拟平台。
36
图1-16 计算网格或数据网格通过资源共享和多个组织间合
作提供了计算效用、数据和信息服务
38
39
A Typical Computational Grid
40
对等网络家族
客户端服务器体系结构。客户机(PC和工作站)
被连接到一个中央服务器,用来进行计算、电子邮
件、文件访问和数据库应用。P2P体系结构提供了
一个分布式的网络化系统模型。
在一个P2P系统中,每个节点既是客户端又是
服务器,提供部分系统资源。
节点机器都是简单的接入互联网的客户机。所
有客户机自治、自由地加入和退出系统。不存在主
从关系。
无需中心协作或中心数据库。系统是分布式控
制下自组织的。
41
覆盖网络:数据项或文件分布在一起参加的节
点中。基于通信或文件共享需求,对等节点ID在
逻辑层形成一个覆盖网络。
P2P计算在硬件、软件和网络需求上面临三类
异构问题。有太多的硬件模型和体系结构而无法
选择;软件和操作系统间不相容;33不同的网络
连接和协议使其过于复杂而无法应用于真实应用。
数据位置对集体性能的影响也很重要。数据
局部性、网络邻近性和互操作性是分布式P2P应用
的设计目标。
42
图1-17 通过映射物理IP网络到一个覆盖网络络建立虚拟
链接的P2P系统结构
43
44
互联网上的云计算



数据爆炸促发了云计算的思想。
IBM给出了如下定义:“云是虚拟
计算机资源池。云可以处理各种不
同的负载,包括批处理式后端作业
和交互式用户界面应用。”
云通过迅速提供虚拟机或物理机允
许负载被快速配置和划分。云支持
冗余、自恢复、高可扩展编程模型,
以允许负载从许多不可避免的硬件
/软件错误中恢复。最终,云计算
系统可以通过实时监视资源来确保
分配在需要时平衡。
Copyright © 2012, Elsevier Inc. All rights reserved.
45
Basic Concept of Internet Clouds
图1.18数据中心的虚拟化资源形成互联网云,向付费用户提供硬件、软件、
存储、网络和服务以运行他们的应用
46
The Next Revolution in IT
Cloud Computing
Every 18 months?

Classical Computing

Buy & Own


Hardware,
System Software,
Applications
often to meet
peak needs.

Install, Configure,
Test, Verify,
Evaluate

Manage

..

Finally, use it

$$$$....$(High CapEx)
Cloud Computing


Subscribe
Use
(Courtesy of Raj Buyya, 2012)

$ - pay for what you47
use, based on QoS
Copyright © 2012, Elsevier Inc. All rights reserved.
云计算提供了一个虚拟化的按需动态供应硬件、
软件和数据集的弹性资源平台。
基础设施即服务(IaaS):这个模型将用户需要
的基础设施(即服务器、存储、网络和数据中心构造)
组合在一起。用户可以在使用客户机操作系统的多个
虚拟机上配置和运行指定应用。
平台即服务(PaaS):这个模型使用户能够在一
个虚拟的云平台上配置用户定制的应用。PaaS包括中
间件、数据库、开发工具和一些运行时支持(如Web
2.0和Java)。
软件即服务(SaaS):这是指面向数千付费云用户
的初始浏览器的应用软件。SaaS模型应用于业务流程、
工业应用、客户关系管理、企业资源计划、人力资源
和合作应用。
48
图1-19 主要提供商的云前景中的三个云服务模型
49
Cloud Computing Challenges:
Dealing with too many issues
(Courtesy of R. Buyya)
Scalability
Reliability
Billing
Utility & Risk
Management
Software Eng.
Complexity
Programming Env.
& Application Dev.
50
1.4 分布式系统和云计算软件环境
面向服务的体系结构(SOA)
图1-20 Web服务和网格的层次化体系结构
51
图1-21 SOA变革:云网格和网格,其中“SS”指传感器服务,
“fs”指过滤或转化服务
52
网格与云
网格和云之间的界限近年来变得越来越模糊。
对于Web服务,工作流技术用于协调或编排具有指
定规范的服务,其中这些规范用于定义关键业务
流程模型,如两阶段事务。
网格系统使用静态资源,而云强调弹性资源。
网格和云之间的不同仅限于基于虚拟化和自
治计算的动态资源管理。可以通过多个云建立网
格。这种网格比一个单纯的云能更好的工作,因
为它能明确支持协议资源分配。从而可以建立系
统的系统,如云之云、云网格、网格云,或互联
云作为一个基本SOA体系结构。
53
分布式操作系统趋势
54
Transparent Cloud Computing Environment
图1-22 在时间和空间上分离了用户数据、应用、操作系
统和硬件的透明计算环境 —— 云计算的一个理想模型
55
并行和分布式编程模型
56
Grid Standards and Middleware :
57
1.5 性能、安全和节能
性能度量:
分布式系统中性能与许多因素相关。系统吞吐量
经常用MIPS、Tflops(每秒T浮点运算次数)或
TPS(Transactions Per Second,每秒事务数)
测量。其他度量包括作业响应时间和网络延迟。
系统开销通常归因于操作系统启动时间、编译时
间、I/O数据速率和运行时支持系统消耗。其他性
能相关度量包括互联网和Web服务的QoS、系统可
用性和可靠性,以及系统抵抗网络攻击的安全弹
性。
58
可扩展性:
规模可扩展性:指通过增加机器数量来获取更
高的性能和更多的功能。
软件可扩展性:指升级操作系统或编译器,增
加数学和工程库,移植新的应用软件,安装更
多的用户友好的编程环境。
应用可扩展性:指问题的规模扩展与机器的大
小扩展相匹配。
技术可扩展性:指系统可以适应构建技术的变
化
59
System Scalability vs. OS Multiplicity
图1-23 基于2010年技术的多重操作系统镜像与系统可扩展性
60
Amdahl定律:
加速比 = S= T/[αT + (1-α)T/n]=1/[α +(1-α)/n]
固定负载加速比:
E=S/n =1/[αn +1-α](1 2)
系统效率通常非常低,尤其是当集群规模非常大时。
Gustafson定律: 扩展负载加速比
S′=W′/W = [αW + (1-α)nW]/W = α+ (1-α)n
通过固定并行处理时间在级别W,可以得到效率:
E′=S′/n= α/n +(1- α)
在不同的负载条件下,应该灵活选用Amdahl定律和
Gustafson定律。对于固定负载,应采用Amdahl定律。
为了解决扩展规模的问题,应采用Gustafson定律。
61
系统可用性 = MTTF/(MTTF +MTTR)
图1-24 通过2010年常规配置的系统规模估计系统可用性
62
网络威胁与数据完整性
图1-25 对计算机的各种系统袭击和网络威胁及造成的4种损失
63
运行服务器的节能
图1-26 分布式运算系统的4个操作层
64
DVFS节能方法能够利用因任务交互而招致的松弛时
间以一个低电压、频率执行任务
图1-27 通过在松弛时间降低频率或电压,DVFS技术(右)
节约的能量与传统方式(左)的比较
65
Four Reference Books:
1. K. Hwang, G. Fox, and J. Dongarra, Distributed and Cloud
Computing: from Parallel Processing to the Internet of Things
Morgan Kauffmann Publishers, 2011
2. R. Buyya, J. Broberg, and A. Goscinski (eds), Cloud Computing:
Principles and Paradigms, ISBN-13: 978-0470887998, Wiley Press,
USA, February 2011.
3. T. Chou, Introduction to Cloud Computing: Business and
Technology, Lecture Notes at Stanford University and at Tsinghua
University, Active Book Press, 2010.
4. T. Hey, Tansley and Tolle (Editors), The Fourth Paradigm : DataIntensive Scientific Discovery, Microsoft Research, 2009.
66