Thoughts pushing software forward, including consensus, CRDTs, formal methods, & probabilistic programming.
Track: Modern CS in the Real World
Location: Broadway Ballroom South, 6th fl.
Day of week:
Track Host: Cindy Sridharan
Cindy Sridharan is a distributed systems engineer. She's the author of a book on Distributed Systems Observability with O'Reilly and the co-author of an upcoming book on distributed systems engineering in the cloud. She runs the Prometheus user group in San Francisco, has been a reviewer of several technical books and on the program committee of leading industry conferences on systems engineering. She lives in San Francisco and in her spare time enjoys hiking the gorgeous outdoors of the Bay Area, reading way too many papers and occasionally blogging about building resilient and maintainable systems.
10:35am - 11:25am
Let's talk locks!
Locks have a bad rap for “being slow” and yet, they’re used extensively in applications and under-the-hood. So, what gives? This talk resolves the dichotomy. We’ll explore when and why locks affect performance, delve into Go’s lock implementation as a case study, and discuss strategies we can use when locks are actually a problem.
11:50am - 12:40pm
EBtree - Design for a Scheduler and Use (Almost) Everywhere
As the demand on Internet infrastructures grows, so do the requirements on its components, like load balancers, to process ever more data. EBtree is a different take on the ubiquitous tree data structure, and is helping HAProxy, a high performance Open-Source software load balancer, to keep up with demands for over a decade. In this talk we explore the goals, design and the choices behind the implementations of EBtree, and how they combine to produce a very fast and versatile data storage for many of HAProxys advanced features.
1:40pm - 2:30pm
PID Loops and the Art of Keeping Systems Stable
Building ultra-reliable large-scale services is an incredible challenge. Systems often exhibit emergent properties and network effects that can be beyond the practical limits of testing, how do we keep things stable even when the unpredictable happens? Control theory, a branch of engineering that has existed for over a hundred years has a lot to offer us. Systems of all sizes can be analyzed and stabilized with PID control loops - often simple algorithms that contain Propotional, Integral, and Derivative components. But how? This session will show what PID loops look like in the context of modern systems, and to see how expoential backoff, flow-control, and other techniques can be wielded to build self-healing systems.
2:55pm - 3:45pm
Leaving the Ivory Tower: Research in the Real World
Academic research often has a reputation of being insular and seldom being used in the real world. At HashiCorp, we've had a long tradition of basing our tools and products on academic research. We look at research for the initial design of products, and for ongoing development of new features. Our industrial research group, HashiCorp Research, has even published novel work. In this talk we cover why we care, how we incorporate research, and what has been particularly useful for us.
4:10pm - 5:00pm
Panel: The Promises and Perils of Eschewing Distributed Coordination
The discussion will be about the promises and perils of eschewing coordination in distributed systems. The panelists will cover a diverse range of opinions and use-cases (control planes, streaming engines, SQL databases, service discovery systems etc).
Moderator: Cindy Sridharan
Colm MacCárthaigh, Senior Principal Engineer @awscloud
Chenggang Wu, CS PhD student at RISELab, UC Berkeley
Armon Dadgar, Co-Founder and CTO of HashiCorp
Peter Mattis, CockroachDB maintainer, Co-founder & CTO @CockroachDB
Sean T. Allen, VP of Engineering @WallarooLabs
5:25pm - 6:15pm
The State of Serverless Computing
Serverless computing has become increasingly popular since Amazon released AWS Lambda in 2014. Its appeal lies in the ability to write arbitrary code and deploy it at scale with the “click of a button”, in some sense realizing the original promise of cloud computing. While existing serverless infrastructure works well for a certain class of applications, it also has a number of significant limitations that cripple its generality. For example, stateful applications are forced into well-known anti-patterns like data shipping. In this talk, we briefly discuss both the benefits and shortcomings of existing serverless offerings. We then project forward to the future and highlight challenges that must be overcome to realize truly general-purpose serverless computing, as well as our efforts to get there.