分布式系统电子科大课件_第1页
分布式系统电子科大课件_第2页
分布式系统电子科大课件_第3页
分布式系统电子科大课件_第4页
分布式系统电子科大课件_第5页
已阅读5页,还剩57页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、2022/10/41分布式系统主讲:牛新征xinzhengniu主楼B1-106左134388916582022/10/42 个人简历2001年7月,获贵州大学计算机科学与技术专业,获理学学士学位; 2004年4月,获电子科技大学计算机软件与理论专业,获工学硕士学位; 2008年12月,进入电子科技大学计算机应用技术专业,获工学博士学位; 2007年至2009年作为访问学者,赴美国伊利偌伊州立大学学习两年。 2013年院教学杰出人才资助计划入选者。承担本科“空间信息数据库”课堂教学及实验课,学科基础课“数据结构”课堂教学,“数据库原理及应用”的课堂教学及实验课,“计算机操作系统”实验课以及素质

2、教育公选课“移动对象数据库”,和“网上支付与电子银行”等课程;承担研究生“分布式系统”,曾承担研究生“软件体系结构”,“数据库原理与应用”,“信息系统分析与设计”,“数据库新技术”等课程; 指导和联合指导博士生1名,硕士生8名,本科生30多名,已毕业答辩工程硕士研究生3名和本科生10名。 2022/10/43 个人简历2007年10月作为项目主研负责美国伊利偌伊州立大学数据库与移动计算实验室NSF 项目“IGERT(Integrative Graduate Education and Research Traineeship)”的研究和设计。 2009年10月作为项目参与者参与国家863 RF

3、ID重大专项“RFID技术在旅游景区、展览馆、博物馆的应用”,作为项目主研负责广东省粤港招标项目“一体化安全平台”。 2009年至今,主持国家自然科学基金1项,中央高校基本科研业务费电子科技大学项目1项,华为公司创新研究计划1项,四川省科技计划项目1项,中国电力科学研究院项目1项。参与国家重大专项、国家科技支撑计划、863、四川科技支撑等项目多项。同时,作为项目负责人负责实验创新基金项目1项,实验教学研究支持计划3项,教改项目1项,参与教改项目3项。 已在国内外重要学术期刊和国际会议上发表学术论文20多篇,教研论文3篇。其中, SCI检索2篇,EI源刊6篇,EI检索4篇, 合著研究生教材一本。

4、 申报专利、软件著作权各两项。 2022/10/44 个人简历现或曾担任计算机应用研究,计算机科学技术学报(JCST),ACM GIS,IEEE ICDE等学术期刊和会议的审稿人,The Workshop of The 9th International Conference on Web-based Learning (ICWL 2010)的Program Chair,The Second International Workshop on Information Management for Mobile Applications(in conjunction with VLDB 2012

5、)的 Technical Program Committee,ACM会员,中国计算机学会会员,“科大树蛙”工作室指导老师, 2008级软件3班,2012级计算机10班党员教师,指导学生获得2012年“银杏黄”创新创业基金,创新创业训练计划、“长虹杯”软件创意大赛、省科技创新苗子工程等多项;指导学生参加2012年全国大学生信息安全竞赛,获得校内赛一等奖,全国赛二等奖。2013年全国大学生信息安全竞赛,获得校内赛二等奖及三等奖,全国赛二等奖。请访问工作室网站:/ 2022/10/45目标对分布式系统的:设计分析实现所涉及的关键问题进行探讨和研究!2022/10/47成绩构成10% 平时成绩20%

6、大作业70% 期末测试先行课:计算机网络操作系统面向对象编程2022/10/48第1章 分布式系统的基本特征引言分布式系统的目标、定义、特点分布式系统举例挑战总结2022/10/410引言什么是分布式系统?分布式应用计算机计算机.网络消息传递计算机应用软件(中间件)A distributed system is defined as one in which components at networked computers communicate and coordinate their actions only by passing messages.分布式系统是指把多个处理机通过网络互连

7、而构成的系统,系统的处理和控制功能分布在各个处理机上。 两 种:同构分布式系统 异构分布式系统2022/10/411引言-Distributed System: Definition A distributed system is a piece of software that ensures that: a collection of independent computers appears to its users as a single coherent system. Two aspects: (1) independent computers and (2) single sys

