Presentation is loading. Please wait.

Presentation is loading. Please wait.

分布式系统 Distributed Systems 第 1 讲 分布式系统的特征

Similar presentations


Presentation on theme: "分布式系统 Distributed Systems 第 1 讲 分布式系统的特征"— Presentation transcript:

1 分布式系统 Distributed Systems 第 1 讲 分布式系统的特征
王晓阳、张 奇 复旦大学 计算机科学技术学院

2 目录 1.1 简介 1.2 分布式系统的例子 1.3 分布式系统的趋势 1.4 资源共享 1.5 挑战 1.6 实例研究 1.5.1 异构性
1.2.1 Web搜索 1.2.2 大型多人在线游戏 1.2.3 金融交易 1.3 分布式系统的趋势 1.3.1 泛在联网和现代互联网 1.3.2 移动和无处不在的计算 1.3.3 分布式多媒体系统 1.3.4 云计算 1.4 资源共享 1.5 挑战 1.5.1 异构性 1.5.2 开放性 1.5.3 安全性 1.5.4 可伸缩性 1.5.5 故障处理 1.5.6 并发性 1.5.7 透明性 1.5.8 服务质量 1.6 实例研究

3 Google“潜鸟计划”:誓用热气球连接世界互联网!
1.1 分布式系统简介 计算机系统无处不在 互联网只是其中之一 移动电话网、协作网、企业网、校园网、家庭网、车内网 所有这些可以单独使用,又可以相互结合,他们具有相同的本质特征 Google“潜鸟计划”:誓用热气球连接世界互联网!

4 1.1 分布式系统简介 2013年5月17日,阿里集团最后一台IBM小机在支付宝下线。

5 1.1 分布式系统简介 分布式系统定义: 一个其硬件或软件组件分布在连网的计算机上,组 件之间通过消息进行通信或动作协调的系统。 显著的特征
一个其硬件或软件组件分布在连网的计算机上,组 件之间通过消息进行通信或动作协调的系统。 显著的特征 并发 缺乏全局时钟 故障独立性

6 1.1 分布式系统简介 构造分布式系统的主要动力之一是来源于资源共享 “资源”范围广泛 硬件组件 软件定义的实体 硬盘、打印机、通讯连接等
文件、数据库、数据等

7 1.2 分布式系统的例子 Figure 1.1 (see book for the full text) Selected application domains and associated networked applications

8 Example: Scene Completion
Hays, Efros (CMU), “Scene Completion Using Millions of Photographs” SIGGRAPH, 2007 Image Database Grouped by Semantic Content 30 different Flickr.com groups 2.3 M images total (396 GB). Select Candidate Images Most Suitable for Filling Hole Classify images with gist scene detector [Torralba] Color similarity Local context matching Computation Index images offline 50 min. scene matching, 20 min. local matching, 4 min. compositing Reduces to 5 minutes total by using 5 machines Extension Flickr.com has over 500 million images …

9 Example: Web Page Analysis
Fetterly, Manasse, Najork, Wiener (Microsoft, HP), “A Large-Scale Study of the Evolution of Web Pages,” Software-Practice & Experience, 2004 Experiment Use web crawler to gather 151M HTML pages weekly 11 times Generated 1.2 TB log information Analyze page statistics and change frequencies Systems Challenge “Moreover, we experienced a catastrophic disk failure during the third crawl, causing us to lose a quarter of the logs of that crawl.”

10 ? Reads Subject genome Sequencer GATGCTTACTATGCGGGCCCC
CGGTCTAATGCTTACTATGC GCTTACTATGCGGGCCCCTT AATGCTTACTATGCGGGCCCCTT ? TAATGCTTACTATGC AATGCTTAGCTATGCGGGC AATGCTTACTATGCGGGCCCCTT AATGCTTACTATGCGGGCCCCTT CGGTCTAGATGCTTACTATGC AATGCTTACTATGCGGGCCCCTT CGGTCTAATGCTTAGCTATGC ATGCTTACTATGCGGGCCCCTT Reads Subject genome Sequencer

