Containers as ‘Tupperware’: Experts Debate Container Concepts, Strategies

By Tiffany Trader

April 24, 2019

Panels tend to be among the livelier conference sessions and the “Containers” panel at Tabor’s Advanced Scale Forum last week in Jacksonville, Fla., was certainly no exception. Moderated by Ryan Quick (principal, Providentia Worldwide — formerly with PayPal), the session aimed to catalyze debate about the evolving container landscape in HPC, and “hopefully get rid of some sacred cows,” in the words of Quick. Did it accomplish those goals? Keep reading to find out.

Joining Quick on stage were Robert Blake (computational scientist at Lawrence Livermore National Laboratory), Max Alt (CEO and founder of Atrio), and Jay Boisseau (AI and HPC technology strategist with Dell EMC).

While previous sessions (on cloud and AI) tackled the best place to run your workloads (i.e., in the cloud, on-prem, etc.), Quick laid out as a ground rule that for containers, it does not matter whether they’re on the edge, in your cluster or the middle the of the datacenter, “they operate the same way regardless.”

Quick, who’s been using containers in production since 2006 and was the first person to ever try and successfully get the PCI audit approved for containers (on the Solaris operating system), began by pointing out that containers and virtual machines are not the same thing. “They have absolutely different design goals. They have absolutely different approaches to workload isolation and very distinct methods of orchestration and management,” he said. “Nevertheless they continue to be seen as interchangeable terms. How do we change that perception?”

An opening preamble intended to level set failed to find immediate consensus.

L to R: Jay Boisseau, Ryan Quick, Max Alt and Robert Blake

“Can I quibble with your opening statement first?” queried Boisseau. “I don’t think they have completely, fundamentally different purposes; both of them were seen as methods of getting efficiency out of the underlying infrastructure. Beyond that first statement, I’ll agree with different design principles and everything. The thing that helps me at least understand it is virtual machines are virtualizing the machine whereas containers are virtualizing the OS.”

You can run a VM inside a VM and you can run a container inside a VM. But can you run a VM inside a container? Quick noted it is possible to run a Windows VM inside a container.

Alt remarked that the spectrum between VMs and containers can be very hard to see, given the existence of lightweight VMs and heavyweight containers.

Boisseau proffered some simple high-level definitions to clarify the distinction: “In the VM world, you are completely virtualizing the machine so you have a complete self-contained OS that has private access to all aspects of the underlying OS and a full copy of it. In a container, you are abstracting the OS, so the container uses less RAM because it only has to have the runtime differences from the base OS. So typically, the container world is mostly Linux and mostly Linux containers on Linux OSs, which is what reduces that RAM footprint, so you are only providing the runtime differences from the base OS and it provides that easy patching because you are only patching the base OS and that perpetuates into the runtime differences and so on.”

This was well received – until Barbara Eckman (principal data architect, Comcast), interjecting from the audience, brought up statefulness. “VMs are clearly stateful, they are a whole machine, so they have databases and all kinds of stuff. With containers…”

“All right, so you see it’s a little fuzzy,” Quick responded. “Let’s see if we can set some guidelines. Let’s say for the sake of argument — and we’ll take research and weird experimentation out of it — generally speaking the idea for a virtual machine is to implement something that feels like a machine. I think we can generally agree a container is generally meant to create something that feels like Tupperware. It’s meant to isolate stuff and keep it together, but not necessarily make it feel like you are running an entire machine when you do that.

“Can we agree that generally speaking that’s what we do? Truth be told there are absolutely opposites on each side. There are. There are very, very lightweight virtual machines that feel like a container. There are very heavyweight containers that feel very much like running a machine. But generally-speaking I think we can agree those are kind of the design principles that separated that.”

Parameters thus established, the initial question was reposed: “how do we change the perception of everybody else so that when they sit down they are not talking about two different things at the same meeting?”

