Track: Modern Operating Systems

Location: Bayview AB

Day of week:

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.

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

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 Kasindorf, OSS Memcached Project Maintainer, previously Memcache / Mcrouter @Facebook & Dir of Edge Engineering @Fastly

1:40pm - 2:30pm

The Operating System in 2018

Why care about the operating system any more? Linux has been around for decades aren't we just done? Actually, there is a huge set of shifts happening in the operating system, and this talk will explain these changes. The operating system space is getting interesting again! 

First, performance is changing everything. The development of faster networking, now at 100Gb and above, combined with faster flash storage, means that our tools need to change in order to make all that performance available to applications and to keep tail latency under control. This led to the development of userspace drivers and a whole new high-performance programming language in the Linux kernel, eBPF. 

Another major change is that emulation is back. Microsoft has Linux running natively on Windows, while Google has gVisor, which emulates Linux on Linux. Why is this happening, and what are the use cases? What new directions will emulation take us? 

Two things though have not changed much yet. The programming languages used in operating systems are pretty much unchanged, with C dominating, and the use of alternatives to the traditional OS, such as unikernels, microkernels and other alternatives have been slow. We look at why this is and how it may change.

Justin Cormack, Developer @Docker

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

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

Last Year's Tracks

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.