Scientific Filesystem. Vanessa Sochat

Size: px
Start display at page:

Download "Scientific Filesystem. Vanessa Sochat"

Transcription

1 Scientific Filesystem Vanessa Sochat 1

2 Welcome! 2

3 Welcome! 3

4

5 Let s all be friends! 5

6 Once upon a time There was a scientist

7

8

9

10 Foo Bar foo bar

11

12 e c n e sci + 12

13 Pipeline foobar foo bar?

14 Pipeline foobar foo bar

15 Pipeline foobar foo bar

16 Pipeline foobar foo bar reproducible

17 Give it a try?

18 foo bar

19 ENTRYPOINT foo bar

20 What about the human component of reproducibility? 20

21 metadata foo bar content

22 control metadata foo bar content

23 ENTRYPOINT control Entrypoint Environment Metadata metadata foo bar content Software Libraries Scripts

24 Where are foo and bar? 24

25 ENTRYPOINT control metadata foo bar content

26 ENTRYPOINT control metadata foo bar exec./foobar content

27 ENTRYPOINT control metadata foo bar exec./foobar./bar./foo content

28 ENTRYPOINT control metadata foo bar exec./foobar./bar./foo content fo o bar

29 I just want to run bar. 29

30 Solution 1: More containers foo bar

31 Solution 1: More containers foo bar

32 Solution 2: Custom entrypoint If foo: exec foo else If bar: exec bar else: exec foobar

33 Solution 2: Custom entrypoint If foo: exec foo else If bar: exec bar else: exec foobar BESTAPP=FOO BESTAPP=BAR EXPORT BESTAPP

34 fo bar o

35 The Linux Filesystem Hierarchy was not optimized for scientific applications. 35

36 control foo

37 Linux Filesystem Hierarchy

38 control foo metadata bar metadata foo bar global content

39 Let s make a Scientific Filesystem! 39

40 What is SCIF? The specification defines a filesystem structure and environment variable namespace that interact with functions to produce discoverable software applications. 40

41 Client A controller for a SCIF, either for a developer or a user Integration A third party software or tool that understands the SCIF structure and interacts with all or some portion of it 41

42 Goals Enable users to easily generate predictable, discoverable applications A recipe format that maps to a SCIF, and vice versa Software to generate and manage SCIF 42

43 Non-Goals The Scientific Filesystem (SCIF) explicitly does not implement, define, or provide in v0.2: Package Management Workflow Management A mechanism for authentication and authorization or management of file permissions. Support or integration with non-linux operating systems. 43

44 Metadata Entry Points BESTAPP=foo VERSION=1.0./run-foo.sh./run-bar.sh The SCIF Recipe Content Files Install Routine 44

45 The SCIF Recipe Metadata Entry Points BESTAPP=foo VERSION=1.0./run-foo.sh./run-bar.sh Content Files Install Routine 45

46 %apprun hello-world /bin/bash hello-world.sh %appinstall hello-world echo "echo 'Hello World!'" >> $SCIF_APPBIN/hello-world.sh %app[action] [name] chmod u+x $SCIF_APPBIN/hello-world.sh %appenv hello-world THEBESTAPP=$SCIF_APPNAME export THEBESTAPP %applabels hello-world MAINTAINER Vanessasaur %apphelp hello-world This is an example "Hello World" application. You can install it to a Scientific Filesystem (scif) with the command: scif install hello-world.scif he -wo d.s i

47 Developer Interaction recipe.scif scif install recipe.scif scif run foo write recipe install interact

48 User Interaction recipe.scif scif install recipe.scif scif run foo write recipe install interact

49 User Interaction./container scif run foo interact apps run exec help inspect shell pyshell

50 ./scif apps docker run vanessa/scif:hw apps./scif-cli apps

51 ./scif apps docker run vanessa/scif:hw apps./scif-cli apps

52 ./scif run hello-world docker run vanessa/scif:hw run hello-world-echo./scif-cli run hello-world-echo %apprun hello-world-echo exec echo Hello World!

53 ./scif run hello-world docker run vanessa/scif:hw run hello-world-echo./scif-cli run hello-world-echo %apprun hello-world-echo exec echo Hello World!

54 ./scif exec hello-world docker run vanessa/scif:hw exec hello-world echo [e]omg./scif-cli exec hello-world echo [e]omg %appenv hello-world OMG=TACOS export OMG

55 ./scif exec hello-world docker run vanessa/scif:hw exec hello-world echo [e]omg./scif-cli exec hello-world echo [e]omg %appenv hello-world OMG=TACOS export OMG

56

57 ./scif inspect hello-world

58 ./scif help hello-world docker run vanessa/scif:hw help hello-world./scif-cli help hello-world %apphelp hello-world This is an example "Hello World" application. You can install it to a Scientific Filesystem (scif) with the command: scif install hello-world.scif

59 ./scif shell hello-world %appenv hello-world OMG=TACOS export OMG

60 ./scif shell hello-world

61 ./scif pyshell

62

63 Architecture The Scientific Filesystem has a default root on the host to intentionally be separate from standard linux folders, and to not interfere with likely existing folders (e.g., just /data or /apps). /scif /apps /data

64 Organization scif entrypoint foo runtime /scif /apps foo /foo /bin /lib /scif runscript runscript.help labels.json environment.sh

