Dynamic Server Cloning for CI/CD Compilation Bottlenecks

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In large-scale software development projects, the lengthy automated compilation process in continuous integration and continuous delivery (CI/CD) pipelines slows down development efficiency due to resource competition and potential discrepancies between software versions, especially during high activity periods when compile resources are overutilized or underutilized.

Innovation Solution

Implementing dynamic server cloning using virtual machines that scale based on demand, ensuring each compilation and testing task uses a server node with the latest output files, thereby reducing the need for full builds and minimizing delays by instantiating virtual servers on demand for precise incremental builds.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If centralized compile resources are used, then resource management is simplified, but compilation time increases and resource utilization becomes inefficient during high activity periods

Engineering Contradiction:
Improveresource management complexityVSAvoidcompilation time
Core Design Contradiction:
Device complexityVSLoss of time

Solution Approach 1:

The patent implements dynamic server cloning that automatically scales compilation server capacity based on real-time demand. When compilation queues indicate high activity, the system dynamically clones additional server instances to handle the load, transforming the static centralized resource model into a dynamic distributed model that adapts to varying workload conditions.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent segments the centralized compilation resource into multiple distributed compilation server instances. By cloning servers and distributing compilation tasks across these segmented units, the system increases parallel processing capacity while maintaining simplified resource management through automated orchestration of the segmented resources.

Inventive Principle:
Principle #1Segmentation

2Loss of energy

If fixed compile resources are used, then infrastructure cost is reduced, but developers must wait during high activity periods when resources are overutilized

Engineering Contradiction:
Improveresource idle timeVSAvoiddeveloper efficiency
Core Design Contradiction:
Loss of energyVSProductivity

Solution Approach 1:

The system transitions from fixed to dynamic resource allocation by implementing automated server cloning triggered by compilation queue metrics. This dynamic adjustment ensures resources are scaled up during high demand periods to maintain developer productivity while scaling down during low demand to minimize resource idle time and associated costs.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent implements a feedback mechanism that monitors compilation queue depth and resource utilization metrics, then automatically triggers server cloning or decommissioning actions. This closed-loop control system adjusts resource capacity in real-time based on actual demand signals, optimizing the balance between productivity and resource efficiency.

Inventive Principle:
Principle #23Feedback

3Productivity

If parallel submissions are processed on centralized resources, then throughput increases, but discrepancies between software versions occur extending compilation time

Engineering Contradiction:
Improvesubmission throughputVSAvoidversion consistency
Core Design Contradiction:
ProductivityVSManufacturing precision

Solution Approach 1:

The patent segments parallel compilation tasks across multiple cloned server instances, each operating with its own isolated software version snapshot. This segmentation prevents version discrepancies between parallel submissions by ensuring each server works from a consistent baseline, while the distributed architecture maintains high throughput through parallel processing capability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system creates copies of the compilation server environment with identical software versions for each parallel submission. By copying the entire server state including the software version, the system ensures version consistency across parallel compilations while enabling simultaneous processing, thus maintaining both precision and productivity.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS10346155B1Compilation optimization via dynamic server cloning
Publication Date: 2019.07.09 SAP SE
  • US10346155B1 patent drawing
  • US10346155B1 patent drawing
  • US10346155B1 patent drawing

AI summary

Various embodiments of systems and methods to optimize compilation in distributed software projects via dynamic server cloning are described herein. The described techniques include receiving a compilation request comprising an update of a software product of a distributed software development project. Further, in one aspect, a server node clone is instantiated, e.g., from a resource pool, based on a server template. The server template corresponds to a latest successful compilation of the software product. In another aspect, the update of the software product is incrementally applied on the latest compilation at the server node clone. Once the update of the software product at the server node clone is confirmed as successful, the server template is updated to the build of the software product at the server node clone. The server node clone is subsequently released to the resource pool to free up the consumed resources.