Imagine a busy pub on a Friday night. It’s crowded, lots of people are talking at the same time. They’re all exchanging information with each other which makes tiny changes in their brains. Some folks are taking it easy on the drink, a few are a bit tipsy after one too many beers, and my mate Stevo is plastered, falling off his barstool. Classic Stevo. Now imagine trying to get this crowd to agree on something when they can’t even agree on which footy team is the worst this week and some of them can’t remember their own names.
In comparison you’d think that getting a bunch of computers to agree on something, say a simple number would be pretty easy. Computers can do way smarter things than agreeing upon a number, right? Sadly not. Computers are often in various states of being wrong or crashing. Much like a bunch of drunks they all want to talk at the same time, and they’re confident they have the best opinion.
How have we have built such incredible systems on such a flakey foundation? In this talk we will visit classic consensus algorithms and see how they provide benefits of correctness and fault-tolerance for systems but at the price of reduced scalability. Then we’ll explore some new research which aims to provide both correctness and scalability for distributed systems. The talk will be interactive - you may need a drink yourself afterwards.