<div dir="ltr">Good points regarding packages shipped with distributions.<div>One of my pet peeves (only one? Editor) is being on mailiing lists for HPC software such as OpenMPI and Slurm and seeing many requests along the lines of</div><div>"I installed PackageX on my cluster" and then finding fromt he replies that the versiion is a very out of date one delivered by the distribution's repositories.</div><div><br></div><div>The other day I Was interacting with someone who was using a CentOS 6.5 cluster on the Julia discussion list. His cluster uses the original SGE version.</div><div>I created a test CentOS 6.5 cluster using Vagrant and Ansible, and found to my horror that Gridengine RPMs are available out of the box with CentOS 6.5</div><div>Now let me make something clear - a good few years ago I installed SGE on customer clusters, and became somewhat of an expert in SGE and MPI integration.</div><div>But in 2018? Would I advise installing the original Sun version ff SGE? No.  (I am not referring to Univa etc which is excellent)</div><div><br></div><div>There is deifnitely a place for packaging and delivery of up to date software stacks for HPC.</div><div>If I might mention Bright Computing - that is what they do./ The compile up (or instance) SLurm and put it on their own repos.</div><div>So you can have a tested set of packages without continually rolling your own.</div><div><br></div><div>I hate to say it, I think the current generation of WEb developers, who will incorporate some Javascript from an online repo to do a bitshift</div><div>(I am referrin gto the famous package which the developer took down and which affected thousands of web sites),</div><div>are only too ready to install software without thinking from the Ubuntu repos. That might work for web services stacks - but for HPC?</div><div><br></div><div>Perhaps for another thread:</div><div>Actually I went t the AWS USer Group in the UK on Wednesday. Ver impressive, and there are the new Lustre filesystems and MPI networking.</div><div>I guess the HPC World will see the same philosophy of building your setup using the AWS toolkit as Uber etc. etc. do today.</div><div>Also a lot of noise is being made at the moment about the convergence of HPC and Machine Learning workloads.</div><div>Are we going to see the MAchine Learning folks adapting their workflows to run on HPC on-premise bare metal clusters?</div><div>Or are we going to see them go off and use AWS (Azure, Google ?)</div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div></div><br><div class="gmail_quote"><div dir="ltr">On Fri, 7 Dec 2018 at 16:04, Gerald Henriksen <<a href="mailto:ghenriks@gmail.com">ghenriks@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On Wed, 5 Dec 2018 09:35:07 -0800, you wrote:<br>
<br>
>Certainly the inability of distros to find the person-hours to package<br>
>everything plays a role as well, your cause and effect chain there is<br>
>pretty accurate. Where I begin to branch is at the idea of software that is<br>
>unable to be packaged in an rpm/deb.<br>
<br>
In some convenient timing, the following was posted by overtmind on<br>
Reddit discussing why Atom hasn't been packaged for Fedora(*):<br>
<br>
---<br>
"This means, for every nodejs dependency Electron needs - and there<br>
are a metric #$%# ton - since you can't use npm as an<br>
installer/package manager - you need to also package all of those and<br>
make sure they're in fedora and up-to-date, and then you also need to<br>
package all of the non-nodejs dependencies that come along with<br>
Electron apps, such as electron itself, and THEN you need to extract<br>
and remove all of the vendor'd libraries and binaries that essentially<br>
make Electron work, and THEN you need to make sure that there's no<br>
side-car'd non-free or questionable software that is forbidden in<br>
fedora also, like ffmpeg. G'head and look at the Chromium SPEC, it's a<br>
living nightmare (Spot godbless your heart)"<br>
---<br>
<br>
Now obviously you could do what for example Java does with a jar file,<br>
and simply throw everything into a single rpm/deb and ignore the<br>
packaging guidelines, but then you are back to in essence creating a<br>
container and just hiding it behind a massive rpm/deb.<br>
<br>
>The thing we can never measure and thus can only speculate about forever<br>
>is:  if all the person-hours poured into containers (and pypi/pip and cran<br>
>and cpan and maven and scons and ...) had been poured into rpm/deb<br>
>packaging would we just be simply apt/yum/dnf installing what we needed<br>
>today? (I'm ignoring other OS/packaging tools, but you get the idea.)<br>
<br>
I (theoretically) could write a new library in<br>
Python/Perl/Javascript/Go/etc. and with very minimal effort can place<br>
that library in the repository for that language with minimal effort.<br>
My library is now available to everyone using that language regardless<br>
of what OS they are using.<br>
<br>
Alternately, I could spend many, many hours perhaps even days learning<br>
multiple different packaging systems, joining multiple different<br>
mailing lists / bugzillas / build systems, so that I can make my<br>
library easily available to people on Windows, macOS, Fedora, RHEL,<br>
openSUSE, Debian, Ubuntu, ...  - or alternately hope that someone will<br>
not only take the time to package my library for all those different<br>
platforms, but also commit the future time to keep it up to date.<br>
<br>
Option 2 worked 20 years ago when we only cared about 2 or 3<br>
distributions of Linux and had a lot less open source / free software.<br>
But, unfortunately, it does not scale and so for that reason (and a<br>
few others) the effort to create Docker / npm, maven, etc. is the<br>
lesser of the options.<br>
<br>
* - <a href="https://www.reddit.com/r/Fedora/comments/a3q1a2/atom_editoride/" rel="noreferrer" target="_blank">https://www.reddit.com/r/Fedora/comments/a3q1a2/atom_editoride/</a><br>
_______________________________________________<br>
Beowulf mailing list, <a href="mailto:Beowulf@beowulf.org" target="_blank">Beowulf@beowulf.org</a> sponsored by Penguin Computing<br>
To change your subscription (digest mode or unsubscribe) visit <a href="http://www.beowulf.org/mailman/listinfo/beowulf" rel="noreferrer" target="_blank">http://www.beowulf.org/mailman/listinfo/beowulf</a><br>
</blockquote></div>