I agree with both John and Doug. I've believed for a long time that
OSes are merely specific details of a particular job, and you should be
ready to change them out at a moments notice, as part of a job. This
way you can always start in a pristine and identical state across your
fleet of compute nodes.
Moreover, with the emergence of Docker, k8s, and others on Linux, I've
been of the opinion that most of the value of distributions has been
usurped, in that you can craft an ideal environment for your job, which
is then portable across nodes.
Singularity looks like it has done the job correctly as compared to
Docker et al. so now you can far more securely distribute your jobs as
statically linked black boxes to nodes. All you need is a good
substrate to run them on.
Not astroturfing here ... have a look at
https://github.com/joelandman/nyble , an early stage project of mine*,
which is all about building a PXE or USB bootable substrate system,
based upon your favorite OS (currently supporting Debian9, CentOS7,
others to be added). No real docs just yet, though I expect to add them
soon. Basically,
git clone https://github.com/joelandman/nyble
cd nyble
# edit makefile to set the DISTRO= variable, and config/all.conf
# edit the urls.conf and OS/${DISTRO}/distro_urls.conf as need to
point to local repos and kernel repos
make
then sane PXE bootable kernel and initramfs appear some time later in
/mnt/root/boot . My goal here is to make sure we view the substrate OS
as a software appliance substrate upon which to run containers, jobs, etc.
Why this is better than other substrates for Singularity/kvm/etc. comes
down to the fact that you start from a known immutable image. That is,
you always boot the same image, unless you decide to change it. You
configure everything you need after boot. You don't need to worry about
various package manager states and collisions. You only need to
install what you need for the substrate (HVM, containers, drivers,
etc.). Also, there is no OS disk management, which for very large
fleets, is an issue. Roll forwards/backs are trivial and exact, testing
is trivial, and can be done in prod on a VM or canary machine. This can
easily become part of a CD system, so that your hardware and OS
substrate can be treated as if it were code. Which is what you want.
* This is a reworking of the SIOS framework from Scalable Informatics
days. We had used that successfully for years to pxe boot all of our
systems from a single small management node. Its not indicated there
yet, but it has an apache 2.0 license. A commit this afternoon should
show this.
On 05/03/2018 09:53 AM, John Hearns via Beowulf wrote:
I agree with Doug. The way forward is a lightweight OS with containers
for the applications.
I think we need to learn from the new kids on the block - the webscale
generation.
They did not go out and look at how massive supercomputer clusters are
put together.
No, they went out and build scale out applications built on public clouds.
We see 'applications designed to fail' and 'serverless'
Yes, I KNOW that scale out applications like these are Web type
applications, and all application examples you
see are based on the load balancer/web server/database (or whatever
style) paradigm
The art of this will be deploying the more tightly coupled
applications with HPC has,
which depend upon MPI communications over a reliable fabric, which
depend upon GPUs etc.
The other hat I will toss into the ring is separating parallel tasks
which require computation on several
servers and MPI communication between them versus 'embarrassingly
parallel' operations which may run on many, many cores
but do not particularly need communication between them.
The best successes I have seen on clusters is where the heavy parallel
applications get exclusive compute nodes.
Cleaner, you get all the memory and storage bandwidth and easy to
clean up. Hell, reboot the things after each job. You got an exclusive
node.
I think many designs of HPC clusters still try to cater for all
workloads - Oh Yes, we can run an MPI weather forecasting/ocean
simulation
But at the same time we have this really fast IO system and we can run
your Hadoop jobs.
I wonder if we are going to see a fork in HPC. With the massively
parallel applications being deployed, as Doug says, on specialised
lightweight OSes which have dedicated high speed, reliable fabrics and
with containers.
You won't really be able to manage those systems like individual Linux
servers. Will you be able to ssh in for instance?
ssh assumes there is an ssh daemon running. Does a lightweight OS have
ssh? Authentication Services? The kitchen sink?
The less parallel applications being run more and more on cloud type
installations, either on-premise clouds or public clouds.
I confound myself here, as I cant say what the actual difference
between those two types of machines is, as you always needs
an interconnect fabric and storage, so why not have the same for both
types of tasks.
Maybe one further quip to stimulate some conversation. Silicon is
cheap. No, really it is.
Your friendly Intel salesman may wince when you say that. After all
those lovely Xeon CPUs cost north of 1000 dollars each.
But again I throw in some talking points:
power and cooling costs the same if not more than your purchase cost
over several years
are we exploiting all the capabilities of those Xeon CPUs
On 3 May 2018 at 15:04, Douglas Eadline <deadl...@eadline.org
<mailto:deadl...@eadline.org>> wrote:
Here is where I see it going
1. Computer nodes with a base minimal generic Linux OS
(with PR_SET_NO_NEW_PRIVS in kernel, added in 3.5)
2. A Scheduler (that supports containers)
3. Containers (Singularity mostly)
All "provisioning" is moved to the container. There will be edge
cases of
course, but applications will be pulled down from
a container repos and "just run"
--
Doug
> I never used Bright. Touched it and talked to a salesperson at a
> conference but I wasn't impressed.
>
> Unpopular opinion: I don't see a point in using "cluster managers"
> unless you have a very tiny cluster and zero Linux experience.Â
These
> are just Linux boxes with a couple applications (e.g. Slurm) running on
> them. Nothing special. xcat/Warewulf/Scyld/Rocks just get in
the way
> more than they help IMO. They are mostly crappy wrappers
around free
> software (e.g. ISC's dhcpd) anyway. When they aren't it's
proprietary
> trash.
>
> I install CentOS nodes and use
> Salt/Chef/Puppet/Ansible/WhoCares/Whatever to plop down my
configs and
> software. This also means I'm not suck with "node images" and can
> instead build everything as plain old text files (read: write SaltStack
> states), update them at will, and push changes any time. My "base
> image" is CentOS and I need no "baby's first cluster" HPC software to
> install/PXEboot it. YMMV
>
>
> Jeff White
>
> On 05/01/2018 01:57 PM, Robert Taylor wrote:
>> Hi Beowulfers.
>> Does anyone have any experience with Bright Cluster Manager?
>> My boss has been looking into it, so I wanted to tap into the
>> collective HPC consciousness and see
>> what people think about it.
>> It appears to do node management, monitoring, and provisioning,
so we
>> would still need a job scheduler like lsf, slurm,etc, as well.
Is that
>> correct?
>>
>> If you have experience with Bright, let me know. Feel free to
contact
>> me off list or on.
>>
>>
>>
>> _______________________________________________
>> Beowulf mailing list, Beowulf@beowulf.org
<mailto:Beowulf@beowulf.org> sponsored by Penguin Computing
>> To change your subscription (digest mode or unsubscribe) visit
>>
https://urldefense.proofpoint.com/v2/url?u=http-3A__www.beowulf.org_mailman_listinfo_beowulf&d=DwIGaQ&c=C3yme8gMkxg_ihJNXS06ZyWk4EJm8LdrrvxQb-Je7sw&r=DhM5WMgdrH-xWhI5BzkRTzoTvz8C-BRZ05t9kW9SXZk&m=2km_EqLvNf2v9rNf8LphAYkJ-Sc_azfEyHqyDIzpLOc&s=kq0wdhy80VqcBCwcQAAQa0RbsgWIekhd0qU0zC81g1Q&e=
<https://urldefense.proofpoint.com/v2/url?u=http-3A__www.beowulf.org_mailman_listinfo_beowulf&d=DwIGaQ&c=C3yme8gMkxg_ihJNXS06ZyWk4EJm8LdrrvxQb-Je7sw&r=DhM5WMgdrH-xWhI5BzkRTzoTvz8C-BRZ05t9kW9SXZk&m=2km_EqLvNf2v9rNf8LphAYkJ-Sc_azfEyHqyDIzpLOc&s=kq0wdhy80VqcBCwcQAAQa0RbsgWIekhd0qU0zC81g1Q&e=>
>
>
> --
> MailScanner: Clean
>
> _______________________________________________
> Beowulf mailing list, Beowulf@beowulf.org
<mailto:Beowulf@beowulf.org> sponsored by Penguin Computing
> To change your subscription (digest mode or unsubscribe) visit
> http://www.beowulf.org/mailman/listinfo/beowulf
<http://www.beowulf.org/mailman/listinfo/beowulf>
>
--
Doug
--
MailScanner: Clean
_______________________________________________
Beowulf mailing list, Beowulf@beowulf.org
<mailto:Beowulf@beowulf.org> sponsored by Penguin Computing
To change your subscription (digest mode or unsubscribe) visit
http://www.beowulf.org/mailman/listinfo/beowulf
<http://www.beowulf.org/mailman/listinfo/beowulf>
_______________________________________________
Beowulf mailing list, Beowulf@beowulf.org sponsored by Penguin Computing
To change your subscription (digest mode or unsubscribe) visit
http://www.beowulf.org/mailman/listinfo/beowulf
--
Joe Landman
e: joe.land...@gmail.com
t: @hpcjoe
w: https://scalability.org
g: https://github.com/joelandman
l: https://www.linkedin.com/in/joelandman
_______________________________________________
Beowulf mailing list, Beowulf@beowulf.org sponsored by Penguin Computing
To change your subscription (digest mode or unsubscribe) visit
http://www.beowulf.org/mailman/listinfo/beowulf