with gnu guix
play

with GNU Guix Ricardo Wurmus + Pjotr Prins + Ben Woodcroft + Altuna - PowerPoint PPT Presentation

reproducible and user-controlled software management in HPC with GNU Guix Ricardo Wurmus + Pjotr Prins + Ben Woodcroft + Altuna Akalin BOSC 2017, Prague System Admins Users prefer mature software, want fresh software, no variants, only apply


  1. reproducible and user-controlled software management in HPC with GNU Guix Ricardo Wurmus + Pjotr Prins + Ben Woodcroft + Altuna Akalin BOSC 2017, Prague

  2. System Admins Users prefer mature software, want fresh software, no variants, only apply multiple variants, latest unavoidable updates tools, fl exibility use stable software for systems manage user software stack on their own

  3. There is no way to reproduce the ad-hoc environment, even on the same machine at a di ff erent point in time. Due to a lack of isolation , the volatile environment will change or even break when the host system changes. No safe upgrades or roll-backs . primitive No separation for di ff erent work fl ows. Unportable .

  4. ?

  5. Installing software is easy now! ...but reproducibility is still out of reach

  6. Installing software is easy now! ...but reproducibility is still out of reach

  7. 100% reproducible We have all the bits!

  8. 100% reproducible We have all the bits! 100% stateful We only have the bits!

  9. App bundles are convenient lack means of abstraction don't compose well are like giant statically linked binaries

  10. Functional packaging headers sources build tools libraries ... cabba9e- emacs -24.5/ bin emacs lib ...

  11. Functional packaging cabba9e- emacs -24.5/ Same inputs? bin emacs Same output! lib ... dedbeef- emacs -24.5/ Different inputs? bin emacs Different outputs. lib ...

  12. coreutils-8.24 acl-2.2.52 libcap-2.24 attr-2.4.47 gmp-6.1.0 gettext-0.19.7 m4-1.4.17 expat-2.1.0 perl-5.22.1 glibc-utf8-locales-2.22 ld-wrapper-0 patch-2.7.5 gawk-4.1.3 ed-1.12 gzip-1.6 file-5.25 findutils-4.6.0 libsigsegv-2.10 bzip2-1.0.6 sed-4.2.2 diffutils-3.3 xz-5.2.2 tar-1.28 lzip-1.16 grep-2.22 coreutils-8.24 libcap-2.24 acl-2.2.52 attr-2.4.47 make-4.1 gmp-6.1.0 gettext-0.19.7 pkg-config-0.29 perl-boot0-5.22.1 perl-5.22.1 m4-1.4.17 expat-2.1.0 guile-2.0.11 glibc-utf8-locales-2.22 readline-6.3 gmp-6.1.0 libgc-7.4.2 gzip-1.6 gzip-1.6 libunistring-0.9.6 libltdl-2.4.6 pkg-config-0.29 libffi-3.2.1 libatomic-ops-7.4.2 ncurses-6.0 m4-1.4.17 bash-4.3.42 readline-6.3 ncurses-6.0 gcc-4.9.3 gcc-4.9.3 ld-wrapper-boot3-0 binutils-2.25.1 zlib-1.2.8 libstdc++-4.9.3 guile-bootstrap-2.0 gcc-cross-boot0-wrapped-4.9.3 glibc-2.22 bash-static-4.3.42 gcc-cross-boot0-wrapped-4.9.3 glibc-intermediate-2.22 gettext-boot0-0.19.7 linux-libre-headers-3.14.37 texinfo-6.0 gcc-cross-boot0-4.9.3 bison-3.0.4 perl-boot0-5.22.1 m4-1.4.17 binutils-cross-boot0-2.25.1 file-boot0-5.25 findutils-boot0-4.6.0 diffutils-boot0-3.3 make-boot0-4.1 gcc-bootstrap-0 binutils-bootstrap-0 bootstrap-binaries-0 glibc-bootstrap-0

  13. guix gc -- references /gnu/store/…-foo-0.9 /gnu/store/…-glibc-2.25 /gnu/store/…-gcc-4.9.3-lib /gnu/store/…-bar-0.7b /gnu/store/…-baz-1.4.9 /gnu/store/…-foo-0.9

  14. guix package -i baz -- with-input =foo=bar guix package -i baz -- with-source =baz-1.0.tgz

  15. guix pack samtools bedtools /gnu/store/…-pack.tar.gz

  16. guix pack -f docker samtools bedtools /gnu/store/ …-docker-pack.tar.gz LOL

  17. guix package -- manifest =GeneNetwork All you need is: Guix version + package manifest (+ source code)

  18. The level of 1. abstraction matters 2. Guix enables reproducible and safe experimentation Guix makes environment 3. sharing easy There are ways to 4. use Guix without root access Like Conda? 5. guix package -i conda

  19. Learn more! Poster A-142 #guix on irc.freenode.net http://gnu.org/s/guix ricardo.wurmus@mdc-berlin.de pjotr.public34@thebird.nl

  20. /home/rekado/.guix-pro fi le /gnu/store /var/guix/... guix-pro fi le hscq14x...-pro fi le ... bin samtools 42 bowtie2 rhrdst11m...-samtools-1.2 bin samtools include lud0v1c...-bowtie-2.2.4 bin bowtie2

  21. /home/rekado/.guix-pro fi le /gnu/store /var/guix/... guix-pro fi le hscq14x...-pro fi le ... bin samtools 42 bowtie2 43 rhrdst11m...-samtools-1.2 bin samtools include lud0v1c...-bowtie-2.2.4 bin bowtie2 z3braf1sh...-pro fi le bin samtools

  22. /home/rekado/.guix-pro fi le /var/guix/... /gnu/store hscq14x...-pro fi le guix-pro fi le ... bin samtools 42 bowtie2 43 rhrdst11m...-samtools-1.2 bin samtools include lud0v1c...-bowtie-2.2.4 bin bowtie2 z3braf1sh...-pro fi le bin samtools

  23. /home/rekado/.guix-pro fi le /var/guix/... /gnu/store hscq14x...-pro fi le guix-pro fi le ... bin samtools bowtie2 43 rhrdst11m...-samtools-1.2 bin samtools include lud0v1c...-bowtie-2.2.4 bin bowtie2 z3braf1sh...-pro fi le bin samtools

  24. /home/rekado/.guix-pro fi le /var/guix/... /gnu/store guix-pro fi le ... 43 rhrdst11m...-samtools-1.2 bin samtools include lud0v1c...-bowtie-2.2.4 bin bowtie2 z3braf1sh...-pro fi le bin samtools

  25. /home/rekado/.guix-pro fi le /var/guix/... /gnu/store guix-pro fi le ... 43 rhrdst11m...-samtools-1.2 bin samtools include z3braf1sh...-pro fi le bin samtools

Recommend


More recommend