65 Organization scif entrypoint foo runtime /scif /apps foo /foo $PATH /bin $LD_LIBRARY_PATH /lib /scif runscript runscript.help labels.json environment.sh

66 Interaction./container apps foo bar /scif /apps /bar /foo

67 Interaction /scif /apps./container exec bar [command] /foo /bin /lib /scif runscript runscript.help labels.json environment.sh

68 Interaction /scif /apps./container run bar [args] /foo /bin /lib /scif runscript runscript.help labels.json environment.sh

69 Interaction /scif /apps./container shell bar $SCIF_SHELL./container pyshell bar /foo /bin /lib /scif runscript runscript.help labels.json environment.sh

70 Environment Namespace 70

71

72 ./container run foo foo active bar sleeping

73 ./container run foo BESTAPP=FOO! foo active bar sleeping

74 ./container run foo BESTAPP=FOO! foo active bar sleeping

75 foo active

76

77 What can I do with a SCIF? 77

78 - expose multiple container entrypoints - package metrics/evaluation alongside the analysis - SCIF apps as different working environments, runtime - SCIF apps for different runtime contexts

79 What are we going to do today? 79

80 What are we going to do today? Build Containers Run a Workflow Evaluate Across different container technologies, all with the same scientific filesystem (SCIF) The same snakemake workflow made modular by SCIF applications How do the different container technologies compare? 80

81

82 Scientific Pipeline - Felix Bartusch - variant calling - Snakemake 82

83 What level of modularity? 83

84 - Level 1: Container Modularity - One entrypoint Run the entire thing, or don t./container

85 - Level 2: Pipeline Modularity - Multiple entrypoints Correspond to pipeline steps Step collection of commands./container apps mapping sorting./container run mapping mapping sorting

86 - Level 3: Developer Modularity - Expose lowest level executables Ideal for building pipelines Step core tools./container apps bwa samtools./container run samtools bwa samtools

87 A Scientific Filesystem Design for Variant Calling What level of modularity should be exposed to interact with the container? bwa samtools graphviz_create_dag snakemake./container apps bwa samtools graphviz_create_dag snakemake

88 What did I do with the container? Build Containers Run a Workflow Evaluate 88

89 Container Comparisons What steps did we take across container technologies? 0. install the software 1. build the container 2. run components of the workflow 3. run the entire workflow

90 What did we learn? What did I learn about user interaction? Good software without documentation and tutorial for several use cases is akin to a treasure chest on a remote planet.

91 Container Comparisons What steps did we take across container technologies? 0. install the software

92 Container Comparisons What steps did we take across container technologies? 0. install the software 1. Documentation is the first interaction a. b. c. d. Finding it Is it up to date? Is there too much detail? Is there a clear avenue to get more help?

93 Container Comparisons What steps did we take across container technologies? 0. install the software 1. build the container

94 Container Comparisons What steps did we take across container technologies? 0. install the software 1. build the container 1. Examples are needed for learning a. Does it show me all the things I might need? i. binds ii. options iii. permissions

95 Container Comparisons What steps did we take across container technologies? 0. install the software 1. build the container 2. run components of the workflow

96 Container Comparisons What steps did we take across container technologies? 0. install the software 1. build the container 2. run components of the workflow 1. Establish boundaries a. show inside vs. outside

97 Container Comparisons What steps did we take across container technologies? 0. install the software 1. build the container 2. run components of the workflow 3. run the entire workflow

98 Run the entire workflow! 98

99 runc --root /tmp/runc run --bundle /tmp/runc snakemake.runc docker run -v $PWD/data:/scif/data:z -v $PWD:/scif/data/snakemake:z -it vanessa/snakemake.scif run snakemake all singularity run --bind data/:/scif/data snakemake.simg run snakemake all ch-run --cd $PWD -b data:/scif/data /var/tmp/snakemake.ch -- /opt/conda/bin/scif run snakemake all shifter --image=vanessa/snakemake.scif --volume `pwd`/data:/scif/data --workdir /scif/data /opt/conda/bin/scif run snakemake all

100 command runc --root /tmp/runc run --bundle /tmp/runc snakmake.runc docker run -v $PWD/data:/scif/data:z -v $PWD:/scif/data/snakemake:z -it vanessa/snakemake.scif run snakemake all singularity run --bind data/:/scif/data snakemake.simg run snakemake all ch-run --cd $PWD -b data:/scif/data /var/tmp/snakemake.ch -- /opt/conda/bin/scif run snakemake all shifter --image=vanessa/snakemake.scif --volume `pwd`/data:/scif/data --workdir /scif/data /opt/conda/bin/scif run snakemake all

101 executable runc --root /tmp/runc run --bundle /tmp/runc snakemake.runc docker run -v $PWD/data:/scif/data -v $PWD:/scif/data/snakemake -it vanessa/snakemake.scif run snakemake all singularity run --bind data/:/scif/data snakemake.simg run snakemake all ch-run --cd $PWD -b data:/scif/data /var/tmp/snakemake.ch -- /opt/conda/bin/scif run snakemake all shifter --image=vanessa/snakemake.scif --volume `pwd`/data:/scif/data --workdir /scif/data /opt/conda/bin/scif run snakemake all

