云计算(9)--Gossip:multicast problem
Gossip/Epidemic ptotocol 解决的问题是multicast problem
Gossip 协议是电脑之间的通信协议,受启发与现实社会的流言蜚语。现代分布式系统通常用gossip协议来解决一些用其他方法难以解决的问题,可能是因为当前网络有一个不便的问题——过于庞大,或许是因为gossip协议有时候是最为行之有效的方法。
“传染病协议”(epidemic protocol)有时也是gossip协议的同义词,因为gossip协议传播信息的方式,有时候很类似于生物体内的病毒传播。
Multicast

红色的node想要把自己的information发送给group里面的其它的node---multicast problem
multicast与broadcast不同,broadcast是把消息发送给整个network,multicast是把消息发送给a particular group of nodes(a group of processes)
multicast protocol的需求--fault tolerance, scalability

multicast protocao需要具备有fault tolerance(nodes可能会crash,packet可能会丢失)和scalability(nodes进行扩展时不会导致费用的急剧增加)的要求
multicast protocol在网络层中是属于application level的,即它不处理underlying network.但这不是一定的,multicast protocal也常常与underlying network通信(如IP multicast)。
One of the simplest ways of doing multicast--centralized

problems: 1,fault tolerance--当只发送了一部分nodes时,sender这时fail掉了就会出错
2,the overhead on the sender 非常高
3,延时较高,每个node接收到消息的时间是o(N),N为group的大小
为了解决这些problems,我们提出了Tree-based multicast protocols

protocol在nodes建立了一个生成树
这些包括network level protocol:如IP multicast,这儿的生成树是建立在router和switches上的(in the undrlying network)
application level protocol: 如SRM,RMTP,TRAM,TMTP
如果建立的是一棵平衡树,则这棵树的高度是o(logN),则意味着node接收到消息的时间是o(logN)
group里面每个node(sender或者receive)的overhead(消费)是常数(因为children是常数,发送children数量的copies)
problems: 当有node出现错误(如crash掉时),没有接收到information时,需要建立与维护这棵生成tree,这时你需要一些bandwidth和resources去维护这个tree

