PBS Pro with Docker Integration

Size: px
Start display at page:

Download "PBS Pro with Docker Integration"

Transcription

1 PBS Pro with Docker Integration Arun Grover Technical Manager 31 August 2015

2 Table of Contents 1. Why Integrate Docker and PBS? How PBS Runs Jobs Using Docker Steps to Integrate PBS and Docker Allowing Multi- vnode Jobs to Spawn Tasks on Sister Vnodes Making Data Available to Jobs Requirements Sample Hook Scripts Job_launch.py (execjob_launch hook) Docker_shutdown.py (execjob_end hook) Usage References For more information, contact Altair at: pbssales@altair.com Copyright Altair Engineering, Inc. All rights reserved. PBS, PBS Works, PBS Professional, PBS Analytics, and e-compute are trademarks of Altair Engineering, Inc. and are protected under U.S. and international laws and treaties. All other marks are the property of their respective owners. PBS Pro with Docker Integration 2

3 1. Why Integrate Docker and PBS? PBS Professional 1 PBS Professional is a fast and powerful workload manager designed to improve productivity, optimize utilization & efficiency, and simplify administration for HPC clusters, clouds and super- computers. PBS Professional automates job scheduling, management, monitoring and reporting. Docker 2 Docker containers wrap up a piece of software in a com- plete file system that con- tains everything it needs to run: code, runtime environ- ment, system tools, system libraries anything you can install on a server. This guarantees that the software will always run the same, regardless of the envi- ronment it is running in. Docker containers protect jobs from the effects of other jobs by controlling the environment; PBS Professional works to use resources optimally, and in order to do so, it may run more than one job on a single host. Each job often has spe- cific environmental needs; for example, some jobs may re- quire that specific versions of third- party libraries are in- stalled in a particular location. However, when applications run on a host directly, they can alter the environment in which they are executing. This can render the environment unsuitable for other jobs or applications. Maintaining a pris- tine environment on the host can therefore generate a lot of administrative overhead. You can avoid this by running jobs or applications inside vir- tual machines, where each job or application gets a dedicat- ed environment to run in, but running jobs in a completely virtualized environment can pose a scaling issue for the host and cause a loss in performance for the application, which may not be acceptable in your HPC environment. A Docker container running on the host OS is much lighter- weight than a virtual machine. It also has the inherent ad- vantage of sharing the same OS libraries and binaries across containers. The workload manager s task is to ensure that a job does not use more than the amount of resources it has requested, and Docker containers make this easier by con- straining or containing the resources that a job can use. Docker containers are built on top of cgroups and LxC and use them to constrain processes. There is one downside to integrating PBS and Docker. Cur- rently, Docker containers present a security problem. For in- stance, if a user were to have root privileges inside a Docker container, there are chances that this user could tamper with the host- mounted filesystem, even though the user has no privileges to do so on the host machine. To sum up, using PBS Professional integrated with Docker, you can run jobs in containers at scale and blend them with other workloads to support heterogeneous applications and environments, maximizing performance and meeting job re- quirements. PBS Pro with Docker Integration 3

4 2. How PBS Runs Jobs Using Docker PBS starts a separate Docker container to run each job; the scope of this container ends with the job. PBS provides the exact same environment to a job in a container that it provides to any other job when staging files in and out, managing a job s output and error files, and exporting envi- ronment variables. When PBS starts a Docker container, it configures the container so that the job cannot use more resources than it explicitly requested. For multi- vnode jobs, PBS configures any Docker containers created on sister MoMs to be net- work- linked to the container running on the mother superior, allowing communication between job tasks on separate execution hosts. When a job ends, PBS manages shutdown of the Docker containers it started for that particular job. 3. Steps to Integrate PBS and Docker 1. Set the environment variable DOCKER_IMAGE to the name of the Docker image in the local repository that PBS will start for each job. 2. Write a queuejob hook that includes either - v DOCKER_IMAGE or - V so that this environ- ment variable is included with each job. 3. Create an execjob_launch hook that launches a Docker container and sets up each job s envi- ronment. We give an example hook in 7.1, Job_launch.py (execjob_launch hook) but we explain what it s doing here. The hook does the following: a. Search the job s Variable_List attribute for the environment variable named DOCK- ER_IMAGE. b. Search the job s Resource_List attribute for ncpus and mem, and pass these resource values to the Docker container as limits on the number of CPUs and amount of memory. c. Collect all of the job s environment variables, both from the job submitter and MoM, in- to a list, and pass the list to the Docker container. d. Mount the following directories in the Docker container: PBS_HOME, PBS_EXEC, the job submitter s home directory, and directories where files are to be staged in and out. This command has the following form: "docker run - v <src dir>:<target dir>" PBS Pro with Docker Integration 4

5 e. Start the Docker container using the image name, resource restrictions, environment list and all mounted directories. Use the job ID as the name of the container. This gives each container a unique name, and we can use that name when we stop the container. f. In order to allow a multi- vnode job script running inside a Docker container to distribute tasks to other vnodes, the container needs to be able to communicate with the MoM running on its host. You can do this using the host network stack inside the container via the "- - net=host" option. We explain further in section 4. g. Before starting the container, the hook sets "docker exec" as the program name to be executed, and the actual job script/executable becomes one of the program arguments. 4. Create an execjob_end hook to strip down the Docker container launched by execjob_launch hook. HOST B HOST A execjob_launch create container Docker container Launch job 1.HOSTA PBS Server PBS MoM delete container execjob_end 4. Allowing Multi- vnode Jobs to Spawn Tasks on Sister Vnodes When you use PBS with Docker containers, a multi- vnode job runs each task on each vnode in- side a container. Each task may need to communicate with the others, so you make containers on sister MoMs network- linked to those on the mother superior. PBS Pro with Docker Integration 5