102 executable + action runc --root /tmp/runc run --bundle /tmp/runc snakmake.runc docker run -v $PWD/data:/scif/data -v $PWD:/scif/data/snakemake -it vanessa/snakemake.scif run snakemake all singularity run --bind data/:/scif/data snakemake.simg run snakemake all ch-run --cd $PWD -b data:/scif/data /var/tmp/snakemake.ch -- /opt/conda/bin/scif run snakemake all shifter --image=vanessa/snakemake.scif --volume `pwd`/data:/scif/data --workdir /scif/data /opt/conda/bin/scif run snakemake all

103 container runc --root /tmp/runc run --bundle /tmp/runc snakemake.runc docker run -v $PWD/data:/scif/data -v $PWD:/scif/data/snakemake -it vanessa/snakemake.scif run snakemake all singularity run --bind data/:/scif/data snakemake.simg run snakemake all ch-run --cd $PWD -b data:/scif/data /var/tmp/snakemake.ch -- /opt/conda/bin/scif run snakemake all shifter --image=vanessa/snakemake.scif --volume `pwd`/data:/scif/data --workdir /scif/data /opt/conda/bin/scif run snakemake all

104 volumes / mounts runc --root /tmp/runc run --bundle /tmp/runc snakmake.runc docker run -v $PWD/data:/scif/data -v $PWD:/scif/data/snakemake -it vanessa/snakemake.scif run snakemake all singularity run --bind data/:/scif/data snakemake.simg run snakemake all ch-run --cd $PWD -b data:/scif/data /var/tmp/snakemake.ch -- /opt/conda/bin/scif run snakemake all shifter --image=vanessa/snakemake.scif --volume `pwd`/data:/scif/data --workdir /scif/data /opt/conda/bin/scif run snakemake all

105 executable action options container options command

106 106

107 Are the outputs comparable? 107

108 Results are the same $ diff results/docker/calls.vcf results/singularity/calls.vcf 28c28 < ##bcftools_callcommand=call -mv -; Date=Sat Mar 10 01:07: > ##bcftools_callcommand=call -mv -; Date=Fri Mar 9 20:07: $ diff results/docker/calls.vcf results/runc/calls.vcf 28c28 < ##bcftools_callcommand=call -mv -; Date=Sat Mar 10 01:07: > ##bcftools_callcommand=call -mv -; Date=Sat Mar 10 01:08: $ diff results/docker/calls.vcf results/shifter/calls.vcf 28c28 < ##bcftools_callcommand=call -mv -; Date=Sat Mar 10 01:07: > ##bcftools_callcommand=call -mv -; Date=Mon Mar 12 20:45: $ diff results/docker/calls.vcf results/charliecloud/calls.vcf 28c28 < ##bcftools_callcommand=call -mv -; Date=Sat Mar 10 01:07: > ##bcftools_callcommand=call -mv -; Date=Sat Mar 10 01:07: vs

109 What did we learn? Do the technologies produce the same result? From the perspective of the scientist, we have comparable resource usage and produce the same output.

110 What about resource usage? 110

111 singularity run --bind data/:/scif/data snakemake.simg run valgrind singularity run --bind data/:/scif/data snakemake.simg run timeit

112

113

114

115

116

117 ...but how do my choices of the content, and host, influence my result?

118 Does Heap Consumption Vary Across Machine Type?

119

120 Local machine sregistry build build template cloud builder cloud storage sregistry pull sregistry pull vsoch/hello-world:latest...

121 n1-standard-1 n1-standard-2 n1-standard-4 n1-standard-8

122 n1-standard-1 n1-standard-2 n1-standard-4 n1-standard-8

123 n1-standard-1 n1-standard-2 n1-standard-4 n1-standard-8

124 Does Heap Consumption Vary Across Machine Type? Variant calling memory usage is comparable from 1 to 64 cores

125 What is the optimal design?

126 tensorflow 17.0 tensorflow 17.1 theano theano 1.0.0

127 tensorflow 17.0 tensorflow 17.1 theano theano 1.0.0

128 TLDR 128

129 ! g n i h t e m a t does the s I 129

130 Containerization seems to produce a reproducible workflow.

131 We need to make tools that are usable across technologies.

132 Transparency, ease of use, and ability to contribute are important.

133 It s our job to encourage introspection and evaluation of variation.

134 Once upon a time There was a scientist

135 There was a reproducibility crisis

136 ...but friends were there to help :)

137

138 PRESENTER: VANESSASAURUS THIS IS THE END

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

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

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

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

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

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

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

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

Dockerfile & docker CLI Cheat Sheet

Dockerfile & docker CLI Cheat Sheet Dockerfile & docker CLI Cheat Sheet Table of Contents Introduction 1 1. docker CLI Engine 2 1.1 Container Related s 2 1.2 Image Related s 4 1.3 Network Related s 5 1.4 Registry Related s 6 1.5 Volume Related

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

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

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

Cross platform enablement for the yocto project with containers. ELC 2017 Randy Witt Intel Open Source Technology Center

Cross platform enablement for the yocto project with containers. ELC 2017 Randy Witt Intel Open Source Technology Center Cross platform enablement for the yocto project with containers ELC 2017 Randy Witt Intel Open Source Technology Center My personal problems Why d I even do this? THE multiple distro Problem Yocto Project

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

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

Shifter and Singularity on Blue Waters

Shifter and Singularity on Blue Waters Shifter and Singularity on Blue Waters Maxim Belkin June 7, 2018 A simplistic view of a scientific application DATA RESULTS My Application Received an allocation on Blue Waters! DATA RESULTS My Application