11 DNA Sequencing Genome of an organism encodes genetic information in long sequence of 4 DNA nucleotides: ATCG Bacteria: ~5 million bp(base pairs) Humans: ~3 billion bp Current DNA sequencing machines can generate 1-2 Gbp of sequence per day, in millions of short reads (25-300bp) Shorter reads, but much higher throughput Per-base error rate estimated at 1-2% (Simpson, et al, 2009) Recent studies of entire human genomes have used (Wang, et al., 2008) & 4.0 (Bentley, et al., 2008) billion 36bp reads ~144 GB of compressed sequence data 4 slides from Michael Schatz. CloudBurst: Highly Sensitive Read Mapping with MapReduce. Bioinformatics, 2009, in press. ATCTGATAAGTCCCAGGACTTCAGT GCAAGGCAAACCCGAGCCCAGTTT TCCAGTTCTAGAGTTTCACATGATC GGAGTTAGTAAAAGTCCACATTGAG

12 Subject reads CTATGCGGGC CTAGATGCTT A T CTATGCGG TCTAGATGCT GCTTA T CTAT A T CTATGCGG A T CTATGCGG A T CTATGCGG TTA T CTATGC CTATGCGGGC GCTTA T CTAT Alignment CGGTCTAGATGCTTAGCTATGCGGGCCCCTT Reference sequence

13 Subject reads ATGCGGGCCC CTAGATGCTT CTATGCGGGC TCTAGATGCT ATCTATGCGG CGGTCTAG ATCTATGCGG CTT CGGTCT TTATCTATGC CCTT CGGTC GCTTATCTAT GCCCCTT CGG GCTTATCTAT GGCCCCTT CGGTCTAGATGCTTATCTATGCGGGCCCCTT Reference sequence

14 1.2 分布式系统的例子 分布式系统包含了近年来许多最重要的技术发展 分布式系统底层技术是现代计算的核心
本地化系统 <-----> 全球数百万台节点 数据为中心 <-----> 计算密集型任务 传感器系统 <-----> 强大计算单元系统 嵌入式系统 <-----> 复杂交互式系统

15 1.2.1 Web搜索 几组数字: 整个任务对分布式系统设计是一个巨大的挑战 100亿次搜索/每月 630亿页面 1万亿个Web地址
文本、多媒体资源 1万亿个Web地址 300ms内完成 整个任务对分布式系统设计是一个巨大的挑战

16

17 1.2.1 Web搜索 Google是计算历史上最大和最复杂的分布式系统之一 一个底层的物理设施 一个分布式文件系统
位于全世界的多个数据中心联网组成 一个分布式文件系统 支持超大文件,并根据Google的应用分别进行了深度优化 一个相关的结构化分布式存储系统 超大数据集的快速访问 一个锁服务 提供诸如分布式加锁和协定等分布式系统功能 一个编程模型 支持超大并行分布式计算管理

18 1.2.2 大型多人在线游戏 Massively Multiplayer Online Game (MMOG)
同时在线人数:11.5 Million

19 1.2.2 大型多人在线游戏 客户-服务器模式 分布式体系结构 P2P模式 集中式服务器上维护了游戏世界状态的单个拷贝
服务器由多个计算机集群组成 分布式体系结构 游戏世界(或称宇宙)被划分到大量服务器上 服务器可在地理上分散部署 P2P模式 每个参与者贡献(存储和处理)资源来容纳游戏

20 1.2.3 金融交易 金融行业一直处于分布式 系统的最前沿 金融行业的需求:可靠和及时地传递事件给大量对此信 息可能感兴趣的客户。
特别是在实时访问大范围的信息源方面 金融行业的需求:可靠和及时地传递事件给大量对此信 息可能感兴趣的客户。 Figure 1.2 An example financial trading system

21 1.3 分布式系统的趋势 分布式系统正在经历巨大的变化 泛在互联网技术 移动和无处不在的计算 分布式多媒体系统 分布式计算作为公共设施

