Earlier quoted context omitted.
Google uses map reduce extensively... where it's appropriate. True time helps with things like spanner transactions. It's just a totally different use case.
The tech lead of the Google MapReduce team (which no longer exists) just received their award for turning down mapreduce. IIRC it was officially done 5 years ago. However I believe the code to delete MR was never checked in and I'm not sure if there are still users. MapReduce was used at Google for highly inappropriate things. For example, the machine learning system I worked on, Sibyl https://www.datanami.com/2014/0…
Amazon Time Sync Service
31–40 of 94 posts
Re: Amazon Time Sync Service
#32It's really hard to use these API's correctly. Remember... your CPU can halt at any time for any number of milliseconds. That means simple things like: upperBound, lowerBound = readTime() if (upperBound Are incorrect... There is no guarantee that the 'if' statement didn't take many milliseconds, and that the stuff didn't end up happening after the deadline. It's also very easy to write code that works, but is theoret…
edit: well, after reading Spivak's comment[1] a bit, I guess it does provide strict upper bounds. May be useful to reduce how often you need to use fallback behaviors / get more byzantine. Though I'm not yet sure how to turn that into something useful. No doubt there are some though.
Re: Amazon Time Sync Service
#33Earlier quoted context omitted.
Yes, which is why it's amusing in hindsight that for a decade everyone* outside Google was forcing all* their distributed data tasks into the MapReduce paradigm, without considering alternative approaches like the one used by Spanner. * slight exaggerations, I know
I'm not sure how you think a distributed data processing technology would "fake-out" other companies when building/choosing database technology. They are totally different problem sets. MapReduce does not have a set in stone data source/sink and can use multiple things like bigtable and spanner so they are complementary technologies.
Re: Amazon Time Sync Service
#34Re: Amazon Time Sync Service
#35It's really hard to use these API's correctly. Remember... your CPU can halt at any time for any number of milliseconds. That means simple things like: upperBound, lowerBound = readTime() if (upperBound Are incorrect... There is no guarantee that the 'if' statement didn't take many milliseconds, and that the stuff didn't end up happening after the deadline. It's also very easy to write code that works, but is theoret…
syncTime()
And they take care of the messRe: Amazon Time Sync Service
#36It's really hard to use these API's correctly. Remember... your CPU can halt at any time for any number of milliseconds. That means simple things like: upperBound, lowerBound = readTime() if (upperBound Are incorrect... There is no guarantee that the 'if' statement didn't take many milliseconds, and that the stuff didn't end up happening after the deadline. It's also very easy to write code that works, but is theoret…
def must_complete_before(func, deadline):
result = func()
lower, upper = time.now()
if upper Re: Amazon Time Sync Service
#37Can someone please explain to me what this is all about like I’m five years old?
By asking both super-microscopic stuff and stuff way out in space, you can now find out what time it is!
Re: Amazon Time Sync Service
#38It's really hard to use these API's correctly. Remember... your CPU can halt at any time for any number of milliseconds. That means simple things like: upperBound, lowerBound = readTime() if (upperBound Are incorrect... There is no guarantee that the 'if' statement didn't take many milliseconds, and that the stuff didn't end up happening after the deadline. It's also very easy to write code that works, but is theoret…
I mean it’s not that hard even on non-rt preemptive schedulers. You can’t avoid false negatives because you could be preempted after func completes but before the time is fetched but if you get a result it will be valid. def must_complete_before(func, deadline): result = func() lower, upper = time.now() if upper
Re: Amazon Time Sync Service
#39* It's not that hard to get your own "world class" time server, for under a thousand. A Rb standard slaved to a GPSDO is gonna be so accurate and stable, and use that to drive a SBC that supports IEEE1588, where you run your NTP and PTP server. Oh, but I guess that box, while inexpensive, isn't in Amazons DC, so doesn't help you.
* PTP's absence in the Amazon Time Sync Service article is quite conspicuous!
Re: Amazon Time Sync Service
#40Perhaps the biggest "fake-out" in 21st century computing: Google publicly released its MapReduce paper -- directing most of the rest of the industry toward loosely coupled, overly complex distributed data processing systems like Hadoop for the following decade -- but internally they just bought a bunch of atomic clocks and built a distributed RDBMS. I know this is a somewhat simplified story, but it does make me chuc…