“The thing is there are these different gradations where you have a lightweight VM or big container, but it’s all just in encapsulation technologies. You need to see what fits the purpose,” said Alt. “What do you really need? Do you need a stateful machine? Do you need to migrate? Do you need them to be an HPC type of environment? Does it need to be a multinode environment that has to provide a connectivity. We just need to look at it as a big diversity of technologies that we need to pick for the solution. That’s why we have 20 container technologies right now, at least.”

“I would say in my world, still the best practice when you are running large jobs that run over millions of cores and every process is talking to each other for a big distributed science problem, is still static binaries, so the easiest way to sell containers is to say, ‘don’t do static binaries just use this it’s the same thing but better,’” said Blake.

Asked why this is considered a good solution, Blake continued: “People use static binaries because if you actually try to take an application and run it for more than six months, invariably someone in IT will move a library and suddenly you have to play the whole LD_LIBRARY_PATH to find what libraries you were actually using six months ago to run your application – whereas if it’s statically linked, it’s all there in the binary, provided you never change anything else…”

This brought the panel to the topic of portability, one of the purported benefits of containers.

“People think they are portable,” said Alt, “but when you get to real HPC environment portability, they are not portable. You need to make sure, which MPI libraries are you binding with, how you mount the parallel file system, and all that — container technology doesn’t solve that.”

“But remember the goal: Tupperware versus a machine,” Quick rejoined.

“If you go to a picnic and you’re not going to bring all the ingredients to make deviled eggs once you get there, you’re bringing deviled eggs in a container.  You are going to bring your sandwiches in a container because nobody wants to try to set up a kitchen outside. I think you’re right though: people assume portability means interoperability, but that’s not the case. Containers are absolutely not interoperable. The whole point is you’ve put everything together into a bucket that is needed to make your bucket function and then you take it with you to the picnic. You see what I’m saying?”

Tagging onto Alt’s point, Blake had more to say about MPI. “[It’s] just no fun to deal with if you’re trying to deploy an application because there’s no ABI for MPI, so you have to have the same thing that you’re linking against to run anything. Good luck trying to deploy an MPI application without giving out the source code for it. I’ve been so frustrated with this at times that I’ve just debated making my own MPI shim layer that does the static MPI and then does something there.”

Showcasing the diversity of the panel, Quick stated he’s never used MPI once, while Blake countered that it’s the only thing used in the HPC world.

“For fine-grained parallel applications, yes, it is the only thing,” Boisseau, the founding director of TACC (the Texas Advanced Computing Center), agreed.

“It is the only thing used and it has no ABI,” Blake continued. “The standard practice now for distributing an application between clusters is actually just to give the source code and give build instructions and say, compile this over the next three days, and, hopefully, it will build on your machine.”

“To what Robert’s talking about, there’s lots of reasons that we do these things and there’s lot of crazy edges between where these technologies leave off and where they sort of jump off and become different from each other,” said Quick. “But the goal is we need to make sure we understand the core basics of, and distinctions between, the two. That they are complementary but not the same thing and they definitely at this point have different design goals.

“They both came from a desire to more efficiently use hardware because hardware outpaces software by large margins, but on the flip side software developers are easier to obtain than hardware engineers, so you see this pendulum swing back and forth.”

Putting semantics aside for the moment, Quick was about to congratulate the panel and the wider audience for dropping the notion that bare metal is the only way to run things – when Alt jumped in on the side of bare metal.

“On the positive side, with containers, I think if you try to build a TensorFlow application, a container is probably the most sensible way of building it and deploying it because it has so many dependencies and the dependency tree is really big. So if you want to make it somewhat portable, you have to use containers. But on the flip side, if it’s a distributed or MPI type of situation, then using containers is a very complicated matter, which not many people can do,” said Alt.

Continuing to search for truly common ground, Boisseau said everyone would agree containers are an exploding technology with at least one analyst predicting a 40 percent year-to-year growth trajectory. Containers shine when it comes to a lightweight way of embracing this DevOps world of continuous development and continuous integration, said Boisseau, especially at scale. It’s something his colleague Don Walker (distinguished engineer at Dell EMC) says requires adoption of a different approach – moving from an imperative model to a declarative model.

