[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Cuirass actors
From: |
Simon Tournier |
Subject: |
Re: Cuirass actors |
Date: |
Thu, 14 Sep 2023 08:49:59 +0200 |
Hi,
It is really cool! :-)
On Wed, 13 Sep 2023 at 23:08, Ludovic Courtès <ludo@gnu.org> wrote:
> - The "builder" spawns derivation builds. There are currently two
> implementations: the local builder sends build requests to the local
> 'guix-daemon' process, while the remote build delegates builds to
> 'cuirass remote-server'.
[...]
> With this actor split, one could implement another “builder” backend,
> for instance one that talks to a Build Coordinator process.
IIUC, the current two “builder” backend are:
+ local ’guix-daemon’: the queue of derivations is processed using one
strategy – the one implemented in C++,
+ ’cuirass remote-server’: the queue of derivations is processed using
another strategy – implemented in Guile relying on ZeroMQ (something
like steal of work, if I remember correctly).
Is it correct?
The Build Coordinator also implements the other actors “channel
updater”, “evaluator”, etc., right? From my rough understanding, the
first aim of Build Coordinator is the implementation of the “builder”.
Is it correct?
My two questions are:
1. Is the Build Coordinator able to only process the queue of
derivations? (being a “builder” backend). And if yes, what is its
strategy for processing?
2. In this picture of actor model, would it make sense (or would it be
possible) to replace the “builder” actor from the Cuirass one to the
Build Coordinator one?
Cheers,
simon