《分布式算法》PPT课件.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《《分布式算法》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《分布式算法》PPT课件.ppt(77页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第二部分第二部分 分布式算法分布式算法黄刘生黄刘生中国科学技术大学计算机系中国科学技术大学计算机系 国家高性能计算中心(合肥)国家高性能计算中心(合肥)1Ch.1 导论导论1.1 分布式系统分布式系统nDef:一一个个分分布布式式系系统统是是一一个个能能彼彼此此通通信信的的单单个个计计算算装装置置的的集集合(计算单元:硬合(计算单元:硬处理器;软处理器;软进程)进程)包括:紧耦合系统包括:紧耦合系统-如共享内存多处理机如共享内存多处理机 松散系统松散系统-cow、Internetn与与并并行行处处理理的的分分别别(具具有有更更高高程程度度的的不不确确定定性性和和行行为为的的独独立立性性)v并行
2、处理的目标是使用所有处理器来执行一个大任务并行处理的目标是使用所有处理器来执行一个大任务v而而分分布布式式系系统统中中,每每个个处处理理器器一一般般都都有有自自己己独独立立的的任任务务,但但由由于于各各种种原原因因(为为共共享享资资源源,可可用用性性和和容容错错等等),处处理理机之间需要协调彼此的动作。机之间需要协调彼此的动作。n分布式系统无处不在,其作用是:分布式系统无处不在,其作用是:共享资源共享资源改善性能:并行地解决问题改善性能:并行地解决问题改善可用性:提高可靠性,以防某些成分发生故障改善可用性:提高可靠性,以防某些成分发生故障21.1 分布式系统分布式系统n分布式系统面临的困难分布
3、式系统面临的困难v异质性:异质性:软硬件环境软硬件环境v异步性:异步性:事件发生的绝对、甚至相对时间不可能事件发生的绝对、甚至相对时间不可能总是精确地知道总是精确地知道v局部性:局部性:每个计算实体只有全局情况的一个局部每个计算实体只有全局情况的一个局部视图视图v故障:故障:各计算实体会独立地出故障,影响其他计各计算实体会独立地出故障,影响其他计算实体的工作。算实体的工作。31.2 分布式计算的理论分布式计算的理论n目标:目标:针对分布式系统完成类似于顺序式计算中对算法的研究针对分布式系统完成类似于顺序式计算中对算法的研究v具体:具体:对各种分布式情况发生的对各种分布式情况发生的问题进行抽象问
4、题进行抽象,精确地陈述精确地陈述这些问题这些问题,设计和分析有效算法解决这些问题设计和分析有效算法解决这些问题,证明这些算证明这些算法的最优性法的最优性。n计算模型:计算模型:v通信:通信:计算实体间计算实体间msg传递还是共享变量?传递还是共享变量?v哪些计时信息和行为是可用的?哪些计时信息和行为是可用的?v容许哪些错误容许哪些错误n复杂性度量标准复杂性度量标准v时间,空间时间,空间v通信成本:通信成本:msg的个数,共享变量的大小及个数的个数,共享变量的大小及个数v故障和非故障的数目故障和非故障的数目41.2 分布式计算的理论分布式计算的理论n否定结果、下界和不可能的结果否定结果、下界和不
5、可能的结果 常常要证明在一个特定的分布式系统中,某个特定问常常要证明在一个特定的分布式系统中,某个特定问题的不可解性。题的不可解性。就像就像NP-完全问题一样,表示我们不应该总花精力去完全问题一样,表示我们不应该总花精力去求解这些问题。求解这些问题。当然,可以改变规则,在一种较弱的情况下去求解问当然,可以改变规则,在一种较弱的情况下去求解问题。题。n我们侧重研究:我们侧重研究:v可计算性:可计算性:问题是否可解?问题是否可解?v计算复杂性:计算复杂性:求解问题的代价是什么?求解问题的代价是什么?51.3 理论和实际之关系理论和实际之关系主主要要的的分分布布式式系系统统的的种种类类,分分布布式式
6、计计算算理理论论中中常常用用的形式模型之间的关系的形式模型之间的关系n种类种类v支支持持多多任任务务的的OS:互互斥斥,死死锁锁检检测测和和防防止止等等技技术术在在分分布布式系统中同样存在。式系统中同样存在。vMIMD机机器器:紧紧耦耦合合系系统统,它它由由分分离离的的硬硬件件运运行行共共同同的的软软件件构成。构成。v更更松松散散的的分分布布式式系系统统:由由网网络络(局局域域、广广域域等等)连连接接起起来来的自治主机构成的自治主机构成特特点点是是由由分分离离的的硬硬件件运运行行分分离离的的软软件件。实实体体间间通通过过诸诸如如TCP/IP栈栈、CORBA或或某某些些其其它它组组件件或或中中间
7、间件件等等接接口口互互相相作用。作用。61.3 理论和实际之关系理论和实际之关系n模型模型模模型型太太多多。这这里里主主要要考考虑虑三三种种,基基于于通通信信介介质质和和同同步程度步程度考虑。考虑。异异步步共共享享存存储储模模型型:用用于于紧紧耦耦合合机机器器,通通常常情情况况下下各各处处理理机的时钟信号不是来源于同一信号源机的时钟信号不是来源于同一信号源异步异步msg传递模型:传递模型:用于松散耦合机器及广域网用于松散耦合机器及广域网同同步步msg传传递递模模型型:这这是是一一个个理理想想的的msg传传递递系系统统。该该系系统统中中,某某些些计计时时信信息息(如如msg延延迟迟上上界界)是是
8、已已知知的的,更更实实际系统能够模拟同步际系统能够模拟同步msg传递模型。传递模型。该该模模型型便便于于设设计计算算法法,然然后后将将其其翻翻译译成成更更实实际际的的模模型。型。71.3 理论和实际之关系理论和实际之关系n错误的种类错误的种类vCrash failure崩溃错误崩溃错误指处理机没有任何警告而在某点上停止操作。指处理机没有任何警告而在某点上停止操作。vByzantine failure拜占庭错误拜占庭错误一个出错可引起任意的动作一个出错可引起任意的动作8Ch.2 消息传递系统中的基本算法消息传递系统中的基本算法本本章章介介绍绍无无故故障障的的msg传传递递系系统统,考考虑虑两两个
9、个主主要要的的计时计时模型:同步及异步。模型:同步及异步。定定义义主主要要的的复复杂杂性性度度量量、描描述述伪伪代代码码约约定定,最最后后介介绍绍几个几个简单简单算法算法2.1 消息传递系统的形式化模型消息传递系统的形式化模型2.1.1 系统系统1.基本概念基本概念n拓扑:拓扑:无向图无向图 结点结点处理机处理机 边边 双向信道双向信道92.1.1 系统系统n算法:由系统中每个处理器上的局部程序构算法:由系统中每个处理器上的局部程序构成成v局部程序局部程序 执行局部计算执行局部计算本地机器本地机器 发送和接收发送和接收msg邻居邻居v形式地:形式地:一个系统或一个算法是由一个系统或一个算法是由
10、n个处理器个处理器p0,p1,pn-1构成,每个处理器构成,每个处理器pi可以模型化为一个可以模型化为一个具有状态集具有状态集Qi的状态机(可能是无限的)的状态机(可能是无限的)102.1.1 系统系统n状态(进程的局部状态)状态(进程的局部状态)由由pi的变量,的变量,pi的的msgs构成。构成。pi的每个状态由的每个状态由2r个个msg集构成:集构成:voutbufill(1llr):pi经经第第ll条条关关联联的的信信道道发发送送给给邻邻居,但尚未传到邻居的居,但尚未传到邻居的msg。vinbufill(1llr):在在pi的的第第ll条条信信道道上上已已传传递递到到pi,但尚未经,但尚
11、未经pi内部计算步骤处理的内部计算步骤处理的msg。模拟在信道上传输的模拟在信道上传输的msgs 112.1.1 系统系统n初始状态:初始状态:vQi包含一个特殊的初始状态子集:每个包含一个特殊的初始状态子集:每个inbufill必必须为空,但须为空,但outbufill未必为空。未必为空。n转换函数转换函数(transition):处理器处理器pi的转换函数的转换函数(实际上是一个局部程序实际上是一个局部程序)v输入:输入:pi可访问的状态可访问的状态v输出:输出:对每个信道对每个信道ll,至多产生一个,至多产生一个msg输出输出v转换函数使输入缓冲区转换函数使输入缓冲区(1llr)清空。清
12、空。122.1.1 系统系统n配置:配置:配置是分布式系统在某点上整个算法配置是分布式系统在某点上整个算法的全局状态的全局状态向量向量=(q0,q1,qn-1),qi是是pi的一个状态的一个状态一个配置里的一个配置里的outbuf变量的状态表示在通信信道上变量的状态表示在通信信道上传输的信息,由传输的信息,由del事件模拟传输事件模拟传输一个初始的配置是向量一个初始的配置是向量=(q0,q1,qn-1),其中每个其中每个qi是是pi的初始状态,即每个处理器处于初始状态的初始状态,即每个处理器处于初始状态132.1.1 系统系统n事件:事件:系统里所发生的事情均被模型化为事件,对系统里所发生的事
13、情均被模型化为事件,对于于msg传递系统,有两种:传递系统,有两种:comp(i)计算事件。代表处理器计算事件。代表处理器pi的一个计算步的一个计算步骤。其中,骤。其中,pi的转换函数被用于当前可访问状态的转换函数被用于当前可访问状态del(i,j,m)传递事件,表示传递事件,表示msg m从从pi传送到传送到pjn执行:执行:系统在时间上的行为被模型化为一个执行。系统在时间上的行为被模型化为一个执行。它是一个由配置和事件交错的序列。该序列须满足它是一个由配置和事件交错的序列。该序列须满足各种条件,主要分为两类:各种条件,主要分为两类:142.1.1 系统系统 Safety条件条件:(安全性安
14、全性)表表示示某某个个性性质质在在每每次次执执行行中中每每个个可可到到达达的的配配置置里里都必须成立都必须成立在序列的每个有限前缀里必须成立的条件在序列的每个有限前缀里必须成立的条件例例如如:“在在leader选选举举中中,除除了了pmax外外,没没有有哪哪个结点宣称自己是个结点宣称自己是leader”非非形形式式地地:安安全全性性条条件件陈陈述述了了“尚尚未未发发生生坏坏的的情情况况”“坏事从不发生坏事从不发生”152.1.1 系统系统 liveness条件条件:(活跃性活跃性)表示某个性质在每次执行中的某些可达配置里必须成立。表示某个性质在每次执行中的某些可达配置里必须成立。必须成立一定次
15、数的条件必须成立一定次数的条件(可能是无数次可能是无数次)例例如如:条条件件:“p1最最终终须须终终止止”,要要求求p1的的终终止止至至少少发发生生一次;一次;“leader选举,选举,pmax最终宣布自己是最终宣布自己是leader”非形式地,一个活跃条件陈述:非形式地,一个活跃条件陈述:“最终某个好的情况发生最终某个好的情况发生”对特定系统,满足所有要求的安全性条件的序列称为一个对特定系统,满足所有要求的安全性条件的序列称为一个执行执行;若一个执行也满足所有要求的活跃性条件,则称为若一个执行也满足所有要求的活跃性条件,则称为容许容许(合法合法的的)(admissible)执行执行162.1
16、.1 系统系统2.异步系统异步系统n异异步步:msg传传递递的的时时间间和和一一个个处处理理器器的的两两个个相相继继步步骤骤之之间间的的时间无固定上界时间无固定上界例例如如,Internet中中,email虽虽然然常常常常是是几几秒秒种种到到达达,但但也也可可能能要要数数天天到到达达。当当然然msg延延迟迟有有上上界界,但但它它可可能能很很大大,且且随随时时间而改变。间而改变。因因此此异异步步算算法法设设计计时时,须须使使之之独独立立于于特特殊殊的的计计时时参参数数,不不能能依赖于该上界。依赖于该上界。n执行片断执行片断一一个个异异步步msg传传递递系系统统的的一一个个执执行行片片断断是是一一
17、个个有有限限或或无无限限的序列:的序列:C0,1,C1,2,C2,3,(C0不一定是初始配置不一定是初始配置)这这里里Ck是是一一个个配配置置,k是是一一个个事事件件。若若是是有有限限的的,则则它它须结束于某个配置,且须满足下述条件:须结束于某个配置,且须满足下述条件:172.1.1 系统系统v若若k=del(i,j,m),则则m必必是是Ck-1里里的的outbufill的的一一个个元元素素,这这里里ll是是pi的信道的信道pi,pj的标号的标号从从Ck-1到到Ck的的唯唯一一变变化化是是将将m从从Ck-1里里的的outbufill中中删删去去,并并将将其加入到其加入到Ck里的里的inbufj
18、h h中,中,h是是pj的信道的信道pi,pj的标号。的标号。即即:传传递递事事件件将将msg从从发发送送者者的的输输出出缓缓冲冲区区移移至至接接收收者者的的输输入入缓冲区。缓冲区。v若若k=comp(i),则从,则从Ck-1到到Ck的变化是的变化是改改变变状状态态:转转换换函函数数在在pi的的可可访访问问状状态态(在在配配置置Ck-1里里)上上进进行操作,清空行操作,清空inbufill,(1llr)发发送送msg:将将转转换换函函数数指指定定的的消消息息集集合合加加到到Ck里里的的变变量量outbufi上。上。(Note:发送发送send,传递,传递delivery之区别之区别)即即:pi
19、以以当当前前状状态态(在在Ck-1中中)为为基基础础按按转转换换函函数数改改变变状状态态并并发发出出msg。182.1.1 系统系统n执执行行:一一个个执执行行是是一一个个执执行行片片断断C0,1,C1,2,这里这里C0是一个初始配置。是一个初始配置。n调调度度:一一个个调调度度(或或调调度度片片段段)总总是是和和执执行行(或或执执行行片片断断)联联系系在在一一起起的的,它它是是执执行行中中的的事事件件序序列列:1,2,。并并非非每每个个事事件件序序列列都都是是调调度度。例例如如,del(1,2,m)不不是是调度,因为此事件之前,调度,因为此事件之前,p1没有步骤发送没有步骤发送(send)m
20、。若若局局部部程程序序是是确确定定的的,则则执执行行(或或执执行行片片断断)就就由由初初始始配配置置C0和和调调度度(或或调调度度片片断断)唯唯一一确确定定,可可表表示示为为exec(C0,)。192.1.1 系统系统n容许执行:容许执行:(满足活跃性条件满足活跃性条件)异异步步系系统统中中,若若某某个个处处理理器器有有无无限限个个计计算算事事件件,每每个发送的个发送的msg都最终被传递,则执行称为容许的。都最终被传递,则执行称为容许的。Note:无无限限个个计计算算事事件件是是指指处处理理器器没没有有出出错错,但但它它不蕴含处理器的局部程序必须包括一个无限循环不蕴含处理器的局部程序必须包括一
21、个无限循环非非形形式式地地说说:一一个个算算法法终终止止是是指指在在某某点点后后转转换换函函数数不改变处理器的状态。不改变处理器的状态。n容许的调度:容许的调度:若它是一个容许执行的调度。若它是一个容许执行的调度。202.1.1 系统系统3.同步系统同步系统在同步模型中,处理器按锁步骤在同步模型中,处理器按锁步骤(lock-step)执行:执行:执执行行被被划划分分为为轮轮,每每轮轮里里,每每个个处处理理器器能能够够发发送送一一个个msg到到每每个个邻邻居居,这这些些msg被被传传递递。每每个个处处理理器器一一接接到到msg就进行计算。就进行计算。虽虽然然特特殊殊的的分分布布系系统统里里一一般
22、般达达不不到到,但但这这种种模模型型对对于于设设计计算算法法非非常常方方便便,因因为为无无需需和和更更多多的的不不确确定定性性打打交交道道。当当按按此模型设计算法后,能够很容易模拟得到异步算法。此模型设计算法后,能够很容易模拟得到异步算法。n轮轮:在在同同步步系系统统中中,配配置置和和事事件件序序列列可可以以划划分分成成不不相相交交的的轮轮,每每轮轮由由一一个个传传递递事事件件(将将outbuf的的消消息息传传送送到到信信道道上上使使outbuf变变空空),后后跟跟一一个个计计算算事事件件(处处理理所所有有传传递递的的msg)组组成。成。212.1.1 系统系统n容许的执行:容许的执行:指无限
23、的执行。指无限的执行。因为轮的结构,所以因为轮的结构,所以每个处理器执行无限数目的计算步,每个处理器执行无限数目的计算步,每个被发送的每个被发送的msg最终被传递最终被传递n同步与异步系统的区别同步与异步系统的区别在一个无错的同步系统中,一个算法的执行只取决在一个无错的同步系统中,一个算法的执行只取决于初始配置于初始配置但在一个异步系统中,对于相同的初始配置及无错但在一个异步系统中,对于相同的初始配置及无错假定,因为处理器步骤间隔及消息延迟均不确定,假定,因为处理器步骤间隔及消息延迟均不确定,故同一算法可能有不同的执行。故同一算法可能有不同的执行。222.1.2 复杂性度量复杂性度量n分布式算
24、法的性能:分布式算法的性能:msg个数和时间。个数和时间。最坏性能、期望性能最坏性能、期望性能n终终止止:假假定定每每个个处处理理器器的的状状态态集集包包括括终终止止状状态态子子集集,每每个个的的pi的的转转换换函函数数对对终终止止状状态态只只能能映映射射到到终终止止状状态态当当所所有有处处理理机机均均处处于于终终止止状状态态且且没没有有msg在在传传输输时时,称系统称系统(算法算法)已终止。已终止。n算算法法的的msg复复杂杂性性(最最坏坏情情况况):算算法法在在所所有有容容许许的的执行上发送执行上发送msg总数的最大值总数的最大值(同步和异步系统同步和异步系统)232.1.2 复杂性度量复
25、杂性度量n时间复杂度时间复杂度同同步步系系统统:最最大大轮轮数数,即即算算法法的的任任何何容容许许执执行行直直到到终终止止的的最大轮数。最大轮数。异异步步系系统统:假假定定任任何何执执行行里里的的msg延延迟迟至至多多是是1个个单单位位的的时时间,然后计算直到终止的运行时间间,然后计算直到终止的运行时间n计时执行计时执行(timed execution)指指:每每个个事事件件关关联联一一个个非非负负实实数数,表表示示事事件件发发生生的的时时间间。时时间间起起始始于于零零,且且须须是是非非递递减减的的。但但对对每每个个单单个个的的处处理理器器而而言言是严格增的是严格增的。若若执执行行是是无无限限
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 分布式算法 分布式 算法 PPT 课件
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内