Hey Chris,
Congrats on getting the grant! I'm sure it will lead to a lot of positive things. I tried it myself a couple years ago, for the exact same subject, without success. > I imagine the daemon could be structured as a set of actors (it’s really > my thing these days ;-)), with an eye on facilitating code sharing and > interaction with the Coordinator, Cuirass, and all that. I think this point is really important here. If the offload mechanism of the existing guix-daemon was scaling correctly, with a better API, we would probably never had to develop the Cuirass remote worker and the Build Coordinator mechanisms. Perhaps, part of the Build Coordinator code could be one day integrated inside the new guix-daemon so that we can only use one offload mechanism for all use cases. Users of the current "guix offload" as well as CI tools could rely upon a unique offload mechanism. The three other points I had in mind when proposing the subject to NLNet were to: - Fix the sqlite contention issues that have been observed on Berlin and other machines with huge local databases. - Remove the GC lock: I think it has been done on recent nix-daemon. - Add support for unprivileged daemon. I don't know if it fits your plans but thought it could be interesting to share that. Good luck, Mathieu