1、有多个控制器进程,每个控制器进程 cpi 管理局部变量 gs_statei 和一个整数 counti。每个消息 m 携带其发送者的颜色(在其字段 m.color 中)。局部控制变量 counti 计算 pi 发送的绿色消息数量减去 pi 接收的绿色消息数量。有一个控制器 cp 是所有控制器都知道的,负责构建计算出的全局状态。当 cp 从每个控制器 cpi 收到一对(σi, counti)时,它计算 ct = Σ1≤i≤n counti。计数器 ct 代表什么?
计数器 ct 代表所有进程 pi 发送的绿色消息总数减去所有进程 pi 接收的绿色消息总数。
2、考虑一个异步系统,其中进程被组织成(可能重叠的)组。设计一个真正的全序多播算法(即,发送到一个组的消息只发送给该组的进程)。
解决方案见文献 [55, 135]。(这些论文中描述的算法考虑了进程可能崩溃的系统。)
3、考虑基于更新的原子性实现,描述一个场景,其中已发出写操作的进程pi由于另一个进程pj发出的写操作而被锁定。哪个写操作排在前面?
当进程 pi 发出写操作 WRITE_REQ(v1) 给服务器 pX 后,服务器 pX 会将该写请求排队处理。
若此时进程 pj 也发出写操作 WRITE_REQ(v2) 给服务器 pX ,且服务器 pX 还未处理完 pi 的写请求, pX 会先处理排在前面的写请求。
由于 pX 顺序处理写请求,先到达 pX 的写操作会先被处理。
所以:
- 若
pi的写操作先到达pX,则pi的写操作排在前面; <

1466

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



