加入收藏 | 设为首页 | 会员中心 | 我要投稿 烟台站长网 (https://www.0535zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长资讯 > 外闻 > 正文

如何保证数据中心服务器的时间一致

发布时间:2021-04-07 14:57:17 所属栏目:外闻 来源:互联网
导读:计算机和软件工程领域论文的文章,我们在这个系列的每一篇文章中都会阅读一篇来自 OSDI、SOSP 等顶会中的论文,这里不会事无巨细地介绍所有的细节,而是会筛选论文中的关键内容,如果你对相关的论文非常感兴趣,可以直接点击链接阅读原文。 本文要介绍的是 2

计算机和软件工程领域论文的文章,我们在这个系列的每一篇文章中都会阅读一篇来自 OSDI、SOSP 等顶会中的论文,这里不会事无巨细地介绍所有的细节,而是会筛选论文中的关键内容,如果你对相关的论文非常感兴趣,可以直接点击链接阅读原文。

本文要介绍的是 2020 年 OSDI 期刊中的论文 —— Sundial: Fault-tolerant Clock Synchronization for Datacenters[^1],该论文实现的 Sundial 可以在数据中心提供高精度的、容错的对时机制。在数据中心发生故障时,它也能够保证不同服务器的绝对时间差小于 ~100ns,比行业内的其他的系统好一到两个数量级,这里的 ~100ns 也被称为时间不确定性上限(Time-uncertainty Bound)。

我们在这里会先介绍论文中提到的时间不确定性上限,在最后会介绍 Sundial 的系统架构,包含对时频率和错误恢复两方面的设计。

时间不确定性上限

时间不确定性上限是个非常有趣的概念,假设我们有以下两台服务器,两台服务器本地的绝对时间包含一定的差异,其中服务器 A 在 X 时间从数据库中使用时间戳 T 读取数据,而服务器 B 在随后的 Y 时间使用时间戳 T-1 向数据库写入数据:从整体上看,因为不同服务器绝对时间上的微弱差异,后发生的时间反而使用了更早的时间戳,这就带来了潜在的问题。但是如果我们能够确定不同服务器之间绝对时间的最大差值,让服务器在读取数据时等待一段时间,就可以保证读写操作时序的正确性,这里的等待时间就是上面提到的时间不确定性上限,该值越小,系统的响应速度也就越快。

很多系统都对时间不确定性上限有要求,例如:分布式的事务数据库、一致性快照、网络遥测、单向延迟和分布式日志等,它的值越小,系统就能提供更好的性能、更快的响应速度和更强的一致性。

系统架构设计

Sundial 使用软硬件结合的方式设计,其中包含如下图所示的三个主要组件,它会在硬件中完成同步时间信息、检测系统中错误等重要功能,软件负责计算同步生成树并故障时触发错误恢复机制:

(编辑:烟台站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读