共享内存与共识算法详解
在分布式计算领域,共享内存和共识问题是非常重要的研究方向。本文将详细介绍共享内存中寄存器的相关概念,以及多种共识算法的原理和实现。
1. 共享内存中的寄存器
寄存器在共享内存中扮演着重要角色,不同类型的寄存器具有不同的语义和特点。
1.1 寄存器规范的起源
Lamport在多篇论文中引入了寄存器规范,并定义了安全、规则和原子三种语义。最初的定义是在多处理器机器的环境下给出的,其中进程是并发且无故障的,并且只有一个写入者。
1.2 三种寄存器语义
- 安全寄存器 :在三种寄存器语义中,安全寄存器提供的保证最弱。当读操作与写操作并发时,安全寄存器可以返回任意值,甚至可能是任何进程都从未写入或尝试写入的值。在多处理器机器中,进程可能并发访问实现寄存器抽象的底层硬件位置,从而返回任意值。在拜占庭故障模型中,拜占庭进程可能会故意更改存储的值。为了避免这种情况,拜占庭安全寄存器抽象在无法确定值是否实际写入时会返回默认值。而其他拜占庭寄存器抽象的实现则使用法定人数或数字签名来防止此问题的发生。
- 规则寄存器 :我们的规则寄存器抽象与Lamport最初引入的概念相对应。对于多个写入者的情况,规则寄存器抽象有三种不同的扩展方式,都比我们的规则寄存器概念更强。
- 原子寄存器 :原始的原子寄存器概念与我们这里引入的概念相近。不过,由于我们必须考虑消息传递系统中进程可能失败的情况,所以在定义方式上略有不同。我们需要明确处理失败操作的概念,特别是失败
超级会员免费看
订阅专栏 解锁全文
3617

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