“Instead of saying how to do task ‘x,’ when you have millions of servers you need to be able to say what is it that I want to accomplish and what are the basic requirements, and let the system figure it out,” said Boisseau. “You can tell one server what to do, you can tell 10 servers what to do, but trying to manage millions and billions and trillions of tasks on millions of servers [is too much], so this declarative model is necessary, and that’s where containers I think really have some strength. Certainly within a hyperscale environment they give great portability. So you can phrase things in terms of ‘this is what I need done.’”

IT orchestration was the next topic, with Quick delivering this opening statement:

“IT orchestration and visibility has always sat high in the eyes of the CIO and the CFO, but often finds itself at best an afterthought as we move down in the organization. Containers make huge promises with regards to orchestration, instrumentation and hands-off management. We constantly hear terms like Kubernetes, Marathon, Swarm and usually in the context of other things like DevOps, organization autonomy and shorter time to market. How have containers delivered on these lofty promises?”

Blake’s response was swift: “I don’t think we will ever use Kubernetes for the type of things we do.”

“Don’t be so sure,” said Quick, explaining he had just completed work deploying Kubernetes on the Oak Ridge Summit supercomputer (Sierra’s non-classified counterpart).

“But we have a different use case,” said Blake. “So when I submit a job, I allocate a certain number of things, and I usually only want one thing running on those clusters and it’s usually the same application just talking to itself a million times.”

When Quick pointed out that Kubernetes can do that, Blake responded that the IT service people wouldn’t switch.

Boisseau added that given his history he’d be primed to agree, but had a different perspective:

“You have to remember the whole IT market has been dominated by enterprise except HPC. It’s only been in recent years that enterprise has become more than half of the HPC spend and growing. I think where Rob computes may not use Kubernetes, but I think the vast majority of HPC will use it in the way that you were just talking about. And this is coming from a guy who used Slurm and deployed Slurm on systems. I think Kubernetes or something like it is the more general approach. And there’s nothing to prevent you in a declarative model from saying I declare what I need is a bunch of nodes that are single tenant and aren’t running a bunch of other tasks so that my fine-grained application has a chance at performing well.”

All three panelists expressed doubt that anyone was actually using Kubernetes to distribute an MPI job in a production setting, but Quick countered that indeed they are. “I can’t tell you who at the moment, but I can tell you there are absolutely people who are using Kubernetes on top of [Nvidia] DGXs doing MPI jobs in production,” he said, referencing Nvidia’s DeepOps tool that enables this “out of the box.”

Blake said, “I would love if we could use something like Kubernetes but first have to fix a level down below it in the software stack. For example, there’s a lot of multi-physics applications going on at the labs right now, but the way those multi-physics applications are usually built is you take four or five different packages and you link them together as one huge static binary as, say, five different codes together in one thing – and then you run that and they all talk together through one shared MPI instance. I would love to have a more microservices approach to compute fine-grained physics, so you could say I want this portion over here doing CFD, this portion over here doing the structural mechanics, and have them communicate with each other through something better than MPI – but we do not have that right now as far as I know.”

The panelists, if not the moderator, all found common ground on one point: there is still a distinction between the requirements of the more traditional HPC side and the enterprise side even as some of those barriers are slowly coming down, or at least being questioned.

“We talked on an earlier panel about the streaming workloads. You have streams of data and you have a microservice that takes that data and then you have a batch type of situation where you have to work with traditional schedulers, resource managers and orchestrators to process a batch of data. So it’s perhaps the environment you need. You use Kubernetes for what it’s built for, microservices, and then you use something that is more batch,” said Alt.

“I think that has to be the way it is in the near-term,” said Boisseau. “These came from different design points, and while enterprise HPC is the fastest-growing part of HPC and while enterprise has embraced Kubernetes and virtualization — all these technologies that the high-end research HPC labs don’t typically use — the reality is they are going to benefit from the maturation of those software tools, but it isn’t today, yet. So when we go talk to customers about HPC purpose-built clusters, we don’t recommend Kubernetes but we recommend Slurm or one of the counterparts, but we do have some customers now who want to repurpose that infrastructure for more of a Kubernetes potentially managed workload by day but then partition off a section to do Slurm job submission on a set of jobs…”

