From: Andreas Enge <andreas@enge.fr>
To: Mathieu Lirzin <mthl@gnu.org>
Cc: guix-devel <guix-devel@gnu.org>
Subject: Re: [GSoC] Rewrite Hydra to be more integrated with Guix.
Date: Tue, 22 Mar 2016 22:31:24 +0100 [thread overview]
Message-ID: <20160322213124.GB2135@solar> (raw)
In-Reply-To: <87bn6c944a.fsf@gnu.org>
Hello,
over some lunch I have been chatting with a famous Debian developer to under-
stand a bit how Debian handles their build process. What is interesting with
their approach is that the master manages a queue of packages to be built,
and the slaves connect to fetch work when they are ready (for instance, when
they have empty resources). With our offload mechanism, the master contacts
all the build slaves to schedule the work. This is not totally different,
but I wonder whether the Debian approach is not more flexible and more geared
towards a distributed approach. (Of course, in both cases the master machine
needs to keep a list of authorised build machines, so the degree of centra-
lisation is ultimately the same.)
In the end, I think it would be interesting to not use the offload approach,
where the offloading machine sends all inputs to the build machine, which
returns the result, so that more or less the complete set of binary packages
flows along the tree of build machines to the root and the other way round.
(As I recently understood during discussions with Ludovic, currently we have
a tree of height one: hydra is the root and all build machines are the leaves;
but the offloading mechanism could transparently work with trees of bigger
height, where hydra offloads to a root of a smaller build cluster, which
itself offloads to one of its subordinate build machines. And so on. The same
thing would also work in the Debian setting, assuming that build requests
come from the leaves and are forwarded towards the root, while a work package
is handed down the other way.) Now it would be interesting if machines just
got build jobs (or made requests) and looked for the necessary inputs inside
a big magma/cloud/gnunet/ipfs/mirror network, compiled the package, and
dropped the result into the same magma. Already in our current set-up, it
would be useful if hydra need not send the build inputs, but build machines
could just fetch them from an arbitrary nginx mirror, where they are cached.
Andreas
next prev parent reply other threads:[~2016-03-22 21:31 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-03-17 21:38 [GSoC] Rewrite Hydra to be more integrated with Guix Mathieu Lirzin
2016-03-18 8:29 ` Alex Kost
2016-03-18 20:55 ` Ludovic Courtès
2016-03-19 7:48 ` Alex Kost
2016-03-19 20:59 ` Ludovic Courtès
2016-03-18 21:02 ` Ludovic Courtès
2016-03-22 21:31 ` Andreas Enge [this message]
2016-03-23 14:08 ` Ludovic Courtès
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://guix.gnu.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20160322213124.GB2135@solar \
--to=andreas@enge.fr \
--cc=guix-devel@gnu.org \
--cc=mthl@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).