News for hackers. Stuff that matters.
Re:Say No to Paxos Overhead: Replacing Consensus with Networ... by socmag on Friday December 09, 2016 @03:29AM (#13137474)
This gets a huge thumbs up from me.

I've worked through a lot of the same reasoning as these people, and as technically correct as PAXOS might be, in the real world, causality at high frequency is a blur at best, and there is absolutely no need to impose the hard constraints that PAXOS and others imply.

The only cases where guaranteed constraint systems are needed are when you don't have traffic and at each time step all parties are capable of asking each other to confirm that from all frames of reference they all agree who and why someone committed first. Which is great, but makes zero sense in the real world.

At scale transactions are and should be committed on a best effort basis.

You don't look at your bank account and wonder why the T-Mobile payment went out slightly after your ATM withdrawal.

Why? Because... shrug. God said so. He works in mysterious ways.

This is awesome. Sign me up.

Re:Say No to Paxos Overhead: Replacing Consensus with Networ... by pron on Friday December 09, 2016 @05:17AM (#13137858)
You have misunderstood (as the title is a pun). It is "Say NO to Paxos Overhead", and is about a new Paxos invariant called NOPaxos (Network Ordering Paxos), that relies on code running in network switches to provide ordering. The same consensus guarantees apply -- in fact, it is still Paxos -- but the latency is significantly improved (and is within 4% of no replication at all). So it's Paxos with (almost) no overhead thanks to NO.

You are also very mistaken about there being "no need" for consistency guarantees. Even systems that don't provide consistency for every data update, do enjoy consistency for some more rare events (like cluster membership). Without strong consistency at all, the range of distributed programs we can build is much reduced. The need for a greater range of distributed programs arises not from geographically separated applications (like ATMs), but from the mere fact that distributed computing is currently our only way to scale computational power (within that data center). If we cannot have consistent distributed computations, our computational power and the range of applications we can build in general would be greatly reduced.

Re:Say No to Paxos Overhead: Replacing Consensus with Networ... by socmag on Friday December 09, 2016 @09:02PM (#13143568)
I was definitely NOt saying there is no need for consistency guarantees at all. I was saying that this is a much better way to do it.
Re:Say No to Paxos Overhead: Replacing Consensus with Networ... by lepacheco on Friday December 09, 2016 @04:38AM (#13137721)
That's not what the paper is about. They still provide Consensus (i.e., total ordering).
Re:Say No to Paxos Overhead: Replacing Consensus with Networ... by MrBuddyCasino on Friday December 09, 2016 @04:38AM (#13137720)
Maybe I didn't get it, but ordering is still guaranteed, it has just moved to the network layer and is kind of "hardware accelerared" by a smart switch or SDN node, or am I wrong?
Re:Say No to Paxos Overhead: Replacing Consensus with Networ... by hardwaresofton on Friday December 09, 2016 @04:54AM (#13137780)
Ordering is definitely guaranteed -- it's the only thing that is, by this scheme (delivery is not, latency is unbounded).

They provide 3 approaches in the paper: SDN node, programmed hardware, and software-only. Software-only approach lost some of the latency-gains, as might be expected.

Re:Say No to Paxos Overhead: Replacing Consensus with Networ... by MrBuddyCasino on Friday December 09, 2016 @05:21AM (#13137863)
Thanks, thats how I understood it.

The tradeoffs are quite seductive, in my experience most companies do not operate their software on a scale where they really have to scale out, but they run multiple instances simply to increase availability.

But then those are probably the same kind of companies that will probably not have the required network hardware, and won't for many years to come.

I'm thinking about stuff like Redis or distributed caches like Hazelcast, maybe even Zookeeper and friends. Any ideas where this could shine?

Cloud vendors could manage the hardware part, but is this model attractive to them, essentially being constrained to single-node performance?

Re:Say No to Paxos Overhead: Replacing Consensus with Networ... by hardwaresofton on Friday December 09, 2016 @10:55AM (#13139412)
I thought of mostly the same things (redis/some other database), maybe also IoT? This, in combination with the ultra low power wifi post that recently went up (https://news.ycombinator.com/item?id=13135607) seem like they would go together.

I think cloud vendors would definitely charge a pretty high premium for this, since it requires more than zero work on their part.

Also, aren't most simply-distributed databases constrained to single node performance (for writes, assuming one master)? I feel like you could work in fast reads to this scheme too, if you required replicas to have a complete log in order to respond to a read, since it's all or nothing. The possibility of a slightly (1 op) stale read is possible though.

Re:Say No to Paxos Overhead: Replacing Consensus with Networ... by jon-wood on Friday December 09, 2016 @04:45AM (#13137749)
> You don't look at your bank account and wonder why the T-Mobile payment went out slightly after your ATM withdrawal.

Your bank account isn't being used for even nearly the same things distributed data stores like this are being used for. And even then they have to make workarounds to ordering issues, otherwise if there were a day when my salary comes in and my rent went out I'd be hit with overdraft charges if they happened in the wrong order.

Re:Say No to Paxos Overhead: Replacing Consensus with Networ... by ansible on Friday December 09, 2016 @05:09AM (#13137835)
For a while, banks were maliciously ordering such transactions, to create such scenarios.

That's why I'm real cautious about debit cards.

Re:Say No to Paxos Overhead: Replacing Consensus with Networ... by function_seven on Friday December 09, 2016 @05:24AM (#13137870)
Yup. I don’t think they ever processed debits before credits in any given day. (The standard AFAIK has always been to process all credits first, then do the debits. This might be an antiquated understanding, though).

But what they did do was to process the largest debit first, then the next largest, and so on. You have $100 in the account, and completed four transactions at $4, $8, $15, and $90? In that order? Too bad, 90 goes first, followed by three overdrafts.

Re:Say No to Paxos Overhead: Replacing Consensus with Networ... by tinco on Friday December 09, 2016 @05:30AM (#13137897)
You're cautious about debit cards? The only alternative being credit cards, where each transaction by definition is an overdraft? Maybe I'm getting this wrong, I'm from Europe where we don't really use credit cards.

What fee are you talking about? If you use a debit card, and you don't have the money it will simply refuse the transaction right?

Re:Say No to Paxos Overhead: Replacing Consensus with Networ... by klodolph on Friday December 09, 2016 @11:25AM (#13139635)
I think you are using the wrong definition of "overdraft". On a credit line, an "overdraft" is when you've already exhausted the line of credit. This is often possible, and there are often not really any fees or penalties associated with it. They are just giving you more credit than they originally promised to give you.

American perspective here—I feel safer using a credit card because it's not my money. If someone fraudulently bills my credit card, it's the bank that they're stealing from, not me. There are legal protections in place which limit my personal liability.

With a debit card, if someone fraudulently uses it, the money is gone and you have to fight to get it back. There are legal protections which limit my liability here too, but when I invoke those protections I'm starting from an inferior position (the money is already missing from my account), and those protections are a little better for credit cards.

Our accounts are also often reconciled with ACH, which is not as fast as it could be. So it's not always true that the transaction will be refused if you don't have the money. It's often true, but credit cards are safer because there's not really a penalty for going over your line of credit.

Re:Say No to Paxos Overhead: Replacing Consensus with Networ... by ansible on Friday December 09, 2016 @05:29PM (#13142420)
Yes, all this is also my perspective as a USA citizen.

At the very least, I'd recommend that you have a separate debit card account that is used for store purchases and such. This gets filled (manually!) from another account which you also use only for really important stuff like utility payments, housing, car payments, etc.

Re:Say No to Paxos Overhead: Replacing Consensus with Networ... by computerphage on Friday December 09, 2016 @06:23AM (#13138097)
No, they will charge you a fee called an overdraft fee for the "service" of allowing you to purchase the item. They basically extend you a small line of credit (there's some upper limit before they will deny the purchase) and then charge you, say, $35.

Credit cards are always overdrawn in the sense that the bank has extended you a line of credit, but they don't have a fee associated with typical use.

Re:Say No to Paxos Overhead: Replacing Consensus with Networ... by jon-wood on Friday December 09, 2016 @06:18AM (#13138083)
At least my UK bank will immediately allow my bank account to become overdrawn while also sending me a text message letting me know that. So long as the account is in credit by 11pm that day no charges or interest are due.