From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <guix-devel-bounces+larch=yhetil.org@gnu.org>
Received: from mp11.migadu.com ([2001:41d0:306:2d92::])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits))
	by ms9.migadu.com with LMTPS
	id oMGwOJtVCGWnWQEA9RJhRA:P1
	(envelope-from <guix-devel-bounces+larch=yhetil.org@gnu.org>)
	for <larch@yhetil.org>; Mon, 18 Sep 2023 15:50:20 +0200
Received: from aspmx1.migadu.com ([2001:41d0:306:2d92::])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits))
	by mp11.migadu.com with LMTPS
	id oMGwOJtVCGWnWQEA9RJhRA
	(envelope-from <guix-devel-bounces+larch=yhetil.org@gnu.org>)
	for <larch@yhetil.org>; Mon, 18 Sep 2023 15:50:19 +0200
Received: from lists.gnu.org (lists.gnu.org [209.51.188.17])
	(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
	(No client certificate requested)
	by aspmx1.migadu.com (Postfix) with ESMTPS id 831C830300
	for <larch@yhetil.org>; Mon, 18 Sep 2023 15:50:19 +0200 (CEST)
Authentication-Results: aspmx1.migadu.com;
	dkim=none;
	spf=pass (aspmx1.migadu.com: domain of "guix-devel-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-devel-bounces+larch=yhetil.org@gnu.org";
	dmarc=none
ARC-Seal: i=1; s=key1; d=yhetil.org; t=1695045019; a=rsa-sha256; cv=none;
	b=RQ7NGx4LUVhKVmZ0MnfIDzU+mgaIQwgs8NQslPKojvDKmHEMY5MNqB+ibxxU9JK/yCluxe
	WyVWFOvvwiHUZOHqMoPtDBLpNK0Rw17fk6ctm19TG6TuHuYNaBmVC9gYOBCo6c5XQfYtRM
	OJVzFoZiJfhGYUT2tedFJgUSIxzSmLuZBtzrmBTIfycMmR+KaRuQ7/yPqptVNfq7fdOtyr
	HEIQBX/Zyj4qBAY5ea+Jz3JwwRToN37ddJ+pesjsGV1zY2DO4gIehcCkDo0IAVV4exteRh
	Lfc5hU/zOc2tiYf3qMQw7yYu4UYOLbyTHwaf2FDFKUeu7iCZ5lQc2KbF1pCA0g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org;
	s=key1; t=1695045019;
	h=from:from:sender:sender:reply-to:subject:subject:date:date:
	 message-id:message-id:to:to:cc:cc:mime-version:mime-version:
	 content-type:content-type:in-reply-to:in-reply-to:
	 references:references:list-id:list-help:list-unsubscribe:
	 list-subscribe:list-post; bh=Bv1wo/s9vBDOW9LZ7HW/dHceWH8pnLWYPbvEpxln52g=;
	b=OywHxOtxdtHc7vpYviJs6i9NFT+/vKp3lMKIrsOZ+R+AkXykSAAirzWJAb6rOY9p4irfG3
	0TGScNuVHiZnHh39aaY9Yhk9prg9s9ok2ZAwhF5jX2+LXqromNGKvYMZ8E0h9l6Z+/DtS1
	xUQMQ4VdN6Win5VpXBHPyfrb33hHYsyScLjd82jAwqA631y1LCKjn4mnOA6V1b+MTV4nUz
	E/2IrIGP1rJ+eLYYl/nQmf18trbSaSSeqeyjQGma0X+XUctzaxNTE7ICspMadfhDiRyJJn
	QQ7WAZWupJDXjX5ea+Z4/sao4khWl1pntNETHQKwvvQS/YYwEi8f86azZ/1PRA==
ARC-Authentication-Results: i=1;
	aspmx1.migadu.com;
	dkim=none;
	spf=pass (aspmx1.migadu.com: domain of "guix-devel-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-devel-bounces+larch=yhetil.org@gnu.org";
	dmarc=none
Received: from localhost ([::1] helo=lists1p.gnu.org)
	by lists.gnu.org with esmtp (Exim 4.90_1)
	(envelope-from <guix-devel-bounces@gnu.org>)
	id 1qiEcL-0003Z8-Kn; Mon, 18 Sep 2023 09:48:49 -0400
Received: from eggs.gnu.org ([2001:470:142:3::10])
 by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <mail@cbaines.net>) id 1qiEcK-0003Yl-9m
 for guix-devel@gnu.org; Mon, 18 Sep 2023 09:48:48 -0400
Received: from mira.cbaines.net ([212.71.252.8])
 by eggs.gnu.org with esmtp (Exim 4.90_1)
 (envelope-from <mail@cbaines.net>)
 id 1qiEc2-0007ex-I5; Mon, 18 Sep 2023 09:48:45 -0400
Received: from localhost (unknown [217.155.61.229])
 by mira.cbaines.net (Postfix) with ESMTPSA id 4073527BBE2;
 Mon, 18 Sep 2023 14:48:12 +0100 (BST)
Received: from felis (localhost [127.0.0.1])
 by localhost (OpenSMTPD) with ESMTP id 5fa849ef;
 Mon, 18 Sep 2023 13:48:12 +0000 (UTC)
References: <875y4et4up.fsf@cbaines.net> <87il8cc27p.fsf@gnu.org>
 <87a5tmqwua.fsf@gnu.org>
User-agent: mu4e 1.10.5; emacs 28.2
From: Christopher Baines <mail@cbaines.net>
To: Mathieu Othacehe <othacehe@gnu.org>
Cc: Ludovic =?utf-8?Q?Court=C3=A8s?= <ludo@gnu.org>, guix-devel@gnu.org
Subject: Re: Implementing the guix-dameon in Guile
Date: Mon, 18 Sep 2023 14:19:30 +0100
In-reply-to: <87a5tmqwua.fsf@gnu.org>
Message-ID: <87a5tjpp7q.fsf@cbaines.net>
MIME-Version: 1.0
Content-Type: multipart/signed; boundary="=-=-=";
 micalg=pgp-sha512; protocol="application/pgp-signature"
Received-SPF: pass client-ip=212.71.252.8; envelope-from=mail@cbaines.net;
 helo=mira.cbaines.net
X-Spam_score_int: -18
X-Spam_score: -1.9
X-Spam_bar: -
X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, SPF_HELO_PASS=-0.001,
 SPF_PASS=-0.001 autolearn=ham autolearn_force=no
X-Spam_action: no action
X-BeenThere: guix-devel@gnu.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "Development of GNU Guix and the GNU System distribution."
 <guix-devel.gnu.org>
List-Unsubscribe: <https://lists.gnu.org/mailman/options/guix-devel>,
 <mailto:guix-devel-request@gnu.org?subject=unsubscribe>
List-Archive: <https://lists.gnu.org/archive/html/guix-devel>
List-Post: <mailto:guix-devel@gnu.org>
List-Help: <mailto:guix-devel-request@gnu.org?subject=help>
List-Subscribe: <https://lists.gnu.org/mailman/listinfo/guix-devel>,
 <mailto:guix-devel-request@gnu.org?subject=subscribe>
Errors-To: guix-devel-bounces+larch=yhetil.org@gnu.org
Sender: guix-devel-bounces+larch=yhetil.org@gnu.org
X-Migadu-Flow: FLOW_IN
X-Migadu-Country: US
X-Migadu-Spam-Score: -7.60
X-Spam-Score: -7.60
X-Migadu-Queue-Id: 831C830300
X-Migadu-Scanner: mx2.migadu.com
X-TUID: aDU2L1nM1ZIP

--=-=-=
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable


Mathieu Othacehe <othacehe@gnu.org> writes:

>> I imagine the daemon could be structured as a set of actors (it=E2=80=99=
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.

Indeed.

> 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.

Yeah, I think the ideal situation would be to have a daemon that's
flexible and extensible enough to allow this, without being too
complicated or fragile.

> 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.

Yeah, I think there's some simple things that can be done to improve the
use of SQLite, and then some instrumentation can be added so that any
performance issues can be better understood.

> - Remove the GC lock: I think it has been done on recent nix-daemon.

I'm hoping that with some careful design of how to do garbage
collection, this should be possible.

> - Add support for unprivileged daemon.

I'm not quite sure what is required for this, but maybe it would be
possible without too much effort.

Thanks for your input!

Chris

--=-=-=
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQKlBAEBCgCPFiEEPonu50WOcg2XVOCyXiijOwuE9XcFAmUIVRlfFIAAAAAALgAo
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDNF
ODlFRUU3NDU4RTcyMEQ5NzU0RTBCMjVFMjhBMzNCMEI4NEY1NzcRHG1haWxAY2Jh
aW5lcy5uZXQACgkQXiijOwuE9XeKWQ//acbF61lA7t+jSg/CHkvvDUpV25z3Yhe7
DIPGP9zeizbte+iplbUgcrzIEDNH2cuGacse6KGDZDAgxqfleqFd8NPlK65NzZDN
teH2qHt7xeDKAQtKzDJyHtJVYOcyB7kBKhvfmceC4R4fQW1vN1eGPkNJazR/hOJE
3NekJr1440JCg3Y6mlAiwfa7n1SAbRPAztFBtM2ojOGDp5eQ17eQeV57PkNEWGMJ
xMJRboG6VYTPlglzJq6ZfPMnOC4u9RpQzEDsuElWtZk3iUzhbiZz1igENMN2/eIV
AnYYddAgzin66yA/RwY4LdjHi+xpM+E9DKMyUzrtDUkppXwc/FJ3ZyitfawTCw5G
ion0xkA1ABv9WyuDcV+xd2SjmHG+Vo0FKZ9om8iwBl+k7dDPThRiM4KHVe7ho39a
Xll9Pzvfl8D+LDZ0rDj+VsojpsuyFAT5KTXgEFuGtaQoq8hK2xW2JrJ2WVq1DoNE
yqPVPRCXPVCM7ZVIVPeAaxXhY0zBl+78cxh5o0p6AJiH2bLrx+I1mxHi5SS8JJOt
Sy1KxAh6Lv8bmceK3L4G7wbrzoV/GY8WqxPie2lQaX1VhihQqjlots8gNstBNfir
7+3tw1lWXm9JimU0N/ojPKFwByTnXt5SXrQK1Gf2Ar6v2+zKQoWdC0BV7cXob5hZ
tVKpnF9UfvY=
=eoIl
-----END PGP SIGNATURE-----
--=-=-=--