版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、操作系统前沿技术分布式系统陈然 3140103431 2016/12/7 目录绪论3分布式系统介绍5分布式系统与集中式系统5分布式系统与集群5分布式系统的主要特征6分布式系统的设计理念81. 分布式系统对服务器硬件要求很低82. 分布式系统强调横向可扩展性83. 分布式系统不允许单点失效94. 分布式系统尽可能减少节点间通讯开销10分布式系统实例11绪论第25届ACM操作系统原理研讨会(SOSP15)于2015年在美国加尼福尼亚州举办。本次会议对操作系统的前沿技术进行了探究,涉及到的领域从高性能事务处理系统的研究到其实际实现的形式说明;从能量感知系统技术到全球范围内的分布式系统研究;从bug寻
2、找到大数据研究。而对分布式系统的探讨,又在本次研讨会中占据了重要的地位。本次研讨的十个议题,四个都和分布式系统有关,可见其重要性。分布式系统介绍分布式系统与集中式系统在了解分布式系统之前,需要先了解一下与之相对应的集中式系统是什么样的。集中式系统用一句话概括就是:一个主机带多个终端。终端没有数据处理能力,仅负责数据的录入和输出。而运算、存储等全部在主机上进行。现在的银行系统,大部分都是这种集中式的系统,此外,在大型企业、科研单位、军队、政府等也有分布。集中式系统最大的特点也是缺点就是部署结构非常简单,由于采用单机部署。很可能带来系统大而复杂、难于维护、发生单点故障(单个点发生故障的时候会波及到
3、整个系统或者网络,从而导致整个系统或者网络的瘫痪)、扩展性差等问题。因此分布式系统应运而生。分布式系统是一个硬件或软件组件分布在不同的网络计算机上,彼此之间仅仅通过消息传递进行通信和协调的系统。简单来说就是一群独立计算机集合共同对外提供服务,但是对于系统的用户来说,就像是一台计算机在提供服务一样。分布式意味着可以采用更多的普通计算机(相对于昂贵的大型机)组成分布式集群对外提供服务。计算机越多,CPU、内存、存储资源等也就越多,能够处理的并发访问量也就越大。分布式系统与集群分布式是指在多台不同的服务器中部署不同的服务模块,通过远程调用协同工作,对外提供服务。集群是指在多台不同的服务器中部署相同应
4、用或服务模块,构成一个集群,通过负载均衡设备对外提供服务。简单的说,分布式就是把一个大型应用分解成10个不同的小的应用,分配给10个计算机进行处理。而集群是同时让10台计算机处理10个相同的10个应用。分布式系统的主要特征分布性分布式系统中的多台计算机之间在空间位置上可以随意分布,系统中的多台计算机之间没有主、从之分,即没有控制整个系统的主机,也没有受控的从机。透明性系统资源被所有计算机共享。每台计算机的用户不仅可以使用本机的资源,还可以使用本分布式系统中其他计算机的资源(包括CPU、文件、打印机等)。同一性系统中的若干台计算机可以互相协作来完成一个共同的任务,或者说一个程序可以分布在几台计算
5、机上并行地运行。通信性系统中任意两台计算机都可以通过通信来交换信息。可拓展性可拓展性是分布式系统的最大特点,它能够适应需求变化而扩展。企业级应用需求经常随时间而不断变化,它必须要能适应需求的变化,即具有可扩展性。和集中式系统相比,分布式系统的性价比更高、处理能力更强、可靠性更高、也有很好的扩展性,可以让多台服务器协同工作,完成单台服务器无法处理的高并发的大数据量的任务。例如,在处理大型应用时,如果采用集中式计算,需要耗费相当长的时间来完成。分布式计算将该应用分解成许多小的部分,分配给多台空闲计算机进行处理。这样可以节约整体计算时间,大大提高计算效率。分布式系统的设计理念1. 分布式系统对服务器
6、硬件要求很低这一点主要现在如下两个方面:· 对服务器硬件可靠性不做要求,允许服务器硬件发生故障,硬件的故障由软件来容错。所以分布式系统的高可靠性是由软件来保证。· 对服务器的性能不做要求,不要求使用高频CPU、大容量内存、高性能存储等等。因为分布式系统的性能瓶颈在于节点间通讯带来的网络开销,单台服务器硬件性能再好,也要等待网络IO。一般而言,互联网公司的大型数据中心都是选用大量廉价的PC服务器而不是用几台高性能服务器搭建分布式集群,以此来降低数据中心成本。比如,Google对于数据中心的成本控制做到了极致:所有服务器一律不要机箱;主板完全定制,只要最基本的组件,早期的定制主
7、板连电源开关和USB接口都不要;在主板上加装隔离带把CPU单独隔出来,让冷风只吹CPU,不吹内存、硬盘等不需要降温的组件,最大限度降低冷却电力消耗。2. 分布式系统强调横向可扩展性横向可扩展性是指通过增加服务器数量来提升集群整体性能。纵向可扩展性是指提升每台服务器性能进而提升集群整体性能。纵向可扩展性的上限非常明显,单台服务器的性能不可能无限提升,而且跟服务器性能相比,网络开销才是分布式系统最大的瓶颈。横向可扩展性的上限空间比较大,集群总能很方便地增加服务器。而且分布式系统会尽可能保证横向扩展带来集群整体性能的线性提升。比如有10台服务器组成的集群,横向扩展为100台同样服务器的集群,那么整体
8、分布式系统性能会提升为接近原来的10倍。互联网公司的数据中心,一般一个分布式系统横向扩展的上限在万台服务器左右。Google数据中心的基本单元:CELL,由两万台左右服务器组成,每个CELL由一套分布式管理系统BORG,统一管理,每个数据中心都由多个CELL组成。3. 分布式系统不允许单点失效单点失效是指,某个应用服务只有一份实例运行在某一台服务器上,这台服务器一旦挂掉,那么这个应用服务必然也受影响而挂掉,导致整个服务不可用。例如,某网站后台如果只在某一台服务器上运行一份,那这台服务器一旦宕机,该网站服务必然受影响而不可用。再比如,如果所有数据都存在某一台服务器上,那一旦这台服务器坏了,所有数
9、据都不可访问。因为分布式系统的服务器都是廉价的PC服务器,硬件不能保证100%可靠,所以分布式系统默认每台服务器随时都可能发生故障挂掉。同时分布式系统必须要提供高可靠服务,不允许出现单点失效,因此分布式系统里运行的每个应用服务都有多个运行实例跑在多个节点上,每个数据点都有多个备份存在不同的节点上。这样一来,多个节点同时发生故障,导致某个应用服务的所有实例都挂掉、或某个数据点的多个备份都不可读的概率大大降低,进而有效防止单点失效。通常情况,不要让服务器满负荷运行,服务器长时间满负荷运行的话,出故障的概率显著升高。所以分布式系统采用一大堆中低性能的PC服务器,尽可能把负载均摊到所有服务器上,让每台
10、服务器的负载都不高,保证集群整体稳定性。4. 分布式系统尽可能减少节点间通讯开销如前所述,分布式系统的整体性能瓶颈在于内部网络开销。目前网络传输的速度还赶不上CPU读取内存或硬盘的速度,所以减少网络通讯开销,让CPU尽可能处理内存的数据或本地硬盘的数据,能显著提高分布式系统的性能。典型的例子就是Hadoop MapReduce,把计算任务分配到要处理的数据所在的节点上运行,从而避免在网络上传输数据。分布式系统实例这里我选择的实例是Hadoop的HDFS,Hadoop是一个很经典的MapReduce的开源实现的系统架构,能够分布式运行且复制数据,也可以在一个集群上运行多个进程,管理由用户创建的并行任务,低成本且可扩展。Hadoop集群排序1TB的数据只花了209秒。Hadoop实现了一个分布式文件系统HDFS,它的文件存储原理如下:(图片摘自网络)假设一个文件如图由红绿蓝三个数据块组成,将该文件写入HDFS这三块首先在namenode中登记元数据,哪个数据块在哪个服务器上:黄色
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年员工赔偿保障合同
- 2025年仓储货物出库协议
- 2025年增资协议签约审核
- 2025年城市基础设施勘察评估合同
- 2025年家具定制款式与功能协议
- 2025年家电定期检修与保养合同
- 2025年分期付款装饰材料购买协议
- 2025年亲情传承与抚养遗赠协议
- 2025年定值商标保护保险合同
- 二零二五版机床设备采购与生产自动化升级合同3篇
- 2025年度杭州市固废处理与资源化利用合同3篇
- 2024年安徽省公务员录用考试《行测》真题及答案解析
- 部编版二年级下册《道德与法治》教案及反思(更新)
- 充电桩项目运营方案
- 退休人员出国探亲申请书
- 高中物理竞赛真题分类汇编 4 光学 (学生版+解析版50题)
- 西方经济学-高鸿业-笔记
- 幼儿园美术教育研究策略国内外
- 2024届河南省五市高三第一次联考英语试题及答案
- 孕妇学校品管圈课件
- 《愿望的实现》交流ppt课件2
评论
0/150
提交评论