标签 闰秒 下的文章

最重要的计算机视觉库 OpenCV 众筹新版本,应者寥寥

OpenCV 是一个开源的计算机视觉和机器学习软件库。据报告,89% 的嵌入式视觉工程师使用 OpenCV 作为主要的计算机视觉库。为了筹集完成和发布其重要 5.0 版本所需的资金,OpenCV 团队宣布发起一项众筹活动。OpenCV 5.0 原本是 20 周年纪念版本,最初计划于 2020 年发布,但要完成这个版本,需要很多资金。他们设立了 50 万美元的众筹目标,他们也希望“向其他陷入困境的开源项目证明众筹是一个可行的选择,而不仅仅依赖企业捐赠”。不过,这次的众筹于 10 月 24 日开始,十天过去了,才仅仅完成 5% 的目标。

消息来源:i-Programmer
老王点评:依靠 OpenCV 吃饭的人不少,但是都不愿意帮助它活下去。

科学家建议将闰秒变成几十年才需要调整一次的闰分

由于以地球自转为基础的天文钟和铯原子钟之间存在偏差,自 1972 年以来,每隔几年就通过插入闰秒来同步这两个时间 —— 让原子钟短暂停顿一下,让天文钟赶上。这就产生了 UTC,即世界协调时。但很难准确预测何时需要闰秒,这让科技公司、国家和世界计时员越来越头疼。美国国家标准与技术研究院负责网络时间同步的 朱达·莱文 Judah Levine 提出了一个新的解决方案:闰一分钟。这样可以减少时钟同步的频率,也许每半个世纪才需要同步一次,而在此期间基本上忘掉它。

消息来源:《纽约时报》
老王点评:最初的闰秒设计是一个直觉方案,现在看起来没有考虑到科技发展这么快,以至于大量的科技设施需要依赖精确而一致的时间。

企业称 Meta 的免费人工智能并不便宜

一些为 OpenAI 人工智能付费的公司一直在寻求使用免费的开源替代品来降低成本。在 Meta 公司发布了开源的大型语言模型 Llama 2 之后,业界对此感到非常兴奋。但企业发现,他们为此向谷歌云一个月支付了 1200 美元,而使用 GPT-3.5 Turbo 处理相同的工作量每月才需要花费约 5 美元。企业发现,使用开箱即用的 Llama 2 的成本比 OpenAI 的 GPT-3.5 Turbo 高 50% 到 100%;而只有那些希望通过对数据进行训练来定制 LLM 的公司,才会选择开源方案 —— 在这种情况下,定制 Llama 2 模型的成本约为定制 GPT-3.5 Turbo 模型的四分之一。

消息来源:The Information
老王点评:一方面我相信 OpenAI 和 Azure 都为 AI 客户提供了大量的补贴,所以使用 GPT 会比 Llama 2 更便宜。另外一方面,当你需要定制,并且有定制的能力时,开源的 Llama 2 可能更适合你。

新的包管理器让开源贡献者得到报酬

MacOS 包管理器 Homebrew 的创建者新开发了一个名为 Tea 的包管理器,作为 Homebrew 的最终继承者。Tea 除了一些包管理器的新功能之外,还有一种基于区块链的方法,以确保开源软件的创造者、维护者和贡献者都能为他们的努力获得报酬。他从 NFT 中获得了灵感,简单来说,关注开源软件生态健康的人可以购买通证并质押,而 Tea 作为一个 DAO 会奖励质押者和注册的软件包及其依赖关系的贡献者。

消息来源:Stack Overflow
老王点评:一个探索的方向,不过我不是很看好。

协调世界时将停止添加“闰秒”

11 月 18 日,全球代表在计量大会(CGPM)上投票决定,“从 2035 年起,将搁置在官方时钟上增加‘闰秒’以使其与地球自转同步的做法。”这意味着从 2035 年开始,或者可能更早,天文时间(称为 UT1)将被允许与协调世界时(UTC)相差一秒以上,甚至多达一分钟,而协调世界时是以原子钟的稳定滴答为基础。添加闰秒的做法始于 1972 年。

消息来源:《自然杂志》
老王点评:添加闰秒给互联网服务和各种依赖精确计时的服务带来很多麻烦,而且我们可能还面临着史无前例的负闰秒。取消了也好。

GIMP 2.99.14 发布

这是迈向 GIMP 3.0 的最新开发版本,GIMP 3.0 将从 GTK2 切换到 GTK3 工具箱,并有大量仍在开发中的其他改进。此版本的具体改进没有什么太值得说的,在发布公告中说,“从 3.0 的路线图中可以看出,大多数项目都‘接近完成’或‘已经完成’。……真正接近了 GIMP 3.0 的发布。……开始针对具体的痛点,很多痛点。”

