10 ms·
Simple Precision Time Protocol at Meta
- kristopolous 3y agoFacebook continues to follow the Yahoo and AOL trajectory of exceptional and generous engineering contributions amidst an increasingly disliked suite of commercial offerings. 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 https://github.com/mcdcorp https://github.com/mcdcorp
- lukevp 3y agoWhat did yahoo and AOL contribute?
- ralph84 3y agoHadoop, AOLserver, early support for Mozilla
- therein 3y agoApache Traffic Server, AOLserver (no idea why I used this a long time ago)
- bemusedthrow75 3y agoAOLServer was interesting, yeah. A useful counterpoint to Netscape Application Server, and quite influential over mod_perl and PHP.
- speedgoose 3y agoYahoo had YUI which fell out of fashion. https://en.m.wikipedia.org/wiki/YUI_Library https://en.m.wikipedia.org/wiki/YUI_Library
- fragmede 3y agoyahoo pipes
- mtmail 3y agoYahoo released their geographic data catalogue under open license and it still lives on as https://whosonfirst.org/ https://whosonfirst.org/ Afaik https://en.wikipedia.org/wiki/Apache_ZooKeeper https://en.wikipedia.org/wiki/Apache_ZooKeeper started at Yahoo https://vespa.ai/ https://vespa.ai/ was Yahoo's search engine for news and other content product, now spinned off (https://techcrunch.com/2023/10/04/yahoo-spins-out-vespa-its-search-tech-into-an-independent-company/ https://techcrunch.com/2023/10/04/yahoo-spins-out-vespa-its-...)
- ldjkfkdsjnv 3y agoActually think that behind the scenes facebook is rapidly innovating on ai and integrating it into its ad targeting. Mets is on fire
- KevinAgain 3y agoSounds squarely within the "increasingly disliked suite of commercial offerings"
- omeze 3y agoInstagram and Whatsapp? Even Quest as a platform has tens of millions. All of these are still up and to the right in terms of user numbers and revenue
- IshKebab 3y agoInstagram maybe, but do WhatsApp and Quest actually make money? WhatsApp is free and has no advertising (so far). Quest is very niche. Yeah I looked it up. Quest costs Meta $5.7bn for $1bn in revenue.
- kredd 3y agoI guess, WhatsApp business just never caught up on our side of the world, but every time I’m outside of US/Canada, there will be some sort of business (like a restaurant) that will contact me through it. Assuming they’re making some pennies from WhatsApp Business.
- kleinsch 3y agoClick-to-message is $10B/year, click-to-message in WhatsApp alone was $1.5B 1.5 years ago. They make buckets of money from business services on WhatsApp. https://www.fool.com/investing/2023/02/15/metas-next-profit-growth-pillar-isnt-what-you-migh/ https://www.fool.com/investing/2023/02/15/metas-next-profit-...
- 3y ago
- sirpunch 3y agoThis HN bandwagon again. Meta has had an astounding yoy growth. Did you even see their Q4 report.
- test6554 3y agoIf they are relying on headset sales… competition is about to heat up. Ive been waiting for anyone but meta to come out with a decent, affordable kit and I think were almost there.
- sofixa 3y agoYoY growth and quarterly earnings report don't give you a full picture of how much a company is liked (which is important for b2c companies like Facebook) and how well it is actually performing for the medium/long term. GE and Boeing also had amazing YoY growth and great quarterly reports, until the underlying dumpster fire they were nurturing for years exploded in their faces and now they don't have growth nor profits anymore.
- sirpunch 3y agoYou could say the same thing about every big company. Apple has headwinds from sales in China and US-China trade wars, Tesla is trailing BYD and seeing declining EV demand, and so on. Every large company has something or the other going on. But I find it funny that every new project from Apple is reminiscent of iPhone 1 while it's the Yahoo path for everything from Meta.
- kristopolous 3y agoAnd AOL's stock had a 500% return in the 2010s... Yahoo had 300%. Are you saying people like Facebook's new features like the suggested posts and what they've done to Instagram? Was their VR product line secretly a success? These things eventually catch up. There's also a number of fairly bad bets they've made, such as the $1 bln kustomer acquisition they spun out at a 75% loss after a year https://techcrunch.com/2023/05/16/kustomer-meta-spin-out/ https://techcrunch.com/2023/05/16/kustomer-meta-spin-out/ They have enough capital and trust to stumble around for a while but they sure look like they're yahooing
- deleted 3y ago[deleted]
- ahoka 3y agoBy dumping over-engineered crap nobody actually needs while becoming the Nestle of software companies?
- ysofunny 3y agoall because they aren't in the data-center cloud provider business
- yedava 3y agoFacebook is also one of pioneers in making mass surveillance the norm. The promise of technology has been used to prey on society.
- paxys 3y agoFunny how people "hate" them yet they have 4 billion active users and generate $135 billion in annual revenue. A better explanation is that outside of the HN bubble Meta's product offerings are insanely popular.
- yedava 3y agoAt one time cigarettes were also as popular as Meta's products.
- paxys 3y agoSo were toothpaste and laundry detergent and diapers, and demand for those hasn't exactly gone away.
- yedava 3y agoWhen you buy diapers you are paying for the manufacturing cost and the profit margin. When you use Meta's products, what are you paying for? That's what makes them closer to cigarettes. Tobacco companies sold a lie to their customers. Meta too sells the lie that its products are paid for by ads. Its products are paid for by surveilling users, building behavioral profiles from the data that is collected, and then giving other companies access to that behavioral data in order to manipulate users to specific ends. In this quest to build better behavioral profiles, the products are made to be as addictive as possible, eating away people's time which could have been utilized in objectively better ways.
- ynx 3y agoYou're only minorly wrong in that they don't sell access to the behavioral data [1] , but you do realize that you sound absolutely unhinged about it, right? Is HN surveilling my post because I typed here and pressed the 'reply' button? I've never convinced someone of flaws in ethics by framing the perpetrator as a big bad boogeyman to the nth degree. It's unproductive self-satisfaction. [1] They sell visibility to people queried against proprietary behavioral data.
- mlichvar 3y agoTo me that looks like they are reinventing NTP, but not addressing all the issues of PTP. 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. It seems they didn't replace the PTP offset calculation assuming a constant delay (broadcast model). That doesn'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). I think a better solution taking advantage of existing PTP support in hardware is to encapsulate NTP messages in PTP packets. NICs and switches/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: https://datatracker.ietf.org/doc/draft-ietf-ntp-over-ptp/ https://datatracker.ietf.org/doc/draft-ietf-ntp-over-ptp/ 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).
- bux93 3y agoI listened to a fascinating podcast from Jane Street on their solution. Pasted the relevant part https://signalsandthreads.com/clock-synchronization/ https://signalsandthreads.com/clock-synchronization/ --quote "So, we’re trying to build a proof of concept. At the end of the day, we sort of figured, “All right. We have these GPS appliances.” We talked about hardware timestamping before on the GPS appliances, and how they can’t hardware timestamp the NTP packets, so that’s problematic. We thought, “How can we move time from the GPS appliances off into the rest of the network?” And so we decided that we could use PTP to move time from the GPS appliances to a set of Linux machines, and then on those Linux machines we could leverage things, like hardware timestamping, and the NTP interleaved mode to move the time from those machines onto machines further downstream. The NTP interleaved mode, just to give a short overview of what that means… when you send a packet if you get it hardware timestamps on transmission the way you use that hardware timestamp is you get it kind of looped back to you as an application. So I transmit a packet, I get that hardware timestamp after the packet’s already gone out the door. That’s not super useful from an NTP point of view, because really you wanted the other side to receive that hardware timestamp, and so the interleaved mode is sort of a special way in which you can run NTP and that when you transmit your next NTP packet you send that hardware timestamp that you got for the previous transmission, and then the other side, each side can use those. I don’t want to get into too much of the details of how that works, but it allows you to get more accuracy and to leverage those hardware timestamps on transmission." -- end quote
- jonathanyc 3y agoDoes anyone know the differences between Meta's application of Precision Time Protocol and Google TrueTime? I was hoping to find some discussion in the article but found none. The 2022 article on the Precision Time Protocol says (https://engineering.fb.com/2022/11/21/production-engineering/precision-time-protocol-at-meta/ https://engineering.fb.com/2022/11/21/production-engineering...): - 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... - 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... Which sounds similar to TrueTime (https://static.googleusercontent.com/media/research.google.com/en//archive/spanner-osdi2012.pdf https://static.googleusercontent.com/media/research.google.c...): - 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... - TT.now() returns TTinterval: [earliest, latest] I tried Googling "Precision Time Protocol TrueTime" but the only reference I could find is a HN comment by someone else from 2022 :) https://news.ycombinator.com/item?id=33696752 https://news.ycombinator.com/item?id=33696752
- j16sdiz 3y agoTrueTime is designed for monotonicity. It give bounds for concurrency control. PTP do wallclock time.
- touisteur 3y agoJust one slight trapdoor I triggered in my travails. I don't know whether PTP does PLL slaving but while NTP is also for wall time, it has an effect on clock_gettime(CLOCK_MONOTONIC) so if you need a local clock without external (network, I mean) influence, CLOCK_MONOTONIC_RAW is there for you. And luckily, on recent kernel it has been vDSO'd.
- mjb 3y agoDoing consistent reads this way is a fairly old technique, at least back to the 80s (I can dig up some papers if folks are interested). Spanner, rather famously, uses this range approach, but a good number of other systems are based on similar approaches. The important thing for reads is getting an upper error bound from the clock, having storage that can perform reads at that time (eg using MVCC), and having a way for storage to know when it's seen all writes before a timestamp. This can be implemented using PTP, and that's the approach we use at AWS inside some database services.
- Alifatisk 3y agoI see this as nothing more than custom built NTP that suits them. For the general public, I think NTP is still most suitable.
- martinky24 3y agoWhich... is fine! They're allowed to open source solutions for problems that are unique to their massively scaled architecture! Others can learn from it -- even if others don't have the same problem. It is worth keeping in mind that very, very, very few people/companies are required to solve the same problems a company like Meta is.
- natch 3y ago“grand cancellation acknowledgements” I love it. These sound grand.
- villalva 3y ago[flagged]