Making Open Work
May 8–9, 2017: Training & Tutorials
May 10–11, 2017: Conference
Austin, TX

Wishful thinking

11:00am11:40am Thursday, May 11, 2017
Performance
Location: Meeting Room 9 A/B
Level: Intermediate
Average rating: ****.
(4.20, 5 ratings)

Who is this presentation for?

  • Infrastructure/systems SWEs and SREs

Prerequisite knowledge

  • Prior experience writing relatively low-level systems and/or infrastructure-related software (e.g., storage systems, network daemons, RPC systems, etc.)
  • A basic understanding of hardware building blocks (CPU, memory, buses) and the Linux kernel

What you'll learn

  • Understand the importance of being mindful about hardware

Description

The industry has forgotten that no matter how many clouds we use, software runs on hardware—and the abstraction gap is growing. Andrey Sibiryov explores the relationship between modern computers and wishful thinking in software engineering and performance and explains why being mindful about hardware is important.

Andrey shows how different systems, from the Linux kernel to glibc to Golang to the code we write, are more often than not oblivious to the architecture, design, and complexity of the hardware they run on. Andrey then outlines the consequences Uber has observed at scale and discusses what Uber does to overcome or at least work around them.

Topics include:

  • Modern computer architecture and how it’s sometimes very different from what we’d expect
  • NUMA: Implications of hardware locality and topology awareness
  • Confirmation bias and other fallacies in engineering: The importance of profiling and instrumentation
Photo of Andrey Sibiryov

Andrey Sibiryov

Uber

Andrey Sibiryov currently works as a senior infrastructure engineer at Uber Technologies, concentrating on metrics and observability. He was also the lead developer of the Cocaine Cloud platform and led the Cloud Technologies department at Yandex in addition to working on the Helios CI/CD platform for Docker at Spotify.