云计算的机遇与挑战

advertisement
云计算的挑战与机遇




2015/4/13
郑纬民
清华大学计算机系
zwm-dcs@tsinghua.edu.cn
4/13/2015
1
提纲
一、什么是云计算
二、三种形式的“云”
三、清华云计算平台
四、云计算关键技术
五、云计算的影响
2015/4/13
2
一、什么是云计算
2015/4/13
3
云计算用于描述基
于因特网的分布式
计算及其相关应用
云计算就是基于
互联网的计算
云是一组数量众多
的互联到一起的计
算机,可以是公共
的或私有的
云计算是虚拟化、网格
计算、分布式计算、公
共计算、WEB2.0、SaaS
等众多新技术的融合
云计算是用户友
好的网格计算
云计算就是将以前
那些需要大量软硬
件投资以及专业技
术能力的应用,以
基于 Web 服务的方
式提供给用户。
云计算就是SaaS
的升级版
关于云计算的N种说法
云计算就是用户根
据资源实际使用量
来付费的IT信息系
统
云计算是分布式
计算、并行计算和
网格计算的发展
云是一个庞大的资源池,
你按需购买;云是虚拟
化的;云可以象自来水,
电,煤气那样计费。
只有三种服务是基于
“云”的,SaaS,PaaS
和云计算平台
云计算就是新的
Web2.0
2015/4/13
4
学术界对云计算尚无统一定义
出处
M. Klems
P. Gaw
R. Buyya
R. Cohen
J. Kaplan
D. Gourlay
D. Edwards
B. de Haff
定义/概念
you can scale your infrastructure on demand within minutes or even seconds, instead of days or weeks, thereby voiding under-utilization (idle servers) and over-utilization (blue
screen) of in-house resources...
using the internet to allow people to access technology-enabled services. Those services must be massively scalable...
A Cloud is a type of parallel and distributed system consisting of a collection of interconnected and virtualized computers that are dynamically provisioned and presented as one or
more unified computing resources based on service-level agreements established through negotiation between the service provider and consumers
Cloud computing is one of those catch all buzz words that tries to encompass a variety of aspects ranging from deployment, load balancing, provisioning, business model and
architecture (like Web2.0). It's the next logical step in software. For me the simplest explanation for Cloud Computing is describing it as, Internet centric software...
A broad array of web-based services aimed at allowing users to obtain a wide range of functional capabilities on a 'pay-as-you-go' basis that previously required tremendous hardware/software investments and professional skills to acquire. Cloud computing is the realiza-tion of the earlier ideals of utility computing without the technical complexities or
complicated deployment worries...
...the next hype-term...building off of the software models that virtualization enabled
...what is possible when you leverage web-scale infrastructure (application and physical) in an on-demand way...
...There really are only three types of services that are Cloud based: SaaS, PaaS, and Cloud Computing Platforms. I am not sure being massively scalable is a requirement to fit
into any one category.
B. Kepes
...Put simply Cloud Computing is the infrastructural paradigm shift that enables the ascen-sion of SaaS. ... It is a broad array of web-based services aimed at allowing users to
obtain a wide range of functional capabilities on a pay-as-you-go basis that previously required tremendous hardware/software investments and professional skills to acquire
Michael Brown
A data-processing infrastructure in which the application software and often the data itself is stored permanently not on your PC but rather a remote server that's connected to the
nternet (Brown, 2009).
K. Sheynkman
Clouds focused on making the hardware layer consumable as on-demand compute and storage capacity. This is an important first step, but for companies to harness the power of
the Cloud, complete application infrastructure needs to be easily configured, deployed, dynamically-scaled and managed in these virtualized hardware environments
O. Sultan
K. Hartig
J. Pritzker
T. Doerksen
T. von Eicken
M. Sheedan
A. Ricadela
I. Wladawsky Berger
...In a fully implemented Data Center 3.0 environment, you can decide if an app is run locally (cook at home), in someone elses data center (take-out) and you can change your
mind on the fly in case you are short on data center resources (pantry is empty) or you having environmental/facilities issues (too hot to cook). In fact, with automation, a lot of this
can can be done with policy and real-time triggers...
..really is accessing resources and services needed to perform functions with dynamically changing needs...is a virtualization of resources that maintains and manages itself.
Clouds are vast resource pools with on-demand resource allocation...virtualized ...and priced like utilities
Cloud computing is ... the user-friendly version of Grid computing
outsourced, pay-as-you-go, on-demand, somewhere in the Internet, etc
…'Cloud Pyramid' to help differentiate the various Cloud offerings out there...Top: SaaS; Middle: PaaS; Bottom: IaaS
...Cloud Computing projects are more powerful and crash-proof than Grid systems developed even in recent years
...the key thing we want to virtualize or hide from the user is complexity...all that software will be virtualized or hidden from us and taken care of by systems and/or professionals
that are somewhere else -out there in The Cloud
B. Martin
Cloud computing encompasses any subscription-based or pay-per-use service that, in real time over the Internet, extends IT's existing capabilities
R. Bragg
The key concept behind the Cloud is Web application... a more developed and reliable Cloud. Many find it's now cheaper to migrate to the Web Cloud than invest in their own
server farm ... it is a desktop for people without a computer
Gruman and Knorr Cloud is all about: SaaS...utility computing...Web Services... PaaS...Internet integra-tion...commerce platforms....
P. McFedries
Cloud Computing, in which not just our data but even our software resides within the Cloud, and we access everything not only through our PCs but also Cloud-friendly devices,
such as smart phones, PDAs... the megacomputer enabled by virtualization and software as a service...This is utility computing powered by massive utility IDCs
5 for
Jaeger,2015/4/13
Grimes Lin,, An emerging model of computing where machines in large data centers can be dynamically provisioned, configured, and reconfigured to deliver servicesin a scalable manner,
and Simmons
needs ranging from scientific research to video sharing to email (Jaeger, et al., 2009).
权威机构对云计算定义不尽相同







