Content Deep Dive
Distributed Scheduling for Faster Builds
Blog post from BuildBuddy
Post Details
Company
Date Published
Author
Tyler Williams
Word Count
1,225
Language
English
Hacker News Points
-
Summary
BuildBuddy is a UI, distributed cache, and remote execution platform for Bazel builds that helps securely compile code, cache artifacts, and visualize results. One of the challenges it faces is scheduling remote executions, which involves matching actions received by its API to remote workers. In the early days, BuildBuddy used a load balancer, but this resulted in uneven task distribution and longer build times. The company then implemented Sparrow, a distributed scheduling algorithm that uses the power of two choices and late-binding to improve maximum load and resilience. This solution has been successful for BuildBuddy and is still used in production today.