Towards an Optimized Benchmarking Platform for CI/CD Pipelines
By: Nils Japke , Sebastian Koch , Helmut Lukasczyk and more
Potential Business Impact:
Find software problems faster, saving computer power.
Performance regressions in large-scale software systems can lead to substantial resource inefficiencies, making their early detection critical. Frequent benchmarking is essential for identifying these regressions and maintaining service-level agreements (SLAs). Performance benchmarks, however, are resource-intensive and time-consuming, which is a major challenge for integration into Continuous Integration / Continuous Deployment (CI/CD) pipelines. Although numerous benchmark optimization techniques have been proposed to accelerate benchmark execution, there is currently no practical system that integrates these optimizations seamlessly into real-world CI/CD pipelines. In this vision paper, we argue that the field of benchmark optimization remains under-explored in key areas that hinder its broader adoption. We identify three central challenges to enabling frequent and efficient benchmarking: (a) the composability of benchmark optimization strategies, (b) automated evaluation of benchmarking results, and (c) the usability and complexity of applying these strategies as part of CI/CD systems in practice. We also introduce a conceptual cloud-based benchmarking framework handling these challenges transparently. By presenting these open problems, we aim to stimulate research toward making performance regression detection in CI/CD systems more practical and effective.
Similar Papers
Employing Continuous Integration inspired workflows for benchmarking of scientific software -- a use case on numerical cut cell quadrature
Software Engineering
Tests computer programs automatically to find the best one.
Benchmarking that Matters: Rethinking Benchmarking for Practical Impact
Neural and Evolutionary Computing
Creates better computer problem-solving tools for real-world tasks.
Addressing Reproducibility Challenges in HPC with Continuous Integration
Distributed, Parallel, and Cluster Computing
Makes computer programs easier to check and reuse.