Lightning Talks

Optimizing sandbox creation with a FUSE file system

Using sandboxfs to speed up Bazel builds
H.2215 (Ferrer)
Julio Merino
The Bazel build system sandboxes each action (e.g. each compiler invocation) to ensure the action only has access to declared inputs and that the action only generates the promised outputs. This ensures that the execution of each build tool is deterministic and not subject to system-wide state. Unfortunately, creating these sandboxes is costly, and every millisecond added to the runtime of each action has a large impact on total build time. Just consider that Bazel focuses on large-ish builds with thousands of actions in them: each little inefficiency quickly multiplies and can result in significant slowdowns, and developers always want faster build times. In this talk, I'll explain how Bazel implements sandboxing and I will cover a FUSE file system I've been developing, sandboxfs, to optimize this process. I'll go into the details of the file system, explain how it started as a Go project and was then rewritten in Rust, and then show some performance metrics.
Outline: Brief introduction to Bazel: what are actions. Why is sandboxing of actions important and what it intends to achieve. How does sandboxing work in the default case and what problems it carries performance- and correctness-wise. The solution: how we can use FUSE to eliminate the major source of slowdowns. Brief explanation of what sandboxfs is and how Bazel takes advantage of it. Present performance metrics. Delve a little bit into why the project started in Go and was then rewritten in Rust. Ideas for other possible uses for sandboxfs (NixOS and reproducible package builds).

Additional information

Type lightningtalk

More sessions

2/1/20
Lightning Talks
Matthias Kirschner
H.2215 (Ferrer)
More and more traditionally processes in our society now incorporate, and are influenced by software.
2/1/20
Lightning Talks
Mikel Cordovilla
H.2215 (Ferrer)
OpenOlitor is a SaaS open-source tool facilitating the organization and management of CSAs (Community Supported Agriculture) communities. This tool covers a large spectrum of functionalities needed for CSAs such as member management, emailing, invoicing, share planning and delivery, absence scheduling, etc. This software is organized and monitored by an international community that promotes the tool, helps operate it and support the interested communities. In order to promote the sustainability ...
2/1/20
Lightning Talks
Pierre Slamich
H.2215 (Ferrer)
Open Food Facts is a collaborative and crowdsourced database of food products from the whole planet, licensed under the Open Database License (ODBL). It was launched in 2012, and today it is powered by 27000 contributors who have collected data and images for over 1 million products in 178 countries (and growing strong…) This is the opportunity to learn more about Open Food Facts, and the latest developments of the project.
2/1/20
Lightning Talks
Bruno Škvorc
H.2215 (Ferrer)
For as long as human society has existed, humans have been unable to trust each other. For millennia, we relied on middlemen to establish business or legal relationships. With the advent of Web2.0, we also relayed the establishment of personal connections, and the system has turned against us. The middlemen abuse our needs and their power and we find ourselves chained to convenience at the expense of our own thoughts, our own privacy. Web3 is a radical new frontier ready to turn the status quo ...
2/1/20
Lightning Talks
Atlas Engineer
H.2215 (Ferrer)
While actual browsers expose their internals through an API and limit access to the host system, Next doesn't, allowing for infinite extensibility and inviting the users to program their web browser. On top of that, it doesn't tie itself to a particular platform (we currently provide bindings to WebKit and WebEngine) and allows for live code reloads, thanks to the Common Lisp language, about which we'll share our experience too.
2/1/20
Lightning Talks
Michal Čihař
H.2215 (Ferrer)
Please note that this talk will now be given by Michal Čihař instead of Václav Zbránek. You will learn how to localize your project easily with little effort, open-source way. No repetitive work, no manual work with translation files anymore. Weblate is unique for its tight integration to VCS. Set it up once and start engaging the community of translators. More languages translated means more happy users of your software. Be like openSUSE, Fedora, and many more, and speak your users' ...
2/1/20
Lightning Talks
Roberto Abdelkader Martínez Pérez
H.2215 (Ferrer)
This talk is about "Kapow!" an open source webframework for the shell developed by BBVA Innovation Labs. We will talk about the current development of the project including an overview of Kapow!'s technology stack and the recent release of the first stable version.