6 In order to distribute tasks to other vnodes, the TM API connects to the MoM running on its lo- cal host and asks the MoM to distribute tasks to sister MoMs. By default, for a job running in- side a Docker container, TM APIs are not able to find a MoM running on the local host because the Docker container runs its own network stack and the MoM runs on the host machine. To solve this issue, modify the network stack of the container so that the TM API can connect to the MoM running on the host machine. Do this by making container use the host machine's network stack via the "- - net=host" docker run option. (This is included in the sample hook in 7.1.) 1 docker run - it - d - - name <name of container> - - net=host <image name> /bin/bash 5. Making Data Available to Jobs When PBS is integrated with Docker, you can make data files available to jobs running in con- tainers. Whether your job submitter has the data directory mounted or is going to use staging, you can use an execjob_launch hook to mount a pre- defined data directory (in the user s home directo- ry on the execution host) at a mount point in the container, and have job submitters stage files into and out of this pre- defined directory. (We show a diagram for staging, but if your job sub- mitter mounts the data directory, they simply mount it where it would have been staged.) We use this approach below in line 65 of the sample hook shown in section 7.1. In the sample hook, we mount the user s home directory as a data volume in the container: 1 docker run - it - d - - name <name of container> - v <path on host>:<path in container> <image name> /bin/bash Data Host Execution Host User s home directory Docker container Data directory Staging A: Staged- in data A mount at B B: Mount point for A There are some other ways to make data available to jobs. Here are two other options: PBS stages from data storage into a directory in the user s home on the execution host, then Docker copies the files from there into the container using docker cp. You can mount the data storage directories at a mount point in the container. PBS Pro with Docker Integration 6

7 6. Requirements The job submitter must meet the following requirements: Be part of the Docker group. This provides the rights to execute inside the container. Have an account in the OS instance that is launched inside the Docker container. The Docker software installed on the execution host should have the necessary OS instance present in its local repository so that when we create a container it is able to find that OS instance. The re- pository must be locally present on the execution host. 7. Sample Hook Scripts 7.1. Job_launch.py (execjob_launch hook) 1 import os 2 import pbs 3 import copy 4 e = pbs.event() 5 j = e.job 6 args = copy.deepcopy(e.argv) 7 pbs.logmsg(pbs.log_debug, "args are %s " % e.progname) 8 prog = e.progname 9 hdir = "" 10 edir = "" 11 def add_resource_restriction (call): 12 n = j.resource_list["ncpus"] 13 m = j.resource_list["mem"] 14 if n: 15 call += " - c " + str(n) 16 if m: 17 call += " - m " + str(m) 18 return call 19 def add_env (call): 20 for i in e.env: 21 call += " - e " + str(i)+"="+e.env[i] 22 return call 23 def get_pbs_dirs (): 24 global hdir 25 global edir 26 #get PBS_HOME & PBS_EXEC directories 27 hdir = pbs.pbs_conf['pbs_home'] 28 edir = pbs.pbs_conf['pbs_exec'] 29 return 30 def create_container (): 31 global hdir 32 global edir 33 is_ms = j.in_ms_mom() 34 docker = "" 35 call = "" 36 search_container = "docker ps grep "+str(j.id)+" grep - v grep" PBS Pro with Docker Integration 7

8 37 docker = os.popen(search_container).read() 38 jid = j.id 39 pbs.logmsg(pbs.log_debug, "Docker container: %s" % docker) 40 if docker: 41 pbs.logmsg(pbs.log_debug, "Docker container found!") 42 else: 43 v = str(j.variable_list) 44 vl = v.split(",") 45 image = "DOCKER_IMAGE=" 46 os_image = "None" 47 #get image name 48 for i in vl: 49 pbs.logmsg(pbs.log_debug, "Variable is: %s" % i) 50 if i.startswith(image): 51 name = i.split("=",1) 52 os_image = name[1] 53 if "None" in os_image: 54 # No need to run any Docker instance... just bail out! 55 e.accept() 56 pbs.logmsg(pbs.log_debug, "Image is: %s" % os_image) 57 call = "docker run - d - it - - name " + str(jid) 58 call = add_resource_restriction(call); 59 pbs.logmsg(pbs.log_debug, "Resource is : %s" % call) 60 call = add_env(call); 61 pbs.logmsg(pbs.log_debug, "Env is : %s" % call) 62 get_pbs_dirs(); 63 pbs.logmsg(pbs.log_debug, "Directory is : %s" % hdir) 64 job_file=hdir+"/mom_priv/jobs/"+str(jid)+".sc" 65 call += " - v "+str(hdir)+":"+str(hdir)+" "+" - v "+str(edir)+":"+str(edir)+" - v /home:/home - - net=host" 66 call += " " + str(os_image) + " /bin/bash" 67 pbs.logmsg(pbs.log_debug, "Call is : %s" % call) 68 os.popen(call) 69 return 70 def launch_job (): 71 global prog 72 global hdir 73 is_script = prog.find("bash") 74 prog = "" 75 get_pbs_dirs() 76 pbs.logmsg(pbs.log_debug," is_script %d" % is_script) 77 if is_script!= - 1: 78 job_file=hdir+"/mom_priv/jobs/"+str(j.id)+".sc" 79 else: 80 for arg in args: 81 prog=prog+" "+arg e.progname="/usr/bin/docker" 84 e.argv = [] 85 e.argv.append("docker") 86 e.argv.append("exec") 87 e.argv.append(str(j.id)) 88 e.argv.append("/bin/bash") 89 e.argv.append("- c") 90 executable="" PBS Pro with Docker Integration 8

