Presentation: Distributed systems in practice, in theory

Location:

Duration

Duration: 
11:50am - 12:40pm

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.

Abstract

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.

Interview

Question: 
What is your role today?
Answer: 
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.
Question: 
What is the motivation for your talk?
Answer: 
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.
Question: 
What are some of the architectural patterns you will discuss?
Answer: 
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.
Question: 
What is the roadmap for the talk?
Answer: 
The talk is a case study that browses through the history of distributed systems research. I’m going to show how those ideas are being explored and introduced now into production systems.
I am planning to take the three architectural patterns and walk through each of them by discussing the relevant papers and discussing their application in modern systems.
Question: 
What do you want someone from your audience to walk away with?
Answer: 
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.

Tracks

Covering innovative topics

Monday, 7 March

Tuesday, 8 March

Wednesday, 9 March

Conference for Professional Software Developers