维基百科:云计算是一种将规模可动态扩展的虚拟化资源通过Internet提
供对外按需使用服务的计算模式,用户无需了解提供这种服务的底层基础
设施,也无需去拥有和控制。
百度百科:狭义云计算是指IT基础设施的交付和使用模式,指通过网络以
按需、易扩展的方式获得所需的资源(硬件、平台、软件)。广义云计算
是指服务的交付和使用模式,指通过网络以按需、易扩展的方式获得所需
的服务。
IBM:一个虚拟化的计算机资源池 。托管多种不同的工作负载通过快速提
供虚拟机器或物理机器,迅速部署和增加工作负载。
Google:以公开的标准和服务为基础,以互联网为中心,提供安全、快速、
便捷的数据存储和网络计算服务。
微软:“云-端计算”即“云”和终端都会具备很强的计算能力;所有应用
程序都在本地终端上使用也不一定合理,因此强调“云”和终端的均衡将
是一种合理的方式; 云是“软件+服务”的综合。
美国国家标准与技术研究院 (NIST):云计算是一种资源利用模式,它能
以简便的途径和以按需的方式通过网络访问可配置的计算资源(网络、服
务器、存储、应用、服务等),这些资源可快速部署,并能以最小的管理
代价或只需服务提供商开展少量的工作就可实现资源发布。
Berkeley大学:云计算是包含互联网上的应用服务及在数据中心提供这些
服务的软硬件设施。
对云计算的理解的现状
“一个概念,多种表述”

从事云计算研究的人员具有不同背景(互联网服务、网格计
算、软件工程、数据库等),他们从不同角度(业务、应用
、技术、平台等)来看待云计算;

支撑云计算的使能技术(enabling technology)是多种多
样的,并且这些技术仍在不断发展变化;

云计算的应用规模还不足以使其概念人人皆知 ;

媒体对云计算铺天盖地的宣传进一步模糊了其本质 ;

每家企业和机构对云计算及其前景的解析都或多或少地结合
了企业自身的业务方向和现实利益 。

云计算本质上是一种新的提供资源按需租用的服务模式,是
一种新型的互联网数据中心(Internet Data Center,IDC
)业务。

云计算业务与传统IDC业务的相似点:




业务运营模式相似。均是提供IT基础设施资源的租用,盈利模式也以
收取租用费为主。
目标客户相似。主要目标客户均是ICP以及大量无法自行建立数据中心
的中小企业客户。
业务运营需要的基础条件相似。都需要建设一定规模的数据中心
云计算业务与传统IDC业务的差别:



租用资源范围差别。云计算业务中,提供租用的资源范围广泛延伸,
不仅是服务器、带宽,还可以包括存储系统、系统软件平台、应用软
件和服务等。
服务能力差别。云计算业务提供“弹性”的按需扩展的资源租用服务
资源透明性差别。在云计算业务中,用户并不需要了解资源的物理信
息。
云计算业务的五个特征
1、基础资源租用
云计算业务提供对计算、存储、网络、软件等多种IT基础设施资源租
用的服务。云计算业务的用户不需要自己拥有和维护这些资源。
2、按需弹性使用
云计算业务的用户能够按需获得和使用资源,也能够按需撤销和缩减
资源。云计算平台可以按用户的需求快速部署和提供资源。云计算业务的
付费服务应该按资源的使用量计费。
3、透明资源访问
云计算业务的用户不需要了解所使用资源的物理位置和配置等信息。
4、自助业务部署
云计算业务的用户利用业务提供商提供的接口,通过网络将自己的数
据和应用程序部署于云计算平台的后端数据中心,而无需服务商的人工配
合 。
5、开放公众服务
云计算业务用户所部署的数据和应用可以通过互联网发布给其他用户
共享使用,即提供公众服务。
有了云计算,广大用户无需自购软、硬
件,甚至无需知道是谁提供的服务,只关注
自己真正需要什么样的资源或者得到什么样
的服务。
2015/4/13
10
二、 三种形式的“云”
2015/4/13
11
云计算的分类

软件即服务(SaaS):提供商在云计算设施上运行程序,用户通过各
种客户端设备的瘦客户界面(如网页浏览器、基于网页的电子邮件)
使用这些应用程序。

平台即服务(PaaS):用户采用提供商支持的编程语言和工具编写好
应用程序,然后放到云计算平台上运行。

基础设施即服务(IaaS):用户将部署处理器、存储系统、网络及其
他基本的计算资源,并按自己的意志运行操作系统和应用程序等软件
。
一切皆为服务
云计算应用
云计算平台
2015/4/13
13
三种形式云:
1.基础设施云 (IaaS)
2.平台云 (PaaS)
3.应用云 (SaaS)
2015/4/13
14
基础设施云
功能
价值
典型代表
将计算和存储以授权服务形式提供。其核心是将
某一或某几个数据中心的计算/存储资源虚拟化,
以灵活划分资源。
云计算的基础架构一般架设在拥有大规模计算和
存储的数据中心。使得中小企业部门也能够利用
到原来大型企业才具备的信息基础设施多个应用
共享基础设施也降低了成本。
Amazon’s EC2
基础设施云
基础设施云结构
基础设施云基础架构平台按功能分为四层 ——
物理设施、虚拟化、资源管理、服务提供
功能描述
 虚拟化物理设施,生成一
个高效灵活的资源池
 管理层管理、部署、监控
物理资源和资源池
 服务提供层组合管理层的
功能提供某种形式的服务
基础设施云
Amazon AWS
Amazon的弹性计算云平台由一组被称为
Amazon AWS 服务来实现
Amazon AWS 服务包括
–EC2 虚拟服务器
–S3
存储服务(Simple Storage Service,S3)
–SQS 主机之间的消息队列服务
–SimpleDB
一个网络数据库服务
基础设施云
Amazon AWS
弹性计算云平台为用户或者开发人员提供了一个虚拟的
集群环境。而弹性计算云中的实例是一些真正在运行中的虚
拟机服务器,每一个实例代表一个运行中的虚拟机。对于提
供给某一个用户的虚拟机,该用户具有完整的访问权限,包
括针对此虚拟机的管理员用户权限。
基础设施云
IBM蓝云
IBM在2007
年11月15日
推出了蓝云
计算平台。
整个系统结
构由图所示。
基础设施云
IBM蓝云
蓝云计算平台中部署、监控、应用服务器、
数据库等采用了IBM自己的产品。
关键功能则全部由开源软件实现:

大规模数据处理和存储
Hadoop (开源的Map/Reduce实现系统)