9 91 if is_script!= - 1: 92 pbs.logmsg(pbs.log_debug, "It's a script") 93 e.argv.append(job_file) 94 else: 95 pbs.logmsg(pbs.log_debug, "It's an executable") 96 executable="" 97 for arg in args: 98 executable+=arg+" " 99 pbs.logmsg(pbs.log_debug, "arg[1] : %s" % arg) 100 e.argv.append(executable) 101 return 102 create_container() 103 launch_job() 104 e.accept() 7.2. Docker_shutdown.py (execjob_end hook) 1 import pbs 2 import os 3 4 e = pbs.event() 5 6 j = e.job 7 8 jid = j.id 9 v = str(j.variable_list) 10 vl = v.split(",") 11 image="docker_image=" 12 os_image="none" 13 for i in vl: 14 pbs.logmsg(pbs.log_debug, "Variable is: %s" % i) 15 if i.startswith(image): 16 name = i.split("=",1) 17 os_image = name[1] 18 if "None" in os_image: 19 e.accept() call = "docker stop " + str(jid) 22 pbs.logmsg(pbs.log_debug, "Call is : %s" %call) 23 os.system(call) 24 call = "docker rm " + str(jid) 25 os.system(call) 26 e.accept() 8. Usage To create an execjob_launch hook using the hook script in section 7.1 do the following: 1 $ qmgr - c "c h launch_docker" 2 $ qmgr - c "s h launch_docker event = execjob_launch" 3 $ qmgr - c "i h launch_docker application/x- python default tmp/docker_launcher.py" PBS Pro with Docker Integration 9