8、tem -middleware.2022/10/412引言分布式系统的问题源于下面三个特点:并发性(concurrence)多个程序(进程,线程)并发执行,共享资源没有全局时钟(global clock)每个机器都有各自的时间,没有办法做到统一,程序间的协调靠交换消息 故障独立性(independent failure)一些进程出现故障,并不能保证其它进程都能知道2022/10/414第1章 分布式系统的基本特征引言分布式系统举例Internet / Intranet / Mobile ComputingMaze / Real Course / UpStore挑战总结2022/10/415分布

9、式系统举例典型的分布式系统The InternetIntranet(企业内部网)移动计算和普适计算分布式系统的新应用P2P computingCloud computingCPS(Cyber-physical system)2022/10/417分布式系统举例Intranet2022/10/418分布式系统举例Internet & IntranetInternet & Intranet难点:可扩展性(DNS, IP)资源的定位异构成就:TCP/IP协议是因特网最重要的技术成果。2022/10/419分布式系统举例移动计算移动计算(mobile computing)移动设备笔记本电脑手持设备PD

10、A, 手机, 摄像机,数码照相机可穿戴设备计算机手表,数字眼镜家电设备2022/10/420分布式系统举例移动计算移动计算在移动中执行计算任务的能力,访问因特 网的资源,位置清楚的计算(location aware computing): 在移动环境中,能够发现并附近的资源。自组网络(Ad Hoc)要解决的问题避免由于移动而需要重新配置的问题(DHCP)无线带宽有限,需要考虑QoS私密和安全问题的解决Ad Hoc网络的路由问题2022/10/421普适计算(Ubiquitous computing,pervasive computing)无处不在是指各种小型计算设备最终将普及到现在的日常物品中

11、,不被注意。 移动计算和普适计算的区别有些技术可能通用,例如,无处不在的计算环境可能是无线的。但是,两种计算的应用目标是完全不同的。分布式系统举例普适计算2022/10/422分布式系统举例P2P计算P2P计算P2P最根本的思想,同时也是它与C/S最显著的区别在于网络中的节点(peer)既可以获取其它节点的资源或服务同时又是资源或服务的提供者,即兼具Client和Server的双重身份。 2022/10/424分布式系统举例云计算云计算是一种基于互联网的计算方式,通过这种方式,共享的软硬件资源和信息可以按需提供给计算机和其他设备。整个运行方式很像电网。2022/10/425分布式系统举例云计算

12、云计算服务多租赁化平台可伸缩化资源虚拟化2022/10/427分布式系统举例物联网物联网物联网就是把传感器装备到电网、铁路、桥梁、隧道、公路、建筑、供水系统、大坝、油气管道以及家用电器等各种真实物体上,通过互联网联接起来,进而运行特定的程序,达到远程控制或者实现物与物的直接通信。注:P2P计算、云计算和物联网内容均取之网络,对贡献者表示感谢!2022/10/428第1章 分布式系统的基本特征引言分布式系统举例挑战总结2022/10/429假设如果网络能保证信息不丢失如果所有发出去的消息都能在预期的时间内到达如果每个机器上的时钟都是精准的如果机器不会宕机,进程不会出故障一个没有实践经验的开发者,

13、通常会在上述假设,很理想化一个系统的实现。只注重应用需求,而忽略实际中会出现什么问题。这样的系统,在实际中根本不能用。2022/10/430下列问题你想到了吗?什么样的结构合适?模型两个机器要进行消息传递,我怎么知道对方是否收到了我的信息?我在等待一个回复,可是它迟迟不到,怎么办?进程间的通信网络上异构的机器怎样进行互操作?分布对象(中间件)我的文件能不能被别人访问了分布式系统中的安全2022/10/431下列问题你想到了吗?能像用资源管理器一样管理远程文件吗?文件服务器如何分布资源,如何找到它们?在海量资源的情况下,服务器不堪重负怎么办?名字服务通知其它机器我上传新的资源了,我怎么知道其它节

