The Software Garden

Federico D. Sacerdoti
DOI: https://doi.org/10.48550/arXiv.1305.0152
2013-05-01
Abstract:This paper describes a practical method of developing custom HPC software products using a store of libraries and tools independent from the OS called a "garden". All dependencies from the product to libraries of the underlying OS distribution are carefully severed, isolating the package from instability due to system upgrades and ensuring repeatable deterministic builds on different flavors of Linux. The method also guarantees multiple versions of a software product may exist together and function correctly, greatly facilitating upgrade and rollback. The method is the first known system to expose all past software versions to the designer, and support deterministic single-package rollback without affecting other installed software. An application of this method for building a high performance trading system in C++ is presented.
Software Engineering
What problem does this paper attempt to address?