10 To create an execjob_end hook using the hook script in section 7.2 do the following: 1 $ qmgr - c "c h stop_docker" 2 $ qmgr - c "s h stop_docker event = execjob_end" 3 $ qmgr - c "i h stop_docker application/x- python default tmp/docker_shutdown.py" To submit a job requesting a specific Docker image to run on (for example, centos:7 ), do the following: 1 $ qsub - lselect=1:ncpus=<ncpus>:mem=<mem> - v DOCKER_IMAGE="centos:7" <job script> 9. References 1 PBS Professional: HPC Workload Manager and Job Scheduler ( Professional&c=Overview- and- Capabilities) 2 What is Docker? ( PBS Pro with Docker Integration 10

Scheduling Jobs onto Intel Xeon Phi using PBS Professional

Scheduling Jobs onto Intel Xeon Phi using PBS Professional Scheduling Jobs onto Intel Xeon Phi using PBS Professional Scott Suchyta 1 1 Altair Engineering Inc., 1820 Big Beaver Road, Troy, MI 48083, USA Abstract As new hardware and technology arrives, it is imperative

More information

PBS Professional Integration with HP CMU

PBS Professional Integration with HP CMU Adam Diaz July 2010 www.pbsworks.com Copyright 2010 Altair Engineering, Inc. All rights reserved. PBS, PBS Works, PBS Professional, PBS Analytics, PBS Catalyst, e-biochem, e-compute, and e-render are trademarks

More information

PBS Professional Quick Start Guide

PBS Professional Quick Start Guide PBS Professional Quick Start Guide Altair PBS Professional 14.2.1, updated 19 January 2017 Copyright 2003-2017 Altair Engineering, Inc. All rights reserved. PBS, PBS Works, PBS GridWorks, PBS Professional,

More information

Presented By: Gregory M. Kurtzer HPC Systems Architect Lawrence Berkeley National Laboratory CONTAINERS IN HPC WITH SINGULARITY

Presented By: Gregory M. Kurtzer HPC Systems Architect Lawrence Berkeley National Laboratory CONTAINERS IN HPC WITH SINGULARITY Presented By: Gregory M. Kurtzer HPC Systems Architect Lawrence Berkeley National Laboratory gmkurtzer@lbl.gov CONTAINERS IN HPC WITH SINGULARITY A QUICK REVIEW OF THE LANDSCAPE Many types of virtualization

More information

Altair. PBS Professional 9.1. Quick Start Guide. for UNIX, Linux, and Windows

Altair. PBS Professional 9.1. Quick Start Guide. for UNIX, Linux, and Windows Altair PBS Professional 9.1 Quick Start Guide for UNIX, Linux, and Windows PBS Professional TM Quick Start Guide Altair PBS Professional TM 9.0, Updated: October 23, 2007 Edited by: Anne Urban Copyright

More information

Andrej Filipčič

Andrej Filipčič Singularity@SiGNET Andrej Filipčič SiGNET 4.5k cores, 3PB storage, 4.8.17 kernel on WNs and Gentoo host OS 2 ARC-CEs with 700TB cephfs ARC cache and 3 data delivery nodes for input/output file staging

More information

Opportunities for container environments on Cray XC30 with GPU devices

Opportunities for container environments on Cray XC30 with GPU devices Opportunities for container environments on Cray XC30 with GPU devices Cray User Group 2016, London Sadaf Alam, Lucas Benedicic, T. Schulthess, Miguel Gila May 12, 2016 Agenda Motivation Container technologies,

More information

Guillimin HPC Users Meeting

Guillimin HPC Users Meeting Guillimin HPC Users Meeting July 16, 2015 guillimin@calculquebec.ca McGill University / Calcul Québec / Compute Canada Montréal, QC Canada Outline Compute Canada News Storage Updates Software Updates Training

More information

Singularity: container formats

Singularity: container formats Singularity Easy to install and configure Easy to run/use: no daemons no root works with scheduling systems User outside container == user inside container Access to host resources Mount (parts of) filesystems

More information

TORQUE Resource Manager Quick Start Guide Version

TORQUE Resource Manager Quick Start Guide Version TORQUE Resource Manager Quick Start Guide Version High Performance Computing Center Ferdowsi University of Mashhad http://www.um.ac.ir/hpcc Jan. 2006 1 Contents 1 Introduction 3 1.1 Feature................................

More information

Trust Separation on the XC40 using PBS Pro

Trust Separation on the XC40 using PBS Pro Trust Separation on the XC40 using PBS Pro Sam Clarke May 2017 Overview About the Met Office workload Trust zone design Node configuration Lustre implementation PBS Implementation Use of hooks Placement

More information

Frequently Asked Questions (FAQ)

Frequently Asked Questions (FAQ) PBS Analytics TM 12.2 Frequently Asked Questions (FAQ) PBS Works is a division of Altair PBS Analytics 12.2 Frequently Asked Questions (FAQ) updated 12/9/13 Copyright 2003-2013 Altair Engineering, Inc.

More information

Investigating Containers for Future Services and User Application Support

Investigating Containers for Future Services and User Application Support Investigating Containers for Future Services and User Application Support JLAB CNI NLIT 2018 () Overview JLAB scope What is a container? Why are we interested? Platform-as-a-Service (PaaS) for orchestration

More information

Shifter on Blue Waters

Shifter on Blue Waters Shifter on Blue Waters Why Containers? Your Computer Another Computer (Supercomputer) Application Application software libraries System libraries software libraries System libraries Why Containers? Your

More information

Containers. Pablo F. Ordóñez. October 18, 2018

Containers. Pablo F. Ordóñez. October 18, 2018 Containers Pablo F. Ordóñez October 18, 2018 1 Welcome Song: Sola vaya Interpreter: La Sonora Ponceña 2 Goals Containers!= ( Moby-Dick ) Containers are part of the Linux Kernel Make your own container

More information

Running applications on the Cray XC30

Running applications on the Cray XC30 Running applications on the Cray XC30 Running on compute nodes By default, users do not access compute nodes directly. Instead they launch jobs on compute nodes using one of three available modes: 1. Extreme

More information

Running Schlumberger Simulators in a PBS Professional Computing Environment:

Running Schlumberger Simulators in a PBS Professional Computing Environment: Running Schlumberger Simulators in a PBS Professional Computing Environment: Integration White Paper and How-To Guide Owen Brazell and Steve Messenger - Schlumberger Graham Russell and Dario Dorella -

More information

CS-580K/480K Advanced Topics in Cloud Computing. Container III

CS-580K/480K Advanced Topics in Cloud Computing. Container III CS-580/480 Advanced Topics in Cloud Computing Container III 1 Docker Container https://www.docker.com/ Docker is a platform for developers and sysadmins to develop, deploy, and run applications with containers.

More information

High Performance Containers. Convergence of Hyperscale, Big Data and Big Compute

High Performance Containers. Convergence of Hyperscale, Big Data and Big Compute High Performance Containers Convergence of Hyperscale, Big Data and Big Compute Christian Kniep Technical Account Manager, Docker Brief Recap of Container Technology Brief History of Container Technology

More information

Automatic Dependency Management for Scientific Applications on Clusters. Ben Tovar*, Nicholas Hazekamp, Nathaniel Kremer-Herman, Douglas Thain

Automatic Dependency Management for Scientific Applications on Clusters. Ben Tovar*, Nicholas Hazekamp, Nathaniel Kremer-Herman, Douglas Thain Automatic Dependency Management for Scientific Applications on Clusters Ben Tovar*, Nicholas Hazekamp, Nathaniel Kremer-Herman, Douglas Thain Where users are Scientist says: "This demo task runs on my

More information

Shell Scripting. With Applications to HPC. Edmund Sumbar Copyright 2007 University of Alberta. All rights reserved

Shell Scripting. With Applications to HPC. Edmund Sumbar Copyright 2007 University of Alberta. All rights reserved AICT High Performance Computing Workshop With Applications to HPC Edmund Sumbar research.support@ualberta.ca Copyright 2007 University of Alberta. All rights reserved High performance computing environment

More information

Docker for HPC? Yes, Singularity! Josef Hrabal

Docker for HPC? Yes, Singularity! Josef Hrabal Docker for HPC? Yes, Singularity! Josef Hrabal IT4Innovations josef.hrabal@vsb.cz support@it4i.cz Virtual Machine Hardware (CPU, Memory, NIC, HDD) Host OS (Windows, Linux, MacOS) Hypervisor (VirtualBox,

More information

An introduction to Docker

An introduction to Docker An introduction to Docker Ing. Vincenzo Maffione Operating Systems Security Container technologies on Linux Several light virtualization technologies are available for Linux They build on cgroups, namespaces

More information

4 Effective Tools for Docker Monitoring. By Ranvijay Jamwal

4 Effective Tools for Docker Monitoring. By Ranvijay Jamwal 4 Effective Tools for Docker Monitoring By Ranvijay Jamwal CONTENT 1. The need for Container Technologies 2. Introduction to Docker 2.1. What is Docker? 2.2. Why is Docker popular? 2.3. How does a Docker

More information

DGX-1 DOCKER USER GUIDE Josh Park Senior Solutions Architect Contents created by Jack Han Solutions Architect

DGX-1 DOCKER USER GUIDE Josh Park Senior Solutions Architect Contents created by Jack Han Solutions Architect DGX-1 DOCKER USER GUIDE 17.08 Josh Park Senior Solutions Architect Contents created by Jack Han Solutions Architect AGENDA Introduction to Docker & DGX-1 SW Stack Docker basic & nvidia-docker Docker image

More information

Shifter at CSCS Docker Containers for HPC

Shifter at CSCS Docker Containers for HPC Shifter at CSCS Docker Containers for HPC HPC Advisory Council Swiss Conference Alberto Madonna, Lucas Benedicic, Felipe A. Cruz, Kean Mariotti - CSCS April 9 th, 2018 Table of Contents 1. Introduction

More information

DUCC Installation and Verification Excerpt From Complete DUCC Documentation

DUCC Installation and Verification Excerpt From Complete DUCC Documentation DUCC Installation and Verification Excerpt From Complete DUCC Documentation Written and maintained by the Apache UIMA TM Development Community Copyright c 2012 The Apache Software Foundation Copyright

More information

Containerizing GPU Applications with Docker for Scaling to the Cloud

Containerizing GPU Applications with Docker for Scaling to the Cloud Containerizing GPU Applications with Docker for Scaling to the Cloud SUBBU RAMA FUTURE OF PACKAGING APPLICATIONS Turns Discrete Computing Resources into a Virtual Supercomputer GPU Mem Mem GPU GPU Mem

More information

DEPLOYMENT MADE EASY!

DEPLOYMENT MADE EASY! DEPLOYMENT MADE EASY! Presented by Hunde Keba & Ashish Pagar 1 DSFederal Inc. We provide solutions to Federal Agencies Our technology solutions connect customers to the people they serve 2 Necessity is

More information

Centre de Calcul de l Institut National de Physique Nucléaire et de Physique des Particules. Singularity overview. Vanessa HAMAR

Centre de Calcul de l Institut National de Physique Nucléaire et de Physique des Particules. Singularity overview. Vanessa HAMAR Centre de Calcul de l Institut National de Physique Nucléaire et de Physique des Particules Singularity overview Vanessa HAMAR Disclaimer } The information in this presentation was compiled from different

More information

PBS Analytics TM Release Notes. PBS Works is a division of

PBS Analytics TM Release Notes. PBS Works is a division of PBS Analytics TM 12.2 Release Notes PBS Works is a division of Altair PBS Analytics 12.2 Release Notes updated 12/9/13 Copyright 2003-2013 Altair Engineering, Inc. All Rights Reserved Altair PBS Works,

More information

Using Docker in High Performance Computing in OpenPOWER Environment

Using Docker in High Performance Computing in OpenPOWER Environment Using Docker in High Performance Computing in OpenPOWER Environment Zhaohui Ding, Senior Product Architect Sam Sanjabi, Advisory Software Engineer IBM Platform Computing #OpenPOWERSummit Join the conversation

More information

Slurm basics. Summer Kickstart June slide 1 of 49

Slurm basics. Summer Kickstart June slide 1 of 49 Slurm basics Summer Kickstart 2017 June 2017 slide 1 of 49 Triton layers Triton is a powerful but complex machine. You have to consider: Connecting (ssh) Data storage (filesystems and Lustre) Resource

More information

Important DevOps Technologies (3+2+3days) for Deployment

Important DevOps Technologies (3+2+3days) for Deployment Important DevOps Technologies (3+2+3days) for Deployment DevOps is the blending of tasks performed by a company's application development and systems operations teams. The term DevOps is being used in

More information

Introduction to containers

Introduction to containers Introduction to containers Nabil Abdennadher nabil.abdennadher@hesge.ch 1 Plan Introduction Details : chroot, control groups, namespaces My first container Deploying a distributed application using containers

More information

Bright Cluster Manager: Using the NVIDIA NGC Deep Learning Containers

Bright Cluster Manager: Using the NVIDIA NGC Deep Learning Containers Bright Cluster Manager: Using the NVIDIA NGC Deep Learning Containers Technical White Paper Table of Contents Pre-requisites...1 Setup...2 Run PyTorch in Kubernetes...3 Run PyTorch in Singularity...4 Run

More information

Who is Docker and how he can help us? Heino Talvik

Who is Docker and how he can help us? Heino Talvik Who is Docker and how he can help us? Heino Talvik heino.talvik@seb.ee heino.talvik@gmail.com What is Docker? Software guy view: Marriage of infrastucture and Source Code Management Hardware guy view:

More information

Arup Nanda VP, Data Services Priceline.com

Arup Nanda VP, Data Services Priceline.com Jumpstarting Docker Arup Nanda VP, Data Services Priceline.com My application worked in Dev but not in QA Will it work in production? I need an environment right now No, I can t wait for 2 weeks I just

More information

Do not start the test until instructed to do so!

Do not start the test until instructed to do so! Instructions: Print your name in the space provided below. This examination is closed book and closed notes, aside from the permitted one-page formula sheet. No calculators or other electronic devices

More information

Content. MPIRUN Command Environment Variables LoadLeveler SUBMIT Command IBM Simple Scheduler. IBM PSSC Montpellier Customer Center

Content. MPIRUN Command Environment Variables LoadLeveler SUBMIT Command IBM Simple Scheduler. IBM PSSC Montpellier Customer Center Content IBM PSSC Montpellier Customer Center MPIRUN Command Environment Variables LoadLeveler SUBMIT Command IBM Simple Scheduler Control System Service Node (SN) An IBM system-p 64-bit system Control

More information

Batch environment PBS (Running applications on the Cray XC30) 1/18/2016

Batch environment PBS (Running applications on the Cray XC30) 1/18/2016 Batch environment PBS (Running applications on the Cray XC30) 1/18/2016 1 Running on compute nodes By default, users do not log in and run applications on the compute nodes directly. Instead they launch

More information

Guest Shell. Finding Feature Information. Information About Guest Shell. Guest Shell Overview

Guest Shell. Finding Feature Information. Information About Guest Shell. Guest Shell Overview Guestshell is a virtualized Linux-based environment, designed to run custom Linux applications, including Python for automated control and management of Cisco devices. It also includes the automated provisioning

More information

PVS Deployment in the Cloud. Last Updated: June 17, 2016

PVS Deployment in the Cloud. Last Updated: June 17, 2016 PVS Deployment in the Cloud Last Updated: June 17, 2016 Contents Amazon Web Services Introduction 3 Software Requirements 4 Set up a NAT Gateway 5 Install PVS on the NAT Gateway 11 Example Deployment 12

More information

Introduction To. Barry Grant

Introduction To. Barry Grant Introduction To Barry Grant bjgrant@umich.edu http://thegrantlab.org Working with Unix How do we actually use Unix? Inspecting text files less - visualize a text file: use arrow keys page down/page up

More information

Introduction to parallel computing

Introduction to parallel computing Introduction to parallel computing using R and the Claudia Vitolo 1 1 Department of Civil and Environmental Engineering Imperial College London Civil Lunches, 16.10.2012 Outline 1 Parallelism What s parallel

More information

Deploy containers on your cluster - A proof of concept

Deploy containers on your cluster - A proof of concept Deploy containers on your cluster - A proof of concept What is HPC cluster (in my world!) Where do I come from? Run and maintain a bioinformatics cluster at Bioinformatic Research Centre (BiRC), Aarhus

More information

Asterisk & the Docker revolution Some lessons from the trenches

Asterisk & the Docker revolution Some lessons from the trenches Asterisk & the Docker revolution Some lessons from the trenches Asterisk Africa Johannesburg - March 14, 2018 Presented by: Lenz Emilitri Founder, Loway @lenz Today s presentation Docker Benefits How it

More information

Docker A FRAMEWORK FOR DATA INTENSIVE COMPUTING

Docker A FRAMEWORK FOR DATA INTENSIVE COMPUTING Docker A FRAMEWORK FOR DATA INTENSIVE COMPUTING Agenda Intro / Prep Environments Day 1: Docker Deep Dive Day 2: Kubernetes Deep Dive Day 3: Advanced Kubernetes: Concepts, Management, Middleware Day 4:

More information

Midterm Presentation Schedule

Midterm Presentation Schedule Midterm Presentation Schedule October 18 th Aurora, Bash, Sangam October 20 th Flash, Omega, CodeRing October 25th Omni, Aviato, NPComplete Mid Term Presentation Format 25 minutes Be prepared to use the

More information

High- Throughput High- Resolution Cryo- EM on the Cheap

High- Throughput High- Resolution Cryo- EM on the Cheap High- Throughput High- Resolution Cryo- EM on the Cheap EM close to the bone Scott Stagg Institute of Molecular Biophysics Florida State University Computational needs Data collection Data storage Preprocessing

More information

Building A Better Test Platform:

Building A Better Test Platform: Building A Better Test Platform: A Case Study of Improving Apache HBase Testing with Docker Aleks Shulman, Dima Spivak Outline About Cloudera Apache HBase Overview API compatibility API compatibility testing

More information

OS Virtualization. Linux Containers (LXC)

OS Virtualization. Linux Containers (LXC) OS Virtualization Emulate OS-level interface with native interface Lightweight virtual machines No hypervisor, OS provides necessary support Referred to as containers Solaris containers, BSD jails, Linux

More information

Faculté Polytechnique

Faculté Polytechnique Faculté Polytechnique INFORMATIQUE PARALLÈLE ET DISTRIBUÉE TP : CLOUD COMPUTING Sidi Ahmed Mahmoudi sidi.mahmoudi@umons.ac.be 13 December 2017 PLAN I. Part I : Docket Presentation Reminder of Virtualization

More information

User interface for a computational cluster: resource description approach

User interface for a computational cluster: resource description approach User interface for a computational cluster: resource description approach A. Bogdanov 1,a, V. Gaiduchok 1,2, N. Ahmed 2, P. Ivanov 2, M. Kamande 2, A. Cubahiro 2 1 Saint Petersburg State University, 7/9,

More information

PBS Professional 11.1

PBS Professional 11.1 PBS Professional 11.1 PBS Works is a division of Altair PBS Professional 11.1 Installation & Upgrade Guide, updated 7/1/ 11, edited by Anne Urban Copyright 2003-2011 Altair Engineering, Inc. All rights

More information

PBS Pro and Ansys Examples

PBS Pro and Ansys Examples PBS Pro and Ansys Examples Introduction This document contains a number of different types of examples of using Ansys on the HPC, listed below. 1. Single-node Ansys Job 2. Single-node CFX Job 3. Single-node

More information

AcuSolve Performance Benchmark and Profiling. October 2011

AcuSolve Performance Benchmark and Profiling. October 2011 AcuSolve Performance Benchmark and Profiling October 2011 Note The following research was performed under the HPC Advisory Council activities Participating vendors: Intel, Dell, Mellanox, Altair Compute

More information

CONTAINERIZING JOBS ON THE ACCRE CLUSTER WITH SINGULARITY

CONTAINERIZING JOBS ON THE ACCRE CLUSTER WITH SINGULARITY CONTAINERIZING JOBS ON THE ACCRE CLUSTER WITH SINGULARITY VIRTUAL MACHINE (VM) Uses so&ware to emulate an en/re computer, including both hardware and so&ware. Host Computer Virtual Machine Host Resources:

More information

An Integrated Approach to Workload and Cluster Management: The HP CMU PBS Professional Connector

An Integrated Approach to Workload and Cluster Management: The HP CMU PBS Professional Connector An Integrated Approach to Workload and Cluster Management: The HP CMU PBS Professional Connector Scott Suchyta Altair Engineering Inc., 1820 Big Beaver Road, Troy, MI 48083, USA Contents 1 Abstract...

More information

[Docker] Containerization

[Docker] Containerization [Docker] Containerization ABCD-LMA Working Group Will Kinard October 12, 2017 WILL Kinard Infrastructure Architect Software Developer Startup Venture IC Husband Father Clemson University That s me. 2 The

More information

Singularity: Containers for High-Performance Computing. Grigory Shamov Nov 21, 2017

Singularity: Containers for High-Performance Computing. Grigory Shamov Nov 21, 2017 Singularity: Containers for High-Performance Computing Grigory Shamov Nov 21, 2017 Outline Software and High Performance Computing: Installation/Maintenance of the HPC Software stack Why containers and

More information

Building a Secure Data Environment. Maureen Dougherty Center for High-Performance Computing University of Southern California

Building a Secure Data Environment. Maureen Dougherty Center for High-Performance Computing University of Southern California Building a Secure Data Environment Maureen Dougherty Center for High-Performance Computing University of Southern California Secure Data Environment USC Center for High-Performance Computing (HPC) created

More information

NBIC TechTrack PBS Tutorial. by Marcel Kempenaar, NBIC Bioinformatics Research Support group, University Medical Center Groningen

NBIC TechTrack PBS Tutorial. by Marcel Kempenaar, NBIC Bioinformatics Research Support group, University Medical Center Groningen NBIC TechTrack PBS Tutorial by Marcel Kempenaar, NBIC Bioinformatics Research Support group, University Medical Center Groningen 1 NBIC PBS Tutorial This part is an introduction to clusters and the PBS

More information

BEST PRACTICES FOR DOCKER

BEST PRACTICES FOR DOCKER BEST PRACTICES FOR DOCKER DG-08863-001 _v001 December 2018 Best Practices TABLE OF CONTENTS Chapter 1. NVIDIA Container Best Practices...1 1.1. Hello World For Containers... 1 1.2. Logging Into Docker...

More information

Guest Shell. Finding Feature Information. Information About Guest Shell. Guest Shell Overview

Guest Shell. Finding Feature Information. Information About Guest Shell. Guest Shell Overview Guestshell is a virtualized Linux-based environment, designed to run custom Linux applications, including Python for automated control and management of Cisco devices. It also includes the automated provisioning

More information

Think Small to Scale Big

Think Small to Scale Big Think Small to Scale Big Intro to Containers for the Datacenter Admin Pete Zerger Principal Program Manager, MVP pete.zerger@cireson.com Cireson Lee Berg Blog, e-mail address, title Company Pete Zerger

More information

LSST software stack and deployment on other architectures. William O Mullane for Andy Connolly with material from Owen Boberg

LSST software stack and deployment on other architectures. William O Mullane for Andy Connolly with material from Owen Boberg LSST software stack and deployment on other architectures William O Mullane for Andy Connolly with material from Owen Boberg Containers and Docker Packaged piece of software with complete file system it

More information

How to run applications on Aziz supercomputer. Mohammad Rafi System Administrator Fujitsu Technology Solutions

How to run applications on Aziz supercomputer. Mohammad Rafi System Administrator Fujitsu Technology Solutions How to run applications on Aziz supercomputer Mohammad Rafi System Administrator Fujitsu Technology Solutions Agenda Overview Compute Nodes Storage Infrastructure Servers Cluster Stack Environment Modules

More information

DCLI User's Guide. Modified on 20 SEP 2018 Data Center Command-Line Interface

DCLI User's Guide. Modified on 20 SEP 2018 Data Center Command-Line Interface Modified on 20 SEP 2018 Data Center Command-Line Interface 2.10.0 You can find the most up-to-date technical documentation on the VMware website at: https://docs.vmware.com/ If you have comments about

More information

Travis Cardwell Technical Meeting

Travis Cardwell Technical Meeting .. Introduction to Docker Travis Cardwell Tokyo Linux Users Group 2014-01-18 Technical Meeting Presentation Motivation OS-level virtualization is becoming accessible Docker makes it very easy to experiment

More information

Introduction to Containers

Introduction to Containers Introduction to Containers Shawfeng Dong Principal Cyberinfrastructure Engineer University of California, Santa Cruz What are Containers? Containerization, aka operating-system-level virtualization, refers

More information

Red Hat Containers Cheat Sheet

Red Hat Containers Cheat Sheet Red Hat Containers Cheat Sheet Table of Contents Introduction Commands Key 1. Container Runtime Engine 1.A) Container Related Commands 1.B) Image Related Commands 1.C) Network Related Commands 1.D) Registry