14、点是不是收到了?我收到了一个信息,我怎么知道是真是假?协调和商定上传或下载文件操作执行到中途,不想做了,能删除影响吗?分布式事务与一致性维护2022/10/432Developing Distributed Systems: PitfallsObservation Many distributed systems are needlessly complex caused by mistakes that required patching later on. There are many false assumptions:The network is reliableThe network

15、 is secureThe network is homogeneousThe topology does not changeLatency is zeroBandwidth is infiniteTransport cost is zeroThere is one administrator2022/10/433挑战-异构性(Heterogeneity)网络协议Ethernet, token ring, etc硬件big endian / little endian操作系统different API of Unix and Windows编程语言different representati

16、ons for data structures开发者实现方式的不同no application standards2022/10/434中间件(Middleware)应用到软件层,用来屏蔽底层的异构性。例如Java的RMI, 提供远程调用的接口,可以在任何操作系统上运行。移动代码(Mobile code)移动代码需要在不同的机器间移动并执行,必须解决异构的问题。虚拟机运行在不同的机器或系统上,代码在虚拟机上运行。挑战-异构性(Heterogeneity)2022/10/435挑战开放性(openness)计算机系统的开放性 一个系统是否可以扩充以不同的方式重新实现。例如:UNIX分布式系统的开

17、放性 在多大程度上新的资源共享服务可以加到系统中来。例如:WEB, plug-in。Request For Comments(RFC),是一系列以编号排定的文件。文件收集了有关互联网相关信息,以及UNIX和互联网社区的软件文件。基本的互联网通信协议都有在RFC文件内详细说明。RFC文件还额外加入许多的论题在标准内,例如对于互联网新开发的协议及发展中所有的记录。因此几乎所有的互联网标准都有收录在RFC文件之中。 2022/10/436挑战开放性(openness)关键的接口是公开的 (API)2022/10/437挑战开放性(openness)统一的通信机制 (例如 XML-RPC)2022/1

18、0/438Openness of Distributed Systems Open distributed system Be able to interact with services from other open systems, irrespective of the underlying environment:Systems should conform to well-defined interfacesSystems should support portability of applicationsSystems should easily interoperateAchi

19、eving openness At least make the distributed system independent from heterogeneity of the underlying environment:HardwarePlatformsLanguages2022/10/439Implementing opennessRequires support for different policies:What level of consistency do we require for client-cached data?Which operations do we all

20、ow downloaded code to perform?Which QoS requirements do we adjust in the face of varying bandwidth?What level of secrecy do we require for communication?Implementing opennessIdeally, a distributed system provides only mechanisms:Allow (dynamic) setting of caching policiesSupport different levels of

21、trust for mobile codeProvide adjustable QoS parameters per data streamOffer different encryption algorithms2022/10/440挑战安全性(security)机密性(Confidentiality)防止未经授权的个人访问资源 e.g. ACL in Unix File System完整性(Integrity)防止数据被篡改和破坏 e.g. checksum可用性(Availability) 防止对所提供服务的干扰e.g. Denial of service2022/10/441挑战可扩展

22、性( Scalability)即使系统规模有一定规模的扩展,无论是资源还是用户,系统的性能保持在一定的水平E.g. the Internet设计上的挑战控制物理资源的代价,e.g.,随着用户数的增长,服务器的增长代价不能超过 O(n)控制性能损失, e.g., DNS no worse than O(logn)控制软件资源被耗尽,e.g., IP address防止性能瓶颈, e.g., partitioning name table of DNS, cache and replication2022/10/442挑战可扩展性( Scalability)2022/10/443Scale in

23、Distributed SystemsObservationMany developers of modern distributed system easily use the adjective “scalable” without making clear why their system actually scales.ScalabilityAt least three components: Number of users and/or processes (size scalability) Maximum distance between nodes (geographical

24、scalability) Number of administrative domains (administrative scalability)ObservationMost systems account only, to a certain extent, for size scalability. The (non)solution: powerful servers. Today, the challenge lies in geographical and administrative scalability.2022/10/444Scaling The ProblemObser

25、vationApplying scaling techniques is easy, except for one thing:Having multiple copies (cached or replicated), leads to inconsistencies: modifying one copy makes that copy different from the rest.Always keeping copies consistent and in a general way requires global synchronization on each modificati

