计算机系统中的时间相关知识
1 时间一致性与时钟类型
1.1 强一致性条件与时钟推广
要满足强一致性条件 (e1 →e2 ⇔C(e1) < C(e2)),需要从向量时钟推广到张量时钟。在这种推广中,本地和全局时间会被永久存储,而不像标量时钟范式那样进行合并。这种推广用于确保分布式算法中的“活性”属性,即请求会根据时间戳的全序进行时间戳标记和服务。这对于采用某种读写修改操作的多指令多数据(MIMD)多处理器架构至关重要,在这种架构中,异步进程通过对共享内存应用读、写和读写修改操作进行通信。
1.2 读写修改操作
读写修改操作会原子性地从内存位置读取一个值 (v),写回 (f(v))(其中 (f) 是预定义的函数),并将 (v) 返回给调用者。几乎所有现代处理器架构都支持某种形式的读写修改操作,用于进程间同步。常见的读写修改指令包括:
- Test-and-Set
- Fetch-and-Add
- Compare-and-Swap
- Load-linked/Store-conditional
1.3 其他需要事件全序的应用
其他需要事件全序的应用包括分布式跟踪和调试、分布式数据库检查点、维护复制数据库的一致性以及死锁避免和检测。
2 时钟滴答与性能分析工具
2.1 时钟滴答
每个计算机系统都有一个由硬件时钟定义的基本时间间隔。硬件时钟有一个恒定的滴答速率,用于同步系统上的所有操作。为了让系统知道这个间隔,时钟在每个滴答时向 Unix 内核发送一个中断。这些滴答之间的实际间隔取决于平台类型。大多数
超级会员免费看
订阅专栏 解锁全文

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



