Remote execution overview¶
Remote execution aims to speed up a build process and to rely on two separate but related concepts that are remote caching and remote execution itself. Remote caching allows users to share build outputs while remote execution allows the running of operations on a remote cluster of machines which may be more powerful than what the user has access to locally.
ContentAddressableStorage(CAS) service: a remote storage end-point where content is addressed by digests, a digest being a pair of the hash and size of the data stored or retrieved.
ActionCache(AC) service: a mapping between build actions already performed and their corresponding resulting artifact.
Executionservice: the main end-point allowing one to request build job to be perform against the build farm.
BuildGrid is combining these two interfaces in order to provide a complete remote caching and execution service. The high level architecture can be represented like this:
BuildGrid can be split up into separate endpoints. It is possible to have
CAS from the
following diagram shows a typical setup.