Containers in HPC By Raja.

Slides:



Advertisements
Similar presentations
Virtualization Concept. Virtualization  Real: it exists, you can see it.  Transparent: it exists, you cannot see it  Virtual: it does not exist, you.
Advertisements

Windows Azure Conference 2014 Running Docker on Windows Azure.
UNIX System Administration OS Kernal Copyright 2002, Dr. Ken Hoganson All rights reserved. OS Kernel Concept Kernel or MicroKernel Concept: An OS architecture-design.
9/13/20151 Threads ICS 240: Operating Systems –William Albritton Information and Computer Sciences Department at Leeward Community College –Original slides.
Chapter 6 Operating System Support. This chapter describes how middleware is supported by the operating system facilities at the nodes of a distributed.
ANDROID Presented By Mastan Vali.SK. © artesis 2008 | 2 1. Introduction 2. Platform 3. Software development 4. Advantages Main topics.
Windows Azure Conference 2014 Deploy your Java workloads on Windows Azure.
VirtualBox What you need to know to build a Virtual Machine.
BLU-ICE and the Distributed Control System Constraints for Software Development Strategies Timothy M. McPhillips Stanford Synchrotron Radiation Laboratory.
Operating System What is an Operating System? A program that acts as an intermediary between a user of a computer and the computer hardware. An operating.
GAAIN Virtual Appliances: Virtual Machine Technology for Scientific Data Analysis Arihant Patawari USC Stevens Neuroimaging and Informatics Institute July.
Breaking Barriers Exploding with Possibility Breaking Barriers Exploding with Possibility The Cloud Era Unveiled.
A. Frank - P. Weisberg Operating Systems Structure of Operating Systems.
Docker and Container Technology
Cloud Computing – UNIT - II. VIRTUALIZATION Virtualization Hiding the reality The mantra of smart computing is to intelligently hide the reality Binary->
Red Hat Enterprise Linux Presenter name Title, Red Hat Date.
Copyright © Univa Corporation, All Rights Reserved Using Containers for HPC Workloads HEPiX – Apr 21, 2016 Fritz Ferstl – CTO, Univa.
The Docker Container Approach to Build Scalable and Performance Testing Environment Pankaj Rodge, VMware.
Prof. Jong-Moon Chung’s Lecture Notes at Yonsei University
Computer System Structures
Getting & Running EdgeX Docker Containers
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S
Agenda:- DevOps Tools Chef Jenkins Puppet Apache Ant Apache Maven Logstash Docker New Relic Gradle Git.
Containers How to get started … and win
Containers as a Service with Docker to Extend an Open Platform
DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING CLOUD COMPUTING
Fundamentals Sunny Sharma Microsoft
Current Generation Hypervisor Type 1 Type 2.
Dockerize OpenEdge Srinivasa Rao Nalla.
Dag Toppe Larsen UiB/CERN CERN,
Docker and Azure Container Service
Working With Azure Batch AI
Dag Toppe Larsen UiB/CERN CERN,
Docker Birthday #3.
Learning about Containers in the Real World
In-Depth Introduction to Docker
Docker – kontejnerizacija na serveru Vedran Vučetić, SPAN
CASE STUDY 1: Linux and Android
Why and where does Kutztown University use server virtualization?
Machine Learning Workshop
Containers and Virtualisation
Operating Systems Georgios Varsamopoulos
ASP.NET in Linux and Windows containers
Andrew Pruski SQL Server & Containers
Drupal VM and Docker4Drupal For Drupal Development Platform
Integration of Singularity With Makeflow
Windows Server & Hyper-V Containers Vaggelis Kappas
Microsoft Connect /18/ :32 PM
Drupal VM and Docker4Drupal as Consistent Drupal Development Platform
Coding in the Cloud This slide deck includes recorded video demonstrations of content from the live presentation. Joon-Yee.
Azhagappan Arunachalam
Introduction to Docker
Microsoft Ignite NZ October 2016 SKYCITY, Auckland.
Introduction to Introduction to Singularity
Haiyan Meng and Douglas Thain
Microsoft Ignite NZ October 2016 SKYCITY, Auckland.
Chapter 2: System Structures
Chapter 2: The Linux System Part 1
Intro about Contanier and Docker Technology
B.Ramamurthy Chapter 2 : Appendix
Openstack-alapú privát felhő üzemeltetés
Docker Some slides from Martin Meyer Vagrant Box:
Introduction to Docker
IST346: Virtualization and Containerization
Architecture Agnostic Docker Build Systems
Azure Container Service
Harrison Howell CSCE 824 Dr. Farkas
Container technology, Microservices, and DevOps
Containers on Azure Peter Lasne Sr. Software Development Engineer
Hypervisor A hypervisor or virtual machine monitor (VMM) is computer software, firmware or hardware that creates and runs virtual machines. A computer.
Presentation transcript:

Containers in HPC By Raja

Agenda: What is Containerization ? Different container Containers in HPC Why Singularity? Singularity Architecture Singularity Workflow Singularity commands State of Containers in HPC

What is Containerization? Containers in simple word: solution to the problem of how to get software to run reliably when moved from one environment to another. a container consists of an entire runtime environment: an application, plus all its dependencies, libraries and other binaries, and configuration files needed to run it, bundled into one package

Different Container: Docker Rkt: Rocket Java containers : standalone Java applications like Tomcat Unikernels LXD: From Ubuntu OpenVZ Windows Server Containers Hyper-V Containers

Traditional Virtualization & Modern Container: App2 Guest OS App3 App1 App4 App5 App6 Virtual Machines App1 Libs/Bins App2 App3 App4 Containers Container Engine Hypervisor Host OS Host OS Kernel Hardware Hardware

Containers in HPC: Docker DevOps, micro services, Enterprise applications Singularity : Lawrence Berkeley National Laboratory Application portability (single image file, contain all dependencies) Reproducibility, run cross platform, provide support for legacy OS and apps. Shifter : The National Energy Research Scientific Computing Center (NERSC) Utilize the large number of Docker apps. Provides a way to run them in HPC after a conversion process. It also strip out all the requirements of root so that they are runnable as user process. Univa Grid Engine (UGE) Running Docker containers in HPC, with UGE managing the Docker daemon process

Docker in HPC :Problem Statement Non-authorized users having root access to any of our production networks is considered a security breech Docker uses a root owned daemon No native GPU support No support for MPI… MPI developers estimate this milestone for 2 years from now! No Proper InfiniBand driver Doesn’t support production distributions (yet)… RHEL7 not even completely supported! Complexities with existing scheduling paradigms Root owned container daemons are outside the reach of the resource manager MPI/parallel job runs become increasingly complex

Why Singularity ? The Singularity is run by the user, loads the Singularity container and executes applications as the user. Shell environment is passed to the contained applications Singularity supports X11, MPI and resource managers natively. If you want to be root inside of the container, you must first be root outside of the container

Singularity Architecture:

Singularity Workflow:

Singularity General commands CONTAINER MANAGEMENT COMMANDS (requires root): help - Show additional help for a command bootstrap - Bootstrap a new Singularity image from scratch selftest - Run some self tests to make sure Singularity is installed and operating properly copy - Copy files from your host into the container create - Create a new container image CONTAINER USAGE COMMANDS: expand - Grow the container image exec - Execute a command within container Export - Export the contents of a container via a tar pipe run - Launch a runscript within container Shell - Run a Bourne shell within container Import - Import/add container contents via a tar pipe test - Execute any test code defined within container Mount - Mount a Singularity container image CONTAINER USAGE OPTIONS: CONTAINER REGISTRY COMMANDS: see singularity <command> help Pull - pull a Singularity Hub container to $PWD

State of Containers in HPC: What works well: New applications architected with containers in mind Sequential or multi-threaded Simple IO and networking dependencies What can work but with challenges: Distributed memory apps (like MPI) run on single host GPU integration (issues are socket affinity, for instance) What doesn't really work (yet): Cross-host distributed memory apps Choices Re-architect your software Look towards HPC-specific container technology (Shifter, Singularity) Wait for mainstream container innovation (like Docker) Focus adoption on new software

Demo on next session 