版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
云计算原理与实践分布式计算云计算原理与实践分布式计算第1页Outline2.1分布式计算概述
2.2分布式计算理论基础2.3分布式系统概述2.4分布式系统进阶2.5经典分布式系统DataScienceStatisticsMachineLearningDomainexpertiseMathematicsDataengineering云计算原理与实践分布式计算第2页2.1分布式计算概述
2.1.1基础概念2.1.2分布式计算原理云计算原理与实践分布式计算第3页2.1.1基础概念(1)集中式计算集中式计算完全依赖于一台大型中心计算机处理能力,这台中心计算机称为主机(Host或mainframe),与中心计算机相连终端设备含有各不相同非常低计算能力。实际上大多数终端完全不含有处理能力,仅作为输入输出设备使用。(2)分布式计算
与集中式计算相反,分布式计算中,多个经过网络互联计算机都含有一定计算能力,它们之间相互传递数据,实现信息共享,协作共同完成一个处理任务。云计算原理与实践分布式计算第4页中科院定义中国科学院对分布式计算有一个定义:
分布式计算就是在两个或多个软件相互共享信息,这些软件既能够在同一台计算机上运行,也能够在经过网络连接起来多台计算机上运行。云计算原理与实践分布式计算第5页分布式计算比起其它算法含有以下几个优点。
稀有资源能够共享;
经过分布式计算能够在多台计算机上平衡计算负载;
能够把程序放在最适合运行它计算机上。云计算原理与实践分布式计算第6页2.1.2分布式计算原理分布式计算就是将计算任务分摊到大量计算节点上,一起完成海量计算任务。而分布式计算原理和并行计算类似,就是将一个复杂庞大计算任务适当划分为一个个小任务,任务并行执行,只不过分布式计算会将这些任务分配到不一样计算节点上,每个计算节点只需要完成自己计算任务即可,能够有效分担海量计算任务。而每个计算节点也能够并行处理本身任务,愈加充分利用机器CPU资源。最终再将每个节点计算结果汇总,得到最终计算结果。云计算原理与实践分布式计算第7页分布式计算普通分为以下几步:1.设计分布式计算模型首先要要求分布式系统计算模型。计算模型决定了系统中各个组件应该怎样运行,组件之间应该怎样进行消息通信,组件和节点应该怎样管理等。2.分布式任务分配分布式算法不一样于普通算法。普通算法通常是按部就班,一步接一步完成任务。而分布式计算中计算任务是分摊到各个节点上。该算法着重处理是能否分配任务,或怎样分配任务问题。3.编写并执行分布式程序使用特定分布式计算框架与计算模型,将分布式算法转化为实现,并尽可能确保整个集群高效运行,难点:(1)计算任务划分(2)多节点之间通信方式云计算原理与实践分布式计算第8页2.2分布式计算理论基础2.2.1ACID标准2.2.2CAP理论2.2.3BASE理论2.2.4最终一致性2.2.5一致性散列云计算原理与实践分布式计算第9页2.2.1ACID标准ACID是数据库事务正常执行四个标准,分别指原子性、一致性、独立性及持久性。云计算原理与实践分布式计算第10页2.2.1ACID标准1.A(Atomicity)—原子性原子性很轻易了解,也就是说事务里全部操作要么全部做完,要么都不做,事务成功条件是事务里全部操作都成功,只要有一个操作失败,整个事务就失败,需要回滚。比如银行转账,从A账户转100元至B账户,分为两个步骤:①从A账户取100元;②存入100元至B账户。这两步要么一起完成,要么一起不完成,假如只完成第一步,第二步失败,钱会莫名其妙少了100元。云计算原理与实践分布式计算第11页2.2.1ACID标准2.C(Consistency)—一致性一致性也比较轻易了解,也就是说数据库要一直处于一致状态,事务运行不会改变数据库原本一致性约束。比如现有完整性约束a+b=10,假如一个事务改变了a,那么必须得改变b,使得事务结束后依然满足a+b=10,不然事务失败。云计算原理与实践分布式计算第12页2.2.1ACID标准3.I(Isolation)—独立性所谓独立性是指并发事务之间不会相互影响,假如一个事务要访问数据正在被另外一个事务修改,只要另外一个事务未提交,它所访问数据就不受未提交事务影响。比如交易是从A账户转100元至B账户,在这个交易还未完成情况下,假如此时B查询自己账户,是看不到新增加100元。云计算原理与实践分布式计算第13页2.2.1ACID标准4.D(Durability)—持久性持久性是指一旦事务提交后,它所做修改将会永久保留在数据库上,即使出现宕机也不会丢失。这些标准处理了数据一致性、系统可靠性等关键问题,为关系数据库技术成熟以及在不一样领域大规模应用创造了必要条件。云计算原理与实践分布式计算第14页2.2.2CAP理论1.CAP理论定义
年7月,加州大学伯克利分校埃里克·布鲁尔(EricBrewer)教授在ACMPODC会议上提出CAP猜测。2年后,麻省理工学院塞思·吉尔伯符(SethGilbert)和南希·林奇(NancyLynch)从理论上证实了CAP。之后,CAP理论正式成为分布式计算领域公认定理。一个分布式系统最多只能同时满足一致性(Consistency)、可用性(Availability)和分区容错性(Partitiontolerance)这三项中两项,如图2.1所表示。云计算原理与实践分布式计算第15页一致性一致性指“Allnodesseethesamedataatthesametime”,即更新操作成功并返回客户端完成后,全部节点在同一时间数据完全一致。对于一致性,能够分为从客户端和服务端两个不一样视角来看。从客户端来看,一致性主要指多并发访问时更新过数据怎样获取问题。
从服务端来看,则是怎样将更新复制分布到整个系统,以确保数据最终一致性问题。云计算原理与实践分布式计算第16页
可用性可用性是指“Readsandwritesalwayssucceed”,即服务一直可用,而且是在正常响应时间内。对于一个可用性分布式系统,每一个非故障节点必须对每一个请求作出响应。也就是该系统使用任何算法必须最终终止。当同时要求分区容错性时,这是一个很强定义:即使是严重网络错误,每个请求也必须终止。好可用性主要是指系统能够很好地为用户服务,不出现用户操作失败或者访问超时等用户体验不好情况。通常情况下可用性和分布式数据冗余、负载均衡等有着很大关联。云计算原理与实践分布式计算第17页
分区容错性
分区容错性指“Thesystemcontinuestooperatedespitearbitrarymessagelossorfailureofpartofthesystem”,也就是指分布式系统在碰到某节点或网络分区故障时候,依然能够对外提供满足一致性和可用性服务。分区容错性和扩展性紧密相关。在分布式应用中,可能因为一些分布式原因造成系统无法正常运转。好分区容错性要求应用即使是一个分布式系统,但看上去却好像是一个能够运转正常整体。比如现在分布式系统中有某一个或者几个机器宕掉了,其它剩下机器还能够正常运转满足系统需求,或者是机器之间有网络异常,将分布式系统分隔为独立几个个别,各个个别还能维持分布式系统运作,这么就含有好分区容错性。云计算原理与实践分布式计算第18页2.CAP理论阐述与证实图2.2CAP基础场景云计算原理与实践分布式计算第19页图2.3分布式系统正常运转流程云计算原理与实践分布式计算第20页图2.4断开N1和N2之间网络云计算原理与实践分布式计算第21页3.CAP权衡经过CAP理论,知道无法同时满足一致性、可用性和分区容错性这三个特征,那应该怎样取舍呢?(1)CAwithoutP:假如不要求P(不允许分区),则C(强一致性)和A(可用性)是能够确保。但其实分区一直会存在,所以CA系统更多是允许分区后各子系统依然保持CA。(2)CPwithoutA:假如不要求A(可用),相当于每个请求都需要在Server之间强一致,而P(分区)会造成同时时间无限延长,如此CP也是能够确保。很多传统数据库分布式事务都属于这种模式。(3)APwithoutC:要高可用并允许分区,则需放弃一致性。一旦分区发生,节点之间可能会失去联络,为了高可用,每个节点只能用当地数据提供服务,而这么会造成全局数据不一致性。现在众多NoSQL都属于这类。云计算原理与实践分布式计算第22页2.2.3BASE理论丹·普里切特(DanPritchett)在对大规模分布式系统实践总结过程中,提出了BASE理论,BASE理论是对CAP理论延伸,关键思想是即使无法做到强一致性(StrongConsistency,CAP一致性就是强一致性),但应用能够采取适合方式到达最终一致性(EventualConsistency)。BASE是指基础可用(BasicallyAvailable)、软状态(SoftState)、最终一致性(EventualConsistency)。云计算原理与实践分布式计算第23页1.基础可用基础可用是指分布式系统在出现故障时候,允许损失个别可用性,即确保关键可用。电商大促时,为了应对访问量激增,个别用户可能会被引导到降级页面,服务层也可能只提供降级服务。这就是损失个别可用性表达。云计算原理与实践分布式计算第24页2.软状态软状态是指允许系统存在中间状态,而该中间状态不会影响系统整体可用性。分布式存放中普通一份数据最少会有三个副本,允许不一样节点间副本同时延时就是软状态表达。比如MySQLreplication异步复制就是这种表达。云计算原理与实践分布式计算第25页3.最终一致性最终一致性是指系统中全部数据副本经过一定时间后,最终能够到达一致状态。弱一致性和强一致性相反,最终一致性是弱一致性一个特殊情况。BASE和ACID区分与联络是什么呢?ACID是传统数据库常见设计理念,追求强一致性模型。BASE支持是大型分布式系统,提出经过牺牲强一致性取得高可用性。ACID和BASE代表了两种截然相反设计哲学。在分布式系统设计场景中,系统组件对一致性要求是不一样,所以ACID和BASE又会结合使用。云计算原理与实践分布式计算第26页2.2.4最终一致性下面以上面场景来描述下不一样程度一致性。强一致性(即时一致性):假如A先写入了一个值到存放系统,存放系统确保后续A、B、C读取操作都将返回最新值。弱一致性:假如A先写入了一个值到存放系统,存放系统不能确保后续A、B、C读取操作能读取到最新值。此种情况下有一个“时间窗口”概念,它特指从A写入值,到后续操作A、B、C读取到最新值这一段时间。“时间窗口”类似时空穿梭门,不过穿梭门是能够穿越到过去,而一致性窗口只能穿越到未来,方法很简单,就是“等会儿”。最终一致性:是弱一致性一个特例。假如A首先“写”了一个值到存放系统,存放系统确保假如在A、B、C后续读取之前没有其它写操作更新一样值话,最终全部读取操作都会读取到A写入最新值。此种情况下,假如没有失败发生话,“不一致性窗口”大小依赖于以下几个原因:交互延迟,系统负载,以及复制技术中复本个数。最终一致性方面最知名系统能够说是DNS系统,当更新一个域名IP以后,依据配置策略以及缓存控制策略不一样,最终全部客户都会看到最新值。云计算原理与实践分布式计算第27页2.2.4最终一致性还有一些最终一致性变体以下。Causalconsistency(因果一致性):假如ProcessA通知ProcessB它已经更新了数据,那么ProcessB后续读取操作则读取A写入最新值,而与A没有因果关系C则能够最终一致性。Read-your-writesconsistency:假如ProcessA写入了最新值,那么ProcessA后续操作都会读取到最新值。不过其它用户可能要过一会才能够看到。Sessionconsistency:此种一致性要求客户端和存放系统交互整个会话阶段确保Read-your-writesconsistency。Hibernatesession提供一致性确保就属于此种一致性。Monotonicreadconsistency:此种一致性要求假如ProcessA已经读取了对象某个值,那么后续操作将不会读取到更早值。
Monotonicwriteconsistency:此种一致性确保系统会序列化执行一个Process中全部写操作。云计算原理与实践分布式计算第28页2.2.5一致性散列1.基础概念一致性散列算法(ConsistentHashing)最早在论文ConsistentHashingandRandomTrees:DistributedCachingProtocolsforRelievingHotSpotsontheWorldWideWeb中被提出。简单来说,一致性散列将整个散列值空间组织成一个虚拟圆环。假设某散列函数H值空间为0~232-1(即散列值是一个32位无符号整形),整个散列空间环如图所示。云计算原理与实践分布式计算第29页2.容错性和扩展性(1)容错性现假设NodeC不幸宕机,能够看到此时对象A、B、D不会受到影响,只有C对象被重定位到NodeD。普通来说,在一致性散列算法中,假如一台服务器不可用,则受影响数据仅仅是此服务器到其环空间中前一台服务器(即沿着逆时针方向行走碰到第一台服务器)之间数据,其它不会受到影响,如图所示。云计算原理与实践分布式计算第30页2.容错性和扩展性(2)扩展性假如在系统中增加一台服务器NodeX,如图所示。此时对象A、B、D不受影响,只有对象C需要重定位到新NodeX。普通来说,在一致性散列算法中,假如增加一台服务器,则受影响数据仅仅是新服务器到其环空间中前一台服务器(即沿着逆时针方向行走碰到第一台服务器)之间数据,其它数据也不会受到影响。云计算原理与实践分布式计算第31页2.容错性和扩展性(3)虚拟节点一致性散列算法在服务节点太少时,轻易因为节点分布不均匀而造成数据倾斜问题。比如系统中只有两台服务器,其环分布如图所示。云计算原理与实践分布式计算第32页2.3分布式系统概述2.3.1分布式系统基础知识
2.3.2分布式系统特征
2.3.3分布式存放系统实例:ApacheHadoop
云计算原理与实践分布式计算第33页2.3.1分布式系统基础知识
大数据技术需求是推进分布式系统发展一大动力。大数据存放技术演变最初源于互联网企业大规模分布式存放系统。与传统高端服务器、高端存放器和高端处理器不一样是,互联网企业分布式存放系统由数量众多、低成本和高性价比普通PC服务器经过网络连接而成。互联网业务发展很快,而且重视成本,这就使得存放系统不能依靠传统纵向扩展方式,即先买小型机,不够时再买中型机,甚至大型机。互联网后端分布式系统要求支持横向扩展,即经过增加普通PC服务器来提升系统整体处理能力。普通PC服务器性价比高,故障率也高,需要在软件层面实现自动容错,确保数据一致性。另外,伴随服务器不停加入,需要能够在软件层面实现自动负载均衡,使系统处理能力得到线性扩展。云计算原理与实践分布式计算第34页2.3.2分布式系统特征
乔治·库鲁里斯(GeorgeCoulouris)是《分布式系统:概念与设计》(DistributedSystems:ConceptsandDesign)一书作者,曾是剑桥大学高级研究员。他曾经对分布式系统下了一个简单定义:你会知道系统当中某台计算机瓦解或停顿运行了,不过你软件却永远不会。这句话即使简单,不过却道出了分布式系统关键特征。分布式系统特征包含容错性、高可扩展性、开放性、并发处理能力和透明性。云计算原理与实践分布式计算第35页2.3.3分布式存放系统实例:ApacheHadoop
Hadoop是由Apache基金会开发分布式存放与计算框架。用户不需要了解底层分布式计算原理就能够轻松开发出分布式计算程序,能够充分利用集群中闲置计算资源,将集群真正威力调动起来。Hadoop由两个主要模块组成。一个是Hadoop分布式文件系统(HadoopDistributedFileSystem),顾名思义,就是一个分布式文件系统,能够将文件数据分布式地存放在集群中不一样节点上。另一个是MapReduce系统,是一个针对大量数据分布式计算系统。云计算原理与实践分布式计算第36页图2.13Hadoop关键组成云计算原理与实践分布式计算第37页1.关于ApacheHadoopHadoop思绪来自谷歌提出MapReduce分布式计算框架。谷歌MapReduce框架能够把一个应用程序分解为许多并行计算指令,跨越大量计算节点运行非常巨大数据集。而HadoopMapReduce则是对谷歌MapReduce开源实现。另首先其分布式文件系统则是谷歌GFS开源实现。Hadoop原本是ApacheNutch中一个子项目。以后Apache将MapReduce模块与NutchDistributedFileSystem(NDFS)单独抽离出来成为一个顶级项目。Hadoop已经成为当前世界上最流行分布式计算框架之一,Apache也建立了不少与Hadoop相关项目,如HBase、Cassandra、Avro、Hive、Mahout等项目。云计算原理与实践分布式计算第38页2.HDFS分布式文件系统Hadoop分布式文件系统(HDFS)是一个主从式分布式文件系统,是GFS一个开源实现。HDFS能够利用大量廉价存放器组成份布式存放集群,取代昂贵集中式磁盘存放阵列。而HDFS集群由一个NameNode和多个DataNode组成,除此之外还有用于热备份SecondaryNameNode,预防集群出现单点故障。云计算原理与实践分布式计算第39页2.HDFS分布式文件系统(1)NameNodeNameNode是整个集群管理者。它并不存放数据本身,而负责存放文件系统元数据。它负责管理文件系统名称空间,并控制外部客户端对文件系统访问。NameNode决定怎样将文件内容映射到DataNode数据块上。另外,实际数据传输并不会经过NameNode,而会让对应DataNode接收实际数据,并处理分布式存放系统负载均衡问题。整个文件系统只有一个NameNode,所以很显著集群可能会出现单点故障,这点需要利用SecondaryNameNode来处理问题。云计算原理与实践分布式计算第40页2.HDFS分布式文件系统(2)SecondaryNameNodeSecondaryNameNode是NameNode备份节点,HDFS会将NameNode数据实时备份到SecondaryNameNode上,当NameNode宕机需要重启时,则能够利用SecondaryNameNode中数据加紧NameNode重启恢复速度。云计算原理与实践分布式计算第41页2.HDFS分布式文件系统(3)DataNodeDataNode是实际数据存放节点,负责对应NameNode创建、删除和复制块命令。NameNode会读取来自DataNode心跳信息,以此判断DataNode是否存活。同一份数据会以多份副本存放在不一样DataNode上,一旦某一个DataNode宕机,NameNode会马上采取伎俩来处理问题。云计算原理与实践分布式计算第42页2.HDFS分布式文件系统(4)MapReduce模型MapReduce既是Hadoop中模块,也是一个计算模型。用户需要自己将算法划分成Map和Reduce两个阶段。首先将数据划分为小块数据,将数据分配到不一样计算节点Map任务中计算,然后将计算结果汇总到Reduce节点中进行合并,得出最终止果。MapReduce系统也是主从式计算系统。在使用YARN后,每个集群有一个Resource-Manager,用于管理整个集群。集群中每个计算节点都有一个NodeManager,负责管理某个节点容器并监视其资源使用。每个应用程序由一个MRAppMaster进行管理。云计算原理与实践分布式计算第43页3.ApacheHadoop特征(1)高可靠性:ApacheHadoop能够可靠地将数据存放到节点上。(2)高可扩展性:ApacheHadoop存放和计算节点能够快速扩展,并自动进行负载均衡。(3)高效性:首先ApacheHadoop会自动在各个节点之间动态调动数据,确保每个节点存放均衡,另首先读取数据时咱们能够从不一样节点并行读取,提升数据读取速度。(4)高容错性:ApacheHadoop会将数据冗余存放在不一样节点上,确保数据容错性,计算任务失败时也会自动重新分配任务。(5)低成本:ApacheHadoop是开源软件,能够节约商业软件购置成本。同时,ApacheHadoop能够用廉价节点组成集群取代昂贵超级计算机,从而能够节约硬件成本。云计算原理与实践分布式计算第44页2.4分布式系统进阶2.4.1分布式存放系统2.4.2分布式计算系统2.4.3分布式资源管理系统云计算原理与实践分布式计算第45页2.4.1分布式存放系统分布式存放系统大致可分为5个子方向:结构化存放、非结构化存放、半结构化存放、In-memory存放及NewSQL。除了这5个子方向之外,分布式存放系统还有一系列理论、算法、技术作为支撑,比如Paxos、CAP理论、一致性散列、时钟技术、2PC、3PC等。云计算原理与实践分布式计算第46页1.结构化存放结构化存放历史非常古老,经典场景就是事务处理系统或者关系型数据库(RDBMS)。传统结构化存放都是从单机做起,比如大家耳熟能详MySQL。MySQL成长史就是互联网成长史。除了MySQL之外,PostgreSQL也是多年来势头非常强劲一个RDBMS。传统结构化存放系统强调以下内容。
结构化数据(比如关系表);
强一致性(比如银行系统,电商系统等场景);
随机访问(索引、增删查改、SQL)。云计算原理与实践分布式计算第47页2.非结构化存放与结构化存放不一样是,非结构化存放强调是高可扩展性,经典系统就是分布式文件系统。分布式文件系统也是一个很老研究话题,比如20世纪70年代XeroxAlto,80年代NFS、AFS,90年代xFS等。然而,这些早期分布式文件系统只是起到了网络磁盘作用,其最大问题就是不支持容错和错误恢复。而Google在年SOSP会议上推出GFS(GoogleFileSystem)则走出了里程碑一步,其开源实现对应为HDFS。
云计算原理与实践分布式计算第48页3.半结构化存放半结构化存放提出是为了处理结非结构化存放系统随机访问性能差问题。咱们通常会听到一些流行名词,比如NoSQL、Key-ValueStore,包含对象存放等。这些都属于半结构化存放研究领域,其中以NoSQL发展势头最为强劲。NoSQL系统现有分布式文件系统所含有可扩展性,又有结构化存放系统随机访问能力(比如随机操作),系统在设计时通常选择简单键值(K-V)进行存放,抛弃了传统RDBMS里复杂SQL查询及ACID事务。云计算原理与实践分布式计算第49页4.In-memory存放伴随业务并发越来越高,存放系统对低延迟要求也越来越高。同时因为摩尔定律以及内存价格不停下降,基于内存存放系统也开始普及。顾名思义,In-memory存放就是将数据存放在内存中,从而取得读写高性能。比较有名系统包含Memcached和Redis。这些基于K-V键值系统主要目标是为基于磁盘存放系统做缓存。还有一些偏向于内存计算系统,比如Distributedsharedmemory、RamCloud、Tachyon(Alluxio)项目等。云计算原理与实践分布式计算第50页5.NewSQL前面介绍结构化存放时提到,单机RDBMS系统在可扩展性上面临着巨大挑战,然而NoSQL不能很好支持关系模型。那有没有一个系统能兼备RDBMS特征(比如,完整SQL支持、ACID事务支持),又能像NoSQL系统那样含有强大可扩展能力呢?年Google在OSDI会议上发表Spanner,以及年在SIGMOD会议上发表F1,让业界第一次看到了关系模型和NoSQL在超大规模数据中心上融合可能性。不过因为这些系统大都过于复杂,没有工业界大企业支持还是极难做出来。云计算原理与实践分布式计算第51页2.4.2分布式计算系统分布式计算和并行计算一样吗?能够这么认为:
传统并行计算要求:投入更多机器,数据大小不变,计算速度更加快。
分布式计算要求:投入更多机器,能处理更大数据。云计算原理与实践分布式计算第52页1.传统基于消息系统这类系统里比较有代表性就是MPI(MessagePassingInterface)。当前比较流行两个MPI实现是MPICH2和OpenMPI。MPI这个框架非常灵活,对程序结构几乎没有太多约束,以至于大家有时把MPI称为一组接口API,而不是系统框架。MPI除了提供消息传递接口之外,其框架还实现了资源管理和分配,以及调度功效。除此之外,MPI在高性能计算里也被广泛使用,通常能够和Infiniband这么高速网络无缝结合。云计算原理与实践分布式计算第53页2.MapReduce家族系统这一类系统又称作Dataflow系统,其中以HadoopMapReduce和Spark为代表。其实在学术界有很多类似系统,比如Dryad、Twister等。这一类系统特点是将计算抽象成为高层操作,比如像Map、Reduce、Filter这么函数式算子,将算子组合成有向无环图DAG,然后由后端调度引擎进行并行化调度。其中,MapReduce系统属于比较简单DAG,只有Map和reduce两层节点。MapReduce这么系统之所以能够扩展到超大规模集群上运行,就是因为其完备容错机制。在Hadoop小区还有很多基于MapReduce框架衍生产品,比如Hive(一个并行数据库OLAP)、Pig(交互式数据操作)等。云计算原理与实践分布式计算第54页3.图计算系统图计算系统是分布式计算另一个分支,这些系统都是把计算过程抽象成图,然后在不一样节点分布式执行,比如PageRank这么任务,很适适用图计算系统来表示。大数据图是无法使用单台机器进行处理,假如对大图数据进行并行处理,对于每一个顶点之间都是连通图来讲,难以分割成若干完全独立子图进行独立并行处理。即使能够分割,也见面临并行机器协同处理,以及将最终处理结果进行合并等一系列问题。这需要图数据处理系统选取适当图分割以及图计算模型来迎接挑战并处理问题。云计算原理与实践分布式计算第55页4.基于状态系统这一类系统主要包含年在OSDI会议上推出Piccolo,以及以后年在NIPS会议上Google推出开源机器学习系统DistBelief,再到以后被机器学习领域广泛应用参数服务器(ParameterServer)架构。云计算原理与实践分布式计算第56页5.实时流处理系统实时流处理系统是为高效实时地处理流式数据而提供服务,更关注数据处理实时性,能够愈加紧速地为决议提供支持。流处理是由复杂事件处理(CEP)发展而来,流处理模式包含两种:连续查询处理模式、可扩展数据流模式。云计算原理与实践分布式计算第57页2.4.3分布式资源管理系统
从支持离线处理MapReduce,到支持在线处理Storm,从迭代式计算框架Spark到流式处理框架S4,各种框架诞生于不一样企业或者试验室,它们各有所长,各自处理了某一类应用问题。而在大个别互联网企业中,这几个框架可能都会采取,比如对于搜索引擎企业,可能技术方案以下:网页建索引采取MapReduce框架,自然语言处理/数据挖掘采取Spark(网页PageRank计算、聚类分类算法等),对性能要求很高数据挖掘算法用MPI等。考虑到资源利用率、运维成本、数据共享等原因,企业普通希望将全部这些框架布署到一个公共集群中,让它们共享集群资源,并对资源进行统一使用,这么,便诞生了资源统一管理与调度平台,经典代表是Mesos和YARN。云计算原理与实践分布式计算第58页资源统一管理和调度平台含有以下特点:1.支持各种计算框架2.扩展性3.容错性4.高资源利用率5.细粒度资源分配云计算原理与实践分布式计算第59页2.5经典分布式系统2.5.1网格系统2.5.2P2P系统2.5.3透明计算2.5.4区块链系统云计算原理与实践分布式计算第60页2.5.1网格系统网格是一个能够将多组织拥有和管理计算机、网络、数据库和科学仪器综合协同使用基础设施。网格应用程序大多包括需要跨越组织界限可安全共享大规模数据和/或计算资源。这使网格应用程序管理和布署成为一项复杂任务。在混杂网格环境中,网格中间件为用户提供了无缝计算能力和统一访问资源能力。当前,世界范围内已经发展有数个工具包和系统,其中大个别是学术研究项目标结果。云计算原理与实践分布式计算第61页1.网格概念Globus定义网格为:一个能够整合合作使用由多家组织所拥有和管理高端计算机、网络、数据库、试验设备基础设施。由Gridbus提出一个基于效能网格定义:网格是一类并行、分布系统,能够在运行时动态分享、选择、聚合地理散布自治资源,依据它们可用性、能力、性能、代价以及用户对服务质量需求。
云计算原理与实践分布式计算第62页2.网格组成云计算原理与实践分布式计算第63页3.Globus工具包Globus是一个研究网格环境中互操作中间件技术,为科学和工程上网格计算应用程序提供基础支撑环境。它定义了构建计算网格一组基础服务和功效,包含安全、资源管理、通信、目录管理等基础服务,被许多应用网格项目采取。云计算原理与实践分布式计算第64页2.5.2P2P系统
对等网络系统(Peer-to-Peer),简称P2P系统,即媒体及公众所称“点对点系统”,是一个应用在对等者(Peer)之间分配任务和工作负载分布式应用架构系统。对等网络思想是:网络全部参加者共享他们所拥有一个别硬件资源,包含处理器资源、存放资源和网络资源等,这些共享资源能够经过网络被其它对等者直接访问并为之提供服务和内容。云计算原理与实践分布式计算第65页P2P系统性质(1)高度分散化(2)自组织性(3)多管理域云计算原理与实践分布式计算第66页P2P系统特点(1)布署低门槛(2)有机增加(3)对故障与攻击恢复力(4)资源丰富性与多样性云计算原理与实践分布式计算第67页对等网络应用(1)共享及分发文件(2)流媒体(3)电话(4)志愿计算云计算原理与实践分布式计算第68页2.5.3透明计算透明计算是一个用户无须感知计算机操作系统
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 合同鸡饲养合同范本
- 2024年度市场营销合作协议with推广渠道与业绩指标
- 关于单位劳动合同范本
- 2024年度技术开发合同:区块链技术的研发与应用
- 面店转让合同范本
- 2024年度美发店技术培训与转让合同
- 2024年度机场食堂餐饮服务外包合同
- 大宗物品合同范本
- 货款保证金合同范本
- 二手住宅买卖合同模板-2024年
- 2024-2030年中国建筑施工行业运行状况及发展规模分析报告
- 放射科专科护理模拟题含参考答案
- 家政培训讲师课件
- 2024年大型科学仪器共享与服务合作协议
- 2024-2025学年苏科版七年级数学上册期中复习试卷
- 露天矿安全生产年度总结
- 生态文明学习通超星期末考试答案章节答案2024年
- 2023秋部编版四年级语文上册第2单元大单元教学设计
- (完整版)新概念英语第一册单词表(打印版)
- 2025届四川省新高考八省适应性联考模拟演练政治试卷(含答案)
- 最新:河北省另收费用一次性物品管理目录(2022版)
评论
0/150
提交评论