all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: myglc2 <myglc2@gmail.com>
To: "Ludovic Courtès" <ludo@gnu.org>
Cc: Guix-devel <guix-devel@gnu.org>
Subject: Re: Guix on clusters and in HPC
Date: Mon, 31 Oct 2016 20:11:45 -0400	[thread overview]
Message-ID: <86h97sf48u.fsf@gmail.com> (raw)
In-Reply-To: <87shrjtj5g.fsf@gnu.org> ("Ludovic \=\?utf-8\?Q\?Court\=C3\=A8s\=22'\?\= \=\?utf-8\?Q\?s\?\= message of "Wed, 26 Oct 2016 14:00:11 +0200")

On 10/26/2016 at 14:00 Ludovic Courtès writes:

> myglc2 <myglc2@gmail.com> skribis:
>
>> The scheduler that I am most familiar with, SGE, supports the
>> proposition that compute hosts are heterogeneous and that they each have
>> a fixed software and/or hardware configuration. As a result, users need
>> to specify resources, such as SW packages &/or #CPUs &/or memory needed
>> for a given job. These requirements in turn control where a given job
>> can run. QMAKE, the integration of GNU Make with the SGE scheduler,
>> further allows a make recipe step to specify specific resources for a
>> SGE job to process the make step.
>
> I see.
>
>> While SGE is dated and can be a bear to use, it provides a useful
>> yardstick for HPC/Cluster functionality. So it is useful to consider how
>> Guix(SD) might impact this model. Presumably a defining characteristic
>> of GuixSD clusters is that the software configuration of compute hosts
>> no longer needs to be fixed and the user can "dial in" a specific SW
>> configuration for each job step.  This is in many ways a good thing. But
>> it also generates new requirements. How does one specify the SW config
>> for a given job or recipe step:
>>
>> 1) VM image?
>>
>> 2) VM?
>>
>> 3) Installed System Packages?
>>
>> 4) Installed (user) packages?
>
> The ultimate model here would be that of offloading¹: users would use
> Guix on their machine, compute the derivation they want to build
> locally, and offload the actual build to the cluster.  In turn, the
> cluster would schedule builds on the available and matching compute
> nodes.  But of course, this is quite sophisticated.
>
> ¹
> https://www.gnu.org/software/guix/manual/html_node/Daemon-Offload-Setup.html

Thanks for pointing me to this. I hadn't internalized (an probably
don't yet understand) just how cool the Offload Facility is. Sorry if my
earlier comments were pendantic or uninformed as a result :-(

Considering the Offload Facility as a SGE replacement, it would be
interesting to make a venn diagram of the SGE and Guix Offload Facility
functions and to study the usability issues of each. Having failed that
assignment, here are a few thoughts:

I guess we would see the QMAKE makefile mentioned above as being
replaced by guile recipe(s)?  Maybe we need a cheat sheet showing how to
map between the two sets of functions/concepts?

I am a little unclear about the implications of placing all analysis
results into the Store. In labs where I have worked, data sources and
destinations are typically managed by project.  What are the pros and
cons of everything in the store? What are the management/maintenance
issues? E.g, when any result can be reproducibly derived, then only the
inputs are precious, but maybe we want to "protect" from GC those
results that were computationally more expensive?

In Grid Engine, "submit hosts" are the machines that a user logs into to
gain access to the cluster. Usually there are one or two such hosts,
often used, in part, to simplify cluster access control. I guess you are
saying that, when every user machine is set up as an "offload facility,"
it becomes like a "submit host." In general, this would be "nicer" but
not sufficient. Grid Engine also provides a 'qrsh' command that allows
users to log into compute host(s), reserving the same resources as
required by a given job. This is useful when debugging a process that is
failing or prototyping a process that requires memory, CPUs, or other
resources not available on the user machine. Can the offload facility be
extended to support something like this?

> A more directly usable approach is to simply let users manage profiles
> on the cluster using ‘guix package’ or ‘guix environment’.  Then they
> can specify the right profile or the right ‘guix environment’ command in
> their jobs.

This seems quite powerful. How would one reproducibly specify "which
guix" version [to use | was used]?

Does this fit within the offload facility harness?

  reply	other threads:[~2016-11-01  0:10 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
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 [this message]
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=86h97sf48u.fsf@gmail.com \
    --to=myglc2@gmail.com \
    --cc=guix-devel@gnu.org \
    --cc=ludo@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.