分布式系统中的一致性条件与算法
1. 每个对象配备服务器的顺序一致性
1.1 对象管理器的行为
当每个对象由一个单独的进程管理时,对象管理器需要相互协作以确保顺序一致性的正确实现。以管理对象 X 的进程 pX 为例,其行为如下:
when WRITE_REQ(X,v,valid) is received from pi do
(14) xX ←v;
(15) hlwX[1..n] ←[false,...,false];
(16) hlwX[i] ←true;
(17) inval ←check_legality(X,i,valid);
(18) send WRITE_ACK(inval) to pi.
when READ_REQ(X,valid) is received from pi do
(19) hlwX[i] ←true;
(20) inval ←check_legality(X,i,valid);
(21) send READ_ACK(inval,xX) to pi.
其中,hlvX[1..n] 是一个布尔向量,hlvX[i] 为 true 当且仅当进程 pi 拥有对象 X 的最新值。
1.2 合法性检查
为了确保对象的合法性,pX 需要与其他对象管理器协作,通过 check_legality(X,i,valid) 过程实现:
procedure check_legality(X,i,valid) is
(22) in
超级会员免费看
订阅专栏 解锁全文
1086

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



