Distributed System 5: Bayou Algorithm

分布式一致性 怎么在弱网情况下保证事件一致性,弱网指的是,只能时不时连接一下。 Bayou (1995) Bayou是一篇神奇的论文,在1995年这个互联网还没有普及的时代,就开始讨论分布式系统中弱一致性的问题。Bayou考虑的应用场景是移动设备不具备稳定的网络连接,如何保证这些不具备稳定网络连接的设备组成集群,处理读写操作时,用户看到的数据是合理的。Dynamo

Distributed System 4: Distributed Snapshots

Snapshots: save the data 我们想要捕捉系统在某一时刻 TTT 的一致全局状态,包括: 每个进程的本地状态; 每条通道上的消息状态(即“正在飞”的消息)。 常见应用场景: 检查点恢复(Checkpoint / Rollback Recovery) 检测全局死锁 检测全局不变式(如是否所有账户加和为常数) 调试 / 稳定状态检测(如终止检测) 问题是: 在分布式系统中没有全局时

Distributed System 3: Vector Clock

Review: Time is important in Distributed, for determine sequence. But we can\'t find a sync time for everyone. Vector Clock Lamport didn\'t solve: Solution: use a vector clock 两个向量一样:同一个事件 一个向量小于另一个向量:所

Distributed System 2: Time

不同的机器需要同步 分布式实时操作系统研究的是 如何在分布式多节点环境中,提供确定性调度、时间同步、实时通信与容错机制,从而保证关键任务的 deadline 被满足。它既是操作系统的研究热点,也与工业控制、车联网、航空航天等应用紧密相关。 下面的图片是: 分布式系统需要同步 同步非常困难 我们是无法完全同步的,只能尽力同步 网络时间协议: Cristian\'s algorithm 我们很不幸,是无

Distributed System 1: RPC

This is a course taught in SUSTech 2025 Fall by Prof. Zhuozhao Li. RPC 为什么要有RPC 因为我们不想socket编程 Goal: Easy-to-program network communication that makes client-server communication transparent RPC 要解决的问题

B-Queue

3_2.eps B-Queue 是一种面向多核架构中核间通信的高效、实用的 单生产者-单消费者(SPSC)无锁队列,其设计旨在解决现有并发无锁队列(CLF queue)在真实应用中存在的性能退化与死锁难题。 背景动机 多核系统中,线程间通常通过共享内存进行通信,CLF 队列被广泛用于核心间通信。然而现有的方案(如 FastForward 和 MCRingBuffer)存在如下问题: 性能仅在理想条