Saved in:
Bibliographic Details
Main Authors: Juloori, Dhruva, Lin, Zhongpeng, Williams, Matthew, Shin, Eddy, Mahajan, Sonal
Format: Preprint
Published: 2025
Subjects:
Online Access:https://arxiv.org/abs/2501.03440
Tags: Add Tag
No Tags, Be the first to tag this record!
_version_ 1866918024902082560
author Juloori, Dhruva
Lin, Zhongpeng
Williams, Matthew
Shin, Eddy
Mahajan, Sonal
author_facet Juloori, Dhruva
Lin, Zhongpeng
Williams, Matthew
Shin, Eddy
Mahajan, Sonal
contents Maintaining a "green" mainline branch, where all builds pass successfully, is crucial but challenging in fast-paced, large-scale software development environments, particularly with concurrent code changes in large monorepos. SubmitQueue, a system designed to address these challenges, speculatively executes builds and only lands changes with successful outcomes. However, despite its effectiveness, the system faces inefficiencies in resource utilization, leading to a high rate of premature build aborts and delays in landing smaller changes blocked by larger conflicting ones. This paper introduces enhancements to SubmitQueue, focusing on optimizing resource usage and improving build prioritization. Central to this is our innovative probabilistic model, which distinguishes between changes with shorter and longer build times to prioritize builds for more efficient scheduling. By leveraging a machine learning model to predict build times and incorporating this into the probabilistic framework, we expedite the landing of smaller changes blocked by conflicting larger time-consuming changes. Additionally, introducing a concept of speculation threshold ensures that only the most likely builds are executed, reducing unnecessary resource consumption. After implementing these enhancements across Uber's major monorepos (Go, iOS, and Android), we observed a reduction in Continuous Integration (CI) resource usage by approximately 53%, CPU usage by 44%, and P95 waiting times by 37%. These improvements highlight the enhanced efficiency of SubmitQueue in managing large-scale software changes while maintaining a green mainline.
format Preprint
id arxiv_https___arxiv_org_abs_2501_03440
institution arXiv
publishDate 2025
record_format arxiv
spellingShingle CI at Scale: Lean, Green, and Fast
Juloori, Dhruva
Lin, Zhongpeng
Williams, Matthew
Shin, Eddy
Mahajan, Sonal
Software Engineering
Maintaining a "green" mainline branch, where all builds pass successfully, is crucial but challenging in fast-paced, large-scale software development environments, particularly with concurrent code changes in large monorepos. SubmitQueue, a system designed to address these challenges, speculatively executes builds and only lands changes with successful outcomes. However, despite its effectiveness, the system faces inefficiencies in resource utilization, leading to a high rate of premature build aborts and delays in landing smaller changes blocked by larger conflicting ones. This paper introduces enhancements to SubmitQueue, focusing on optimizing resource usage and improving build prioritization. Central to this is our innovative probabilistic model, which distinguishes between changes with shorter and longer build times to prioritize builds for more efficient scheduling. By leveraging a machine learning model to predict build times and incorporating this into the probabilistic framework, we expedite the landing of smaller changes blocked by conflicting larger time-consuming changes. Additionally, introducing a concept of speculation threshold ensures that only the most likely builds are executed, reducing unnecessary resource consumption. After implementing these enhancements across Uber's major monorepos (Go, iOS, and Android), we observed a reduction in Continuous Integration (CI) resource usage by approximately 53%, CPU usage by 44%, and P95 waiting times by 37%. These improvements highlight the enhanced efficiency of SubmitQueue in managing large-scale software changes while maintaining a green mainline.
title CI at Scale: Lean, Green, and Fast
topic Software Engineering
url https://arxiv.org/abs/2501.03440