Distributed Computing —— Principles, Algorithms, and Systems

分布式计算是指由计算机网络连接的多处理平台的各种形式的计算、信息访问与信息交换。

第一章 引言

分布式软件也称中间件分布式软件也称中间件
OMG(对象管理工作组),CORBA(公用对象请求代理体系结构),RPC(远程过程调用),DCOM(分布式组件对象模型),RMI(远程方法调用),MPI(消息传递接口)
因为各个进程需要按顺序进行,所以需要分布式计算。
并行系统: 1.多处理器系统,可访问共享内存(UMA,均匀存储器访问多处理器结构) 2.多处理器系统,处理器不能直接访问共享内存(NUMA,非均匀存储器访问多处理器结构) 3.阵列处理器
拓扑:Omega,蝴蝶互联,网,环,圆环面,立方体,超立方体
处理模式:SISD,SIMD(单指令流,多数据流),MISD,MIMD
耦合:4种MIMD体系结构(1.紧耦合多处理器,具有UMA共享内存,一致内存访问 2.紧耦合多处理器,具有NUMA共享内存,非一致内存访问或通过消息传递进行通信 3.松耦合多计算机,没有共享内存,在物理上共同放置 4.松耦合多计算机,没有共享内存,没有共同的时钟)
并行:加速比,累积衡量
并发:本地操作和全局操作的比例
粒度:计算总量与通信总量的比例
消息传递系统与共享内存系统
阻塞/非阻塞,同步/异步原语,缓冲/非缓冲
无错误系统中,基本系统类别AMP(异步消息传递),SMP(同步消息传递),ASM(异步共享内存),SSM(同步共享内存)
主题,系统挑战,算法挑战,应用

第二章 分布式计算模型

有向图建模,节点表示处理器,边表示单向通信信道
分布式计算的全局状态:各个进程的状态以及所有通信信道的状态。
原子动作:内部事件,消息发送事件,消息接收事件。
逻辑并发,物理并发
通信网络模型:FIFO,非FIFO,因果序
分布式系统的全局状态:个组成部件本地状态的集合,包括所有处理器本地状态以及通信信道状态的集合。
处理器本地状态:处理器寄存器状态、堆栈状态、本地内存状态等等,依赖于分布式应用的本地语义。
信道状态:信道中传输的消息集合。
一致性全局状态,非一致性全局状态。
运行分割:PAST集合和FUTURE集合。 一条分割线对应一个全局状态。 一致性分割,非一致性分割。
时间的过去和未来锥面。
进程通信模型:同步通信和异步通信。

第三章 逻辑时间

逻辑时间:标量时间,矢量时间,矩阵时间
偏序(先发生,因果优先),全序,线性排序
虚拟时间,时间变形(前视-回滚,本地控制机制,全局控制机制)
网络时间协议(NTP)

第四章 记录全局状态与快照算法

分布式系统的每个组件都有一个本地状态,进程的状态由其本地存储器和活动历史描述。
通道状态由沿通道发送的消息减去沿通道接收的消息的集合描述。
分布式系统的全局状态是其组件的本地状态的集合。
一致性全局状态。
计算消息,控制消息。
FIFO,非FIFO,消息的因果传送。
分布式系统的一个全局快照是来自每个进程的每个检查点和集合。 一致性全局快照的任何2个不同的检查点之间不存在一条因果路径(必要条件)。
一致性全局快照的充分必要条件是任何2个不同的检查点之间不存在zigzag路径或环路。

第五章 术语和基本算法

物理拓扑结构,逻辑拓扑结构(逻辑通道,逻辑链),重叠拓扑结构(树、环、网状、超立方)
分类:集中式算法和分布式算法,对称算法和非对称算法,匿名算法,一致算法,自适应算法,确定性执行对非确定性执行,执行抑制,同步系统和异步系统,联机算法与脱机算法,故障模型(7个进程故障模型(同步系统含3个计时故障),3个通信故障模型(同步系统也有计时故障)),无需等待算法,通信信道。
空间复杂度(节点和系统),时间复杂度(节点和系统),消息复杂度(空间和时间部分,消息数,消息尺寸,消息时间复杂度)。 无向无权重图的系统结构,图的直径是指从任意节点到其他所有节点的遍历需要走过的最小边数。
并发顺序进程(CSP)
经典路由算法在分布式计算的环境下的难度加大。
同步工具:简单同步,α,β,γ。
最大独立集合(MIS),该集合的节点均不直接相连。
连通支配集(CDS),N的支配集N‘使N/N‘的每个节点有一条通向N‘中某个节点的边。 CDS和最小连通支配集(MCDS)尺寸最坏情况下的比率为近似因子。 伸缩因子。
紧凑路由表:分层路由模式,树标记模式,间隔路由模式,前缀路由模式