“So there is a mechanism for this to happen, I believe, in the traditional HPC sense,” said Blake. “There’s a whole new batch of jobs that are being created where you have basically a large work queue of simulations that is being driven by machine learning AI system and the machine learning AI system is then feeding back and analyzing saying, ‘OK, this is what I want you to run next.’ And it makes sense in those instances to have Kubernetes for the machine learning part that then issue commands to say like a Slurm…”

“I’ve even seen workloads where they use containers as part of an AI workflow that then gets pushed to run,” said Quick.

“The new stuff can be easily containerized – but the old stuff…MPI and Slurm are together like this and you’ll never pull them apart,” said Blake.

Quick offered a final takeaway and a word of advice, noting that orchestration is very complex and it’s unlikely that one technology will win out above all others.

“I will advise everybody: don’t try and do it yourself. If your core competency does not have something to do with the things we were talking about up here today, buy your way out of the problem because it’s not simple.”

Subscribe to HPCwire's Weekly Update!

Be the most informed person in the room! Stay ahead of the tech trends with industy updates delivered to you every week!

IBM Unveils Latest Achievements in AI Hardware

December 13, 2019

“The increased capabilities of contemporary AI models provide unprecedented recognition accuracy, but often at the expense of larger computational and energetic effort,” IBM Research wrote in a blog post. “Therefor Read more…

By Oliver Peckham

Focused on ‘Silicon TAM,’ Intel Puts Gary Patton, Former GlobalFoundries CTO, in Charge of Design Enablement

December 12, 2019

Change within Intel’s upper management – and to its company mission – has continued as a published report has disclosed that chip technology heavyweight Gary Patton, GlobalFoundries’ CTO and R&D SVP as well a Read more…

By Doug Black

Quantum Bits: Rigetti Debuts New Gates, D-Wave Cuts NEC Deal, AWS Jumps into the Quantum Pool

December 12, 2019

There’s been flurry of significant news in the quantum computing world. Yesterday, Rigetti introduced a new family of gates that reduces circuit depth required on some problems and D-Wave struck a deal with NEC to coll Read more…

By John Russell

How Formula 1 Used Cloud HPC to Build the Next Generation of Racing

December 12, 2019

Formula 1, Rob Smedley explained, is maybe the biggest racing spectacle in the world, with five hundred million fans tuning in for every race. Smedley, a chief engineer with Formula 1’s performance engineering and anal Read more…

By Oliver Peckham

RPI Powers Up ‘AiMOS’ AI Supercomputer

December 11, 2019

Designed to push the frontiers of computing chip and systems performance optimized for AI workloads, an 8 petaflops (Linpack) IBM Power9-based supercomputer has been unveiled in upstate New York that will be used by IBM Read more…

By Doug Black

AWS Solution Channel

Making High Performance Computing Affordable and Accessible for Small and Medium Businesses with HPC on AWS

High performance computing (HPC) brings a powerful set of tools to a broad range of industries, helping to drive innovation and boost revenue in finance, genomics, oil and gas extraction, and other fields. Read more…

IBM Accelerated Insights

GPU Scheduling and Resource Accounting: The Key to an Efficient AI Data Center

[Connect with LSF users and learn new skills in the IBM Spectrum LSF User Community!]

GPUs are the new CPUs

GPUs have become a staple technology in modern HPC and AI data centers. Read more…

At SC19: Developing a Digital Twin

December 11, 2019

In the not too distant future, we can expect to see our skies filled with unmanned aerial vehicles (UAVs) delivering packages, maybe even people, from location to location. In such a world, there will also be a digital twin for each UAV in the fleet: a virtual model that will follow the UAV through its existence, evolving with time. Read more…

