SlideShare a Scribd company logo
Containers and HPC
Olli-Pekka Lehto (@ople)
Services for Research Work Together Days
Dec 17th 2015
Making It Easy to Do Custom HPC
Environments
Or rather..
Olli-Pekka Lehto (@ople)
Services for Research Work Together Days
Dec 17th 2015
What is Docker?
• Helps to manage and run applications with
complex dependencies quickly and efficiently
• Management framework for Linux Containers
• Containers:
– Instances isolated within a namespace
– Kernel shared with host OS
– Resources guaranteed using Linux cgroups
• Grown into a complete ecosystem
– docker-swarm, docker-machine, docker-compose…
What is Docker?
Docker Adoption is Rapid
Interest in HPC is growing
http://www.lanl.gov/projects/apex/_assets/docs/APEX2020_draft_tech_specs_v1.0.pdf
http://investors.cray.com/phoenix.zhtml?c=98390&p=irol-newsArticle&ID=2112970
Why Docker
• Fast initialization (10-1000x vs VMs)
• Small memory overhead
• Efficient disk usage
• Bare-metal access to devices
• Built-in version control and repository support
– Simple sharing of containers
• Simple launch mechanism
– Can be run within batch job queue system
Bare-metal HPCCloud HPC
CSC-built
apps
User-built CSC-
compatible
apps
Hosting
Windows
Non-SLURM batch
queue system
Ubuntu
“I need/want Root”
VM image app
Web Servers
Preservation of SW stack
Secure access
Complex stack
Current Choices for HPC Workloads
Cloud HPC Container HPC Bare-metal HPC
CSC-built
apps
User-built CSC-
compatible
apps
Hosting
Windows
Non-SLURM batch
queue system
Ubuntu
“I need/want Root”
VM image app
Secure access
Web Servers
Preservation of SW stack
Complex stack
Containerized app
Future Choices for HPC Workloads
Example Case
“My HPC application needs Ubuntu”
• Alternative 1: Adapt the application
– Takes time and work
– May not be possible with ISV codes
• Alternative 2: Run it in the cloud
– You may get to play cluster admin!
– Scheduling is limited in OpenStack (no backfill etc.)
– Running a short job has large initialization overhead
– Performance penalties
• Alternative 3: Run it in a container
– No need to touch the application
– Nearly as easy to run as a normal job
– Very little overhead
– Can use the normal batch job scheduler
Challenges for HPC Use
• Security model is problematic
– Initially designed for server environments
• Only trusted users have shell access to server
– Containers launched as root
– Access to bare metal & device drivers
• Requires an overlay FS & kernel modules
– Relatively new Linux OS version needed
• Daemon must run on every compute node
• Low-level driver compatibility?
– GPU, InfiniBand, Lustre
Shifter
• Alternative to Docker daemon
– Adapts containers to HPC use
• Repacks into a new filesystem (squashfs)
– Integrates with batch job queue systems
• No need to run a daemon on compute nodes
• Developed by NERSC for Cori (Cray XC40)
– Pre-release version available
– Cray is productizing it
• Parallel jobs? Driver issues?
https://www.nersc.gov/research-and-development/user-defined-images/
https://bitbucket.org/berkeleylab/shifter
Next Steps / Ideas
• Piloting Shifter in 2016
– Sisu, Taito, Taito-shell
• Custom interactive containers in taito-shell
• Containerized CSC compute environment?
– Customers could run on their own laptops,
workstations and/or clusters
– Starting point for users’ own customizations
– Having our environment in config management
would make it easier
Extras
EasyBuild + Docker?
• Dockerfile can be used to define a container
– Simple flat file with a script-like syntax
– Specific to Docker
• Using EasyBuild with Docker?
– Target also VMs or bare-metal with same config
– Update portions of the stack easily
– Manage dependencies
– Leverage the rich set of EasyBuild configs
– Which way to do it?
• Using EasyBuild in a container or
• Building containers with EasyBuild?

