Smart Build Targets Batching Service at Google

02/18/2021
by   Kaiyuan Wang, et al.
0

Google has a monolithic codebase with tens of millions build targets. Each build target specifies the information that is needed to build a software artifact or run tests. It is common to execute a subset of build targets at each revision and make sure that the change does not break the codebase. Google's build service system uses Bazel to build targets. Bazel takes as input a build that specifies the execution context, flags and build targets to run. The outputs are the build libraries, binaries or test results. To be able to support developer's daily activities, the build service system runs millions of builds per day. It is a known issue that a build with many targets could run out of the allocated memory or exceed its execution deadline. This is problematic because it reduces the developer's productivity, e.g. code submissions or binary releases. In this paper, we propose a technique that predicts the memory usage and executor occupancy of a build. The technique batches a set of targets such that the build created with those targets does not run out of memory or exceed its deadline. This approach significantly reduces the number of builds that run out of memory or exceed the deadlines, hence improving developer's productivity.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
08/27/2021

LaForge: Always-Correct and Fast Incremental Builds from Simple Specifications

Developers rely on build systems to generate software from code. At a mi...
research
03/26/2020

Empirical Study of Restarted and Flaky Builds on Travis CI

Continuous Integration (CI) is a development practice where developers f...
research
01/22/2019

Towards Predicting the Impact of Software Changes on Building Activities

The pervasive adoption of Continuous Integration practices -- both in in...
research
04/10/2023

Helix++: A platform for efficiently securing software

The open-source Helix++ project improves the security posture of computi...
research
10/06/2021

More on Change-Making and Related Problems

Given a set of n integer-valued coin types and a target value t, the wel...
research
05/08/2018

Synthesizing Efficient Solutions for Patrolling Problems in the Internet Environment

We propose an algorithm for constructing efficient patrolling strategies...
research
09/07/2023

Loquacity and Visible Emotion: ChatGPT as a Policy Advisor

ChatGPT, a software seeking to simulate human conversational abilities, ...

Please sign up or login with your details

Forgot password? Click here to reset