all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: ludo@gnu.org (Ludovic Courtès)
To: Roel Janssen <roel@gnu.org>
Cc: Guix-devel <guix-devel@gnu.org>
Subject: Re: Guix on clusters and in HPC
Date: Thu, 20 Oct 2016 16:08:29 +0200	[thread overview]
Message-ID: <871szbazaa.fsf@gnu.org> (raw)
In-Reply-To: <8737jteh8z.fsf@gnu.org> (Roel Janssen's message of "Tue, 18 Oct 2016 18:47:40 +0200")

Hi Roel,

Roel Janssen <roel@gnu.org> skribis:

> Here are some aspects I think we need:
>
> * Network-aware guix-daemon

Of course!

> * Profile management
>
>   The abstraction of profiles is an awesome feature of FPM, but the user
>   interface is missing.  We could do better here.
>
>   Switch the default profile
>   (and prepend values of environment variables to the current values):
>   $ guix profile --switch=/path/to/shared/profile
>
>   Reset to default profile (and environment variable values without the
>   profile we just unset):
>   $ guix profile --reset
>
>   Create an isolated environment based on a profile:
>   $ guix environment --profile=/path/to/profile --pure --ad-hoc

I can see the desire of having something that more closely resembles
what “modules” does, but I have the same questions as Ricardo.
Essentially, how much would it help compared to what’s already
available?  (Honest question.)

In general, adding simpler UIs is a good idea IMO; it’s just that I’m
unsure what’s “better” in this case.

> * Workflow management/execution
>
>   Add automatic program execution with its own vocabulary.  I think
>   "workflow management" boils down to execution of a G-exp, but the
>   results do not necessarily need to be stored in the store (because the
>   data it works on is probably managed by an external data management
>   system).  A powerful feature of GNU Guix is its domain-specific
>   language for describing software packages.  We could add
>   domain-specific parts for workflow management (a `workflow' data type
>   and a `task' or `process' data type gets us there more or less).
>
>   With workflow management we are only interested in the "build
>   function", not the "source code" or the "build output".
>
>   You are probably aware that I worked on this for some time, so I could
>   share the data types I have and the execution engine parts I have.

Yes, definitely!  This is what I had in mind, hence the reference to
<https://lists.gnu.org/archive/html/guix-devel/2016-05/msg00380.html>.

Obviously if there’s already code, it’s even better.  :-)

>   The HPC-specific part of this is the compatibility with existing job
>   scheduling systems and data management systems.

Do you mean that it integrates with a job scheduler?

> * Document on why we need super user privileges on the Guix daemon
>
>   Probably an infamous point by now.  By design, the Linux kernel keeps
>   control over all processes.  With GNU Guix, we need some control over
>   the environment in which a process runs (disable network access,
>   change the user that executes a process), and the environment in which
>   the output lives (chown, chmod, to allow multiple users to use the
>   build output).  Instead of hitting the wall of "we are not going to
>   run this thing with root privileges", we could present our sysadmins
>   with a document for the reasons, the design decisions and the actual
>   code involved in super user privilege stuff.
>
>   This is something I am working on as well, but help is always welcome
>   :-).

Good point.
<https://www.gnu.org/software/guix/manual/html_node/Build-Environment-Setup.html>
mentions it when talking about --disable-chroot at the end, but this
could be improved.

That’s it?  No crazy ideas?  ;-)

Your thoughts about the point about Galaxy?

Thanks for your feedback!

Ludo’.

  parent reply	other threads:[~2016-10-20 14:08 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-10-18 14:20 Guix on clusters and in HPC Ludovic Courtès
2016-10-18 14:55 ` Christopher Allan Webber
2016-10-18 16:04   ` Ludovic Courtès
2016-10-18 16:47 ` Roel Janssen
2016-10-19 11:11   ` Ricardo Wurmus
2016-10-21 12:11     ` Roel Janssen
2016-10-20 14:08   ` Ludovic Courtès [this message]
2016-10-21  9:32     ` Ricardo Wurmus
2016-10-26 11:51       ` Ludovic Courtès
2016-11-01 23:25         ` Ben Woodcroft
2016-11-02 16:03           ` Pjotr Prins
2016-11-04 22:05             ` Pjotr Prins
2016-11-05  2:17               ` Chris Marusich
2016-11-05 16:15               ` Roel Janssen
2016-11-08 12:39               ` Ludovic Courtès
2016-11-03 13:47           ` Ludovic Courtès
2016-10-19  7:17 ` Thomas Danckaert
2016-10-20 14:17   ` Ludovic Courtès
2016-10-25  2:56 ` myglc2
2016-10-26 12:00   ` Ludovic Courtès
2016-11-01  0:11     ` myglc2
2016-10-26 12:08   ` Ricardo Wurmus
2016-10-31 22:01     ` myglc2
2016-11-01  7:15       ` Ricardo Wurmus
2016-11-01 12:03         ` Ben Woodcroft
2016-11-03 13:44           ` Ludovic Courtès
2016-11-19  6:18             ` Ben Woodcroft
2016-11-21 14:07               ` Ludovic Courtès
2016-10-26 15:43 ` Eric Bavier
2016-10-26 16:31   ` 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

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=871szbazaa.fsf@gnu.org \
    --to=ludo@gnu.org \
    --cc=guix-devel@gnu.org \
    --cc=roel@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 external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.