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 industry updates delivered to you every week!

Harvard/Google Use AI to Help Produce Astonishing 3D Map of Brain Tissue

May 10, 2024

Although LLMs are getting all the notice lately, AI techniques of many varieties are being infused throughout science. For example, Harvard researchers, Google, and colleagues published a 3D map in Science this week that Read more…

ISC Preview: Focus Will Be on Top500 and HPC Diversity 

May 9, 2024

Last year's Supercomputing 2023 in November had record attendance, but the direction of high-performance computing was a hot topic on the floor. Expect more of that at the upcoming ISC High Performance 2024, which is hap Read more…

Processor Security: Taking the Wong Path

May 9, 2024

More research at UC San Diego revealed yet another side-channel attack on x86_64 processors. The research identified a new vulnerability that allows precise control of conditional branch prediction in modern processors.� Read more…

The Ultimate 2024 Winter Class Round-Up

May 8, 2024

To make navigating easier, we have compiled a collection of all the 2024 Winter Classic News in this single page round-up. Meet The Teams   Introducing Team Lobo This is the other team from University of New Mex Read more…

How the Chip Industry is Helping a Battery Company

May 8, 2024

Chip companies, once seen as engineering pure plays, are now at the center of geopolitical intrigue. Chip manufacturing firms, especially TSMC and Intel, have become the backbone of devices with an on/off switch. Thes Read more…

Illinois Considers $20 Billion Quantum Manhattan Project Says Report

May 7, 2024

There are multiple reports that Illinois governor Jay Robert Pritzker is considering a $20 billion Quantum Manhattan-like project for the Chicago area. According to the reports, photonics quantum computer developer PsiQu Read more…

ISC Preview: Focus Will Be on Top500 and HPC Diversity 

May 9, 2024

Last year's Supercomputing 2023 in November had record attendance, but the direction of high-performance computing was a hot topic on the floor. Expect more of Read more…

Illinois Considers $20 Billion Quantum Manhattan Project Says Report

May 7, 2024

There are multiple reports that Illinois governor Jay Robert Pritzker is considering a $20 billion Quantum Manhattan-like project for the Chicago area. Accordin Read more…

The NASA Black Hole Plunge

May 7, 2024

We have all thought about it. No one has done it, but now, thanks to HPC, we see what it looks like. Hold on to your feet because NASA has released videos of wh Read more…

How Nvidia Could Use $700M Run.ai Acquisition for AI Consumption

May 6, 2024

Nvidia is touching $2 trillion in market cap purely on the brute force of its GPU sales, and there's room for the company to grow with software. The company hop Read more…

Hyperion To Provide a Peek at Storage, File System Usage with Global Site Survey

May 3, 2024

Curious how the market for distributed file systems, interconnects, and high-end storage is playing out in 2024? Then you might be interested in the market anal Read more…

Qubit Watch: Intel Process, IBM’s Heron, APS March Meeting, PsiQuantum Platform, QED-C on Logistics, FS Comparison

May 1, 2024

Intel has long argued that leveraging its semiconductor manufacturing prowess and use of quantum dot qubits will help Intel emerge as a leader in the race to de Read more…

Stanford HAI AI Index Report: Science and Medicine

April 29, 2024

While AI tools are incredibly useful in a variety of industries, they truly shine when applied to solving problems in scientific and medical discovery. Research Read more…

IBM Delivers Qiskit 1.0 and Best Practices for Transitioning to It

April 29, 2024

After spending much of its December Quantum Summit discussing forthcoming quantum software development kit Qiskit 1.0 — the first full version — IBM quietly Read more…

Nvidia H100: Are 550,000 GPUs Enough for This Year?

August 17, 2023

The GPU Squeeze continues to place a premium on Nvidia H100 GPUs. In a recent Financial Times article, Nvidia reports that it expects to ship 550,000 of its lat Read more…

Synopsys Eats Ansys: Does HPC Get Indigestion?

February 8, 2024