虚拟化
开源软件Xen
平台云
功能
平台可以使开发者不用关心后台大规模服务器
的工作细节,给开发者提供一个透明安全功能
强大的运行环境和开发环境.
价值
平台屏蔽了部署、发布等应用开发细节,并且
提供了一些支持应用开发的高层接口以及开发
工具。
典型代表
Google App Engine,Heroku,Azure,Force.com
平台云
Google App Engine
Google App Engine 提供用户在
Google 的基础架构上设计、发布应用
程序的功能。每个免费帐户都可使用
500MB 存储空间,以及每月约 500 万
页面浏览量的CPU 和宽带。
平台云
Google App Engine
Google的基础架构环境 :
– Distributed storage:
•Distributed File System (GFS)
– Distributed semi-structured data system
•BigTable
– Distributed data processing system
•MapReduce
Google App Engine应用平台 :
– Python 语言开发、测试环境
– API集合(包括:数据库、Web服务、邮件、缓存、图片处理
等)。
应用云
功能
价值
典型代表
直接面对最终软件用户,常以SaaS(Software
as a Service:软件应用服务)形式出现。软
件系统各个模块可以由每个用户自己定制、配
置、组装和测试、得到满足客户自身需要的软
件系统 。
降低软件系统使用、维护、运行和支持成本
SalesForce,Google Apps,Zoho Office,Webex
应用云
Salesforce
Salesforce是一家客户关系管理(CRM) 软
件服务提供商。顾客通过订购 Salesforce服
务,直接通过浏览器登录就可以使用所有功能。
Salesforce公司目前拥有13900家客户和
227000个人订户,是最大的商务应用云提供商。
( 现在Salesforce也推出了自己的 具有应用框架模
板的应用平台云:Force.com )
应用云
Google Apps
Google Apps 是Google推出的中小企业套装软件,
包括电子邮箱、网站(放置在google的服务器上,所
见即所得的傻瓜式编辑方式)、可以合作编辑的在线
Offices(涵盖常用的word/powerpoint/excel等应
用)、日历、即时聊天(Gtalk)等。
Google Apps所有应用程序后台均运行在Google的基
础信息架构上。
三、清华云计算平台
2015/4/13
27
清华大学云计算平台
1.云存储系统Corsair
2.云计算系统NOVA
3.云计算客户端可迁移个性化软件运行环境
4.手机访问云端
28
1.云存储系统Corsair
实现文件数据的存储和共享,提供本地资
源和网络资源的统一文件管理视图
为社区用户提供
共享存储服务
2015/4/13
为个人用户提供
共享存储服务
为全部用户提供
共享存储服务
29
Corsair系统架构
2015/4/13
30
Corsair的特性
快速共享
简单的申请操作和审批就可以拥有100 -200GB的社区空间
移动U盘
简单的申请操作就可以拥有2GB-4GB的个人空间
“硬盘扩容”
每个用户都可以拥有40TB的网络共享资源
用户响应速度和数据传输速度快(清华校内5MBps)
简单易用
2015/4/13
31
Corsair Interface
2015/4/13
32
Corsair的传输性能
2015/4/13
33
Corsair客户端下载情况
2015/4/13
34
Corsair在清华校内的
实际部署及使用情况
部署情况:100TBytes的总存储空间,三个数据中心
使用情况:2008年12月1日正式发布至2009年12月1日止
Register Users
270
Data
60TB
Traffic per day
1.3TB
Frequency
(person per day)
3,012
2015/4/13
2009.12.1
Registered
Communities
2009.9.1
10,778
2009.6.1
Registered Users
12000
10000
8000
6000
4000
2000
0
2009.3.1
50,154
2008.12.1
Software
Downloads
35
2.云计算系统NOVA--虚拟化集群
1.
2.
3.
2015/4/13
为用户提供各种按需定制的云计算计算设施
通过浏览器使用
不改变用户使用习惯
一键式定制使用
36
为什么要实现虚拟化集群


Clusters are often shared by different users
and institutes
Users may wish to run applications on high
performance systems with different software
environment requirement


2015/4/13
Linux kernel 2.6, 2.4
Windows
37
Solutions

Virtual Machine based HPC management
and scheduling


Easy to provide different environments for
different users
Virtual cluster interface



VM: create, start, suspend, resume, stop, delete
Virtual Cluster: create, start, suspend, resume, stop,
delete
Issues


2015/4/13
Overhead of VM
Storage overhead of multiple VMs
38
虚拟化集群
VM Repository
VMM
.NET
DirectX
MPI
.NET
DirectX
MPI
.NET
DirectX
MPI
Windows
DirectX
MPI
2015/4/13
VMM
VMM
39
虚拟化集群
.NET
DirectX
MPI
VMM
VM Repository
PHP
MySQL
Apache
PHP
PHP
MySQL
MySQL
Apache
Apache
Windows
Redhat
Linux
DirectX
MySQL
MPI
Apache
.NET
2015/4/13
DirectX
VMM
MPI
.NET
DirectX
VMM
MPI
40
User View of Virtual Cluster
Virtual Machine
Repository
Saving and Deployment
Control
User Operation
Interface
2015/4/13
Cluster
41
NOVA系统流程
2015/4/13
42
NOVA特点

无需安装和配置过程
用户通过浏览器即可使用

高效性
软件通过虚拟化方式和操作系统绑定