More information

Using CFEngine with Open Nebula A CFEngine Special Topics Handbook

Using CFEngine with Open Nebula A CFEngine Special Topics Handbook Using CFEngine with Open Nebula A CFEngine Special Topics Handbook CFEngine AS This guide explains how CFEngine can be used in conjunction with the Open Nebula cloud controller software. It offers a simple

More information

Shell Programming. Introduction to Linux. Peter Ruprecht Research CU Boulder

Shell Programming. Introduction to Linux. Peter Ruprecht  Research CU Boulder Introduction to Linux Shell Programming Peter Ruprecht peter.ruprecht@colorado.edu www.rc.colorado.edu Downloadable Materials Slides and examples available at https://github.com/researchcomputing/ Final_Tutorials/

More information

OpenPBS Users Manual

OpenPBS Users Manual How to Write a PBS Batch Script OpenPBS Users Manual PBS scripts are rather simple. An MPI example for user your-user-name: Example: MPI Code PBS -N a_name_for_my_parallel_job PBS -l nodes=7,walltime=1:00:00

More information

NGC CONTAINER. DU _v02 November User Guide

NGC CONTAINER. DU _v02 November User Guide NGC CONTAINER DU-08812-001_v02 November 2017 User Guide TABLE OF CONTENTS Chapter 1. Docker Containers... 1 1.1. What Is A Docker Container?... 1 1.2. Why Use A Container?... 2 Chapter 2. Prerequisites...3