22 1.3.1 泛在联网和现代互联网 Figure 1.3 A typical portion of the Internet intranet
ISP desktop computer: backbone satellite link server: network link: Figure 1.3 A typical portion of the Internet

23 1.3.1 泛在联网和现代互联网 互联网也是一个超大的分布式系统 服务集是开放的 要解决异构、安全、可伸缩等挑战

24 1.3.2 移动和无处不在的计算 设备小型化、无线网络发展 设备的便携性和方便的网络连接能力 移动计算
笔记本电脑 手持设备(手机,Pad,摄像机、数码相机等等) 可穿戴设备(Apple Watch) 家电设备 设备的便携性和方便的网络连接能力 移动计算 用户在移动或访问某个非常规环境时执行计算任务的性能 移动性为分布式系统带来了一系列的挑战 变化的连接、短时中断等

25 1.3.2 移动和无处不在的计算

26 1.3.2 移动和无处不在的计算 设备小型化、无线网络发展 设备的便携性和方便的网络连接能力 移动计算
笔记本电脑 手持设备(手机,Pad,摄像机、数码相机等等) 可穿戴设备(Apple Watch) 家电设备 设备的便携性和方便的网络连接能力 移动计算 用户在移动或访问某个非常规环境时执行计算任务的性能 移动性为分布式系统带来了一系列的挑战 变化的连接、短时中断等

27 1.3.2 移动和无处不在的计算 无处不在的计算是指对用户的物理环境中存在的多个小 型、便宜的计算设备的利用。
无处不在的计算是指对用户的物理环境中存在的多个小 型、便宜的计算设备的利用。 小型计算设备在不引人注意的日常物品中普及 各处的计算机在相互通信时才变得有用

28 1.3.2 移动和无处不在的计算 Figure 1.4 Portable and handheld devices in a distributed system Instructor’s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn © Pearson Education 2012

29 1.3.2 移动和无处不在的计算 自发互操作需求 将设备与合适的本地设备相关联---服务发现
用户访问某地时,通过移动电话获得股票信息、导航等服务 访问某单位时,将数码相机的照片直接发送到会议室投影机或打印机 将设备与合适的本地设备相关联---服务发现

30 1.3.3 分布式多媒体系统 分布式系统中支持多媒体服务的需求 网络播放—分布式多媒体技术应用 离散型媒体的传输、存储和展示
图片、文本消息 连续类型媒体的传输、存储和展示 视频、音频 连续类型媒体具有时间维度,需要在媒体类型元素之间保持实时关系 网络播放—分布式多媒体技术应用 编码和加密格式的支持 服务质量保障 资源管理策略 适配策略

31 1.3.4 云计算 分布式资源<---->其他公用设施 资源通过合适的服务提供者提供,被最终用户有效的租 赁而不是拥有

32 1.3.4 云计算 云计算(Cloud Computing)用来刻画计算作为公共设施 Figure 1.5 Cloud computing

33 1.3.4 云计算 通常云实在集群计算机上,从而提供必要的伸缩和性能 集群计算机(Cluster Computer)
互连的计算机集合,它们紧密协作提供单一的、集成的高性能计算能力 集群服务器的总目的是提供高性能计算能力、大容量存 储等。 网格计算,偏重于支持科学计算,通常被看作云计算这 种通用模型的先驱

34 1.4 资源共享 大家已经习惯了资源共享带来的好处,以至于很容忽视 它们的重要性 资源共享的模式随其工作范围与用户工作的密切程度不 同而不同
大家已经习惯了资源共享带来的好处,以至于很容忽视 它们的重要性 硬件共享,打印机、路由器等 数据资源 服务 资源共享的模式随其工作范围与用户工作的密切程度不 同而不同 Web搜索引擎为全世界用户提供工具 计算机支持协同工作(CSCW)在封闭小组内资源共享