计算和存储集成
用户的计算环境建立之后,用户在云存储里的
存储空间会自动挂载到用户的系统当中,用户
的输入和输出永远都在用户自己的云空间里面,
随时随地各种方式访问和实用个人数据
2015/4/13
43
Nova: 创建机群
2015/4/13
44
使用:Linux
2015/4/13
45
监管
2015/4/13
46
Nova运行过程
2015/4/13
47
3.云计算的客户端可迁移个性化软件
运行环境
一种新的端到云解决方案,用户
无需本地安装软件,就能够直接在客
户端上运行存储于云端的现有软件(
如现有的Office应用、多媒体播放、
网络应用等桌面软件)。
2015/4/13
48
4.移动云计算平台
------通过手机访问云计算平台
2015/4/13
49
移动互联网是未来网络计算的核心
预计到2015年,全球将有近40
亿使用手机作为移动互联网终
端,是现有PC机数量的10倍
互联网
许多用户将把手机作为其访问
互联网的主要设备
移动互联网终端面临的三个基本限制

网络终端的安全性和可管理性问题



电池容量


设备的更换和丢失频繁
用户不具备计算机使用经验
有限电池容量使得移动终端本身的功能和性能受到
限制,无法直接运行PC上的传统应用程序
网络的稳定性

无线网络所固有的连接断续、带宽震荡问题
移动互联网更加需要云计算的支持

网络终端的安全性和可管理性问题
设备的更换和丢失频繁
 用户不具备计算机使用经验
数据存储在云上,更加可靠地存放、搜索与读取
利用云计算技术保证系统的安全性与管理性


电池容量

有限电池容量使得移动终端本身的功能和性能受到限制,
无法直接运行PC上的传统应用程序
计算放到云上执行,扩展移动终端能力,降低功
耗
2015/4/13
52
移动云计算平台功能

安全性与管理性增强


应用程序的云化


利用云端的计算能力
离线支持


对客户端的数据、操作系统与应用程序进行网络化
存储与管理
降低对网络的依赖性
功耗优化

2015/4/13
减少不必要的通信
53
几类现有的移动应用模式
应用模式
编程语言
程序存储
程序执行
典型应用
传统本地
应用
任意
客户端本地安装
本地,可不进行网络通信
单机游戏
日程表
词典,闹钟等
Web应用
HTML +
JavaScript
服务器
每次执行时浏览器通过网
络下载程序代码到客户端
本地执行,
并通过网络与服务器通信
完成程序功能
GMail
Facebook
GoogleMap等
远程执行
应用
任意
服务器
服务器
文档阅读器等
执行时在服务器运行程序,
程序无需下载,运行结果
下载到客户端
移动应用模式的发展趋势
•
目前主流的移动应用仍然是本地应用程序
–
–
–
•
Web应用正在快速发展
–
–
–
–
•
开发环境成熟,执行效率高,减少移动终端的能耗
可离线运行,良好的离线体验
大量功能丰富的现有应用(AppStore : 15万, Android Market: 5万)
跨平台的开发
对数据共享的支持
应用的安全性、管理性较优
HTML5提供了丰富的交互性和有限的离线存储能力
远程执行应用可以作为以上两种模式有益的补充
–
–
为解决程序的移植性提供了很好的解决方案
缺点是通信带宽消耗大,在高延迟网络下不适合交互性任务,网络资费
高,耗电
未来5年将是本地应用程序与Web应用共存的阶段
移动云计算平台必须同时有效支持以上几类应用模式
现有的移动云计算平台特点
•
Google
–
–
•
Apple
–
–
•
iPhone OS:主要用于iPhone和iPad,支持原生应用,速度较快
iPad采用Apple自主研制的A4芯片,软硬件协同设计,性能与功
耗指标较好
Palm
–
•
ChromeOS : 支持HTML5 和 JavaScript的Web应用,主要用于上
网本,由于不需要安装应用程序,操作系统和浏览器可设为只
读,系统具有较好的安全性和管理性
Android:采用改进的Java虚拟机提供应用的移植性,内置
Gmail, GoogleMap客户端等,主要用于手机
WebOS:开发语言采用HTML + JavaScript,用于Palm手机
清华大学与中国移动卓望公司
–
TNOS 4.0 : 实现在互联网终端上基于有线和无线网络,对实
例操作系统、应用程序和数据的网络化管理,保证了系统具有
较好的安全性和管理性,可用于上网本和手机
现有系统存在的问题
•
Android, iPhoneOS, WebOS
•
•
•
•
所有应用程序仍然完全在本地下载安装
对本机存储空间要求高,经常出现本机无法装载应用程序的
问题,如Google G1手机可安装程序的空间仅有128MB
应用程序的安全性、升级、版权管理机制复杂,例如无法提
供很好的试用、购买体验
ChromeOS
–
采用浏览器作为唯一的应用程序运行平台
•
•
•
对大量现存的本地原生应用程序无法有效支持
离线体验差
TNOS 4.0
•
主要在MetaOS层次对系统进行网络化管理,使用现有的实例
操作系统如Windows,Linux。而某些实例操作系统如Windows
的应用程序安装需要注册表等复杂的全局操作,使得系统安
全性和用户使用的灵活性很难同时保证
理想的移动云计算平台
•
对操作系统本身、各种应用和用户数据均能进
行透明的网络化管理,对用户来说
–
–
–
–
–
无需知道自己正在运行的是那一类应用程序,都可
有效支持
无需知道该程序的数据和代码存放在哪里
无需关心程序在哪里执行
无需关心操作系统和程序的安装、升级、杀毒、卸
载等
离线和网络带宽较低时仍能提供部分服务
TNOS 4.0 特点
云客户端操作系统,可以对本地应用和Web应用同时提供良好
的安全性和可管理性,并提供良好的离线体验
 云化本地应用,无需完全下载、安装,即可使用
 支持宽带无线网络的虚拟存储管理
 软硬件结合的功耗管理技术
 研究操作系统如何通过硬件传感器获取系统状态,并以系