More information

Microservice Deployment. Software Engineering II Sharif University of Technology MohammadAmin Fazli

Microservice Deployment. Software Engineering II Sharif University of Technology MohammadAmin Fazli Microservice Software Engineering II Sharif University of Technology MohammadAmin Fazli Topics Continuous Integration & Microservices Continuous Delivery Artifacts Custom Images Environments Service Configuration

More information

STATUS OF PLANS TO USE CONTAINERS IN THE WORLDWIDE LHC COMPUTING GRID

STATUS OF PLANS TO USE CONTAINERS IN THE WORLDWIDE LHC COMPUTING GRID The WLCG Motivation and benefits Container engines Experiments status and plans Security considerations Summary and outlook STATUS OF PLANS TO USE CONTAINERS IN THE WORLDWIDE LHC COMPUTING GRID SWISS EXPERIENCE

More information

ViryaOS RFC: Secure Containers for Embedded and IoT. A proposal for a new Xen Project sub-project

ViryaOS RFC: Secure Containers for Embedded and IoT. A proposal for a new Xen Project sub-project ViryaOS RFC: Secure Containers for Embedded and IoT A proposal for a new Xen Project sub-project Stefano Stabellini @stabellinist The problem Package applications for the target Contain all dependencies

More information

Docker Cheat Sheet. Introduction