35 1.4 资源共享 服务—表示计算机系统中管理相关资源并提供功能给用 户和应用的一个单独的部分 服务将资源访问限制为一组定义良好的操作
服务—表示计算机系统中管理相关资源并提供功能给用 户和应用的一个单独的部分 文件服务共享文件 打印服务发送文件到打印机 电子支付服务购买商品 服务将资源访问限制为一组定义良好的操作 分布式系统的资源是物理地封装在计算机内 其他计算机只能通过通信才能访问

36 1.4 资源共享 服务器----是指在连网的计算机上的一个运行的程序(进 程),这个程序接收来自其他计算机上正在运行的程序 的请求,执行一个服务并适当地做出响应。 发出请求的进程称为客户 整个方案称为客户—服务器计算 注意:客户和服务器指的是进程而不是运行客户或服务 器的计算机

37 1.5 挑战 Web 搜索 100亿次搜索/每月 630亿页面 MMOG游戏 11.5Million人在线 金融交易 可靠及时

38 1.5.1 异构性 互联网使得用户能在大量异构计算机和网络上访问服务 和运行应用程序 网络; 计算机硬件; 操作系统; 编程语言;
互联网使得用户能在大量异构计算机和网络上访问服务 和运行应用程序 网络; 计算机硬件; 操作系统; 编程语言; 软件实现。

39 1.5.1 异构性 中间件---是指一个软件层,它提供了一个编程抽象,同 时屏蔽了底层网络、硬件、操作系统和编程语言的异构 性。
中间件---是指一个软件层,它提供了一个编程抽象,同 时屏蔽了底层网络、硬件、操作系统和编程语言的异构 性。 公共对象请求代理(Common Object Request Broker, CORBA) JAVA远程调用方法(Remote Method Invocation, RMI) 大多数中间件基于互联网协议实现,这些协议屏蔽了底 层网络的差异,但是中间件要解决操作系统和硬件的不 同。 例子:整数、互联网协议、编程语言、公共标准

40 1.5.1 异构性 移动代码---是指从能从一台计算机发送到另一台计算机, 并在目的计算机上运行的代码(例如:Java applet)
虚拟机方法提供了一种代码可以在任何计算机上运行的 方法:某种语言的编译器生成一台虚拟机代码而不是某 种硬件代码,虚拟机通过解释的方式来执行它。

41 1.5.2 开放性 开放性决定系统能否以不同的方式被扩展和重新实现
分布式系统的开放性主要取决于新的资源共享服务能被 增加和供多种客户程序使用的程度 开放的分布式系统的特点: 发布系统的关键接口开放系统的特征 基于一致的通信机制和发布接口访问共享资源 能用异构硬件和软件构造 除非获得关键接口,无法实现开放性 发布接口只是起点 互联网RFC

42 1.5.3 安全性 分布式系统中使用和维护的众多信息资源,具有很高的 内在价值,安全性相当重要。 应用案例: 拒绝服务攻击 移动代码的安全性
分布式系统中使用和维护的众多信息资源,具有很高的 内在价值,安全性相当重要。 机密性、完整性、可用性 应用案例: 医生请求访问医院病人的数据或发送新增的病人数据 用户在互联网上发送信用卡号码 拒绝服务攻击 移动代码的安全性

43 1.5.4 可伸缩性 如果资源数量和用户数量激增,系统仍能保持其有效性, 那么该系统就称为可伸缩的。
如果资源数量和用户数量激增,系统仍能保持其有效性, 那么该系统就称为可伸缩的。 Figure 1.6 Growth of the Internet (computers and web servers)

44 1.5.4 可伸缩性 面临的挑战: 理想状态下,系统规模增加时系统和应用程序应该不需 要随之改变。 控制物理资源的开销 控制性能损失
防止软件资源用尽 避免性能瓶颈 理想状态下,系统规模增加时系统和应用程序应该不需 要随之改变。

45 1.5.5 故障处理 故障不可避免 分布式系统故障一般来说是部分的 故障处理技术: 有些组件正常而有些组件出现故障 检测故障 掩盖故障 容错
故障恢复 冗余 硬盘,断电