消息来源:Phoronix
老王点评:我觉得需要大伙帮忙砍一刀。

前谷歌 CEO 将 AI 比作核武器

前谷歌 CEO Eric Schmidt 将 AI 比作核武器,呼吁建立类似相互保证毁灭的威慑制度,防止世界最强大的国家率先发动攻击。在上个世纪的五六十年代,美国和苏联这两个超级大国最终达成了核武器试验条约,以防止核试验粉尘扩散。Schmidt 认为中美可能需要在 AI 领域达成类似的条约。

消息来源:VICE
老王点评:或许有一天 AI 武器化,真的需要到了各个 AI 大国坐下来制定一些规则,但是目前这个论调显然是针对性的攻击而已。

流行的 KDE 桌面停靠区 Latte Dock 停止开发

在过去的几年里,Latte Dock 一直是 KDE Plasma 桌面上流行的类似 macOS 的桌面停靠区。它去年发布了 0.10。昨天,它的作者宣布已经结束了在这个项目上的工作,“我正在退出 Latte 的开发。主要是我没有时间、动力或兴趣了……我希望我能够发布 Latte v0.11,但不幸的是我做不到。”他也希望有其他开发者接手开发这个已经有 6 年之久的流行软件。

消息来源:Phoronix
老王点评:虽然很可惜,不过我想以开源社区的生命力,很快就会有人接手或出现它的复刻版。

科技公司们倡议废除闰秒

谷歌、微软、Meta 和亚马逊周一发起了一项旨在废除闰秒的公共行动,美国和法国计时当局已对此举表示赞同。1972 年以来,已经增加了 27 次闰秒。在增加闰秒时,23:59:59 的下一秒并非变成 00:00:00,而是会额外增加一个 23:59:60 的计时,也就是最后一分钟变成 61 秒。这就会给计算机造成很大的困扰,尤其是那些需要依赖精确的计时服务器的服务,它曾在 2012 年引发了 Reddit 的大规模宕机。谷歌率先提出了“闰秒弥补”的解决方案,即在一天的过程中以许多微小的步进来弥补闰秒的变化。

消息来源:CNET
老王点评:1972 年制定闰秒政策时,并没有考虑当时刚刚开始的互联网服务,但是现在互联网已经空前强大,应该采取更好的解决闰秒问题的方法。

Gentoo(也许其他发行版也是?)中 "ntpq -p" 的 man page 只有简短的描述:“打印出该服务器已知的节点列表和它们的状态概要信息。

我还没见到关于这个命令的说明文档,因此这里对此作一个总结,可以补充进 "man ntpq" man page 中。更多的细节见这里 “ntpq – 标准 NTP 请求程序”(原作者),和 其他关于 man ntpq 的例子.

NTP 是一个设计用于通过 udp 网络 (WAN 或者 LAN) 来同步计算机时钟的协议。引用 Wikipedia – NTP

网络时间协议(英语:Network Time Protocol,NTP)一种协议和软件实现,用于通过使用有网络延迟的报文交换网络同步计算机系统间的时钟。最初由美国特拉华大学的 David L. Mills 设计,现在仍然由他和志愿者小组维护,它于 1985 年之前开始使用,是因特网中最老的协议之一。

想了解更多有关时间和 NTP 协议的知识,可以参考 “The NTP FAQ, Time, what Time?”和 RFCs for NTP。早期的“Network Time Protocol (Version 3) RFC” (txt, or pdf, Appendix E, The NTP Timescale and its Chronometry, p70) 包含了对过去 5000 年我们的计时系统的变化和关系的有趣解释。维基百科的文章 TimeCalendar 提供了更宏观的视角。

命令 "ntpq -q" 输出下面这样的一个表:

     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
 LOCAL(0)        .LOCL.          10 l  96h   64    0    0.000    0.000   0.000
*ns2.example.com 10.193.2.20      2 u  936 1024  377   31.234    3.353   3.096

更多细节

