Earlier quoted context omitted.
I'm not so sure. Have the latencies claimed by FoundationDB been measured on multi-key transactions? And if you need these guaranties, it seems like "Most of these operations can be implemented on top of the existing RAMCloud features". I would expect it to be possible to implement that and stay well withing the latency budget, provided that a single-key durable write is 100 times faster.
All of the transactions in the test noted in the blog are multi-key transactions. (20 key updates)
Databases at 14.4Mhz
31–40 of 86 posts
Re: Databases at 14.4Mhz
#32Re: Databases at 14.4Mhz
#33"Or, as I like to say, 14.4Mhz." Sorry, I don't like that at all.
I would agree. While 14.4 million writes per second is impressive, it definitely doesn't fit the definition of the Hz unit (cycles per second).
Re: Databases at 14.4Mhz
#34This is very impressive, however... See this tweet by @aphyr: https://twitter.com/aphyr/status/542755074380791809 (All credit for the idea in this comment is due to @aphyr) Basically because the transactions modified keys selected from a uniform distribution, the probability of contention was extremely low. AKA this workload is basically a data-parallel problem, somewhat lessening the impressiveness of the high throu…
Actually, @aphyr's analysis is wrong. In fact it's actually worse that he says. There is an exactly 0% chance of conflicts between two transactions that each only write 20 random keys (as they do in this test). This is perhaps counterintuitive, but, because there are no reads, any serialization order is possible and therefore there is no chance of conflict. Equally wrong is his assumption that this has any bearing on…
Presumably you will want to retry conflicting transactions, so you generally would not count them towards your throughput.
For example if I commit 100 transactions per second, and 90% of them return conflicts, I am only successfully committing 10 transactions per second.
Re: Databases at 14.4Mhz
#35Just watched the linked presentation about "flow" here : https://foundationdb.com/videos/testing-distributed-systems-... Is it really the first Distributed DB project to have built a simulator ? Because frankly, if that's the case, it seems revolutionary to me. Intuitively, it seems like bringing the same kind of quality improvement as unit testing did to regular software development. PS : i should add that this talk…
At Couchbase we have a plethora of simulators. Simulations of cluster topology changes, simulations of failure scenarios, simulations of workloads to estimate requried cluster sizes, etc. Here's one: https://github.com/couchbaselabs/cbfg
I do believe this is unique among publically-available distributed databases.
Re: Databases at 14.4Mhz
#36Earlier quoted context omitted.
Actually, @aphyr's analysis is wrong. In fact it's actually worse that he says. There is an exactly 0% chance of conflicts between two transactions that each only write 20 random keys (as they do in this test). This is perhaps counterintuitive, but, because there are no reads, any serialization order is possible and therefore there is no chance of conflict. Equally wrong is his assumption that this has any bearing on…
Your definition of performance is a little weird. Presumably you will want to retry conflicting transactions, so you generally would not count them towards your throughput. For example if I commit 100 transactions per second, and 90% of them return conflicts, I am only successfully committing 10 transactions per second.
Of course most real world workloads are (hopefully!) no where near 90% conflicts. If you had a 90% transaction conflict rate you could expect FoundationDB performance to drop by about 30-60% due to retries (and, worse news, you would need to rethink your architecture).
Re: Databases at 14.4Mhz
#37Why the deliberately misleading comparisons? If you are doing something genuinely impressive, then you should be able to be honest about it and have it still seem impressive. One tweet is not one write. Comparing tweets per second to writes per second is complete nonsense. How many writes a tweet causes depends on how many followers the person who is tweeting has. The 100 writes per second nonsense is even worse. Do…
Re: Databases at 14.4Mhz
#38"Or, as I like to say, 14.4Mhz." Sorry, I don't like that at all.
I would agree. While 14.4 million writes per second is impressive, it definitely doesn't fit the definition of the Hz unit (cycles per second).
http://en.wikipedia.org/wiki/Hertz
If anything you are counting is happening 14.4 million times a second, then that thing is happening at 14 megahertz. It's just a unit. If there are 14.4 million writes per second, then the writes are occuring at 14.4 mega hertz. That's just the definition of hertz.
Haha, Google agrees, check it out: https://www.google.com/?q=4+per+second#q=4+per+second
Re: Databases at 14.4Mhz
#39As someone who has no idea about the cost of high-scale computing like this, is $150/hr reasonable? It seems like an amount that's hard to sustain to me, but I have no idea if that's a steady, all the time rate, or a burst rate, or what. Or if it's a set up you'd actually ever even need -- seems like from the examples they mention (like the Tweets), they're above the need by a fair amount. Anyone else in this sort of…
Per the article, it's about 1/20th the cost that Google would charge you for the same number of writes.
Re: Databases at 14.4Mhz
#40This looks very interesting and congratulations to the FoundationDB crew on some pretty amazing performance numbers. One of the links leads to an interesting C++ actor preprocessor called 'Flow'. In that table, it lists the performance result of sending a message around a ring for a certain number of processes and a certain number of messages, in which Flow appears to be fastest with 0.075 sec in the case of N=1000 a…