More Related Content

PDF
Docker for HPC: how E4 is using it
PDF
HPC in a Box - Docker Workshop at ISC 2015
PDF
Docker for HPC in a Nutshell
PPTX
'Package Once/Run Anywhere' Big Data and HPC workloads
PDF
Kubernetes 架構與虛擬化之差異
PDF
Testing kubernetes and_open_shift_at_scale_20170209
PPTX
Kubernetes and OpenStack at Scale
PDF
Virtualization inside kubernetes
Docker for HPC: how E4 is using it
HPC in a Box - Docker Workshop at ISC 2015
Docker for HPC in a Nutshell
'Package Once/Run Anywhere' Big Data and HPC workloads
Kubernetes 架構與虛擬化之差異
Testing kubernetes and_open_shift_at_scale_20170209
Kubernetes and OpenStack at Scale
Virtualization inside kubernetes

What's hot (20)

PDF
Introduction to OCI Image Technologies Serving Container
PDF
K8s storage-glusterfs-20180210
PDF
The relationship between Docker, Kubernetes and CRI
PDF
Persistent Data Storage for Docker Containers by Andre Moruga
PDF
Shifter: Containers in HPC Environments
PDF
Rebuild - Simplifying Embedded and IoT Development Using Linux Containers
PDF
KubeCon EU 2016: Bringing an open source Containerized Container Platform to ...
PDF
Containers & container orchestration
PDF
How to Integrate Kubernetes in OpenStack
PDF
CNCF Projects Overview
PDF
OpenStack Kolla project update rocky release
PPTX
containerd the universal container runtime
PDF
Kubernetes on the Edge / 在邊緣的K8S
PPTX
OpenShift Application Development | DO288 | Red Hat OpenShift
PDF
Building stateful applications on Kubernetes with Rook
PDF
OpenNebula Conf 2014 | OpenNebula as alternative to commercial virtualization...
PDF
Red Hat Summit 2017: Wicked Fast PaaS: Performance Tuning of OpenShift and D...
PPTX
Kubernetes Introduction & Whats new in Kubernetes 1.6
PDF
Dockerizing OpenStack for High Availability
Introduction to OCI Image Technologies Serving Container
K8s storage-glusterfs-20180210
The relationship between Docker, Kubernetes and CRI
Persistent Data Storage for Docker Containers by Andre Moruga
Shifter: Containers in HPC Environments
Rebuild - Simplifying Embedded and IoT Development Using Linux Containers
KubeCon EU 2016: Bringing an open source Containerized Container Platform to ...
Containers & container orchestration
How to Integrate Kubernetes in OpenStack
CNCF Projects Overview
OpenStack Kolla project update rocky release
containerd the universal container runtime
Kubernetes on the Edge / 在邊緣的K8S
OpenShift Application Development | DO288 | Red Hat OpenShift
Building stateful applications on Kubernetes with Rook
OpenNebula Conf 2014 | OpenNebula as alternative to commercial virtualization...
Red Hat Summit 2017: Wicked Fast PaaS: Performance Tuning of OpenShift and D...
Kubernetes Introduction & Whats new in Kubernetes 1.6
Dockerizing OpenStack for High Availability
Ad

Viewers also liked (20)

