分布式共享内存中的同步机制与寄存器类型解析
在分布式共享内存系统中,同步机制是确保多个进程安全、高效访问共享资源的关键。本文将深入探讨共享内存互斥、无等待特性以及寄存器层次结构等重要概念。
共享内存互斥
对面包店算法的改进带来了几个重要成果:
- 空间复杂度 :共享内存临界区问题的空间复杂度下限为 n 个寄存器,具体为时间戳数组。因此,不太可能找到更节省空间的分布式共享内存互斥算法。
- 时间复杂度 :在许多环境中,竞争程度可能较低。进入区的 O(n) 开销在这种环境下扩展性不佳。快速互斥领域旨在在无竞争情况下,使算法的进入和退出区的时间开销达到 O(1)。尽管这种快速算法能保证互斥和进展,但在最坏情况下,它不能保证有界延迟。
Lamport 的快速互斥算法
Lamport 的快速互斥算法采用了 W - R - W - R 序列,这是使用仅两个寄存器检查竞争并确保进入区安全的必要且充分的操作序列。以下是该算法的代码:
(shared variables among the processes)
integer: x, y;
// shared register initialized
boolean b[1..n];
// flags to indicate interest in critical section
repeat
(1)
Pi (1 ≤ i ≤ n) executes entry section:
(1a)
b[i] ← true;
(1b)
x ← i;
(
超级会员免费看
订阅专栏 解锁全文

2324

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



