《1.分布式协同计算基础绪论.ppt》由会员分享,可在线阅读,更多相关《1.分布式协同计算基础绪论.ppt(57页珍藏版)》请在三一办公上搜索。
1、分布协同计算基础,教师:张锡哲计算机应用技术研究所东北大学信息科学与工程学院2014.9,课程简介,课程:分布协同计算基础教师:张锡哲办公室:信息学馆418Email:主要研究方向:服务计算、复杂网络上课时间地点:第2-12周,周二9-11节考试评分考试:50%平时:50%,参考资料,韩燕波,王桂玲,刘晨等.互联网计算的原理与实践。科学出版社.2010.7虚拟化与云计算编写组。虚拟化与云计算,电子工业出版社,2010Michael P.Papazoglou著,龚玲,张云涛译.Web服务原理和技术.北京:机械工业出版社.2010,参考资料,Hagit Attiya,Jennifer Welch.
2、分布式计算(第二版)John Wiley Tim Kindberg.分布式系统-概念与设计.机械工业出版社 2004年1月第一版,参考资料,Hagit Attiya,Jennifer Welch.分布式计算(第二版)John Wiley Tim Kindberg.分布式系统-概念与设计.机械工业出版社 2004年1月第一版,背景及定位,我们已经进入互联网时代,Internet已成为人类史上最大的协同计算平台,将成为人类社会历史上最重要的社会基础设施。互联网的大规模、开放、动态、异构、不确定性为分布式系统带来诸多挑战IT资源优化与利用跨管理域的资源共享与应用集成课程关注以下问题:分布式系统的基本
3、算法与原理分布协同系统的应用模式(以互联网应用为背景):web服务、SOA云计算、虚拟化、SaaS,课程结构及主要内容,概述分布式算法:选举算法、容错一致性、因果关系和时间分布式系统系统模型、网络、进程间通信、分布式对象等分布协同计算技术专题:服务计算云计算,分布协同计算基础,第一章:分布协同计算概论张锡哲 副教授计算机应用技术研究所东北大学信息科学与工程学院,分布、协同与计算,协同:协调两个或者两个以上的不同资源或者个体,一致地完成某一目标的过程或能力.计算(Computing):使用/开发计算机软件/硬件的活动(ACM,2005),涉及有关设计、构建、运维计算机软硬件系统的各种技术.分布式
4、系统是一个其硬件或软件组件分布在联网的计算机上,组件之间通过传递的消息进行通信和动作协调的系统.,分布式系统的特征,并发:系统各部分独立的执行,在必要时进行交互或共享资源;缺乏全局时钟:没有准确的、统一的时钟故障独立:每个组件会独立的发生故障,构造和使用分布式系统的动力源于对共享资源的期望!,典型的分布式系统,大型多人网络游戏,如魔兽世界等支持大规模用户同时在线快速响应及世界一致性是主要的挑战几类典型的解决方案客户-服务器架构分布式架构混合架构,典型的分布式系统,金融交易系统,基于事件的分布式系统实时监测事件,调整交易策略,金融交易系统,复杂事件处理的一个例子:,什么是分布协同计算,分布协同计
5、算:依托网络实现资源的按需逻辑一体化以及各类联网资源(包括网络资源和本地资源)的按需集成与广泛共享,而构建分布式系统的相关方法,原理和理论体系统称为分布协同计算。愿景:效用计算(utility computing)“计算在某一天将会被组织为公共设施,就像电话一样计算设施将变为一种新的和重要的工业基础”,为什么需要分布协同计算?,摩尔定律:“The density of transistors on a chip doubles every 18 months,for the same cost”(1965),硬件发展,为什么需要分布协同计算?,计算规模的扩大What can you do wi
6、th 1 computer?What can you do with 100 computers?What can you do with an entire data center?单一的高性能计算机很难满足大规模计算需求采用分布式系统或PC集群,为什么需要分布协同计算?,模拟成千上万的角色的动作行为绘制高质量的多帧动画,处理问题的复杂性,为什么需要分布协同计算?,搜索WEB(Google)通过模拟Internet大小的网络进行网络实验和仿真(PlanetLab),这些问题的共同关键特征是什么?巨量计算能力的需求资源共享,处理问题的复杂性,IT 的发展在不断效仿人类社会的发展模式,互联网将成
7、为人类社会历史上最重要的社会基础设施之一。集成和协同是核心问题。,分布式系统中的资源,分布协同计算的目标是实现资源的按需逻辑一体化以及各类互联网资源的按需集成与广泛共享.资源是分布协同计算的基石互联网背景下资源包括:可联网的计算机、存储和带宽通信渠道等静态网页信息基于在线数据库生成的动态网页由Web 2.0、SNS 等系统用户贡献的信息和应用以服务的形式提供的Web 应用内容和业务功能以服务的形式提供的计算、存储、开发能力、性质保障能力等基础设施服务资源。,1.硬件,2.软件,软件是信息的载体并且提供了对信息的处理能力,如对信息的收集、归纳、计算和传播。,3.基础设施,基础设施:原指社会或企业
8、团体正常运转所需要的物理设施和基本服务,如道路、供水设施、电力网等基础设施的特点:基础设施是用于提供服务的固定资产基础设施的发展倾向于自然垄断基础设施是随着时间的进展而不断演变的基础设施具有集成系统的特征互联网可以作为:通信基础设施文档共享基础设施支撑各种应用软件运营的基础设施数据中心已成为一种重要的互联网基础设施构成形式,4.移动设备与物联网,丰富的输入和输出形式:触摸屏、各种类型的数字输入设备(如数码相机等)、各种类型的传感器设备(如数字手套等)、多媒体和各种移动终端普适计算:指计算和环境融为一体,计算设备并不会强加给人任何限制。以在任何时间、任何地点、以任何方式进行信息的获取和处理。物联
9、网:互联网通过各种信息感应、探测、识别、定位、跟踪和监控等手段和设备向物理世界的延伸。,分布式系统的趋势,现代互联网普适计算与移动计算网格计算服务计算云计算社会计算,现代互联网,现代互联网是典型的超大规模分布式系统,移动计算在移动中执行计算任务的能力,访问因特网的资源位置清楚的计算(location aware computing):在移动环境中,能够发现并附近的资源。自组网络(Ad Hoc)要解决的问题避免由于移动而需要重新配置的问题(DHCP)无线带宽有限,需要考虑QoS私秘和安全问题的解决Ad Hoc网络的路由问题,27,移动计算,28,移动计算的例子,29,网格计算系统,网格是为了满足
10、对地理位置分散的资源进行集成、共享而发展起来的。起源于元计算-将分布的资源作为一个整体来使用,网格聚合广域计算资源网格共享广域信息资源,30,网格的理想,正如元计算专家L.Smarr和C.E.Catlett所认为的那样:“最终,除了一台摆在桌面上的计算机外,用户将觉察不到对其它计算机资源的使用,因为系统拥有了通过网络延伸并获得任何所需计算资源的能力”。,31,网格应用,I-WAY是一个大规模的广域计算测试平台。Globus以I-WAY和I-Soft为基础,高性能计算环境构建基础工具。Legion强调工作站簇(或机群)上的并行任务的高效运行。NetSolve是基于代理技术的网络化科学计算环境。S
11、ETIhome,SETI(搜寻地外文明)是一个寻找地球以外智慧生命的科学实验。ChinaGrid,中国教育与科研网格,服务计算,企业应用集成(Enterprise Application Integration,EAI):通过中间件作为粘合剂来连接企业内外各种业务相关的异构系统、应用以及数据源,从而满足 E-Commerce、ERP、CRM、SCM、OA、数据库、数据仓库等重要系统之间无缝共享和交换数据的需要。面向服务的架构(SOA)强调松耦合、基于开放标准互操作、大粒度重用、支持动态扩展等特性,Web服务是SOA的代表实现技术。,SOA 的关键技术主要包括三个方面:与SOA 系统的基本构造元
12、素一Web 服务相关的一组技术:包括Web 服务建模、Web 服务的描述、发布与发现技术、Web 服务通信技术、Web服务交互技术、Web 服务组合技术、Web 服务安全与QoS 保障技术、Web 服务的事务管理技术等。与SOA 工程相关的一组技术:包括SOA 方法学、领域建模、需求分析、服务编程与开发技术,以及基于服务的信息集成、应用集成等服务集成技术等。与分布式系统共性问题相关的一组基础技术:包括SOA 系统的体系结构、可伸缩性、可靠性及可用性保障技术等。,服务计算,企业服务总线(Enterprise Service Bus,ESB)是最为典型的一种面向服务的EAI 技术,它在大粒度服务级
13、别通过事件驱动和基于XML 的消息引擎,在原有的EAI 技术中融合SOA 和Web 服务技术,以标准、开放、灵活和经济的方式为分布应用的集成提供基础设施。,服务计算,云计算系统,云计算(cloud computing):云计算是分布式计算的一种形式,它强调在互联网上建立大规模数据中心等IT 基础设施,通过面向服务的商业模式为各类用户提供基础设施能力,是建造和运维互联网分布式系统相关技术的总称。,在用户看来,云计算提供了-种大规模的资源池,资源池管理的资源包括计算、存储、平台和服务等各种资源,资源池中的资源经过了抽象和虚拟化处理,并且是动态可扩展的.,云计算的特征,云计算具有下面四个显著的典型特
14、征:面向服务的商业模式SaaS,软件即服务,PaaS,平台即服务,IaaS,基础设施即服务规模经济驱动的资源集中共享云计算系统中的资源在多个租户之间共享,通过对资源的集中管控实现成本和能耗的降低。资源虚拟化使用了虚拟化的方法,从而打破了数据中心、服务器、存储、网络等资源在物理设备中的划分,对物理资源进行抽象,以虚拟资源为单位进行调度和动态优化。系统动态可扩展可以支持用户对资源使用数量的动态调整,而无需用户预先安装、部署并运行峰值用户请求所需的资源。,1、按服务类型分类基础设施云(Infrastructure Cloud):这种云为用户提供的是底层的、接近于直接操作硬件资源的服务接口。(Amaz
15、on EC2)平台云(Platform Cloud):这种云为用户提供一个托管平台,用户可以将他们所开发和运营的应用托管到云平台中。(Google App Engine)应用云(Application Cloud):这种云为用户提供可以为其直接所用的应用,针对某一特定的功能。(S),云计算的分类,2、按服务方式分类公共云:以Google,Amazon为代表,通过自己的基础架构直接向用户提供服务。用户通过互联网访问服务,并不拥有云计算资源。私有云:企业自己搭建云计算基础架构,面向内部用户或外部客户提供云计算服务。企业拥有基础架构的自主权,并且可以基于自己的需求改进服务,进行自主创新。混合云:也就
16、是既有自已的云计算基础架构,也使用外部公共云提供的服务,云计算的分类,云计算的典型应用,云计算的典型应用包括大规模信息处理、计算资源与存储资源按需租赁、应用服务器按需租赁、多终端数据存储和同步服务等,通常对等网络、志愿者计算也列入云计算的应用。Google 搜索引擎、Skype、Windows Live Mesh 等应用都是典型的云计算应用。云计算的应用领域十分广泛,从电子商务、金融、电信、石油、科研到政府、教育、卫生等领域,几乎无所不包。,社会计算系统,社会计算(Social computing)是指社会行为和计算系统交叉的计算机学科分支。广义地说,社会计算系统一般指那些用来支持任何类型社会
17、行为的计算机软硬件系统,如博客系统、Emai l 系统、即时消息系统、社会网络服务系统、Wiki、eMule 社区系统、Mashup 社区等;狭义地说,社会计算系统也特指那些在一组社会群体的社会行为支持下进行计算的系统,如协同过滤、在线竞拍、名誉管理系统等。,纽约时报的故事,背景:纽约时报准备将近130年以来的古老的报纸存档数字化,但是由于时间久远且字迹不清楚,其中有很大的比例的文字被污染和扭曲,如何解决这个问题?难题:目前的字符识别算法无法准确识别这类被污染、扭曲的文字,只有耗费大量的人力资源和时间才能完成这项艰巨的任务。方案:reCAPTCHA验证码系统。将AI无法识别的字符图像作为网站验
18、证码让大量用户进行识别,从而得到正确的结果。结果:原本需要耗费巨大时间和人力资源的工程,几个月之内就由网友们完成了,而且是在网友们事前无知、事后惊讶中完成的。,众包与群体智慧,群体计算(crowd computing)、社群感知(social sensing)、众包(crowd Sourcing)特征:以大量用户参与作为基础,把大家的集体智慧(collective intelligence)用起来,解决复杂的问题。,分布协同计算百科,地址:http:/,分布式系统存在一些共同的技术问题异构性开放性安全性可伸缩性 故障处理并发性透明性,分布式系统的技术挑战,网络协议Ethernet,token
19、ring,etc硬件big endian/little endian操作系统different API of Unix and Windows编程语言different representations for data structures开发者实现方式的不同no application standards,45,挑战-异构性(Heterogeneity),中间件(Middleware)应用到软件层,用来屏蔽底层的异构性。例如Java的RMI,提供远程调用的接口,可以在任何操作系统上运行。移动代码(Mobile code)移动代码需要在不同的机器间移动并执行,必须解决异构的问题。虚拟机运行在不
20、同的机器或系统上,代码在虚拟机上运行。,46,挑战-异构性(Heterogeneity),计算机系统的开放性 一个系统是否可以扩充以不同的方式重新实现。例如:UNIX分布式系统的开放性 在多大程度上新的资源共享服务可以加到系统中来。例如:WEB,plug-in,47,挑战-开放性(openness),关键接口是公开的(API),挑战-开放性(openness),统一的通信机制(例如XML-RPC),挑战-开放性(openness),机密性(Confidentiality)防止未经授权的个人访问资源 e.g.ACL in Unix File System完整性(Integrity)防止数据被篡改
21、和破坏 e.g.checksum可用性(Availability)防止对所提供服务的干扰e.g.Denial of service,挑战-安全性(security),即使系统规模有一定规模的扩展,无论是资源还是用户,系统的性能保持在一定的水平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 re
22、plication,挑战-可扩展性(Scalability),检测故障e.g.用校验和检测数据但是在分布式系统中确切的知道远程服务器是否出现故障是很难做到的。屏蔽故障e.g.重发没有收到的消息,备份服务器等故障容错e.g.无法做到屏蔽故障,至少让用户知道出现了问题,让用户自由选择是否继续请求服务。故障恢复e.g.操作日志,恢复。冗余策略e.g.IP route,replicated name table of DNS,52,挑战-故障处理(Failure handling),正确性多个进程并发访问共享资源,要保证被访问数据的正确性,不能出现不一致。性能多个并发操作保证性能,53,挑战-并发(C
23、oncurrency),访问透明(Access transparency)使用同样的操作去访问本地资源和远程资源。E.g.NFS/Windows File Sharing位置透明(Location transparency)访问资源的时候,不需要知道资源的位置。E.g.URL并发透明(Concurrency transparency)几个进程同时访问资源,互不干扰,54,挑战-透明性(Transparency),复制透明(Replication transparency)使用多个资源的副本来提高可靠性和性能,用户或者应用程序开发者并不需要了解副本技术。故障透明(Failure transparency)在存在故障的情况下,用户和应用仍可完成他们的任务,e.g.,email,55,挑战-透明性(Transparency),移动透明(Mobility transparency)资源或者客户端的移动不影响用户及程序的操作。E.g.mobile phone性能透明(Performance transparency)允许系统重新配置改善性能,例如改变负载。扩展透明(Scaling transparency)允许系统和应用扩大规模无需改变系统的结构和用算法。,56,挑战-透明性(Transparency),本章结束,