Presentation: Distributed systems in practice, in theory



4:10pm - 5:00pm

Day of week:



Key Takeaways

  • Revisit some features of modern distributed systems through the lens of computer science research contributions over the past few decades.
  • See three architectural patterns, their application, and reference papers that are relevant to today’s distributed systems.
  • Understand the tremendous resources available to modern developers from research community’s work.


Modern systems in production rely on decades of computer science research. Over time, new architectural patterns emerge that enable more resilient and robust systems. In this talk, we'll discuss some of these patterns from systems I've worked on at Google and the related work that provide insights into the motivations behind them.


What is your role today?
I am leading the implementation of an upgraded scalable engine for our distributed build system. It’s part of the shared infrastructure that Google engineers utilize every day. I also organize our internal “Papers We Love” community at Google, where we read computer science papers and discuss them. In addition, I enjoy collaborating with the open source community and sharing my knowledge of performance benchmarking.
What is the motivation for your talk?
It is becoming more and more valuable for professionals in industry to expose themselves to research. While computer science has decades of research work available, not all of these ideas are immediately applicable as much of it is forward looking.
What I would like my audience to get out of my talk is which architectural patterns are being widely used today (regardless of when the research paper was published). I plan to show the connection to computer science research to help other developers, tech leads, and architects. The hope is they can benefit from these papers, and derive lessons learned for their production systems.
What are some of the architectural patterns you will discuss?
I am going to discuss things like the use of leases for distributed locking and determining liveness in systems. In addition, I’ll discuss how we can make data pipelines more resilient and adaptable to variable load. Finally, I’ll show how we can trade off accuracy for performance and resilience of large scale systems. This last part is a very exciting and relatively new area of research.
Is this the same talk as in QCon London?
While the three general patterns I present are the same, I’m planning to focus on examples and applications of the leases and inaccurate computations, using new examples (e.g. etcd for leases) to better teach how to use them in practical applications.
Are there any changes that you’ve made based on any feedback from London?
Yes. One of the pieces of feedback I’ve gotten was that while the Staged Event-Driven Architecture pattern is interesting and it helped attendees who are new to distributed systems to understand the motivation behind this architecture better, it is a very familiar topic to a lot of distributed systems practitioners. So I will still discuss this subject in my talk, because there were several practitioners who found it helpful, I’m planning to put more focus on the field of inaccurate computations.
What do you want someone from your audience to walk away with?
First of all, I want them to really understand these three architectural patterns that I mentioned. I think they are very important and widely applicable in different systems.
Secondly, I hope that the audience members can walk away knowing that there is a lot of existing research out there (whether it is recent or not) that can be used to minimize technical. The patterns may not be directly related, but the value of studying them and exposing oneself to them is huge.

Speaker: Aysylu Greenberg

Software Engineer @Google

Aysylu Greenberg works at Google on a distributed build system. In her spare time, she ponders the design of systems that deal with inaccuracies, paints and sculpts.

Find Aysylu Greenberg at

Similar Talks


Monday, 13 June

Tuesday, 14 June

Wednesday, 15 June