TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Simple Precision Time Protocol at Meta

217 pointsby atg_abhishekover 1 year ago

5 comments

mlichvarover 1 year ago
To me that looks like they are reinventing NTP, but not addressing all the issues of PTP.<p>A big problem with the PTP unicast mode is an almost infinite traffic amplification (useful for DDoS attacks). The server is basically a programmable packet generator. Never expose unicast PTP to internet. In SPTP that seems to be no longer the case (the server is stateless), but there is still the follow up message causing a 2:1 amplification. I think something like the NTP interleaved mode would be better.<p>It seems they didn&#x27;t replace the PTP offset calculation assuming a constant delay (broadcast model). That doesn&#x27;t work well when the distribution of the delay is not symmetric, e.g. errors in hardware timestamping on the NIC are sensitive to network load. They would need to measure the actual error of the clock to see that (the graphs in the article seem to show only the offset measured by SPTP itself, a common issue when improvements in time synchronization are demonstrated).<p>I think a better solution taking advantage of existing PTP support in hardware is to encapsulate NTP messages in PTP packets. NICs and switches&#x2F;routers see PTP packets, so they provide highly accurate timestamps and corrections, but the measurements and their processing can be full-featured NTP, keeping all its advantages like resiliency and security. There is an IETF draft specifying that:<p><a href="https:&#x2F;&#x2F;datatracker.ietf.org&#x2F;doc&#x2F;draft-ietf-ntp-over-ptp&#x2F;" rel="nofollow">https:&#x2F;&#x2F;datatracker.ietf.org&#x2F;doc&#x2F;draft-ietf-ntp-over-ptp&#x2F;</a><p>An experimental support for NTP-over-PTP is included in the latest chrony release. In my tests with switches that work as one-step transparent clocks the accuracy is same as with PTP (linuxptp).
评论 #39299797 未加载
评论 #39300005 未加载
评论 #39299919 未加载
kristopolousover 1 year ago
Facebook continues to follow the Yahoo and AOL trajectory of exceptional and generous engineering contributions amidst an increasingly disliked suite of commercial offerings.<p>Reminds me of a project idea where you list out all the big companies that have GitHub projects like Comcast, Walmart, Verizon, Target and even <a href="https:&#x2F;&#x2F;github.com&#x2F;mcdcorp">https:&#x2F;&#x2F;github.com&#x2F;mcdcorp</a>
评论 #39299271 未加载
评论 #39305511 未加载
评论 #39304072 未加载
评论 #39300325 未加载
评论 #39299564 未加载
评论 #39299898 未加载
评论 #39299239 未加载
评论 #39303698 未加载
jonathanycover 1 year ago
Does anyone know the differences between Meta&#x27;s application of Precision Time Protocol and Google TrueTime? I was hoping to find some discussion in the article but found none.<p>The 2022 article on the Precision Time Protocol says (<a href="https:&#x2F;&#x2F;engineering.fb.com&#x2F;2022&#x2F;11&#x2F;21&#x2F;production-engineering&#x2F;precision-time-protocol-at-meta&#x2F;" rel="nofollow">https:&#x2F;&#x2F;engineering.fb.com&#x2F;2022&#x2F;11&#x2F;21&#x2F;production-engineering...</a>):<p>- Adding precise and reliable timestamps on a back end and replicas allows us to simply wait until the replica catches up with the read timestamp...<p>- As you may see, the API doesn’t return the current time (aka time.Now()). Instead, it returns a window of time which contains the actual time with a very high degree of probability...<p>Which sounds similar to TrueTime (<a href="https:&#x2F;&#x2F;static.googleusercontent.com&#x2F;media&#x2F;research.google.com&#x2F;en&#x2F;&#x2F;archive&#x2F;spanner-osdi2012.pdf" rel="nofollow">https:&#x2F;&#x2F;static.googleusercontent.com&#x2F;media&#x2F;research.google.c...</a>):<p>- A read-only transaction executes in two phases: assign a timestamp sread [8], and then execute the transaction’s reads as snapshot reads at sread. The snapshot reads can execute at any replicas that are sufficiently up-to-date...<p>- TT.now() returns TTinterval: [earliest, latest]<p>I tried Googling &quot;Precision Time Protocol TrueTime&quot; but the only reference I could find is a HN comment by someone else from 2022 :) <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=33696752">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=33696752</a>
评论 #39303969 未加载
评论 #39300415 未加载
评论 #39303173 未加载
Alifatiskover 1 year ago
I see this as nothing more than custom built NTP that suits them. For the general public, I think NTP is still most suitable.
评论 #39302161 未加载
natchover 1 year ago
“grand cancellation acknowledgements”<p>I love it. These sound grand.