NVIDIA大幅提升Facebook新一代计时系统的精准度

Facebook正对开放运算计划Time Appliance Project(OCP TAP) 进行开源,以符合成本效益的方式,在各数据中心之间提供极为精准的计时和时间同步功能。此解决方案包括采用NVIDIA ConnectX-6 Dx网络适配器 (NIC) 的计时卡,可以将绝大多数商用现成 (COTS) 的服务器变成准确的计时设备,并搭配精确时间协议 (precision timing protocol),与数据中心的其他服务器共享精准的计时功能。

随着应用逐步扩大且IT运营范围遍及全球,要将数据中心内的不同服务器或各大洲的不同数据中心保持资料同步,变得越来越重要也更加困难。如果是分布式数据库,则必须关注事件的确切顺序,以保持一致性并显示因果关系。如果有两个人试图购买相同的股票,基于公平性 (与合规性),便需要确切地知道哪一笔订单先送达。同样地,当每小时有数千人发布内容、数百万名用户对这些贴文点赞/哈/大心时,Facebook需要知道每篇贴文获得赞、回复或表情符号的实际顺序。

保持资料同步的方法之一,是让每个人信息料中心在每次交易后,都将其更新发送给其他数据中心,但是这种方法很快就变得不管用,因为数据中心之间的延迟太高,无法支持每小时发生的数百万次事件。

更好的方法是让每个服务器和数据中心同步至准确的时间,让彼此之间的误差少于一微秒。如此一来,每个网站就都能够关注时间,而且在与其他数据中心共享事件资料时,每个事件的顺序都已经是正确的。

时间同步越准确,应用程序的性能就越快。最近的一项测试显示,若将计时的准确度提高80倍 (使任何时间误差降低80倍),分布式数据库的执行速度便能加快三倍,这对于相同的服务器硬件而言,是令人难以置信的性能提升,仅仅让时间更准确、更可靠,就能完成如此成效。

OCP TAP项目 (以及Facebook对于开源计时设备的博客文章) 准确地定义了计时卡如何接收和处理来自GPS卫星网络的时间信号,即使暂时失去卫星信号也能维持时间的准确性,并与时间服务器共享准确时间。不过网络以及使用的网络适配器也至关重要。

时间设备中的网络适配器必须具有每秒脉波数 (PPS) 连接端口才能连接计时卡,以确保计时卡和网络适配器之间的每个时间服务器都保持准确的时间同步,准确到误差仅几奈秒内。ConnectX-6 Dx是首批支持此技术、每秒25/50/100/200 GB的现代网络适配器之一。这款网络适配器还能筛选和检查传入的PPS信号,并通过特定应用集成电路 (ASIC) 中的硬件,在内部保持时间的准确性和一致性。

准确度达次微秒级的计时设备可以使用网络时间协议 (NTP),与数百台常规服务器共享时间,或使用精确时间协议 (PTP) 与数千台服务器共享。由于网络会增加时间信号的延迟,所以NTP和PTP时间标记封包可以测量双向的传输时间、干扰和延迟的因素,并计算每个服务器上的正确时间 (PTP因为更准确所以渐渐取代NTP)。

另一种选择是使用软件解决方案进行时间标记,但以现今的速度运用软件进行时间标记的结果太难以预测且不准确,甚至不可能完成,也可能因为拥塞或CPU干扰而导致高达数毫秒的差异。相反地,ConnectX-6 Dx网络适配器和BlueField-2资料处理器在传入的封包送达前,和传出的封包传抵网络之前,就会立即套用硬件时间标记,速度高达每秒100 GB。即使在网络负载非常大的情况下,ConnectX-6 Dx也能以少于4奈秒的时间标记差异,对每个封包进行时间标记。其他大多数具有时间功能的网络适配器只标记了部分封包,且在准确度上具有更大的差异,网络流量大时,其时间标记的精准度也会降低。

NVIDIA网络提供来自商用网络适配器可达到最精准的延迟测量功能,因此可在所有服务器上达到最准确的计时,应用程序时间差通常少于1微秒。更精准的网络计时也表示每个服务器上的计时会更准确,因此能加快分布式应用程序的性能 (以及让每个人获得更多Facebook的“赞”)。

OCP TAP可维持精准、正确的计时,且任何组织皆可取得。来自Facebook、NVIDIA和OCP的开放计时服务器和开放式管理工具提供易于采用的方法,让每个人都可以像超大规模公司一样使用。

NVIDIA提供具备精准计时功能的网络适配器和资料处理器(DPU),可提供精准计时设备所需的超精确时间标记和网络同步功能。如果使用BlueField资料处理器,便能在其Arm核心上执行PTP堆栈,将时间堆栈与其他服务器软件隔开、不断验证服务器内的时间准确性,并持续计算整个人信息料中心绑定的最大时间误差。

云计算服务和数据库已经增加了以时间为基础的新指令和API,以便充分利用更好的计时服务器和时间同步功能。这项解决方案共同开创了更准确的计时新纪元,能够提升分布式应用的性能,并实现云计算和企业的新型解决方案。