26、on.Global synchronization precludes large-scale solutions.ObservationIf we can tolerate inconsistencies, we may reduce the need for global synchronization, but tolerating inconsistencies is application dependent.2022/10/445Techniques for Scaling Hide communication latencies Avoid waiting for respons

27、es; do something else:Make use of asynchronous communicationHave separate handler for incoming responseProblem: not every application fits this model Distribution Partition data and computations across multiple machines:Move computations to clients (Java applets)Decentralized naming services (DNS)De

28、centralized information systems (WWW)2022/10/446Techniques for Scaling Replication/caching Make copies of data available at different machines:Replicated file servers and databasesMirrored Web sitesWeb caches (in browsers and proxies)File caching (at server and client)2022/10/447挑战故障处理检测故障e.g. 用校验和检

29、测数据但是在分布式系统中确切的知道远程服务器是否出现故障是很难做到的。屏蔽故障 e.g. 重发没有收到的消息, 备份服务器等故障容错 e.g. 无法做到屏蔽故障,至少让用户知道出现了问题,让用户自由选择是否继续请求服务。故障恢复 e.g. 操作日志,恢复。冗余策略 e.g. IP route, replicated name table of DNS2022/10/448挑战并发( Concurrency)正确性多个进程并发访问共享资源,要保证被访问数据的正确性,不能出现不一致。性能(Performance)多个并发操作保证性能E.g. Maze 索引服务器,按UID,将任务分布给10个逻辑进

30、程来处理。2022/10/449挑战透明性(Transparency)访问透明(Access transparency)使用同样的操作去访问本地资源和远程资源。E.g. NFS / Windows File Sharing位置透明(Location transparency)访问资源的时候,不需要知道资源的位置。E.g. URL并发透明(Concurrency transparency)几个进程同时访问资源,互不干扰2022/10/450挑战透明性(Transparency)复制透明(Replication transparency)使用多个资源的副本来提高可靠性和性能,用户或者应用程序开发者

31、并不需要了解副本技术。故障透明(Failure transparency)在存在故障的情况下,用户和应用仍可完成他们的任务, e.g., email2022/10/451挑战透明性(Transparency)移动透明(Mobility transparency)资源或者客户端的移动不影响用户及程序的操作。E.g. mobile phone性能透明(Performance transparency)允许系统重新配置改善性能,例如改变负载。扩展透明(Scaling transparency)允许系统和应用扩大规模无需改变系统的结构和用算法。Distribution transparency is

32、a nice a goal, but achieving it is a different story.2022/10/452Distribution Transparency2022/10/453第1章 分布式系统的基本特征 进程迁移:为了均衡各处理机上的负载,或加速“计算”的完成等目的,能够将一个进程从一个系统迁移到另一个目标系统上去运行。 一、计算和数据迁移 1、数据迁移 方法一:是将系统B中的整个文件送到系统A; 方法二:把文件中用户当前需要的那一部分从系统B传送到系统A2022/10/454第1章 分布式系统的基本特征 2、计算迁移 一些情况下,传送计算要比传送数据更有效 二、引入

33、进程迁移的原因 1、负荷均衡 2、通信性能 3、加速计算 4、需要特殊资源 5、提高可利用性2022/10/455第1章 分布式系统的基本特征三、进程迁移机制几个问题:(1)由谁来发动进程迁移;(2)应迁移进程的哪些部分;(3)如何进行迁移;(4)对尚未完成的报文和消息应如何处理?2022/10/456第1章 分布式系统的基本特征引言分布式系统举例挑战总结2022/10/457总结分布式系统无处不在(pervasive) 构造分布式系统的主要动机是资源共享和协同计算分布式系统的特点并发性没有全局时钟故障独立性2022/10/458总结构造分布式系统面临的挑战异构性(Heterogeneity)开放性(Openness)安全性(Security)扩展性(Scalability)故障处理(Failure handling)并发性(Concurrency)透明性(Transparency)2022/10/459查阅并了解以下概念Time synchronization Leader electionMutual exclusion Distributed snapshot RoutingConsensusReplica management Transactions Trust model2022/10/460TransactionsA tr

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论