Docker Cheat Sheet. Introduction Docker Cheat Sheet Introduction Containers allow the packaging of your application (and everything that you need to run it) in a "container image". Inside a container you can include a base operational

More information

Backpacking with Code: Software Portability for DHTC Wednesday morning, 9:00 am Christina Koch Research Computing Facilitator

Backpacking with Code: Software Portability for DHTC Wednesday morning, 9:00 am Christina Koch Research Computing Facilitator Backpacking with Code: Software Portability for DHTC Wednesday morning, 9:00 am Christina Koch (ckoch5@wisc.edu) Research Computing Facilitator University of Wisconsin - Madison Understand the basics of...

More information

DCLI User's Guide. Data Center Command-Line Interface

DCLI User's Guide. Data Center Command-Line Interface Data Center Command-Line Interface 2.10.2 You can find the most up-to-date technical documentation on the VMware website at: https://docs.vmware.com/ If you have comments about this documentation, submit

More information

Booting a Galaxy Instance

Booting a Galaxy Instance Booting a Galaxy Instance Create Security Groups First time Only Create Security Group for Galaxy Name the group galaxy Click Manage Rules for galaxy Click Add Rule Choose HTTPS and Click Add Repeat Security

More information

Running in parallel. Total number of cores available after hyper threading (virtual cores)