同步:顺序进行。
异步:各自执行各自的。

第六章 消息序与组通信

本章不考虑内部事件。
消息序:非先进先出序/异步执行过程(A),先进先出序(FIFO),因果序(Casual Order,CO),同步序(SYNC/RSC)。
皇冠。
非确定性,回合
组通信:多播。
全序。
多播术语:SSSG,MSSG(多源单目的地群组),SSMG,MSMG
多播传播树。
应用层多播算法分类:基于通信历史,基于优先级,活动定序器,固定定序器,目的地契约,
容错组通信,常规特色和统一特色。
网络层多播算法:洪泛约束的反向路径转发,Steiner树,核基树

第七章 终止检测

判断分布式计算进程是否结束
全局终止,本地终止
正常计算:基本消息
终止检测(Termination Detection, TD):控制消息

进程状态: 活跃/繁忙,空闲/被动

第八章 知识推理

Muddy children:n个孩子,k个有泥巴,k大于等于1。 
问k次,k个有泥巴的孩子都会回答有泥巴。 实际上,第k次问之前,孩子已经知道自己有无泥巴了。
k大于等于1为关键点,为系统的共识。 没有该条件,不论问多少次,所有人都回答不确定。
E(每个进程知道),K(某个进程知道),C(共同知识)
克里普克结构

第九章 分布式互斥算法

任何给定时刻只允许一个进程执行临界区(critical section,CS)
消息传递是实现分布式互斥的唯一方法,信号量或局部内核无法实现分布式互斥。
基本方法:1.令牌 2.非令牌 3.仲裁团
性质:
1.安全性:互斥
2.活性:无死锁和饥饿
3.公平性:机会公平
性能指标:消息复杂度,同步延迟,响应时间,系统吞吐量

第十章 死锁检测

死锁预防,死锁避免,死锁检测(最好方法)
进程的2种状态:运行,阻塞
WFG图,成环或结即存在死锁
死锁检测:检测现存的死锁,解锁
死锁检测算法:中心式算法,分布式算法,分层算法
死锁模型:单资源模型,AND模型,OR模型,AND-OR模型,(p q)模型,无限制模型
分布式死锁检测算法:路径推送算法,边探测算法,基于计算分散的算法和基于全局状态检测的算法
死锁检测的2个任务:构造和维护WFG图,在WFG图中查找死锁条件(环或结)

第十一章 全局谓词的检测

系统状态谓词
谓词的形态:Possibly,Definitely
稳定谓词:死锁,终止
不稳定谓词
关系谓词,合取谓词,本地谓词,稳定谓词,析取谓词,观察者无关谓词

第十二章 分布式共享内存

分布式共享内存(Distributed Shared Memory,DSM)
内存一致性模型:可被允许的内存访问次序集合
内存一致性模型6种:无一致性,PRAM/处理器一致性,顺序一致性,线性/原子一致性/强一致性,因果一致性,慢内存
其他原则的一致性模型:弱一致性,释放一致性,入口一致性
共享内存的互斥
等待无关性

寄存器的4种划分:3类型(安全寄存器,普通寄存器,原子寄存器),2变量值(布尔,多值),2读方式(SR,MR),2写方式(SW,MW)。 把寄存器分为24种类型。

快照为系统运行过程中瞬间的全局状态。

第十三章 检查点和卷回恢复

检查点:分布式系统保存的状态
卷回恢复:从前一个检查点状态重新开始的过程
连锁回滚会形成多米诺效应,卷回传播可能回退到计算的初始状态,丢弃故障前运行的所有工作。
独立检查点或者非协同检查点。
协同检查点。通信诱导检查点。
基于检查点和日志的卷回恢复。
卷回恢复定义:如果一个系统内部状态与它在发生错误之前观察到的行为是一致的,那么这个系统正确恢复。

本地检查点。 本地检查。
OWP外部世界进程。
输出提交问题。
消息的不同类型:传输中的消息,丢失消息,延迟消息,孤儿消息,重复消息

基于检查点的恢复技术:
1.无协作检查点
2.协作式检查点:阻塞,非阻塞
3.通信引导检查点:模型,索引

确定事件和非确定事件
基于日志的卷回恢复协议:悲观日志协议,乐观日志协议,因果日志协议

第十四章 共识和协定算法