在初始时可能使用IP multicast, 然后使用ACK或者NAK去修复没有接收到的multicasts
SRM使用NAKs,当node没有接收到并且等待了一会multicast message时,它向上朝root发送a repair request,当这个request被接收到,临近root的node发送它们拥有的latest multicast或者receive node丢失的multicast message.
Issue of SRM: the ACKs and NAKs 可能会implode(内爆),为了避免这个问题,SRM protocol在receiver端使用random delays,当receiver要发送NAKs,它们不是立即发送,而是等一段时间后再发送。如果需要多次发送NAKs时,可能会使用exponential backoff(指数退避),即等待的时间加倍。
RMTP: 使用ACK, receivers 间断性的发送collection of acknowledgements for all multicasts they received so far.如果有acknowledgement没有接收到的话,则会向下朝receivers发送消息。
也有可能会发生ACK storms,为了避免ACK storms,有一些特定的标记为designated receivers,ACK只会发送给这些designated receivers,然后这些designated receivers再向下发送它收到的multicast message
但是这些protocols还是会引起O(N)的ACK/NAK的消费,所以这些protocols应用的规模并不是可以任意的扩展,所以我们引入了Gossip/Epidemic ptotocol
云计算(9)--Gossip:multicast problem的更多相关文章
- 云计算之KVM安装(二)
云计算之KVM安装(二) 调整虚拟机 虚拟化Intel使用的是intel VT-X AMD使用的是AMD-V 创建虚拟机步骤 1.准备虚拟机硬盘 2.需要系统iso镜像 3.需要安装一个vnc的客户端 ...
- ZeroMQ:云计算时代最好的通讯库
还在学socket编程吗?还在研究为什么epoll比select更好吗? 噢,不必了! 在复杂的云计算环境中,我们面临的难题远比这个复杂得多. 庞大的服务器集群作为计算云,对来来看或许只是一个简单的搜 ...
- 【openstack N版】——走进云计算
一.云计算 云计算是一种按使用量付费的模式,这种模式提供可用的.便捷的.按需的网络访问,进入可配置的计算资源共享池(资源包括:网络.服务器.存储.应用软件.服务),这些资源能够被快速提供,只需投入很少 ...
- A Graph Partitioning Game Theoretical Approach for the VNF Service Chaining Problem
文章名称:A Graph Partitioning Game Theoretical Approach for the VNF Service Chaining Problem 发表时间:2017 期 ...
- 云计算概述和KVM虚拟化
前言: 近些年一直听着 虚拟化.云计算.公有云.私有云.混合云这些个概念,一直想着....这些概念要用什么技术实现? 一.云计算的概念 1.传统IDC机房面都会临什么问题? 任何新事物都是由需求催生的 ...
- 云计算虚拟机技术-KVM安装
云计算虚拟机技术-KVM安装 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 身为运维的小伙伴估计大家都清楚KVM,因为在CentOS里面KVM还算很折腾的一个软件,早期CentOS ...
- 【协议】5、gossip 协议
Gossip是一种去中心化.容错并保证最终一致性的协议. Background:分布式环境 Gossip是为了解决分布式遇到的问题而设计的.由于服务和数据分布在不同的机器上,节点之间的每次交互都伴随着 ...
- 云计算概述及Centos7下安装kvm虚拟机
云计算(cloud computing)是基于互联网的相关服务的增加.使用和交付模式,通常涉及通过互联网来提供动态易扩展且经常是虚拟化的资源 云计算到底是什么? 按定义:云计算指的是一种使用模式,是基 ...
- 云计算设计模式(二十一)——Sharding分片模式
云计算设计模式(二十一)——Sharding分片模式 将一个数据存储到一组水平分区或碎片.存储和访问大量数据时,这个模式可以提高可扩展性. 背景和问题 由一个单一的服务器托管的数据存储区可能会受到以下 ...
随机推荐
- mysql备份时过滤掉某些库 以及 去掉"Warning: Using a password on the command line interface can be insecure."提示信息
在对mysql进行完整备份时使用--all-database参数 # mysqldump -u root -h localhost -p --all-database > /root/all.s ...
- Zuul【工作原理】
zuul的核心逻辑都是由一系列filter过滤器链实现的,但是filter的类型不同,执行的时机也不同,效果自然也不一样,主要特点如下: filter的类型:filter的类型,决定了它在整个filt ...
- STM32之外部中断
图1.0 图1.1 中断控制器支持23条中断线,其中16条是IO管脚中断线,分别是EXTI0~EXTI15: 图 1.2 另外七根中断线如下图: 中断线和管脚的对应关系:EXTI0~EXTI15 和 ...
- 面向对象分析与设计—OOD部分
第三部分 面向对象设计 3.1 面向对象设计(OOD)的定义? 在面向对象分析阶段,已经针对用户需求建立起用面向对象概念描述的系统分析模型.在设计阶段,要考虑为实现系统而采用的计算机设备.操作系统.网 ...
- 剑指offer44:翻转单词顺序列
1 题目描述 牛客最近来了一个新员工Fish,每天早晨总是会拿着一本英文杂志,写些句子在本子上.同事Cat对Fish写的内容颇感兴趣,有一天他向Fish借来翻看,但却读不懂它的意思.例如,“stude ...
- 简单layer 快速上手
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
- Itemchanged事件
Itemchanged事件:当数据窗口控件中某个域被修改并且该域失去输入焦点该事件返回的意义为: 0--(缺省返回值),接收新修改的值: 1--不接收新修改的值且不允许改变输入焦点: 2--不接收新修 ...
- 解决找不到mkfs.ubifs命令
解决找不到mkfs.ubifs命令 ubuntu 版本:14.04 sudo apt-get update sudo apt-get install mtd-utils sudo apt-get in ...
- PowerShell将运行结果保存为文件
1. Out-File 示例: get-process | Out-File -filepath a.txt 跟“>”是一样的效果 输出 为普通文本 2. Export-Clixml 示例: g ...
- c#使用GDI进行简单的绘图
https://www.2cto.com/database/201805/749421.html https://zhidao.baidu.com/question/107832895.html pr ...