分布式系统通信模型深度解析
1. 模型的必要性
在分布式计算中,多个进程之间需要相互通信。然而,进程间的通信机制相当复杂。当我们要为分布式系统开发算法或构建应用时,这些通信细节可能会让人应接不暇。分布式系统存在多个可变维度,如网络拓扑、进程间通信机制、故障类型和安全机制等。
模型是一种简单的抽象,它有助于我们理解这些可变性。模型保留了系统的基本特征,同时向高层次的观察者隐藏了实现细节。不同的模型可以涵盖不同的方面,例如静态拓扑网络不允许节点或链路的删除和添加,而动态拓扑网络则允许此类更改。基于抽象模型得出的结果,根据其在现实世界中的实现方式,可以应用于广泛的平台。只要模型的特征或规范能够实现,并且能充分反映现实世界中的事件,那么这个模型就是可接受的。
2. 进程间通信的消息传递模型
进程间通信是分布式系统可变性的一个维度,消息传递模型和共享内存模型是捕捉进程间通信本质的两种主要模型。下面我们重点介绍消息传递模型的特性。
2.1 进程动作
可以用图 (G = (V, E)) 来表示分布式系统,其中 (V) 是节点集合,(E) 是连接节点对的边集合。每个节点是一个顺序进程,每条边对应一对进程之间的通信通道。除非另有说明,我们假设图是有向的,从 (i) 到 (j) 的边用有序对 ((i, j)) 表示。一对进程 ((i, j)) 之间的无向边可以用一对有向边建模,一条从 (i) 到 (j),另一条从 (j) 到 (i)。节点的动作可以分为以下四类:
1. 内部动作 :当一个进程在自己的地址空间内进行计算,导致一个或多个局部变量被修改时,这个动作就是内部动作。
2
超级会员免费看
订阅专栏 解锁全文
1534

被折叠的 条评论
为什么被折叠?