各个进程达成共识/一致
假设:1.故障模型 2.同步/异步通信 3.网络连接 4.发送方身份识别 5.通道可靠性 6.认证消息与未经认证的消息 7.协定变量
拜占庭协定,共识问题,交互一致性问题
可靠广播问题,k-set共识问题,ε协定问题,重命名问题
全局状态的价
不可解问题:异步系统达成共识,领导人选举问题,广播-汇聚数据流模型中网络端全局函数的计算,结束可靠的广播,原子性广播
共识数,共识层级,共识对象(对象即操作原语),RMW(Read-modify-write)
本章覆盖的共识问题:1.有故障的同步消息传递系统 2.有故障的异步消息传递系统 3.异步系统中无等待的共享内存共识问题

第十五章 失效检测

检测进程是否失效/崩溃。
进程p在时间t崩溃:进程p在时间t后不能进行任何动作。 失效是永久性的,无法恢复。 正确进程是不会崩溃的进程。
失效模式F:F(t)表示到时间t已崩溃的进程集合
环境E是失效模式的集合,描述一个系统中能发生的崩溃
一般来说,我们考虑包含所有可能失效模式的环境,即崩溃进程数不受限制。
每个进程都有一个本地失效检测程序模块D。
重要范式:一致/共识,原子广播
同步系统限定执行时间和传输延迟,异步系统不限制处理器的速度、时钟的漂移、消息传送的延迟。
完备性要求一个失效检测程序最终能怀疑所有已崩溃的进程
准确性限制一个失效检测程序产生错误(即一个正确的进程怀疑另一个正确的进程)
完备性定义:存在一个时间,在这个时间之后,已崩溃的每个进程都会被正确进程永久地怀疑
准确性定义:存在一个时间,在这个时间之后,一个正确的进程永远不会被任何正确的进程怀疑
最终准确性:不要求每个进程在全部时间里满足准确性,而是要求最终满足准确性
2种完备性和4种准确性,共8类失效检测程序。
可约性:一个失效检测程序能转换成另一个失效检测程序

共识问题:终止,统一完整,一致,一致有效

原子广播要求所有的正确进程以相同的顺序发送相同的消息集(即发送相同的消息序列)。
原子广播定义为全序可靠广播。
全序性:如果两个正确进程p和q发送两个消息m和m’,那么p在m’之前发送m当且仅当q在m’之前发送m。
在有崩溃失效的异步系统中,共识和原子广播是等效的/可互相简约的。

第十六章 分布式系统中的验证

认证协议
认证:识别+验证
基于认证的秘密信息:共有信息(共享密钥),持有信息(智能卡),内在信息(生物识别)
需要识别的实体/认证的主体:主机,用户,进程(客户端,服务器)
认证协议的分类:
1.密码系统的类型(对称与非对称)
2.认证的相互性(双向与单向)
3.密钥交换
4.第三方的实时参与(在线与离线)
5.第三方的信任需求类型
6.安全保证的类型和机密的存储

在密码学中Nonce是一个只被使用一次的任意或非重复的随机数值

密码协议的设计原则11条

第十七章 自稳定

自稳定:不管系统的初始状态如何,系统都能够保证在给定的时间内自己聚集到合法的状态,不需要外在的介入。
进程P,通信连接,FIFO队列Q。
系统模型:处理元素的图(模型化的状态机)。元素之间的边表示单向或双向通信连接。
网络直径,静态,动态。
在动态系统中,自稳定指最终连接或节点故障的时间。
共享内存模型,合成原子性,读/写原子性。
进程的状态,通信寄存器的内容。

一个系统S关于谓词P是自稳定的,如果满足闭包、收敛的性质。
S的状态满足P称作P,称作合法状态/安全,若不满足称为非法状态/不安全。

可达集合:在正常程序执行中从一组合法的起始状态可达到的状态为安全是合理的,这些状态被称作可达集合。
瞬时故障:临时的(短时存在)且不会持久的故障。
自稳定性分为随即自稳定性,概率自稳定性。
伪稳定系统和自稳定系统的区别,没有和不能偏离意向中的规范。
合法状态的4个约束:
1.活动或非死锁
2.封闭性
3.不饥饿
4.可达到性

匿名网络/一致网络中,每个进程是匿名的,即它们是没有区别的且运行相同的算法。
有一个进程(根)运行不同的算法,则这个网络是半一致网络。
一致性是一个理想的性质,大多数自稳定算法是非一致的(即它们使用至少一个特权机)。
中央和分布式守护程序。 决定哪一个有特权的状态机将产生下一次移动。
自稳定的开销:收敛范围,响应范围。 轮数。

自稳定性系统常用技术:分层和模块化。
结构化机制原语:共用锁原语和基于拓扑的原语。

通信协议是在网络通信链上交换信息的进程集合。
5类错误。3个性质。

