当前位置:
文档之家› 《云计算与分布式系统》课件—06云编程和软件环境
《云计算与分布式系统》课件—06云编程和软件环境
Computer School, NUDT. Spring, 2013
5
Computer School, NUDT. Spring, 2013
6
Computer School, NUDT. Spring, 2013
7
Computer School, NUDT. Spring, 2013
8
Computer School, NUDT. Spring, 2013
•Scientific/Tech Applications •Business Applications •Consumer/Social Applications
Science and Technical
Applications
Consumer/Social Applications
Business Applications
Newton’s laws, Maxwell’s equations…
Last few decades
Simulation of complex
phenomena
Today and the Future Unify theory, experiment and simulation with large multidisciplinary Data
Computer School, NUDT. Spring, 2013
3
The Changing Nature of Research
.aBiblioteka a24G 3
c2 a2
Thousand years ago
Description of natural
phenomena
Last few hundred years
表格和NOSQL非关系型数据库: 在简化数据库结 构(NOSQL)上已经有了很多重要的进展,典型情 况强调了分布式和可扩展性。这些进展体现在三种 主要云里:谷歌的BigTable、亚马逊的SimpleDB和 Azure的Azure Table
队列服务: 亚马逊和Azure都能提供类似的可扩 展、健壮的队列服务,用来在一个应用的组件之间 通信。
Computer School, NUDT. Spring, 2013
13
编程和运行时支持
需要编程和运行时支持来促进并行编程,并为 今天的网格和云上的重要功能提供运行时支持。
工作机和Web角色: Azure引入的角色提供了重 要功能,并有可能在非虚拟化环境中保留更好的密 切度支持。工作机角色是基本的可调度过程,并能 自动启动。注意在云上没有必要进行明显的调度, 无论是对个人工作机角色还是MapReduce透明支持 的“群组调度”。在这里,队列是一个关键概念
Computer School, NUDT. Spring, 2013
10
云编程环境的安全、隐私和可用性需求:
使用虚拟集群化来实现用最小的开销成本达到动态资源供 应。 使用稳定和持续的数据存储,带有用于信息检索的快速查 询。 使用特殊的API来验证用户及使用商业账户发送电子邮件。 使用像HTTPS或者SSL等安全协议来访问云资源。 需要细粒度访问控制来保护数据完整性,阻止侵入者或黑 客。 保护共享的数据集,以防恶意篡改、删除或者版权侵犯。 包括增强的可用性和带有虚拟机实时迁移的灾难恢复等特 性。 使用信用系统来保护数据中心。这个系统只授权给可信用
DPFS: DPFS文件系统是为执行数据密集型应用而 精确设计的。
Computer School, NUDT. Spring, 2013
12
SQL和关系型数据库: 亚马逊和Azure云都提供关 系型数据库,这可以直接为学术系统提供一个类似 的功能,但如果是需要大规模数据,事实上,基于 表或MapReduce的方法可能会更合适
9
网格和云的公共传统特性
集中关注当今计算网格和云中有关工作流、数 据传输、安全和可用性方面的公共特性。
工作流: 在真实的应用中工作流按需连接多个 云和非云服务。
数据传输: 在商业云中(较少程度上,在商业 云之外)数据传输的成本(时间和金钱)经常被认 为是使用云的一个难点。如果商业云成为一个国家 计算机基础设施的重要部分,预期在云和TeraGrid 之间将出现一条高带宽链路。
户,并阻止侵入者。
Computer School, NUDT. Spring, 2013
11
数据特性和数据库
程序库: 允许方便地部署和配置镜像(即它们支 持IaaS)。
blob和驱动:除了blob和S3的服务接口,人们还 可以“直接”附加到计算实例中作为Azure驱动和 亚马逊的弹性块存储。这个概念类似于共享文件系 统
Chapter 6: Cloud Programming and Software Environments
云编程和软件环境
Computer School, NUDT. Spring, 2013
1
本章将论述真实云平台下的编程,其中将介绍 和评价MapReduce、BigTable、Twister、 Dryad、DryadLINQ、Hadoop、Sawzall和Pig Latin。我们用具体的实例来讲解云中的实现 和应用需求。
Using data exploration and data mining (from instruments, sensors, humans…)
Distributed Communities
Computer School, NUDT. Spring, 2013
4
6.1 云和网格平台的特性
本节总结了真实云和网格平台的重要特 性。在4个表格中,涵盖了功能、传统 特性、数据特性以及程序员和运行时系 统使用的特性。
通过应用实例讲解了由谷歌应用引擎(GAE)、 亚马逊Web服务(AWS)和微软Windows Azure 提供的云服务。特别地,我们演示了怎样对 GAE、AWS EC2、S3和EBS编程。
Computer School, NUDT. Spring, 2013
2
Cloud Applications
Computer School, NUDT. Spring, 2013
14
MapReduce: “数据并行”语言日益受到广泛关注,这种语