More information

Linux Systems Administration Shell Scripting Basics. Mike Jager Network Startup Resource Center

Linux Systems Administration Shell Scripting Basics. Mike Jager Network Startup Resource Center Linux Systems Administration Shell Scripting Basics Mike Jager Network Startup Resource Center mike.jager@synack.co.nz These materials are licensed under the Creative Commons Attribution-NonCommercial

More information

A Hands-On Tutorial: RNA Sequencing Using High-Performance Computing

A Hands-On Tutorial: RNA Sequencing Using High-Performance Computing A Hands-On Tutorial: RNA Sequencing Using Computing February 11th and 12th, 2016 1st session (Thursday) Preliminaries: Linux, HPC, command line interface Using HPC: modules, queuing system Presented by:

More information

Network softwarization Lab session 2: OS Virtualization Networking

Network softwarization Lab session 2: OS Virtualization Networking Network softwarization Lab session 2: OS Virtualization Networking Nicolas Herbaut David Bourasseau Daniel Negru December 16, 2015 1 Introduction 1.1 Discovering docker 1.1.1 Installation Please launch

More information

Recap From Last Time:

Recap From Last Time: Recap From Last Time: BGGN 213 Working with UNIX Barry Grant http://thegrantlab.org/bggn213 Motivation: Why we use UNIX for bioinformatics. Modularity, Programmability, Infrastructure, Reliability and

More information

BGGN 213 Working with UNIX Barry Grant

BGGN 213 Working with UNIX Barry Grant BGGN 213 Working with UNIX Barry Grant http://thegrantlab.org/bggn213 Recap From Last Time: Motivation: Why we use UNIX for bioinformatics. Modularity, Programmability, Infrastructure, Reliability and

More information

The UNIX Operating System. HORT Lecture 2 Instructor: Kranthi Varala

The UNIX Operating System. HORT Lecture 2 Instructor: Kranthi Varala The UNIX Operating System HORT 59000 Lecture 2 Instructor: Kranthi Varala Operating Systems Image By Golftheman - Own work, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=4558519 Operating

More information

Docker und IBM Digital Experience in Docker Container

Docker und IBM Digital Experience in Docker Container Docker und IBM Digital Experience in Docker Container 20. 21. Juni 2017 IBM Labor Böblingen 1 What is docker Introduction VMs vs. containers Terminology v Docker components 2 6/22/2017 What is docker?

More information

Introduction to Linux