自稳定算法的时间复杂度(轮数),空间复杂度(状态数量)。
分布式系统中,独立集合被定义为成对的、非相邻节点的最大子集。最大独立集合是这样一些节点的集合,不在这个集合中的每一个节点与在这一集合中的某个节点相邻。

编译:把用一种语言写的程序转换成用另一种语言写的等价程序。
容错:容许瞬时故障。
自稳定系统能够处理的瞬时故障:非一致初始化,改变模式,传输错误,进程故障和恢复,内存损坏。

阻碍自稳定的因素:对称,停止(终止),孤立,相似的配置。
自稳定的局限:需要一个特殊的机器,收敛-响应平衡,伪稳定,自稳定系统验证。

自稳定算法:中央和分布式守护程序,一致和非一致网络算法
自稳定通信协议:滑动窗口协议,双路握手协议和交替位协议

第十八章 对等计算及覆盖网络

对等网络系统(P2P)使用应用层覆盖网路组织,对存储于网络上的各种资源(比如文件,多媒体文档等)进行灵活的共享。
著名的P2P网络系统:Napster,Gnutella,Freenet,Pastry,Chord,CAN,Tapestry。
网络扰动:在P2P网络中,不同节点不断加入或推出记忆所存储对象不断被动态插入和删除的现象。
P2P搜索使用P2P覆盖网络(Overlay,也称重叠网络,应用层的覆盖网络,代表一种逻辑上多对多的连通性)。
P2P覆盖网络结构化:超立方体结构,网格结构,蝴蝶网络结构,德布鲁因图结构等。
P2P覆盖网络非结构化:不使用任何特定的图结构。  结构松散。搜索:洪泛,随机行走等。
数据索引:集中式,分布式(如DHT,分布式哈希表),本地式。
数据索引:语义(支持关键字查找,范围查找,近似查找),非语义
P2P网络拓扑:幂律随机图(PLRG),普通随机图

静态复制策略:均匀复制,按比例复制,平方根复制
对象查询的效率指标:成功率,延迟或跳数,消息数,节点覆盖率,重复消息数,单节点的最大消息数,召回数,消息有效性
有指导查找和无指导查找。
洪泛:核实法,TTL或跳数计数,扩展环
随机行走:checking-cum-TTL

内容寻址网络(CAN)本质上是一种将对象映射到其网络位置的索引机制。
CAN支持三种基本操作:键值对(key,value)的插入,查找,删除。
CAN维护:TAKEOVER协议。
CAN优化:多维度,多现实,延迟,共享协同区域,多哈希函数,拓扑敏感覆盖网络

浸出或搭便车:节点具有自私的倾向,只下载文件,不允许别人下载它们自己本地所存的文件
囚徒困境,帕累托最优方案,以牙还牙法。
信任,中间人攻击,Sybil女巫攻击。

路由表大小和网络直径间的基本渐进式取舍。 弱均匀,强均匀,节点非拥塞/边界非拥塞。

复杂网络:计算机科学,社会网络,语言学,电力网络,自然。
随即图模型,即Erdos-Renyi(ER)模型。
小世界网络,集群,度分布。
拓扑:WWW,INTNET,AS,ACT,AUTH,SUBSTRATE,PROT,PHON,CITE,WORDOCC,WORDSYN,POWER

Internet图,Web站点访问的流行度,齐普夫(Zipf)模型,帕累托(Pareto)模型,幂律模型
Internet的特性:1.排序指数/齐普夫模型 2.度指数幂/PDF和CDF 3.特征指数ε 4.Hop-plot指数h
中介中心指标。
指数网络,规模无关网络。 错误和攻击容忍。

小世界网络:高聚类系数和低路径长度。

演化网络:BA模型。优选,生长,局部事件,生长限制,竞争,受引导的择优。

非结构化网络的不同查找机制:洪泛查找,受约束的洪泛查找,盲查找

