Track: Bare Metal Performance


Day of week:

How do you get more bang for your buck? It’s time to stop wasting CPU cycles, battery, and time. In this track we’ll look at new (and rediscovered) ways to remove the bloat and overhead from your existing code and figure out ways to structure systems to get the most out of the hardware. From the rise of natively compiled languages like Go and Rust, bypassing kernels, performance optimization tools, and more.

Track Host:
Werner Schuster
Mathematica Kernel Developer @WolframResearch
Werner Schuster sometimes writes software, sometimes writes about software. He focuses on languages, VMs and compilers, HTML5/Javascript, and recently more on performance optimisation.
10:35am - 11:25am

by Yao Yue
Distributed Systems Engineer Working on Cache @Twitter

In-memory caching in a distributed setting is ubiquitous, of which users usually expect both high throughput and low latencies. Meanwhile, to actually achieve them requires understanding the details and subtleties in low-level system behavior, including memory management, threading model, locking, network I/O, etc.

Pelikan is a framework to implement distributed caches such as Memcached and Redis. This talk discusses the system aspects that are important to the performance, especially...

11:50am - 12:40pm

by Sergey Kuksenko
Java Performance Engineer @Oracle

Java is a hardware independent language. However, it is hard to make high performance application without hardware knowledge. Java developers who really care about performance shouldn't be afraid to dig into HW details. Each modern CPU has an ability to look under cover and understand what happens from the performance point of view.

In the session we will understand how Performance Monitoring Unit (PMU) works, what Hardware Counters (HWC) are, which tools have friendship with Java and...

1:40pm - 2:30pm

Open Space
2:55pm - 3:45pm

by Dan Luu
BitFunnel @Microsoft & previously TPU @Google

We’re going to use search as a case study on how to reason about performance before coding. Imagine you're building a search engine from scratch. There are maybe a trillion documents on the Internet. If each each document is 10kB, that's 10 petabytes of data! How do you query 10PB of data in a fraction of a second?

That might take years to implement, but it’s surprisingly easy to reason about the performance of various possible designs. We’ll talk about how to estimate performance...

4:10pm - 5:00pm

by Avi Kivity
CTO & Co-Founder ScyllaDB, Creator of KVM

A little more than a year ago, ScyllaDB burst upon the NoSQL scene, providing Apache Cassandra compatibility with ten times the throughput on similar hardware, as well as lower latency and jitter.

This talk will cover the many design decisions that led to this achievement, from the programming language and programming model, through low-level details like the memory management scheme and networking stack, and up to the advanced cache design.


5:25pm - 6:15pm

by Jamie Turner
Principal Engineer @Dropbox

Magic Pocket, Dropbox's multi-exabyte file storage system, spans 10s of thousands of storage servers containing nearly a million total disks. Optimizing the storage of file data to use these resources as efficiently as possible is of key to Dropbox's infrastructure strategy.

So in 2015, Dropbox started a project codenamed "Diskotech", which radically reexamined the profile of storage servers, leading to a new design that customized the software and hardware to match each other...



Monday Nov 7

Tuesday Nov 8

Wednesday Nov 9