表头

  • remote – 用于同步的远程节点或服务器。“LOCAL”表示本机 (当没有远程服务器可用时会出现)
  • refid – 远程的服务器进行同步的更高一级服务器
  • st – 远程节点或服务器的 Stratum(级别,NTP 时间同步是分层的)
  • t – 类型 (u: unicast(单播)manycast(选播) 客户端, b: broadcast(广播)multicast(多播) 客户端, l: 本地时钟, s: 对称节点(用于备份), A: 选播服务器, B: 广播服务器, M: 多播服务器, 参见“Automatic Server Discovery“)
  • when – 最后一次同步到现在的时间 (默认单位为秒, “h”表示小时,“d”表示天)
  • poll – 同步的频率:rfc5905建议在 NTPv4 中这个值的范围在 4 (16秒) 至 17 (36小时) 之间(即2的指数次秒),然而观察发现这个值的实际大小在一个小的多的范围内 :64 (2 6 )秒 至 1024 (2 10 )秒
  • reach – 一个8位的左移移位寄存器值,用来测试能否和服务器连接,每成功连接一次它的值就会增加,以 8 进制显示
  • delay – 从本地到远程节点或服务器通信的往返时间(毫秒)
  • offset – 主机与远程节点或服务器时间源的时间偏移量,offset 越接近于0,主机和 NTP 服务器的时间越接近(以方均根表示,单位为毫秒)
  • jitter – 与远程节点同步的时间源的平均偏差(多个时间样本中的 offset 的偏差,单位是毫秒),这个数值的绝对值越小,主机的时间就越精确

字段的统计代码

表中第一个字符(统计代码)是状态标识(参见 Peer Status Word),包含 " ","x","-","#","+","*","o":

  • " " – 无状态,表示:

    • 没有远程通信的主机
    • "LOCAL" 即本机
    • (未被使用的)高层级服务器
    • 远程主机使用的这台机器作为同步服务器
  • x” – 已不再使用
  • -” – 已不再使用
  • #” – 良好的远程节点或服务器但是未被使用 (不在按同步距离排序的前六个节点中,作为备用节点使用)
  • +” – 良好的且优先使用的远程节点或服务器(包含在组合算法中)
  • “*” – 当前作为优先主同步对象的远程节点或服务器
  • o” – PPS 节点 (当优先节点是有效时)。实际的系统同步是源于秒脉冲信号(pulse-per-second,PPS),可能通过PPS 时钟驱动或者通过内核接口。

参考 Clock Select Algorithm.

refid

refid 有下面这些状态值

  • 一个IP地址 – 远程节点或服务器的 IP 地址
  • .LOCL. – 本机 (当没有远程节点或服务器可用时)
  • .PPS. – 时间标准中的“Pulse Per Second”(秒脉冲)
  • .IRIG.Inter-Range Instrumentation Group 时间码
  • .ACTS. – 美国 NIST 标准时间 电话调制器
  • .NIST. –美国 NIST 标准时间电话调制器
  • .PTB. – 德国 PTB 时间标准电话调制器
  • .USNO. – 美国 USNO 标准时间 电话调制器
  • .CHU.CHU (HF, Ottawa, ON, Canada) 标准时间无线电接收器
  • .DCFa.DCF77 (LF, Mainflingen, Germany) 标准时间无线电接收器
  • .HBG.HBG (LF Prangins, Switzerland) 标准时间无线电接收器
  • .JJY.JJY (LF Fukushima, Japan) 标准时间无线电接收器
  • .LORC.LORAN-C station (MF) 标准时间无线电接收器,注: 不再可用 (被 eLORAN 废弃)
  • .MSF.MSF (LF, Anthorn, Great Britain) 标准时间无线电接收器
  • .TDF.TDF (MF, Allouis, France)标准时间无线电接收器
  • .WWV.WWV (HF, Ft. Collins, CO, America) 标准时间无线电接收器
  • .WWVB.WWVB (LF, Ft. Collins, CO, America) 标准时间无线电接收器
  • .WWVH.WWVH (HF, Kauai, HI, America) 标准时间无线电接收器
  • .GOES. – 美国静止环境观测卫星;
  • .GPS. – 美国 GPS;
  • .GAL.伽利略定位系统欧洲 GNSS;
  • .ACST. – 选播服务器
  • .AUTH. – 认证错误
  • .AUTO. – Autokey (NTP 的一种认证机制)顺序错误
  • .BCST. – 广播服务器
  • .CRYPT. – Autokey 协议错误
  • .DENY. – 服务器拒绝访问;
  • .INIT. – 关联初始化
  • .MCST. – 多播服务器
  • .RATE. – (轮询) 速率超出限定
  • .TIME. – 关联超时
  • .STEP. – 间隔时长改变,偏移量比危险阈值小(1000ms) 比间隔时间 (125ms)大

操作要点

一个时间服务器只会报告时间信息而不会从客户端更新时间(单向更新),而一个节点可以更新其他同级节点的时间,结合出一个彼此同意的时间(双向更新)。

初次启动时:

除非使用 iburst 选项,客户端通常需要花几分钟来和服务器同步。如果客户端在启动时时间与 NTP 服务器的时间差大于 1000 秒,守护进程会退出并在系统日志中记录,让操作者手动设置时间差小于 1000 秒后再重新启动。如果时间差小于 1000 秒,但是大于 128 秒,会自动矫正间隔,并自动重启守护进程。