PDF
Using Xeon + FPGA for Accelerating HPC Workloads
PPT
Lustre And Nfs V4
PDF
OFI libfabric Tutorial
PPTX
On Docker and its use for LHC at CERN
PDF
What HPC can learn from DevOps?
PDF
Cobit trainigng schedule
PPTX
Continuous is great
PDF
AGILE CHM J-Marselje v5.2
PPTX
The Vertically Integrated Apple Pie: How vertical integration drives the need...
PDF
Eitm Technical Brief
PPT
Help us free the kees
PPTX
Omista oma työsi sytyke seminaari 2016 09
PDF
Adaptive Business Capability
PPTX
Leading IT Service Management from Scrum to Kanban
PDF
Itil V3 New Process Maps
PPTX
Lean it aamiaisseminaari2016_06
PPTX
How to apply risk management to IT
PDF
Alibaba Cloud Conference 2016 - Docker Open Source
PPTX
How to apply lean to it
PPTX
My view on Lean IT
Using Xeon + FPGA for Accelerating HPC Workloads
Lustre And Nfs V4
OFI libfabric Tutorial
On Docker and its use for LHC at CERN
What HPC can learn from DevOps?
Cobit trainigng schedule
Continuous is great
AGILE CHM J-Marselje v5.2
The Vertically Integrated Apple Pie: How vertical integration drives the need...
Eitm Technical Brief
Help us free the kees
Omista oma työsi sytyke seminaari 2016 09
Adaptive Business Capability
Leading IT Service Management from Scrum to Kanban
Itil V3 New Process Maps
Lean it aamiaisseminaari2016_06
How to apply risk management to IT
Alibaba Cloud Conference 2016 - Docker Open Source
How to apply lean to it
My view on Lean IT
Ad

Similar to Containers and HPC (20)

PPTX
Lessons learned from running Spark on Docker
PPTX
Moby KubeCon 2017
PDF
컨테이너 기술 소개 - Warden, Garden, Docker
PDF
Docker handons-workshop-for-charity
PDF
DevOps Supercharged with Docker on Exadata
PPTX
Intro Docker october 2013
PPTX
Using Docker in production: Get started today!
PPTX
Introduction to automated environment management with Docker Containers - for...
PPTX
Docker and kubernetes
PDF
Lightweight Virtualization Docker in Practice
PDF
Docker in pratice -chenyifei
PDF
Containers in depth – Understanding how containers work to better work with c...
PDF
PPTX
BRKSDN-2115
PPTX
Intro to Docker October 2013
PDF
Kubernetes – An open platform for container orchestration
PPTX
Secure Your Containers: What Network Admins Should Know When Moving Into Prod...
PPTX
Lessons Learned Running Hadoop and Spark in Docker Containers
PDF
The ABC of Docker: The Absolute Best Compendium of Docker
PDF
Linux Containers and Docker SHARE.ORG Seattle 2015
Lessons learned from running Spark on Docker
Moby KubeCon 2017
컨테이너 기술 소개 - Warden, Garden, Docker
Docker handons-workshop-for-charity
DevOps Supercharged with Docker on Exadata
Intro Docker october 2013
Using Docker in production: Get started today!
Introduction to automated environment management with Docker Containers - for...
Docker and kubernetes
Lightweight Virtualization Docker in Practice
Docker in pratice -chenyifei
Containers in depth – Understanding how containers work to better work with c...
BRKSDN-2115
Intro to Docker October 2013
Kubernetes – An open platform for container orchestration
Secure Your Containers: What Network Admins Should Know When Moving Into Prod...
Lessons Learned Running Hadoop and Spark in Docker Containers
The ABC of Docker: The Absolute Best Compendium of Docker
Linux Containers and Docker SHARE.ORG Seattle 2015

Recently uploaded (20)

PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PPT
Teaching material agriculture food technology
PDF
Encapsulation theory and applications.pdf
PDF
Approach and Philosophy of On baking technology
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
Unlocking AI with Model Context Protocol (MCP)
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
NewMind AI Monthly Chronicles - July 2025
PDF
Empathic Computing: Creating Shared Understanding
Dropbox Q2 2025 Financial Results & Investor Presentation
Diabetes mellitus diagnosis method based random forest with bat algorithm
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Advanced methodologies resolving dimensionality complications for autism neur...
Mobile App Security Testing_ A Comprehensive Guide.pdf
NewMind AI Weekly Chronicles - August'25 Week I
CIFDAQ's Market Insight: SEC Turns Pro Crypto
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Teaching material agriculture food technology
Encapsulation theory and applications.pdf
Approach and Philosophy of On baking technology
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Unlocking AI with Model Context Protocol (MCP)
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
Spectral efficient network and resource selection model in 5G networks
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
Review of recent advances in non-invasive hemoglobin estimation
NewMind AI Monthly Chronicles - July 2025
Empathic Computing: Creating Shared Understanding