By Aaron Dubrow

Focused on ‘Silicon TAM,’ Intel Puts Gary Patton, Former GlobalFoundries CTO, in Charge of Design Enablement

December 12, 2019

Change within Intel’s upper management – and to its company mission – has continued as a published report has disclosed that chip technology heavyweight G Read more…

By Doug Black

Quantum Bits: Rigetti Debuts New Gates, D-Wave Cuts NEC Deal, AWS Jumps into the Quantum Pool

December 12, 2019

There’s been flurry of significant news in the quantum computing world. Yesterday, Rigetti introduced a new family of gates that reduces circuit depth require Read more…

By John Russell

RPI Powers Up ‘AiMOS’ AI Supercomputer

December 11, 2019

Designed to push the frontiers of computing chip and systems performance optimized for AI workloads, an 8 petaflops (Linpack) IBM Power9-based supercomputer has Read more…

By Doug Black

At SC19: Developing a Digital Twin

December 11, 2019

In the not too distant future, we can expect to see our skies filled with unmanned aerial vehicles (UAVs) delivering packages, maybe even people, from location to location. In such a world, there will also be a digital twin for each UAV in the fleet: a virtual model that will follow the UAV through its existence, evolving with time. Read more…

By Aaron Dubrow

Intel’s Jim Clarke on its New Cryo-controller and why Intel isn’t Late to the Quantum Party

December 9, 2019

Intel today introduced the ‘first-of-its-kind’ cryo-controller chip for quantum computing and previewed a cryo-prober tool for characterizing quantum proces Read more…

By John Russell

On the Spack Track @SC19

December 5, 2019

At the annual supercomputing conference, SC19 in Denver, Colorado, there were Spack events each day of the conference. As a reflection of its grassroots heritage, nine sessions were planned by more than a dozen thought leaders from seven organizations, including three U.S. national Department of Energy (DOE) laboratories and Sylabs... Read more…

By Elizabeth Leake

Intel’s New Hyderabad Design Center Targets Exascale Era Technologies

December 3, 2019

Intel's Raja Koduri was in India this week to help launch a new 300,000 square foot design and engineering center in Hyderabad, which will focus on advanced com Read more…

By Tiffany Trader

AWS Debuts 7nm 2nd-Gen Graviton Arm Processor

December 3, 2019

The “x86 Big Bang,” in which market dominance of the venerable Intel CPU has exploded into fragments of processor options suited to varying workloads, has n Read more…

By Doug Black

Using AI to Solve One of the Most Prevailing Problems in CFD

October 17, 2019

How can artificial intelligence (AI) and high-performance computing (HPC) solve mesh generation, one of the most commonly referenced problems in computational engineering? A new study has set out to answer this question and create an industry-first AI-mesh application... Read more…

By James Sharpe

D-Wave’s Path to 5000 Qubits; Google’s Quantum Supremacy Claim

September 24, 2019

On the heels of IBM’s quantum news last week come two more quantum items. D-Wave Systems today announced the name of its forthcoming 5000-qubit system, Advantage (yes the name choice isn’t serendipity), at its user conference being held this week in Newport, RI. Read more…

By John Russell

DARPA Looks to Propel Parallelism

September 4, 2019

As Moore’s law runs out of steam, new programming approaches are being pursued with the goal of greater hardware performance with less coding. The Defense Advanced Projects Research Agency is launching a new programming effort aimed at leveraging the benefits of massive distributed parallelism with less sweat. Read more…

By George Leopold

Ayar Labs to Demo Photonics Chiplet in FPGA Package at Hot Chips

August 19, 2019

Silicon startup Ayar Labs continues to gain momentum with its DARPA-backed optical chiplet technology that puts advanced electronics and optics on the same chip Read more…

By Tiffany Trader

SC19: IBM Changes Its HPC-AI Game Plan

November 25, 2019

