2
0
Fork 0
mirror of git://git.savannah.gnu.org/guix/maintenance.git synced 2023-12-14 03:33:04 +01:00
maintenance/talks/bosc-2017/outline.org
2017-07-22 09:26:26 +02:00

1.5 KiB
Raw Blame History

Optimized & Reproducible HPC Software Deployment

https://fosdem.org/2017/schedule/event/hpc_deployment_guix/ Sat. 11:30, H.2213

current HPC software environments are broken

distros are old and inflexible, not upgraded

thus, sysadmins write their own modules

hand-maintained modules break, still inflexible

modules may be removed behind your feet

thus, users hand-build software in $HOME

possibly using language-specific package managers

=> it's a mess

fixing this chaos

first approach: easybuild & spack

layered on top of the existing distro

good: packaging work is shared among HPC users, some QA

bad: everyone builds in $HOME -> waste of resources

bad: uses host tools -> not reproducible [screenshots]

second approach: app bundles

we have the bits, not the source

100% reproducibility, but prevents experimentation

wrong level of abstraction: we dont care about bits, but about packages

third approach: can we have our cake and eat it too?

Guix

what it is

example commands

isolated builds: 100% reproducible

reproducible yet customizable [RepPar paper]

package variants, personal packages

sharing environments

  • symbolic sharing: manifests
  • share the bits: “guix pack” (with Docker support)

HPC & non-root usage

the problem: guix-daemon runs as root because that's the only way to get repro build envs

solutions:

running guix-daemon as non-root: doesn't work

user namespaces: unfortunately not widely available

relocation: yay!