Distributed Scheduling for Faster Builds
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.
Company
BuildBuddy
Date published
April 7, 2022
Author(s)
Tyler Williams
Word count
1225
Language
English
Hacker News points
None found.