HSF Packaging Group Meeting #25, June 13, 2018
Agenda
https://indico.cern.ch/event/730538/
Participants: Graeme Stewart, Ben Morgan, Ben Couturier, Marco Clemencic, Chris Burr, Pere Mato, Guilherme Amadio, Chris Green, Rafal Pacholek, Patrick Gartung, Dmitri Konstantinov, Liz Sexton-Kennedy, David Lange
Introduction - Ben
- Please advertise the RSE conference, even though we’re not presenting.
- Feedback on next meeting date please - let us know if a meeting on 4 July makes sense.
R&D Projects - Graeme
- LIM Workshop
- Excellent overview of current and short term improvements to tools/procedures from CERN/LHC experiments.
- Not so much about future of packaging overall - that is more within the remit of this WG.
- WG so far:
- Use cases doc useful and well received.
- Test stack less so. Any good PM can handle them. But good to check availability of build recipes for them.
- Test drive: good for basic tests, experiments need a lot more. Useful for comparison, but not a short term priority. Continue but at a lower priority
- Points from LIM:
- Reliance on system vs packager built.
- System vs Build the World tension - maybe take each end as “sweet spots” for work?
- Deployment/Production:
- Bet on Containers? Future resources mean we have less control over customization of site system packages.
- More customization -> less stability.
- Also means we don’t have to try and build modern suite on old system.
- Doesn’t mean “fat” containers, can use CVMFS.
- Ben C: Also want flexibility to have “fat” containers to handle use case when site doesn’t support CVMFS.
- Chris: Unlikely to get CVMFS at many HPC sites.
- Graeme: Can have “fat” container only bringing in what’s needed. HPC may also have very fast filesystems, so maybe less cost in starting up fat system.
- Marco/Ben C: Need tools to build the container, layer appropriately. Problem isn’t sharing the compilation (we have resources), it’s sharing the tools to organise the container.
- Tension between when we have CVMFS and when we don’t. In the later case, we have to put everything we need (and only that) in the container image.
- Full Stacks?
- Entire self contained stacks have advantages in consistency.
- But… Is a lot of work. E.g. in min of 350 packages for functional development machine in CentOS7, Ubuntu 16.
- Only seems manageble by leveraging work of larger project (take pick of distro or project, e.g., Portage, Nix)
- This use case matches well with Chris Burr’s work in LHCb.
- Liz: CMS also used to build from libc upwards, possibly still now. David: not building libc upwards now.
- Modernise the Base OS?
- Many rebuilds due to old (ancient!) base OS.
- So need newer Python/C++ etc.
- Updating the toolchain (Compiler/Interpreters), hence ABI changes require us to rebuild packages we otherwise might take from the system.
- Advantage: focus on core task of packaging HEP software.
- Worries: Longevity of release and support? Alleviated by containerised deployment?
- What about release timescales?
- Developing software now for deployment in 2020. So need newer compiler now, to ensure working software then.
- Compiler vs binutils vs assembler consistency?
- This is only to explore the possibility of this, not to solve everything.
- What about running older stacks? Containers/Emulators could help here, related to whole data preservation effort(s).
- David: Site specific software like EOS? Graeme: also xrootd, probably explore later in the R&D effort. Ben C: In Dirac, use binary compatible xrootd plugin, but that uses middleware compatible interfaces.
- Developers
- Containers lighter than VMs, but developers do prefer to run native.
- On Linux: “prefix” environment as in Nix/Portage (independent of distro other than kernel) worthwhile exploring.
- MacOS/Windows? More tricky to support from base toolchains.
- Use of such a “prefix/view” explored by FNAL’s SpackDev.
- “R&D Inventory”
- Recognise strengths - a common place to share ideas and experience
- Small doc on each ongoing project: very light (who/what/where).
- Other areas where we could improve: docs.
Test Drive Round Table - All
- Javier has a container with LCGCMake almost ready
- Questions on the core list of packages - not the whole superset, see the trimmed list in the test drive area.
- Experience of dockers on Mac not so great - slow and slow disks
- E.g., Qt5 compile took a very long time.
- There are special mount options for volumes that relax synchronisation on OS X and improve performance a lot, e.g., `delegated`.