Recently, it was announced that Synopsys is buying HPC tool developer Ansys. Started in Pittsburgh, Pa., in 1970 as Swanson Analysis Systems, Inc. (SASI) by John Swanson (and eventually renamed), Ansys serves the CAE (Computer Aided Engineering)/multiphysics engineering simulation market. Read more…

Intel’s Server and PC Chip Development Will Blur After 2025

January 15, 2024

Intel's dealing with much more than chip rivals breathing down its neck; it is simultaneously integrating a bevy of new technologies such as chiplets, artificia Read more…

Comparing NVIDIA A100 and NVIDIA L40S: Which GPU is Ideal for AI and Graphics-Intensive Workloads?

October 30, 2023

With long lead times for the NVIDIA H100 and A100 GPUs, many organizations are looking at the new NVIDIA L40S GPU, which it’s a new GPU optimized for AI and g Read more…

Choosing the Right GPU for LLM Inference and Training

December 11, 2023

Accelerating the training and inference processes of deep learning models is crucial for unleashing their true potential and NVIDIA GPUs have emerged as a game- Read more…

Shutterstock 1606064203

Meta’s Zuckerberg Puts Its AI Future in the Hands of 600,000 GPUs

January 25, 2024

In under two minutes, Meta's CEO, Mark Zuckerberg, laid out the company's AI plans, which included a plan to build an artificial intelligence system with the eq Read more…

AMD MI3000A

How AMD May Get Across the CUDA Moat

October 5, 2023

When discussing GenAI, the term "GPU" almost always enters the conversation and the topic often moves toward performance and access. Interestingly, the word "GPU" is assumed to mean "Nvidia" products. (As an aside, the popular Nvidia hardware used in GenAI are not technically... Read more…

Nvidia’s New Blackwell GPU Can Train AI Models with Trillions of Parameters

March 18, 2024

Nvidia's latest and fastest GPU, codenamed Blackwell, is here and will underpin the company's AI plans this year. The chip offers performance improvements from Read more…

Leading Solution Providers

Contributors

Shutterstock 1285747942

AMD’s Horsepower-packed MI300X GPU Beats Nvidia’s Upcoming H200

December 7, 2023

AMD and Nvidia are locked in an AI performance battle – much like the gaming GPU performance clash the companies have waged for decades. AMD has claimed it Read more…

Eyes on the Quantum Prize – D-Wave Says its Time is Now

January 30, 2024

Early quantum computing pioneer D-Wave again asserted – that at least for D-Wave – the commercial quantum era has begun. Speaking at its first in-person Ana Read more…

The GenAI Datacenter Squeeze Is Here

February 1, 2024

The immediate effect of the GenAI GPU Squeeze was to reduce availability, either direct purchase or cloud access, increase cost, and push demand through the roof. A secondary issue has been developing over the last several years. Even though your organization secured several racks... Read more…

The NASA Black Hole Plunge

May 7, 2024

We have all thought about it. No one has done it, but now, thanks to HPC, we see what it looks like. Hold on to your feet because NASA has released videos of wh Read more…

Intel Plans Falcon Shores 2 GPU Supercomputing Chip for 2026  

August 8, 2023

Intel is planning to onboard a new version of the Falcon Shores chip in 2026, which is code-named Falcon Shores 2. The new product was announced by CEO Pat Gel Read more…

GenAI Having Major Impact on Data Culture, Survey Says

February 21, 2024

While 2023 was the year of GenAI, the adoption rates for GenAI did not match expectations. Most organizations are continuing to invest in GenAI but are yet to Read more…

Q&A with Nvidia’s Chief of DGX Systems on the DGX-GB200 Rack-scale System

March 27, 2024

Pictures of Nvidia's new flagship mega-server, the DGX GB200, on the GTC show floor got favorable reactions on social media for the sheer amount of computing po Read more…

A Big Memory Nvidia GH200 Next to Your Desk: Closer Than You Think

February 22, 2024

Students of the microprocessor may recall that the original 8086/8088 processors did not have floating point units. The motherboard often had an extra socket fo Read more…

  • arrow
  • Click Here for More Headlines
  • arrow
HPCwire