Servo: Building a Parallel Browser
Channel: Linux.conf.au 2015 -- Auckland, New Zealand
Date: 2015-01-16

Jack Moffitt
http://lca2015.linux.org.au/schedule/30171/view_talk
Servo is an experimental browser engine for modern multi-core hardware written in an experimental memory safe language called Rust. Current browsers were designed over a decade ago when phones were not smart, clock speeds were still increasing, and web pages were still static.  Taking advantage of modern amenities requires a new approach.

Servo is written from scratch to be parallel at every level. It uses CPU and GPU, multiple tasks per functional unit, fork-join concurrency, and SIMD, and the team is not done yet.

Browser security is paramount, both to prevent attacks and to solve in such a way that vulnerabilities are difficult for programmers to introduce. Servo uses Rust and its advanced type system to help overcome the status quo of C++ code.

I'll talk about Servo's goals, its design, and how the Rust language is
helping. I'll discuss where it is possible to get more parallelism in the
browser, especially in its layout algorithms, and how we plan to do it.