Abstract
The ATLAS software infrastructure facilitates efforts of more than 1000 developers working on the code base of 2200 packages with 4 million lines of C++ and 1.4 million lines of python code. The ATLAS offline code management system is the powerful, flexible framework for processing new package versions requests, probing code changes in the Nightly Build System, migration to new platforms and compilers, deployment of production releases for worldwide access and supporting physicists with tools and interfaces for efficient software use. It maintains multi-stream, parallel development environment with about 70 multi-platform branches of nightly releases and provides vast opportunities for testing new packages, for verifying patches to existing software and for migrating to new platforms and compilers. The system evolution is currently aimed on the adoption of modern continuous integration (CI) practices focused on building nightly releases early and often, with rigorous unit and integration testing. This paper describes the CI incorporation program for the ATLAS software infrastructure. It brings modern open source tools such as Jenkins and GitLab into the ATLAS Nightly System, rationalizes hardware resource allocation and administrative operations, provides improved feedback and means to fix broken builds promptly for developers. Once adopted, ATLAS CI practices will improve and accelerate innovation cycles and result in increased confidence in new software deployments. The paper reports the status of Jenkins integration with the ATLAS Nightly System as well as short and long term plans for the incorporation of CI practices.
Highlights
ATLAS (A Toroidal LHC Apparatus) [1] is one of the largest collaborative efforts ever attempted in the physical sciences
The current code development activity is focused on efficient use of new computing vector-processing and multi-threading architectures
The ATLAS Software Infrastructure copes with 7000 – 8000 monthly code update commits from hundreds of software developers
Summary
ATLAS (A Toroidal LHC Apparatus) [1] is one of the largest collaborative efforts ever attempted in the physical sciences. The ATLAS software and computing systems deal with data volume exceeding 200 PB processed on up to 300k cores around the world. The ATLAS Software Infrastructure copes with 7000 – 8000 monthly code update commits from hundreds of software developers. It includes tools and services for software storage, code approval, builds, and validation. The developer workflow optimization is crucial for ATLAS code developments which are often parallel and long. Modern CI-oriented open source tools, such as GitLab [3] and Jenkins [4], support pull request workflows, provide fast evaluation of the code base health, reduce integration problems allowing to achieve goals rapidly, lower human and hardware cost of code development.
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have