统状态指导硬件的操作
 研究支持TD网络的优化网络协议,以减少通信量,降低系
统功耗
 云服务端操作系统
 海量数据的储存与搜索
 支持新的商业模式
 订阅与试用
2015/4/13
59

iStreaming
2015/4/13
60
iCamera
2015/4/13
61
iFriend
2015/4/13
62
四、云计算关键技术
2015/4/13
63
1.虚拟化技术
2,数据中心构建技术
3.云计算安全技术
4.云计算编程模型
5.云计算接入端设备多元化个性化技术
2015/4/13
64
五、云计算的影响
1.影响一:软件快速向服务模式转型
2.影响二:接入端设备多元化个性化
3.影响三:虚拟化和并行计算将广泛应用
4.影响四:大学的课程
2015/4/13
65
影响一:软件快速向服务模式转型
从产品销售模式转向在线服务
模式
•软件销售收入是传统软件企业
的主要收入来源
•目前,软件行业正由产品销售
向“软件即服务(Softwareas-a-Service,SaaS)” 模式
发展,SaaS将成为未来软件行
业的主流模式
2015/4/13
软件和应用
不同模式下企业的软件使用成本
正版
盗版
SaaS
购买硬件
购买硬件
不需购买
购买软件
低价/免费盗
版软件
不需购买
雇佣IT人员
雇佣IT人员
支付SaaS服务费
66
产业结构面临调整
云计算使得信息服务的社会化成为
可能,改变了大众需求,催生新的
市场和新的服务业;
各类应用软件
38%
软件产业结构发生变化,基于内容
的信息服务业所占比重越来越大:
单机的系统软件和中间件所占比重
逐渐减小,软件依附于应用;
嵌入式软件更加个性化、柔性化。
中间件
8%
系统软件
20%
内容服务软件
12%
嵌入式软件
22%
如:消费群体,My MP3,个人匹配兴趣搜索引擎等
2008年我国软件产值构成分析
2015/4/13
67
影响二:接入端设备多元化个性化
更多的数字终端都可接入云计算服务,例如:
台式机、笔机本、上网本、手机、电视机、冰箱等都
是接入设备
2015/4/13
68
影响三:虚拟化和并行计算将广泛应用
分一为多
合多为一

2015/4/13
软件和应用
并行计算:通过整合分散的计算资源
虚拟化技术:在单一物理服务器上同时运
(多台普通服务器/多个CPU)的计算
行多个虚拟机,让一台计算机同时为多个
能力,形成计算资源的集中和融合,
用户提供独立的计算能力,可大大提高现
实现在低成本下的高性能计算
有硬件的利用效率
通过并行计算,可以最大程度实现运算资源的集中;而利用虚拟化技术,
可将集中化的计算资源用于不同的计算任务,并极大地提高现有计算资
源的利用效率。
69
存储技术趋势:从传统存储到云存储

硬件和系统
技术革新不断降低存储成本,最新的“云存储”更是 如此

传统存储方案使用昂贵的专业设备搭建基于光纤的存储网络

基于IP的存储网络,通过以太网互联,既改善兼容性又降低初始成本,主导
此技术的几家创新公司已成功上市

