关于多播通信
多播通信是分布式系统通信中对多个接收方发送数据 的通信,在网络层,传输层,以及应用层中均有应用。应用层多播的基本思想是结点组织成一个覆盖网络,然后用它来传播信息给其成员。
信息传播模型
对传播信息来说,一种日益重要的技术是依靠感染行为(epidemic behavior)。正如流行病研究的是传染病的传播,在大型分布式系统中,要传播的不是疾病而是信息。分布式系统感染算法的设计人员试图尽可能快地用新信息感染所有结点。借用来自传染病的术语,分布式系统的某个结点如果具有要传播到其他结点的数据,则称之为己感染的(infected)。还没有接收到数据的结点称为易受感染的(susceptible)。最后,不会传播其数据的已更新结点称为已隔离的(removed)。
反熵传播模型
服务器P周期的随机选取一台服务器Q交换更新,方式包括:
- P只把自己的更新推入Q(push)
- P只从Q拉出新的更新(pull)
- P和Q相互发送更新(push-pull)
- 可以证明:如果初始只有一台服务器具有传染性,无论采取那种形式,更新最终将被传播到所有服务器上,但是push-pull方法是最好的。
Gossiping
工作原理如下:如果结点Р正好刚更新数据项x,那么它将与任意结点Q通信,并把更新信息发送给Q。但是,有可能Q被另外一个结点已更新了。在这种情况下,P可能不再传播该更新信息的概率为1/k。换句话说,它变为了已隔离的。
可以类比办公室八卦的传播来理解这一传播方法。我们的办公室八卦一般都是从一次交谈开始,只要一个人八卦一下,在有限的时间内办公室的的人都会知道该八卦的信息。但是,我们设想这样一个场景,Andy告诉她 的朋友这个八卦时,朋友说她已经知道这个消息了,那么Andy可能会丧失继续传播这个八卦的兴趣。
gossiping是传播快速新闻的很好的方法,但不能保证所有的结点都真的已更新了,可以将gossiping和反熵模型结合。
今日推歌
----《所念皆星河》房东的猫
所念皆星河 辗转里反侧
你占领每个永恒的片刻
无垠的宇宙 浩瀚的选择
你是最亮那颗
…
所爱如月色 触手而不得
将温柔的梦都投射
你眼里有我 对这世间的吝啬