It’s probably fair to say IBM is known for big bets. Summit supercomputer – a big win. Red Hat acquisition – looking like a big win. OpenPOWER and Power processors – jury’s out? At SC19, long-time IBMer Dave Turek sketched out a different kind of bet for Big Blue – a small ball strategy, if you’ll forgive the baseball analogy... Read more…

By John Russell

Cray, Fujitsu Both Bringing Fujitsu A64FX-based Supercomputers to Market in 2020

November 12, 2019

The number of top-tier HPC systems makers has shrunk due to a steady march of M&A activity, but there is increased diversity and choice of processing compon Read more…

By Tiffany Trader

Crystal Ball Gazing: IBM’s Vision for the Future of Computing

October 14, 2019

Dario Gil, IBM’s relatively new director of research, painted a intriguing portrait of the future of computing along with a rough idea of how IBM thinks we’ Read more…

By John Russell

Kubernetes, Containers and HPC

September 19, 2019

Software containers and Kubernetes are important tools for building, deploying, running and managing modern enterprise applications at scale and delivering enterprise software faster and more reliably to the end user — while using resources more efficiently and reducing costs. Read more…

By Daniel Gruber, Burak Yenier and Wolfgang Gentzsch, UberCloud

Leading Solution Providers

SC 2019 Virtual Booth Video Tour

AMD
AMD
CEJN
CJEN
DDN
DDN
MELLANOX
MELLANOX
ONE STOP SYSTEMS
ONE STOP SYSTEMS
PANASAS
PANASAS
SIX NINES IT
SIX NINES IT
VERNE GLOBAL
VERNE GLOBAL
WEKAIO
WEKAIO

Intel Debuts New GPU – Ponte Vecchio – and Outlines Aspirations for oneAPI

November 17, 2019

Intel today revealed a few more details about its forthcoming Xe line of GPUs – the top SKU is named Ponte Vecchio and will be used in Aurora, the first plann Read more…

By John Russell

Dell Ramps Up HPC Testing of AMD Rome Processors

October 21, 2019

Dell Technologies is wading deeper into the AMD-based systems market with a growing evaluation program for the latest Epyc (Rome) microprocessors from AMD. In a Read more…

By John Russell

SC19: Welcome to Denver

November 17, 2019

A significant swath of the HPC community has come to Denver for SC19, which began today (Sunday) with a rich technical program. As is customary, the ribbon cutt Read more…

By Tiffany Trader

When Dense Matrix Representations Beat Sparse

September 9, 2019

In our world filled with unintended consequences, it turns out that saving memory space to help deal with GPU limitations, knowing it introduces performance pen Read more…

By James Reinders

Cerebras to Supply DOE with Wafer-Scale AI Supercomputing Technology

September 17, 2019

Cerebras Systems, which debuted its wafer-scale AI silicon at Hot Chips last month, has entered into a multi-year partnership with Argonne National Laboratory and Lawrence Livermore National Laboratory as part of a larger collaboration with the U.S. Department of Energy... Read more…

By Tiffany Trader

With the Help of HPC, Astronomers Prepare to Deflect a Real Asteroid

September 26, 2019

For years, NASA has been running simulations of asteroid impacts to understand the risks (and likelihoods) of asteroids colliding with Earth. Now, NASA and the European Space Agency (ESA) are preparing for the next, crucial step in planetary defense against asteroid impacts: physically deflecting a real asteroid. Read more…

By Oliver Peckham

Jensen Huang’s SC19 – Fast Cars, a Strong Arm, and Aiming for the Cloud(s)

November 20, 2019

We’ve come to expect Nvidia CEO Jensen Huang’s annual SC keynote to contain stunning graphics and lively bravado (with plenty of examples) in support of GPU Read more…

By John Russell

IBM Opens Quantum Computing Center; Announces 53-Qubit Machine

September 19, 2019

Gauging progress in quantum computing is a tricky thing. IBM yesterday announced the opening of the IBM Quantum Computing Center in New York, with five 20-qubit Read more…

By John Russell

  • arrow
  • Click Here for More Headlines
  • arrow
Do NOT follow this link or you will be banned from the site!
Share This