Track: Modern Operating Systems

Location: Bayview AB

Day of week: Monday

Operating systems occupy a critical spot in the systems we build, but are often ignored as something that is just there, providing an interface. Recently though there has been a huge amount of innovation in the area of operating systems. Rather than being an esoteric field, it has opened up to new experiments and a wider community. Performance requirements have meant that architectural changes are necessary, leading to different designs, such as eBPF, a new in kernel programming language, and high-performance userspace device drivers. Unikernels question the monolithic architecture, building an application-centric operating environment. Emulation has become a realistic way of running existing code in new environments, with Microsoft supporting Linux on Windows as a leading example. New programming languages are being used, and there is an explosion of innovation. This track explores these changes that are taking place in this exciting field.

Track Host: Justin Cormack

Developer @Docker

Justin Cormack is developer at Docker, working on unikernels.

CASE STUDY TALK (50 MIN)

10:35am - 11:25am

How to Make Linux Microservice-Aware With Cilium and eBPF

Container runtimes cause Linux to return to its original purpose: to serve applications interacting directly with the kernel. At the same time, the Linux kernel is traditionally difficult to change and its development process is full of myths. A new efficient in-kernel programming language called eBPF is changing this and allows everyone to extend existing kernel components or glue them together in new forms without requiring to change the kernel itself.

Thomas Graf, Founding Member @CiliumProject
CASE STUDY TALK (50 MIN)

11:50am - 12:40pm

Caching Beyond RAM: The Case for NVMe

Caching architectures at every layer of the stack embody an implicit tradeoff between performance and cost. These tradeoffs however are constantly shifting: new inflection points can emerge alongside advances in storage technology, changes in workload patterns, or fluctuations in hardware supply and demand. 

In this talk, we will explore the design ramifications of the increasing cost of RAM on caching systems. While RAM has always been expensive, DRAM prices have risen by over 50% in 2017, and high densities of RAM involve multi-socket NUMA machines, bloating power and overall costs. Concurrently, alternative storage technologies such as Flash and Optane continue to improve. They have specialized hardware interfaces, consistent performance, high density, and relatively low costs. While there is increasing economic incentive to explore offloading caching from RAM onto NVMe or NVM devices, the implications for performance are still not widely understood.

Alan (Dormando) Kasindorf, OSS Memcached Project Maintainer, previously Memcache / Mcrouter @Facebook & Dir of Edge Engineering @Fastly
CASE STUDY TALK (50 MIN)

1:40pm - 2:30pm

Modern Operating Systems Presentation

Presentation details will follow soon.

CASE STUDY TALK (50 MIN)

2:55pm - 3:45pm

Modern Operating Systems Open Space

CASE STUDY TALK (50 MIN)

4:10pm - 5:00pm

gVisor: Building and Battle Testing a Userspace OS in Go

gVisor is a container runtime that implements the Linux kernel API in userspace using Go. This talk explains why on earth such a thing exists and covers three main areas of interest: First, architectural challenges associated with userspace kernels, such as traps, faults and memory management. Second, positive and negative experiences with Go as an implementation language -- it's not all about garbage collection. Finally, how to ensure API coverage and compatibility, along with production anecdotes whenever possible.

Adin Scannell, Software Engineer @Google
CASE STUDY TALK (50 MIN)

5:25pm - 6:15pm

Is It Time to Rewrite the Operating System in Rust?

Since its emergence in the 1970s, C has dominated operating systems development:  despite surges of enthusiasm for C++, Java, and others, operating systems -- kernels, drivers, libraries and system commands -- have been and continue to be developed in C.  But with the rise of Rust, that dominance is now rightfully being questioned: with its core values of robustness and blazing fast performance, could Rust reasonably replace C as the lingua franca of operating systems development?  And can the advantages that Rust conveys pay the significant cost of rewriting software that already works?  In this talk, we will seek to answer these questions:  we will explore Rust, explain why it has captured the imagination of so many systems software engineers, and outline where it might best fit in the deep stack of operating system software.

Bryan Cantrill, Co-Creator DTrace, Co-Founder Fishworks Sun Microsystems, & Currently CTO @Joyent

Tracks

Monday, 5 November

Tuesday, 6 November

Wednesday, 7 November