Date: 2005 04 28
Room: CGN room C004
Speaker: Eelco Dolstra
Title: Efficient Upgrading in a Purely Functional Component Deployment Model
Safe and efficient deployment of software components is an important
aspect of CBSE. The Nix deployment system enables side-by-side
deployment of different versions and variants of components, complete
installation, safe upgrades, and safe uninstalls through garbage
collection. It accomplishes this through a purely functional
deployment model, meaning that the file system content of a component
only depends on the inputs used to build it, and never changes
afterwards. An apparent downside to this model is that upgrading
``fundamental'' components used as build inputs by many other
components becomes expensive, since all of these must be rebuilt and
redeployed. In this paper we show that binary patching between sets
of components enables efficient deployment of upgrades in the purely
functional model, transparently to users. Sequences of patches can be
combined automatically to enable upgrading between arbitrary versions.
The approach was empirically validated.
NOTE: This is a try-out for CBSE. Please pay attention to the flow of the presentation as well as to the content.