分布式计算:概念、问题与解决方案
1. 分布式计算基础
分布式计算领域存在着各种各样的模型,涵盖了不同的通信、故障和计时选择。下面我们来详细了解其中的一些关键概念。
1.1 进程与协议
一个系统由多个进程以及通信环境组成,通信环境可以是共享读写内存、其他共享对象或消息队列。进程是一个顺序计算实体,可形式化为状态机。每个进程执行一个有限协议,从初始状态开始,逐步执行操作,直到失败(停止且不再执行额外步骤)或完成协议而停止。每一步通常包括本地计算以及通过模型提供的环境与其他进程进行通信。进程是确定性的,其每个状态转换由当前状态和环境状态决定。
进程并发运行,形式上通过交错进程步骤来表示并发。这种交错通常是非确定性的,不过模型的计时属性可以限制可能的交错方式。协议状态由非故障进程的视图和环境状态决定,执行是进程状态转换的序列,它将系统从一个状态带到另一个状态,具体取决于哪些进程执行步骤以及发生了哪些通信事件。
1.2 通信
- 消息传递 :这是最基本的通信模型之一。每个进程向其他进程发送消息,接收其他进程发送给自己的消息,进行一些内部计算,然后改变状态。通常我们关注的是任务是否可解,而非解决效率,因此假设进程遵循全信息协议,即每个进程在每一轮都将其整个本地状态发送给其他所有进程。
- 共享内存 :在共享内存模型中,进程通过对共享内存中的对象执行操作来进行通信。最简单的共享内存对象是读写内存,进程共享一个内存位置数组。读写内存有多种模型,内存变量可以是单个比特、固定数量的比特或任意数量。只能由单个进程写入但可由所有进程读取的变量称为
超级会员免费看
订阅专栏 解锁全文


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