46 1.5.6 并发性 分布式系统中,服务和应用均提供可被客户共享的资源 几个客户同时试图访问一个共享资源
代表共享资源的任何一个对象必须负责确保在并发环境 中操作正确,不仅适用于服务器,也适用于应用中的对 象

47 1.5.7 透明性 Access transparency: enables local and remote resources to be accessed using identical operations. Location transparency: enables resources to be accessed without knowledge of their physical or network location (for example, which building or IP address). Concurrency transparency: enables several processes to operate concurrently using shared resources without interference between them. Replication transparency: enables multiple instances of resources to be used to increase reliability and performance without knowledge of the replicas by users or application programmers. Failure transparency: enables the concealment of faults, allowing users and application programs to complete their tasks despite the failure of hardware or software components. Mobility transparency: allows the movement of resources and clients within a system without affecting the operation of users or programs. Performance transparency: allows the system to be reconfigured to improve performance as loads vary. Scaling transparency: allows the system and applications to expand in scale without change to the system structure or the application algorithms. 故障: 移动:移动电话

48 1.5.7 透明性 最重要的两个透明性:访问透明性和位置透明性 例子:
远程文件访问 API 如果一个分布式系统仅可以利用FTP访问远程计算机上 的文件,那么它就是缺乏透明性的例子 Web中的URL具有位置透明性

49 1.5.8 服务质量 服务质量:系统的主要非功能特性 影响用户体验的服务质量包括: 可靠性 安全性 性能 适应性

50 1.6 实例研究:万维网 Word Wide Web 是一个不断发展的系统,用于发布和访 问互联网上的资源和服务
1989年瑞士欧洲原子能研究中心(CERN),用于物理学 家中间交换文档

51 1.6 实例研究:万维网 WWW是一个开放的系统,可以被扩展 基本体系架构 基于自由发布和广泛实现的通信标准和文档/内容标准
可以在其上发布和共享资源 基本体系架构 超文本标记语言(HTML) 统一的资源定位器(URL) 标准交互规则(HTTP)

52 Figure 1.7 Web servers and web browsers
Internet File system of standards faq.html Instructor’s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn © Pearson Education 2012

53 1.6 实例研究:万维网 HTML 超文本标记语言用于指定组成Web页面内容的文本和图像,以及显示给 用户的布局方式
文本编辑器手写生成、也可以由所见即所得的编辑器编辑

54

55

56

57 1.6 实例研究:万维网 URL 统一资源定位器 URL有两个顶层的部分组成 作用是识别资源 Web体系文档中使用URI(统一资源标识符)
模式:模式特定的标识符 第一个部分模式,声明了URL的类型,例如:ftp,http,mailto等 开发性:开发了Widget

58 1.6 实例研究:万维网 HTTP URL的主要工作 识别出哪一个服务器维护资源 识别出该服务器上的哪些资源是被请求的 图的解释

59 1.6 实例研究:万维网 http://服务器名[:端口][/路径名][?查询][#片段] 方括号中的项是可选的
服务器名表示成为一个域名系统(Domain Name System, DNS) 服务器DNS名 路径名 查询 片段 默认 standards/faq.htm conformance search q=obama 发布资源

60 1.6 实例研究:万维网 HTTP超文本传输协议 主要特征 定义了浏览器和其他类型的客户与服务器的交互方式 请求--应答交互 内容类型
一次请求一个资源 简单的访问控制

61 1.6 实例研究:万维网 动态页面 用户不仅仅需要浏览信息,还需要交互服务

62 1.6 实例研究:万维网 Web服务器上运行的为客户生成内容的程序通常称为公 共网关接口(Common Gateway Interface, CGI)程序 下载的代码 Java script Java Applet

63 1.6 实例研究:万维网 Web服务 HTML不适合于程序之间的互操作 XML是一种标准的、结构化的、特定于应用的格式表示 数据方式。
REST体系结构

64 Question?


Download ppt "分布式系统 Distributed Systems 第 1 讲 分布式系统的特征"

Similar presentations


Ads by Google