Track: Modern CS in the Real World

Location: Whittle, 3rd flr.

Day of week: Monday

Many of us went to school, spent countless hours learning theory, and breathed a sigh of relief when we finally graduated and entered the work force. It meant that we could build real systems and software and worry less about math and proofs. However, the exploding popularity of the internet and of mobile devices means that our systems need to handle tremendous load, 24-7, across the world and across changes and outages. These needs resulted in a budding collaboration between industry and academia in several areas including but not limited to Databases, AI, ML, Distributed Systems, Information Theory, Control Systems, Probability and Data Mining. What are some of these advances and which ones should you know more about? Come to this track to learn more.

Track Host: Sid Anand

Chief Data Engineer @PayPal

Sid Anand currently serves as PayPal's Chief Data Engineer, focusing on ways to realize the value of data. Prior to joining PayPal, he held several positions including Agari's Data Architect, a Technical Lead in Search @ LinkedIn, Netflix’s Cloud Data Architect, Etsy’s VP of Engineering, and several technical roles at eBay. Sid earned his BS and MS degrees in CS from Cornell University, where he focused on Distributed Systems. In his spare time, he is a maintainer/committer on Apache Airflow, a co-chair for QCon, and a frequent speaker at conferences. When not working, Sid spends time with his wife, Shalini, and their 2 kids.

10:35am - 11:25am

Infinite Parallel Universes: State at the Edge

Databases and other systems of state often rely on abstractions that break down at large physical scale. In this talk I'll describe the problems with some of these traditional assumptions, and suggest better approaches for effectively managing data in geographically large networks. With these ideas in mind, I'll then describe the architecture and communication model of a global-scale, edge state system I'm prototyping at Fastly. Attendees should leave with a good understanding of the challenges of state management, when the speed of light can't be ignored.

Peter Bourgon, Principal Engineer @fastly

11:50am - 12:40pm

Modern CS Open Space

Session details to follow.

1:40pm - 2:30pm

Debugging with Record & Replay Systems: Research Meets the Real World

Join this talk to learn about the various implementations of record and replay systems that can be used to debug software applications. The talk begins with a discussion of the current state of the art, from both academia and the real world. We then provide an overview of the pros and cons, mostly along the axis of ease of implementation versus the capabilities of the implementation. Finally, we will compare the open-source vs proprietary models for the productising of such research systems.

The problem of understanding the reasons why a computer program has behaved in an unexpected way has troubled programmers for as long as programmable computers have existed. Due to society’s increasing dependency on computers and the rise in complexity of modern software architectures, the problem grows ever more important and ever more difficult to solve. Fortunately, today’s hardware and software systems make it feasible to provide a complete recording of a program’s execution.

In the 1970s, the idea of reversible debugging as a potential solution to this problem was first discussed in academic papers, and a naive implementation of reversible debugging was added to the GNU “GDB” interactive debugger in 2009. These systems allow developers to debug a ‘recording’ (also known as a ‘trace’) of a program’s execution, stepping forwards and backwards. Full realisation of this allows developers to rewind to any instruction in the program’s history, and examine any variable’s value (ie. any register value and any memory location) for any instruction that executed.

Until recently, the high overheads and/or incompleteness of these systems meant they were impractical for recording anything but the simplest of “Hello world” type programs. A new breed, including Undo’s LiveRecorder, the open-source rr project, and Microsoft’s Time Travel Debugger, take advantage of advances in compute, network bandwidth, and storage costs, and make it practical for use on large, complex applications.

Greg Law, Co-founder & CTO @undo_io

2:55pm - 3:45pm

Kafka: a Modern Distributed System

You may have heard that Apache Kafka plays a central role in modern event-driven architectures. It lies at the heart of successful microservices implementations -- its loyal following is well versed in Kafka's key APIs: the Producer and Consumer, Kafka Streams, and maybe even KSQL. But have you ever wanted to take a peek under the hood and understand how it all works?

In this talk, we’ll cover Kafka's distributed system fundamentals: the role of the Controller, the mechanics of leader election, the role of Zookeeper today and in the future. We’ll look at how read and write consistency work, how they are tunable, and how how recent innovations like exactly-once semantics and observer replicas work. Come to this talk to view Kafka through the lens of distributed systems fundamentals.

Tim Berglund, Senior Director of Developer Experience @Confluent

4:10pm - 5:00pm

Modern CS

Session details to follow.

5:25pm - 6:15pm

Modern CS

Session details to follow.

Tracks

  • Architectures You've Always Wondered About

    Hard-earned lessons from the names you know on scalability, reliability, security, and performance.

  • Machine Learning: The Latest Innovations

    AI and machine learning is more approachable than ever. Discover how ML, deep learning, and other modern approaches are being used in practice.

  • Kubernetes and Cloud Architectures

    Learn about cloud native architectural approaches from the leading industry experts who have operated Kubernetes and FaaS at scale, and explore the associated modern DevOps practices.

  • Evolving Java

    JVM futures, JIT directions and improvements to the runtimes stack is the theme of this year’s JVM track.

  • Next Generation Microservices: Building Distributed Systems the Right Way

    Microservice-based applications are everywhere, but well-built distributed systems are not so common. Early adopters of microservices share their insights on how to design systems the right way.

  • Chaos and Resilience: Architecting for Success

    Making systems resilient involves people and tech. Learn about strategies being used, from cognitive systems engineering to chaos engineering.

  • The Future of the API: REST, gRPC, GraphQL and More

    The humble web-based API is evolving. This track provides the what, how, and why of future APIs.

  • Streaming Data Architectures

    Today's systems move huge volumes of data. Hear how the innovators in this space are designing systems and leveraging modern data stream processing platforms.

  • Modern Compilation Targets

    Learn about the innovation happening in the compilation target space. WebAssembly is only the tip of the iceberg.

  • Modern CS in the Real World

    Head back to academia to solve today's problems in software engineering.

  • Bare Knuckle Performance

    Crushing latency and getting the most out of your hardware.

  • Leading Distributed Teams

    Remote and distributed working are increasing in popularity, but many organisations underestimate the leadership challenges. Learn from those who are doing this effectively.

  • Driving Full Cycle Engineering Teams at Every Level

    "Full cycle developers" is not just another catch phrase; it's about engineers taking ownership and delivering value, and doing so with the support of their entire organisation. Learn more from the pioneers.

  • JavaScript: Pushing the Client Beyond the Browser

    JavaScript is not just the language of the web. Join this track to learn how the innovators are pushing the boundaries of this classic language and ecosystem

  • When Things Go Wrong: GDPR, Ethics, & Politics

    Privacy, confidentiality, safety and security: learning from the frontlines, from both good and bad experiences

  • Growing Unicorns in the EU: Building, Leading and Scaling Financial Tech Start Ups

    Learn how EU FinTech innovators have designed, built, and led both their technologies and organisations.

  • Building High Performing Teams

    There are many discussions outlining the secret sauce of high-performing teams. Learn how to balance the essential ingredients of high performing teams such as trust and delegation, as well as recognising the pitfalls and problems that will ruin any recipe.

  • Scaling Security, from Device to Cloud

    Implementing effective security is vitally important, regardless of where you are deploying software applications