Running in parallel. Total number of cores available after hyper threading (virtual cores) First at all, to know how many processors/cores you have available in your computer, type in the terminal: $> lscpu The output for this particular workstation is the following: Architecture: x86_64 CPU

More information

USING DOCKER FOR MXCUBE DEVELOPMENT AT MAX IV

USING DOCKER FOR MXCUBE DEVELOPMENT AT MAX IV USING DOCKER FOR MXCUBE DEVELOPMENT AT MAX IV Fredrik Bolmsten, Antonio Milán Otero K.I.T.S. Group at Max IV - 2017 1 OVERVIEW What is Docker? How does it work? How we use it for MxCUBE How to create a

More information

ECE 550D Fundamentals of Computer Systems and Engineering. Fall 2017

ECE 550D Fundamentals of Computer Systems and Engineering. Fall 2017 ECE 550D Fundamentals of Computer Systems and Engineering Fall 2017 The Operating System (OS) Prof. John Board Duke University Slides are derived from work by Profs. Tyler Bletsch and Andrew Hilton (Duke)

More information

BEST PRACTICES FOR DOCKER

BEST PRACTICES FOR DOCKER BEST PRACTICES FOR DOCKER DG-08863-001 _v001 March 2018 Best Practices TABLE OF CONTENTS Chapter 1. Docker Best Practices with NVIDIA Containers... 1 1.1. Prerequisites... 1 1.1.1. Hello World For Containers...

More information

DCLI User's Guide. Data Center Command-Line Interface 2.9.1

DCLI User's Guide. Data Center Command-Line Interface 2.9.1 Data Center Command-Line Interface 2.9.1 You can find the most up-to-date technical documentation on the VMware website at: https://docs.vmware.com/ If you have comments about this documentation, submit

More information

PBS Professional Programmer s Guide. PBS Works is a division of

PBS Professional Programmer s Guide. PBS Works is a division of PBS Professional 13.0 Programmer s Guide PBS Works is a division of You are reading the Altair PBS Professional 13.0 Programmer s Guide (PG) Updated 6/7/15 Copyright 2003-2015 Altair Engineering, Inc.

More information

Knights Landing production environment on MARCONI

Knights Landing production environment on MARCONI Knights Landing production environment on MARCONI Alessandro Marani - a.marani@cineca.it March 20th, 2017 Agenda In this presentation, we will discuss - How we interact with KNL environment on MARCONI

More information

TORQUE Resource Manager5.0.2 release notes

TORQUE Resource Manager5.0.2 release notes TORQUE Resource Manager release notes The release notes file contains the following sections: New Features on page 1 Differences on page 2 Known Issues on page 4 Resolved issues on page 4 New Features

More information

Reduces latency and buffer overhead. Messaging occurs at a speed close to the processors being directly connected. Less error detection

Reduces latency and buffer overhead. Messaging occurs at a speed close to the processors being directly connected. Less error detection Switching Operational modes: Store-and-forward: Each switch receives an entire packet before it forwards it onto the next switch - useful in a general purpose network (I.e. a LAN). usually, there is a

More information

PBS Pro Documentation

PBS Pro Documentation Introduction Most jobs will require greater resources than are available on individual nodes. All jobs must be scheduled via the batch job system. The batch job system in use is PBS Pro. Jobs are submitted

More information

Running Docker* Containers on Intel Xeon Phi Processors

Running Docker* Containers on Intel Xeon Phi Processors Running Docker* Containers on Intel Xeon Phi Processors White Paper March 2017 Revision 001 Document Number: 335644-001US Notice: This document contains information on products in the design phase of development.

More information

Choosing an Interface

Choosing an Interface White Paper SUSE Enterprise Storage SUSE Enterprise Storage is a versatile, self-healing, and fault-tolerant storage alternative. The Ceph storage system embedded in SUSE Enterprise Storage is an object-based

More information

Linux Essentials. Smith, Roderick W. Table of Contents ISBN-13: Introduction xvii. Chapter 1 Selecting an Operating System 1

Linux Essentials. Smith, Roderick W. Table of Contents ISBN-13: Introduction xvii. Chapter 1 Selecting an Operating System 1 Linux Essentials Smith, Roderick W. ISBN-13: 9781118106792 Table of Contents Introduction xvii Chapter 1 Selecting an Operating System 1 What Is an OS? 1 What Is a Kernel? 1 What Else Identifies an OS?

More information

Cluster Network Products

Cluster Network Products Cluster Network Products Cluster interconnects include, among others: Gigabit Ethernet Myrinet Quadrics InfiniBand 1 Interconnects in Top500 list 11/2009 2 Interconnects in Top500 list 11/2008 3 Cluster

More information

Linux Essentials Objectives Topics:

Linux Essentials Objectives Topics: Linux Essentials Linux Essentials is a professional development certificate program that covers basic knowledge for those working and studying Open Source and various distributions of Linux. Exam Objectives

More information

Shark Cluster Overview

Shark Cluster Overview Shark Cluster Overview 51 Execution Nodes 1 Head Node (shark) 2 Graphical login nodes 800 Cores = slots 714 TB Storage RAW Slide 1/17 Introduction What is a High Performance Compute (HPC) cluster? A HPC

More information

agenda PAE Docker Docker PAE

agenda PAE Docker Docker PAE Docker 2016.03.26 agenda PAE Docker Docker PAE 2 3 PAE PlCloud APP Engine Docker Docker Caas APP 4 APP APP volume images 5 App 6 APP Show Time 7 8 Docker Public DockerHup Private registry push pull AUFS

More information