最新的云储存技术使用普通服务器即可构建直连式存储,初始和运营存储成
本都大大降低了
存储成本由高到低
– 传统“巨头”
– 专业存储方案
– 价格昂贵,光纤解
决方案为主(FCSAN)
2015/4/13
– 专业存储方案
– 基于IP的解决方案
(IP-SAN,NAS)
– ”新“公司
– 使用普通服务器,
直连存储
– 用”云“达到NAS
的效果
70
影响四:大学的课程
课程1:虚拟化技术
课程2:海量数据处理
2015/4/13
71
暑期课程概述



清华大学计算机系在本科生大三结束之后的暑
假,为了提高学生的实践能力,特别设置专业
实践暑期课程。
专业实践提供了学生设计和实现比较大的系统
的机会,实践老师将进行实际训练的指导,使
得学生能够尽快入门。
专业实践需要应用到比较复杂的软件与硬件技
术,用以解决特定的问题,而不是单项知识点
的教学。
基于集群的大规模数据处理



2007年开始开设课程,部分教材和资料由谷歌
google提供,是全球第二个开展相关课程的学校
相关资料可在网上查询获得
http://code.google.com/edu/parallel/index.html
5个星期的专业实践课,全部时间用于做实验与项
目,没有其它课程

课程组织包括5次讲课,3个实验以及一个大项目

先修课程为:网络原理,操作系统,以及Java 编
程语言
教学目标



对分布式系统中的一些基本概念进行介绍,讨
论在进行分布式系统设计中会涉及到的实际问
题。
针对真正的分布式系统的例子,例如google的
分布式系统展开详细地讨论,使得学生能够获
得初步的分布式系统的设计概念。
另外,在课程设计中,会有很强的实践环节,
学生将会通过对真正的分布式系统进行编程获
得实践经验。
课程的组织


5 次讲课的内容
课程相关论文的阅读



论文讨论,提交作业
3 个课程相关的实验
最后的大项目(Final Project)



提交计划
中期报告,项目结题报告
项目最后检查汇报
学生需要提交的内容



作业(论文读后感,思考题等)(占总成绩
20%)
3个实验报告(占总成绩30%)
大项目相关(占总成绩50%)



大项目的建议书
大项目结题报告
大项目展示口头报告
课程内容与实验
描述
课程 1
网络与分布式系统简介
课程 2
Map/Reduce的理论与实现
课程 3
分布式文件系统与Google文件系统
课程 4
分布式图算法与PageRank
课程 5
MapReduce在聚类中的应用
实验0
Hadoop 环境的配置
实验1
简单的倒排表实验
实验2
PageRank实验
实验3
MapReduce在聚类上的实验
课程 1:网络与分布式系统简介





典型的分布式系统的介绍
并行编程的概念,并行化以及同步
复习网络的基本概念
远过程调用(RPC)
事物处理系统
课程 2: Map/Reduce的理论与实
现


MapReduce 概述
编程模型


WordCount
讨论MapReduce实现的体系结构,执行流程
,扩展性,可靠性问题
课程 3: 分布式文件系统与Google文
件系统


文件系统概述
现有的分布式文件系统举例


NFS & AFS (Andrew File System)
Google 文件系统


体系结构
扩展性,可靠性
课程 4:分布式图算法与
PageRank



图的集中表示方法
广度优先搜索与最短路径搜索方法
PageRank

使用迭代的方式通过MapReduce对PageRank进行
计算
课程 5: MapReduce在聚类中的
应用
•
•
聚类的直观解释
聚类算法



•
•
•
距离的测量
层次聚类与划分聚类
K-Means Clustering聚类方法
复杂性的分析
Canopy Clustering聚类方法与复杂性分析
使用MapReduce的方式,使用k-means和canopy的
方法对大规模数据进行聚类
Lab 0: Hadoop 环境的配置

Hadoop简介



基本的HDFS文件系统的操作


Ls, copyFromLocal, 运行例子程序
分析例子程序源代码MapReduce WordCount
in Java


HDFS, MapReduce
NameNode, DataNode, JobTracker, TaskTracker,
源程序的编写,编译与执行
学生手动运行例子程序LineIndexer
Lab 1:简单的倒排表实验

倒排表是搜索引擎的基础,在做实验之前对搜
索引擎做必要介绍

Step 1: 噪音词的识别
Step2: 在Shakespeare Corpus (5.4M)数据
集上计算并且获得倒排表
Step3: 建议的扩展实验






数据清理
在倒排索引上完成查询程序
完整的倒排索引
其它的相关实验
Lab 2: 在Wikipedia数据集上完成
PageRank




Wikipedia的数据是直接从网上下载的英文原
文的wikipedia的数据
总的数据容量为10G
各个网页之间有链接互相联系,分析链接可计
算PageRank
学生需要完成下面三个步骤:


graphBuilder: 从下载的数据中建立有向图
pageRankIterator: 通过MapReduce迭代进行
PageRank的计算,获得每一个页面的PageRank
值
Lab3: 在Netflix数据上的K-means与
Canopy算法的设计与实现



数据集容量为2G,是Netflix网站上所提供的
数据,为电影的标识以及用户对电影的评价。
实验的目标是使用聚类算法,通过给定的记录
数据,找出400个左右的相关电影的集合。
聚类算法为K-Means算法加上Canopy
Clustering算法
最后的大项目

学生可以自由选择所需要完成的大项目,并且
可以按照2~3个人作为一个小组,锻炼团队能
力、


项目必须体现出是分布式系统相关的
项目建议基于hadoop的集群进行构建

项目的工作强度为全时2.5~3 周时间

大项目类别的举例:垂直搜索引擎, N单元的
模拟,机器学习
实验环境的设置



小型的20个节点的集群,每个节点双路四核
cpu,150GSATA硬盘两个,4GB内存,通过
1G以太网络进行连接
在大约15个学生之间进行共享
使用最新版本的Hadoop进行实验和编程环境
配置
学生的大项目作业情况概述


学生自由选择项目的课题,必须与分布式系统
相关,建议使用hadoop集群系统完成运算
学生的选题主要集中在以下三个方面



垂直搜索引擎
N-Body系统的模拟,离散事件模拟
机器学习
大项目——垂直搜索引擎类

专注于某一个专门类别的搜索,独立构建一个
小型的搜索引擎




Notebook Huntress:专门用于搜索笔记本的搜索
引擎
ComgIT:专门用于消费类电子产品的搜索引擎
SMine水木精华区搜索:专门用于论坛的搜索
IMAGE SPY 图片搜索引擎:从互联网上下载图片
数据以及相关文本,构建图片搜索引擎
大项目展示 - ComgIT

构建用于
消费类电
子产品的
垂直搜索
引擎,通
过论坛信
息的搜集
和检索,
为用户购
买消费类
电子产品
提供帮助
大项目展示——Notebook
Huntress构建笔记本搜索引擎
大项目——N-Body系统的模拟,
离散事件模拟类

通过MapReduce针对N-Body系统进行模拟,
以及对离散事件进行模拟,模拟现有的一些物
理现象,进行统计特性分析等



物理现象模拟(天体物理,布朗运动等)
学校生活系统的模拟与统计
学校商业的模拟
大项目展示——物理现象的模拟

模拟了小球的碰撞,大气物理,布朗运动,星
球运动等物理现象
y
大项目展示 - Epidemic!

模拟学生
在校园里
的活动,
从而可以
模拟和跟
踪传染病
在校园内
的传播情
况
大项目展示——小桥煎饼摊模拟

模拟学校的生活,模拟在清华学生宿舍一座小
桥边卖煎饼的情况,每天的各种原料的进口以
及煎饼的贩卖情况
大项目——机器学习类

通过分布式计算,扩展机器学习所能够处理数
据的量



音乐聚类与检索系统
Netflix数据的LSI分解方法
文本信息分类的方法
学生报告中的反馈



We deeply appreciate Google and the group of HPC
for providing such a great opportunity to learn Mass
Data Computing techniques. Many thanks to the
instructor Kang Chen and the TA Yubing Yin, for
their warm-hearted guide and help.
We have experienced a good class these days. The
projects are all good, but the time seems to be a
little short to finish all the work.
Many thanks to our teacher Mr. Chen and TA
Yubing. This five weeks is a nice experience for me
and I've never taken a course in all the 3 years that
makes me so enthusiastic for it.
教学效果与评价

学生的实验情况:



网络应用程序构建,物理系统的模拟,机器学
习算法的并行化。
“学习到很多平时课堂上学不到的知识” 同学
的课后总结。
Google公司参与最后的评定,很多大实验
项目被认为具有研究生的水平。
课程对于全国高校的影响
•
•
•
举办了有关此课程的全国著名高校研讨班,
第一期:北京大学,上海交通大学,浙江大学,
华中科技大学,北京科技大学
第二期:北京邮电大学,北京交通大学,北京信
息科技大学,北京大学,上海交通大学,复旦大
学,同济大学,中山大学,华南理工大学,南京
大学,东南大学,西安交通大学,中国科学技术
大学,电子科技大学,兰州大学,烟台大学,大
连理工大学,四川大学,天津大学,辽宁师范大
学
感谢中国电子学会云计算专家委
员会林润华秘书长
2015/4/13
101
Thanks!
Q&A
2015/4/13
102
Download