Introduction to Linux Introduction to Linux Prof. Jin-Soo Kim( jinsookim@skku.edu) TA Sanghoon Han(sanghoon.han@csl.skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu Announcement (1) Please come

More information

CSCI 211 UNIX Lab. Shell Programming. Dr. Jiang Li. Jiang Li, Ph.D. Department of Computer Science

CSCI 211 UNIX Lab. Shell Programming. Dr. Jiang Li. Jiang Li, Ph.D. Department of Computer Science CSCI 211 UNIX Lab Shell Programming Dr. Jiang Li Why Shell Scripting Saves a lot of typing A shell script can run many commands at once A shell script can repeatedly run commands Help avoid mistakes Once

More information

CENG 334 Computer Networks. Laboratory I Linux Tutorial

CENG 334 Computer Networks. Laboratory I Linux Tutorial CENG 334 Computer Networks Laboratory I Linux Tutorial Contents 1. Logging In and Starting Session 2. Using Commands 1. Basic Commands 2. Working With Files and Directories 3. Permission Bits 3. Introduction

More information

Unix/Linux Basics. Cpt S 223, Fall 2007 Copyright: Washington State University

Unix/Linux Basics. Cpt S 223, Fall 2007 Copyright: Washington State University Unix/Linux Basics 1 Some basics to remember Everything is case sensitive Eg., you can have two different files of the same name but different case in the same folder Console-driven (same as terminal )

More information

Linux Shell Scripting. Linux System Administration COMP2018 Summer 2017

Linux Shell Scripting. Linux System Administration COMP2018 Summer 2017 Linux Shell Scripting Linux System Administration COMP2018 Summer 2017 What is Scripting? Commands can be given to a computer by entering them into a command interpreter program, commonly called a shell

More information

Optimizing Docker Images

Optimizing Docker Images Optimizing Docker Images Brian DeHamer - CenturyLink Labs bdehamer CenturyLinkLabs @bdehamer @centurylinklabs Overview Images & Layers Minimizing Image Size Leveraging the Image Cache Dockerfile Tips

More information

State of Containers. Convergence of Big Data, AI and HPC

State of Containers. Convergence of Big Data, AI and HPC State of Containers Convergence of Big Data, AI and HPC Technology ReCap Comparison of Hypervisor and Container Virtualization VM1 VM2 appa appb Userland Userland Kernel Kernel Operational Abstraction

More information

Linux Shell Script. J. K. Mandal

Linux Shell Script. J. K. Mandal Linux Shell Script J. K. Mandal Professor, Department of Computer Science & Engineering, Faculty of Engineering, Technology & Management University of Kalyani Kalyani, Nadia, West Bengal E-mail: jkmandal@klyuniv.ac.in,

More information

Red Hat Atomic Details Dockah, Dockah, Dockah! Containerization as a shift of paradigm for the GNU/Linux OS

Red Hat Atomic Details Dockah, Dockah, Dockah! Containerization as a shift of paradigm for the GNU/Linux OS Red Hat Atomic Details Dockah, Dockah, Dockah! Containerization as a shift of paradigm for the GNU/Linux OS Daniel Riek Sr. Director Systems Design & Engineering In the beginning there was Stow... and

More information

UNIX System Programming Lecture 3: BASH Programming

UNIX System Programming Lecture 3: BASH Programming UNIX System Programming Outline Filesystems Redirection Shell Programming Reference BLP: Chapter 2 BFAQ: Bash FAQ BMAN: Bash man page BPRI: Bash Programming Introduction BABS: Advanced Bash Scripting Guide

More information

Introduction to Containers. Martin Čuma Center for High Performance Computing University of Utah

Introduction to Containers. Martin Čuma Center for High Performance Computing University of Utah Introduction to Containers Martin Čuma Center for High Performance Computing University of Utah m.cuma@utah.edu Overview Why do we want to use containers? Containers basics Prepare your computer for containers

More information

Linux Software Installation Part 1

Linux Software Installation Part 1 Linux Software Installation Part 1 Qi Sun Bioinformatics Facility Components of software and where they are located E.g. gzip /usr/bin/gzip Main executable /usr/lib64/libc.so.6 /usr/lib64/ld-linux-x86-64.so.2

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 Linux

Introduction to Linux Introduction to Linux Prof. Jin-Soo Kim( jinsookim@skku.edu) TA - Kisik Jeong (kisik@csl.skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu What is Linux? A Unix-like operating

More information

Recap From Last Time: Setup Checklist BGGN 213. Todays Menu. Introduction to UNIX.

Recap From Last Time: Setup Checklist   BGGN 213. Todays Menu. Introduction to UNIX. Recap From Last Time: BGGN 213 Introduction to UNIX Barry Grant http://thegrantlab.org/bggn213 Substitution matrices: Where our alignment match and mis-match scores typically come from Comparing methods:

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

Singularity. Containers for Science

Singularity. Containers for Science Singularity Containers for Science Presented by: Gregory M. Kurtzer HPC Systems Architect and Open Source Developer Lawrence Berkeley National Laboratory and UC Berkeley Containers. In a

More information

Shifter: Fast and consistent HPC workflows using containers

Shifter: Fast and consistent HPC workflows using containers Shifter: Fast and consistent HPC workflows using containers CUG 2017, Redmond, Washington Lucas Benedicic, Felipe A. Cruz, Thomas C. Schulthess - CSCS May 11, 2017 Outline 1. Overview 2. Docker 3. Shifter

More information

Welcome to Linux. Lecture 1.1

Welcome to Linux. Lecture 1.1 Welcome to Linux Lecture 1.1 Some history 1969 - the Unix operating system by Ken Thompson and Dennis Ritchie Unix became widely adopted by academics and businesses 1977 - the Berkeley Software Distribution

More information

Introduction to Linux. Woo-Yeong Jeong Computer Systems Laboratory Sungkyunkwan University

Introduction to Linux. Woo-Yeong Jeong Computer Systems Laboratory Sungkyunkwan University Introduction to Linux Woo-Yeong Jeong (wooyeong@csl.skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu What is Linux? A Unix-like operating system of a computer What is an

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

Docusnap X - Docusnap Script Linux. Script-based Inventory for Linux

Docusnap X - Docusnap Script Linux. Script-based Inventory for Linux Docusnap X - Docusnap Script Linux Script-based Inventory for Linux TITLE Docusnap X - Docusnap Script Linux AUTHOR Docusnap Consulting DATE 12/18/2018 VERSION 1.1 valid from 26.09.2018 This document contains

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

Introduction to UNIX. Introduction. Processes. ps command. The File System. Directory Structure. UNIX is an operating system (OS).

Introduction to UNIX. Introduction. Processes. ps command. The File System. Directory Structure. UNIX is an operating system (OS). Introduction Introduction to UNIX CSE 2031 Fall 2012 UNIX is an operating system (OS). Our goals: Learn how to use UNIX OS. Use UNIX tools for developing programs/ software, specifically shell programming.

More information

Introduction to UNIX. CSE 2031 Fall November 5, 2012

Introduction to UNIX. CSE 2031 Fall November 5, 2012 Introduction to UNIX CSE 2031 Fall 2012 November 5, 2012 Introduction UNIX is an operating system (OS). Our goals: Learn how to use UNIX OS. Use UNIX tools for developing programs/ software, specifically

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

Quick Start Guide. by Burak Himmetoglu. Supercomputing Consultant. Enterprise Technology Services & Center for Scientific Computing

Quick Start Guide. by Burak Himmetoglu. Supercomputing Consultant. Enterprise Technology Services & Center for Scientific Computing Quick Start Guide by Burak Himmetoglu Supercomputing Consultant Enterprise Technology Services & Center for Scientific Computing E-mail: bhimmetoglu@ucsb.edu Contents User access, logging in Linux/Unix

More information

Linux Training. for New Users of Cluster. Georgia Advanced Computing Resource Center University of Georgia Suchitra Pakala

Linux Training. for New Users of Cluster. Georgia Advanced Computing Resource Center University of Georgia Suchitra Pakala Linux Training for New Users of Cluster Georgia Advanced Computing Resource Center University of Georgia Suchitra Pakala pakala@uga.edu 1 Overview GACRC Linux Operating System Shell, Filesystem, and Common

More information

Run containerized applications from pre-existing images stored in a centralized registry

Run containerized applications from pre-existing images stored in a centralized registry Introduction This examination is based upon the most critical job activities a Docker Certified Associate performs. The skills and knowledge certified by this examination represent a level of expertise

More information

Next Generation Tools for container technology. Dan

Next Generation Tools for container technology. Dan Next Generation Tools for container technology Dan Walsh @rhatdan Please Stand Please read out loud all text in RED I Promise To say Container Registries Rather than Docker registries I Promise To say

More information

Shell scripting and system variables. HORT Lecture 5 Instructor: Kranthi Varala

Shell scripting and system variables. HORT Lecture 5 Instructor: Kranthi Varala Shell scripting and system variables HORT 59000 Lecture 5 Instructor: Kranthi Varala Text editors Programs built to assist creation and manipulation of text files, typically scripts. nano : easy-to-learn,

More information

Lec 1 add-on: Linux Intro

Lec 1 add-on: Linux Intro Lec 1 add-on: Linux Intro Readings: - Unix Power Tools, Powers et al., O Reilly - Linux in a Nutshell, Siever et al., O Reilly Summary: - Linux File System - Users and Groups - Shell - Text Editors - Misc

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

24 Writing Your First Script

24 Writing Your First Script In the preceding chapters, we have assembled an arsenal of command line tools. While these tools can solve many kinds of computing problems, we are still limited to manually using them one by one on the

More information

Walkthrough OCCAM. Be on the lookout for this fellow: The callouts are ACTIONs for you to do!

Walkthrough OCCAM. Be on the lookout for this fellow: The callouts are ACTIONs for you to do! Walkthrough OCCAM Be on the lookout for this fellow: The callouts are ACTIONs for you to do! When you see the check mark, compare your work to the marked element Objectives In this presentation you ll

More information

Linux Operating System Environment Computadors Grau en Ciència i Enginyeria de Dades Q2

Linux Operating System Environment Computadors Grau en Ciència i Enginyeria de Dades Q2 Linux Operating System Environment Computadors Grau en Ciència i Enginyeria de Dades 2017-2018 Q2 Facultat d Informàtica de Barcelona This first lab session is focused on getting experience in working

More information

Welcome to getting started with Ubuntu Server. This System Administrator Manual. guide to be simple to follow, with step by step instructions

Welcome to getting started with Ubuntu Server. This System Administrator Manual. guide to be simple to follow, with step by step instructions Welcome to getting started with Ubuntu 12.04 Server. This System Administrator Manual guide to be simple to follow, with step by step instructions with screenshots INDEX 1.Installation of Ubuntu 12.04

More information

Introduction to Containers. Martin Čuma Center for High Performance Computing University of Utah

Introduction to Containers. Martin Čuma Center for High Performance Computing University of Utah Introduction to Containers Martin Čuma Center for High Performance Computing University of Utah m.cuma@utah.edu Overview Why do we want to use containers? Containers basics Prepare your computer for containers

More information

Introduction to Linux

Introduction to Linux Introduction to Linux Prof. Jin-Soo Kim( jinsookim@skku.edu) TA - Dong-Yun Lee (dylee@csl.skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu What is Linux? A Unix-like operating

More information

Quick Start Guide. by Burak Himmetoglu. Supercomputing Consultant. Enterprise Technology Services & Center for Scientific Computing

Quick Start Guide. by Burak Himmetoglu. Supercomputing Consultant. Enterprise Technology Services & Center for Scientific Computing Quick Start Guide by Burak Himmetoglu Supercomputing Consultant Enterprise Technology Services & Center for Scientific Computing E-mail: bhimmetoglu@ucsb.edu Linux/Unix basic commands Basic command structure:

More information

GNU/Linux 101. Casey McLaughlin. Research Computing Center Spring Workshop Series 2018

GNU/Linux 101. Casey McLaughlin. Research Computing Center Spring Workshop Series 2018 GNU/Linux 101 Casey McLaughlin Research Computing Center Spring Workshop Series 2018 rccworkshop IC;3df4mu bash-2.1~# man workshop Linux101 RCC Workshop L101 OBJECTIVES - Operating system concepts - Linux

More information

Contents. Note: pay attention to where you are. Note: Plaintext version. Note: pay attention to where you are... 1 Note: Plaintext version...

Contents. Note: pay attention to where you are. Note: Plaintext version. Note: pay attention to where you are... 1 Note: Plaintext version... Contents Note: pay attention to where you are........................................... 1 Note: Plaintext version................................................... 1 Hello World of the Bash shell 2 Accessing

More information

Platform SDK Deployment Guide. Platform SDK 8.1.2

Platform SDK Deployment Guide. Platform SDK 8.1.2 Platform SDK Deployment Guide Platform SDK 8.1.2 1/1/2018 Table of Contents Overview 3 New in this Release 4 Planning Your Platform SDK Deployment 6 Installing Platform SDK 8 Verifying Deployment 10 Overview

More information

Exercise 1: Basic Tools

Exercise 1: Basic Tools Exercise 1: Basic Tools This exercise is created so everybody can learn the basic tools we will use during this course. It is really more like a tutorial than an exercise and, you are not required to submit

More information

Introduction of Linux

Introduction of Linux Introduction of Linux 阳 oslab2018_class1@163.com 寅 oslab2018_class2@163.com PART I Brief Introduction Basic Conceptions & Environment Install & Configure a Virtual Machine Basic Commands PART II Shell

More information

Digital Humanities. Tutorial Regular Expressions. March 10, 2014

Digital Humanities. Tutorial Regular Expressions. March 10, 2014 Digital Humanities Tutorial Regular Expressions March 10, 2014 1 Introduction In this tutorial we will look at a powerful technique, called regular expressions, to search for specific patterns in corpora.

More information

Improving the Yocto Project Developer Experience. How New Tools Will Enable a Better Workflow October 2016 Henry Bruce

Improving the Yocto Project Developer Experience. How New Tools Will Enable a Better Workflow October 2016 Henry Bruce Improving the Yocto Project Developer Experience How New Tools Will Enable a Better Workflow October 2016 Henry Bruce (henry.bruce@intel.com) Introduction We ll be talking about developer workflow improvements

More information

EECS 2031E. Software Tools Prof. Mokhtar Aboelaze

EECS 2031E. Software Tools Prof. Mokhtar Aboelaze EECS 2031 Software Tools Prof. Mokhtar Aboelaze Footer Text 1 EECS 2031E Instructor: Mokhtar Aboelaze Room 2026 CSEB lastname@cse.yorku.ca x40607 Office hours TTH 12:00-3:00 or by appointment 1 Grading

More information

Introduction: What is Unix?

Introduction: What is Unix? Introduction Introduction: What is Unix? An operating system Developed at AT&T Bell Labs in the 1960 s Command Line Interpreter GUIs (Window systems) are now available Introduction: Unix vs. Linux Unix

More information

Introduction to Perl 6 Documentation

Introduction to Perl 6 Documentation Introduction to Perl 6 Documentation Release 0.5.1 Suman Khanal and Ashish Khanal Oct 05, 2018 Contents 1 Introduction 3 2 Running Perl 6 notebook 5 2.1 Docker way................................................

More information

Flatpak a technical walk-through. Alexander Larsson, Red Hat

Flatpak a technical walk-through. Alexander Larsson, Red Hat Flatpak a technical walk-through Alexander Larsson, Red Hat What is Flatpak? apps for the Linux Desktop Distribute your app Run it anywhere Build in anywhere Run it sandboxed How is this different from

More information

CSE 15L Winter Midterm :) Review

CSE 15L Winter Midterm :) Review CSE 15L Winter 2015 Midterm :) Review Makefiles Makefiles - The Overview Questions you should be able to answer What is the point of a Makefile Why don t we just compile it again? Why don t we just use

More information

Automating the Build Pipeline for Docker Container

Automating the Build Pipeline for Docker Container Automating the Build Pipeline for Docker Container Nikolai Reed, Jürgen Walter, and Samuel Kounev University of Würzburg November 9-10, 2017 SSP 2017 Karlsruhe, Germany 08.11.17 2 Reproducibility Problem

More information

Introduction to Linux

Introduction to Linux Introduction to Linux University of Bristol - Advance Computing Research Centre 1 / 47 Operating Systems Program running all the time Interfaces between other programs and hardware Provides abstractions

More information

Container Security and new container technologies. Dan

Container Security and new container technologies. Dan Container Security and new container technologies Dan Walsh @rhatdan Please Stand Please read out loud all text in RED I Promise To say Container Registries Rather than Docker registries I Promise To say

More information

CSE 390a Lecture 5. Intro to shell scripting

CSE 390a Lecture 5. Intro to shell scripting CSE 390a Lecture 5 Intro to shell scripting slides created by Marty Stepp, modified by Jessica Miller & Ruth Anderson http://www.cs.washington.edu/390a/ 1 2 Lecture summary basic script syntax and running

More information

Introduction to Linux for BlueBEAR. January

Introduction to Linux for BlueBEAR. January Introduction to Linux for BlueBEAR January 2019 http://intranet.birmingham.ac.uk/bear Overview Understanding of the BlueBEAR workflow Logging in to BlueBEAR Introduction to basic Linux commands Basic file

More information

CSC209. Software Tools and Systems Programming. https://mcs.utm.utoronto.ca/~209

CSC209. Software Tools and Systems Programming. https://mcs.utm.utoronto.ca/~209 CSC209 Software Tools and Systems Programming https://mcs.utm.utoronto.ca/~209 What is this Course About? Software Tools Using them Building them Systems Programming Quirks of C The file system System

More information

Test Automation with Jenkins & TidalScale WaveRunner

Test Automation with Jenkins & TidalScale WaveRunner Test Automation with Jenkins & TidalScale WaveRunner Software-Defined Servers Test Automation with Jenkins & TidalScale WaveRunner iv Contents 1 Test Automation with Jenkins & TidalScale WaveRunner Overview

More information

Introduction to Linux Workshop 1

Introduction to Linux Workshop 1 Introduction to Linux Workshop 1 The George Washington University SEAS Computing Facility Created by Jason Hurlburt, Hadi Mohammadi, Marco Suarez hurlburj@gwu.edu Logging In The lab computers will authenticate

More information

Introduction to Unix The Windows User perspective. Wes Frisby Kyle Horne Todd Johansen

Introduction to Unix The Windows User perspective. Wes Frisby Kyle Horne Todd Johansen Introduction to Unix The Windows User perspective Wes Frisby Kyle Horne Todd Johansen What is Unix? Portable, multi-tasking, and multi-user operating system Software development environment Hardware independent

More information

bwunicluster Tutorial Access, Data Transfer, Compiling, Modulefiles, Batch Jobs

bwunicluster Tutorial Access, Data Transfer, Compiling, Modulefiles, Batch Jobs bwunicluster Tutorial Access, Data Transfer, Compiling, Modulefiles, Batch Jobs Frauke Bösert, SCC, KIT 1 Material: Slides & Scripts https://indico.scc.kit.edu/indico/event/263/ @bwunicluster/forhlr I/ForHLR

More information

Part 1: Basic Commands/U3li3es

Part 1: Basic Commands/U3li3es Final Exam Part 1: Basic Commands/U3li3es May 17 th 3:00~4:00pm S-3-143 Same types of questions as in mid-term 1 2 ls, cat, echo ls -l e.g., regular file or directory, permissions, file size ls -a cat

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

Principles of Bioinformatics. BIO540/STA569/CSI660 Fall 2010

Principles of Bioinformatics. BIO540/STA569/CSI660 Fall 2010 Principles of Bioinformatics BIO540/STA569/CSI660 Fall 2010 Lecture Five Practical Computing Skills Emphasis This time it s concrete, not abstract. Fall 2010 BIO540/STA569/CSI660 3 Administrivia Monday

More information

Infrastructure Security 2.0

Infrastructure Security 2.0 Infrastructure Security 2.0 $ whoami Infrastructure Security Engineer @ Shopify Certified Kubernetes Administrator twitter.com/jonpulsifer github.com/jonpulsifer Previously Team Lead at CFNOC Network Defense

More information

How to build and run OCI containers

How to build and run OCI containers How to build and run OCI containers A shallow dive on the OCI container configuration and an overview of the available tools whoami Spyros Trigazis Computing Engineer at CERN s cloud team Project Team

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

Outline. Cgroup hierarchies

Outline. Cgroup hierarchies Outline 15 Cgroups 15-1 15.1 Introduction to cgroups v1 and v2 15-3 15.2 Cgroups v1: hierarchies and controllers 15-17 15.3 Cgroups v1: populating a cgroup 15-24 15.4 Cgroups v1: a survey of the controllers

More information

Introduction to Joker Cyber Infrastructure Architecture Team CIA.NMSU.EDU

Introduction to Joker Cyber Infrastructure Architecture Team CIA.NMSU.EDU Introduction to Joker Cyber Infrastructure Architecture Team CIA.NMSU.EDU What is Joker? NMSU s supercomputer. 238 core computer cluster. Intel E-5 Xeon CPUs and Nvidia K-40 GPUs. InfiniBand innerconnect.

More information

Perl and R Scripting for Biologists

Perl and R Scripting for Biologists Perl and R Scripting for Biologists Lukas Mueller PLBR 4092 Course overview Linux basics (today) Linux advanced (Aure, next week) Why Linux? Free open source operating system based on UNIX specifications

More information

Quelling the Clamor for Containers. Vanessa Borcherding Director, Scientific Computing Unit Weill Cornell Medicine

Quelling the Clamor for Containers. Vanessa Borcherding Director, Scientific Computing Unit Weill Cornell Medicine Quelling the Clamor for Containers Vanessa Borcherding Director, Scientific Computing Unit Weill Cornell Medicine Our Environment: High-Performance Computing for Biomedical Sciences Basic Science Research

More information

Construct a sharable GPU farm for Data Scientist. Layne Peng DellEMC OCTO TRIGr

Construct a sharable GPU farm for Data Scientist. Layne Peng DellEMC OCTO TRIGr Construct a sharable GPU farm for Data Scientist Layne Peng OCTO TRIGr Agenda Introduction Problems of consuming GPU GPU-as-a Service (project ) How to manage GPU in farm? How to schedule jobs to GPU?

More information

Variant calling using SAMtools

Variant calling using SAMtools Variant calling using SAMtools Calling variants - a trivial use of an Interactive Session We are going to conduct the variant calling exercises in an interactive idev session just so you can get a feel

More information

Bash scripting basics

Bash scripting basics Bash scripting basics prepared by Anatoliy Antonov for ESSReS community September 2012 1 Outline Definitions Foundations Flow control References and exercises 2 Definitions 3 Definitions Script - [small]

More information

Intro to Linux. this will open up a new terminal window for you is super convenient on the computers in the lab

Intro to Linux. this will open up a new terminal window for you is super convenient on the computers in the lab Basic Terminal Intro to Linux ssh short for s ecure sh ell usage: ssh [host]@[computer].[otheripstuff] for lab computers: ssh [CSID]@[comp].cs.utexas.edu can get a list of active computers from the UTCS

More information

CSE 391 Lecture 5. Intro to shell scripting

CSE 391 Lecture 5. Intro to shell scripting CSE 391 Lecture 5 Intro to shell scripting slides created by Marty Stepp, modified by Jessica Miller & Ruth Anderson http://www.cs.washington.edu/391/ 1 2 Lecture summary basic script syntax and running

More information