G oogle has a m onolithic codebase w ith tens of m illions build targets. Each build target specifies the inform ation that is needed to build a softw are artifact or run tests. It is com m on to execute a subset of build targets at each revision and m ake sure that the change does not break the codebase. G oogle s build service system u ses B azel 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 m illions of builds per day.It is a known issue that a build with m any targets could run out of the allocated m em ory or exceed its execution deadline. This is problem atic because it reduces the developer s productivity, e.g. code subm issions or binary releases. In this paper, w e propose a technique that predicts the m em ory 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 m em ory or exceed its deadline. This approach significantly reduces the num ber of builds that run out of m em ory or exceed the deadlines, hence im proving developer s productivity.
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.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.
hi@scite.ai
10624 S. Eastern Ave., Ste. A-614
Henderson, NV 89052, USA
Copyright © 2024 scite LLC. All rights reserved.
Made with 💙 for researchers
Part of the Research Solutions Family.