当第一次启动时,时间频率文件(通常是 ntp.drift 文件,记录时间偏移)不存在,守护进程进入一个特殊模式来矫正频率。当时钟不符合规范时这会需要 900 秒。当校正完成后,守护进程创建时间频率文件进入普通模式,并分步校正剩余的偏差。

NTP 0 层(Stratum 0 )的设备如原子钟(铯,铷),GPS 时钟或者其他标准时间的无线电时钟为 1 层(Stratum 1)的时间服务器提供时间信号。NTP 只报告UTC 时间(统一协调时,Coordinated Universal Time)。客户端程序使用时区从 UTC 导出本地时间。

NTP 协议是高精度的,使用的精度小于纳秒(2的 -32 次方)。主机的时间精度和其他参数(受硬件和操作系统限制)使用命令 “ntpq -c rl” 查看(参见 rfc1305 通用变量和 rfc5905)。

“ntpq -c rl”输出参数

  • precision 为四舍五入值,且为 2 的幂数。因此精度为 2 precision (秒)
  • rootdelay – 与同步网络中主同步服务器的总往返延时。注意这个值可以是正数或者负数,取决于时钟的精度。
  • rootdisp – 相对于同步网络中主同步服务器的偏差(秒)
  • tc – NTP 算法 PLL (phase locked loop,锁相环路) 或 FLL (frequency locked loop,锁频回路) 时间常量
  • mintc – NTP 算法 PLL/FLL 最小时间常亮或“最快响应
  • offset – 由结合算法得出的系统时钟偏移量(毫秒)
  • frequency – 系统时钟频率
  • sys\_jitter – 由结合算法得出的系统时钟平均偏差(毫秒)
  • clk\_jitter – 硬件时钟平均偏差(毫秒)
  • clk\_wander – 硬件时钟偏移(PPM – 百分之一)

Jitter (也叫 timing jitter) 表示短期变化大于10HZ 的频率, wander 表示长期变化大于10HZ 的频率 (Stability 表示系统的频率随时间的变化,和 aging, drift, trends 等是同义词)

操作要点(续)

NTP 软件维护一系列连续更新的频率变化的校正值。对于设置正确的稳定系统,在非拥塞的网络中,现代硬件的 NTP 时钟同步通常与 UTC 标准时间相差在毫秒内。(在千兆 LAN 网络中可以达到何种精度?)

对于 UTC 时间,闰秒 leap second 可以每两年插入一次用于同步地球自传的变化。注意本地时间为夏令时时时间会有一小时的变化。在重同步之前客户端设备会使用独立的 UTC 时间,除非客户端使用了偏移校准。

闰秒发生时会怎样

闰秒发生时,会对当天时间增加或减少一秒。闰秒的调整在 UTC 时间当天的最后一秒。如果增加一秒,UTC 时间会出现 23:59:60。即 23:59:59 到 0:00:00 之间实际上需要 2 秒钟。如果减少一秒,时间会从 23:59:58 跳至 0:00:00 。另见 The Kernel Discipline.

那么… 间隔阈值(step threshold)的真实值是多少: 125ms 还是 128ms? PLL/FLL tc 的单位是什么 (log2 s? ms?)?在非拥塞的千兆 LAN 中时间节点间的精度能达到多少?

感谢 Camilo M 和 Chris B的评论。 欢迎校正错误和更多细节的探讨。

谢谢 Martin

附录

另见

其他

SNTP (Simple Network Time Protocol, RFC 4330,简单网络协议)基本上也是NTP,但是少了一些基于 RFC 1305 实现的 NTP 的一些不再需要的内部算法。

Win32 时间 Windows Time Service 是 SNTP 的非标准实现,没有精度的保证,并假设精度几乎有 1-2 秒的范围。(因为没有系统时间变化校正)

还有一个PTP (IEEE 1588) Precision Time Protocol(精准时间协议)。见维基百科:Precision Time Protocol。软件程序为 PTPd。虫咬的功能是这是一个 LAN 高精度主从同步系统,精度在毫秒级,使用 International Atomic Time (TAI, monotonic,无闰秒)。数据报时间戳需要在网卡中启用。支持 PTP 的网络会对数据报记录时间戳以减少交换机路由器的影响。也可以在不记录时间戳的网络中使用 PTP 但可能应为时间偏差太大而无法同步。因此使用这个需要对网络进行设置。

更老的时间同步协议


via: http://nlug.ml1.co.uk/2012/01/ntpq-p-output/831

作者:Martin L 译者:Liao 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出