《分布式计算--原理、算法与系统》读书笔记相关推荐

  1. 读书笔记 | 墨菲定律

    1. 有些事,你现在不做,永远也不会去做. 2. 能轻易实现的梦想都不叫梦想. 3.所有的事都会比你预计的时间长.(做事要有耐心,要经得起前期的枯燥.) 4. 当我们的才华还撑不起梦想时,更要耐下心来 ...

  2. 读书笔记 | 墨菲定律(一)

    1. 有些事,你现在不做,永远也不会去做. 2. 能轻易实现的梦想都不叫梦想. 3.所有的事都会比你预计的时间长.(做事要有耐心,要经得起前期的枯燥.) 4. 当我们的才华还撑不起梦想时,更要耐下心来 ...

  3. 洛克菲勒的38封信pdf下载_《洛克菲勒写给孩子的38封信》读书笔记

    <洛克菲勒写给孩子的38封信>读书笔记 洛克菲勒写给孩子的38封信 第1封信:起点不决定终点 人人生而平等,但这种平等是权利与法律意义上的平等,与经济和文化优势无关 第2封信:运气靠策划 ...

  4. 股神大家了解多少?深度剖析股神巴菲特

    股神巴菲特是金融界里的传奇,大家是否都对股神巴菲特感兴趣呢?大家对股神了解多少?小编最近在QR社区发现了<阿尔法狗与巴菲特>,里面记载了许多股神巴菲特的人生经历,今天小编简单说一说关于股神 ...

  5. 2014巴菲特股东大会及巴菲特创业分享

     沃伦·巴菲特,这位传奇人物.在美国,巴菲特被称为"先知".在中国,他更多的被喻为"股神",巴菲特在11岁时第一次购买股票以来,白手起家缔造了一个千亿规模的 ...

  6. 《成为沃伦·巴菲特》笔记与感想

    本文首发于微信公众帐号: 一界码农(The_hard_the_luckier) 无需授权即可转载: 甚至无需保留以上版权声明-- 沃伦·巴菲特传记的纪录片 http://www.bilibili.co ...

  7. 读书笔记002:托尼.巴赞之快速阅读

    读书笔记002:托尼.巴赞之快速阅读 托尼.巴赞是放射性思维与思维导图的提倡者.读完他的<快速阅读>之后,我们就可以可以快速提高阅读速度,保持并改善理解嗯嗯管理,通过增进了解眼睛和大脑功能 ...

  8. 读书笔记001:托尼.巴赞之开动大脑

    读书笔记001:托尼.巴赞之开动大脑 托尼.巴赞是放射性思维与思维导图的提倡者.读完他的<开动大脑>之后,我们就可以对我们的大脑有更多的了解:大脑可以进行比我们预期多得多的工作:我们可以最 ...

  9. 读书笔记003:托尼.巴赞之思维导图

    读书笔记003:托尼.巴赞之思维导图 托尼.巴赞的<思维导图>一书,详细的介绍了思维发展的新概念--放射性思维:如何利用思维导图实施你的放射性思维,实现你的创造性思维,从而给出一种深刻的智 ...

  10. 产品读书《滚雪球:巴菲特和他的财富人生》

    作者简介 艾丽斯.施罗德,曾经担任世界知名投行摩根士丹利的董事总经理,因为撰写研究报告与巴菲特相识.业务上的往来使得施罗德有更多的机会与巴菲特亲密接触,她不仅是巴菲特别的忘年交,她也是第一个向巴菲特建 ...

最新文章

  1. boost asio io_service学习笔记
  2. hdu 1078(记忆化搜索)
  3. Java Collections Framework - Java集合框架List,Map,Set等全面介绍之概要篇
  4. [JavaWeb基础] 015.Struts2 表单验证框架
  5. android CheckBox的运用
  6. 如何从QC中导出测试用例及其测试步骤
  7. ActiveMQ学习-Network connectors JAVA代码实现
  8. php curl get post请求
  9. 概率论——马尔科夫链
  10. 微位科技李子阳:哈耶克—未来的价值单位
  11. Unable to open OMF51 file...
  12. 1000: 从今天开始入坑C语言
  13. php 法定节假日接口,通过百度接口获取每一个月的工作和法定假日
  14. 爬虫-东北林业大学校内-中国[哈尔滨]森林博物馆-爬取所有馆藏蝴蝶图片
  15. new joiner
  16. 五类车险事故保险公司为何不赔?
  17. java给文件777权限_Linux常用命令:chmod修改文件权限 777和755分别是什么意思?
  18. [数据分析] RFM分析方法
  19. 微信新功能,拍一拍的背后,暗藏着商机
  20. RBCM-PDA-CUR@PLGA红细胞膜包裹聚多巴胺涂覆PLGA/细胞膜包覆纳米拓扑结构阵列

热门文章

  1. Blinker接入小爱同学做智能家居RGB灯
  2. 如何用java写一个九九乘法表。
  3. 麻将胡牌算法思路(任意赖子)
  4. SES将在上海建设全球产能最大的锂金属电池工厂
  5. 希尔伯特黄变换python实现
  6. 微信公众平台开发之会员卡
  7. 豆腐营养丰富既减肥又美味
  8. ubuntu of VM visualBox
  9. 创建临时文件 临时目录
  10. linux映射关系文件,Linux磁盘映射DM