Containers and HPC

  • 1. Containers and HPC Olli-Pekka Lehto (@ople) Services for Research Work Together Days Dec 17th 2015
  • 2. Making It Easy to Do Custom HPC Environments Or rather.. Olli-Pekka Lehto (@ople) Services for Research Work Together Days Dec 17th 2015
  • 3. What is Docker? • Helps to manage and run applications with complex dependencies quickly and efficiently • Management framework for Linux Containers • Containers: – Instances isolated within a namespace – Kernel shared with host OS – Resources guaranteed using Linux cgroups • Grown into a complete ecosystem – docker-swarm, docker-machine, docker-compose…
  • 6. Interest in HPC is growing http://www.lanl.gov/projects/apex/_assets/docs/APEX2020_draft_tech_specs_v1.0.pdf http://investors.cray.com/phoenix.zhtml?c=98390&p=irol-newsArticle&ID=2112970
  • 7. Why Docker • Fast initialization (10-1000x vs VMs) • Small memory overhead • Efficient disk usage • Bare-metal access to devices • Built-in version control and repository support – Simple sharing of containers • Simple launch mechanism – Can be run within batch job queue system
  • 8. Bare-metal HPCCloud HPC CSC-built apps User-built CSC- compatible apps Hosting Windows Non-SLURM batch queue system Ubuntu “I need/want Root” VM image app Web Servers Preservation of SW stack Secure access Complex stack Current Choices for HPC Workloads
  • 9. Cloud HPC Container HPC Bare-metal HPC CSC-built apps User-built CSC- compatible apps Hosting Windows Non-SLURM batch queue system Ubuntu “I need/want Root” VM image app Secure access Web Servers Preservation of SW stack Complex stack Containerized app Future Choices for HPC Workloads
  • 10. Example Case “My HPC application needs Ubuntu” • Alternative 1: Adapt the application – Takes time and work – May not be possible with ISV codes • Alternative 2: Run it in the cloud – You may get to play cluster admin! – Scheduling is limited in OpenStack (no backfill etc.) – Running a short job has large initialization overhead – Performance penalties • Alternative 3: Run it in a container – No need to touch the application – Nearly as easy to run as a normal job – Very little overhead – Can use the normal batch job scheduler
  • 11. Challenges for HPC Use • Security model is problematic – Initially designed for server environments • Only trusted users have shell access to server – Containers launched as root – Access to bare metal & device drivers • Requires an overlay FS & kernel modules – Relatively new Linux OS version needed • Daemon must run on every compute node • Low-level driver compatibility? – GPU, InfiniBand, Lustre
  • 12. Shifter • Alternative to Docker daemon – Adapts containers to HPC use • Repacks into a new filesystem (squashfs) – Integrates with batch job queue systems • No need to run a daemon on compute nodes • Developed by NERSC for Cori (Cray XC40) – Pre-release version available – Cray is productizing it • Parallel jobs? Driver issues? https://www.nersc.gov/research-and-development/user-defined-images/ https://bitbucket.org/berkeleylab/shifter
  • 13. Next Steps / Ideas • Piloting Shifter in 2016 – Sisu, Taito, Taito-shell • Custom interactive containers in taito-shell • Containerized CSC compute environment? – Customers could run on their own laptops, workstations and/or clusters – Starting point for users’ own customizations – Having our environment in config management would make it easier
  • 15. EasyBuild + Docker? • Dockerfile can be used to define a container – Simple flat file with a script-like syntax – Specific to Docker • Using EasyBuild with Docker? – Target also VMs or bare-metal with same config – Update portions of the stack easily – Manage dependencies – Leverage the rich set of EasyBuild configs – Which way to do it? • Using EasyBuild in a container or • Building containers with EasyBuild?