SlideShare a Scribd company logo
1 of 45
Download to read offline
Rob Gardner • University of Chicago
Bring OSG pools to your Cluster.
Share your HTCondor pools with OSG.
Introduction to High Throughput Computing
for Users and System Administrators
#TechEX15 Cleveland OH, October 8, 2015
Goals for this session
● Quick introduction to the OSG
● Lets submit to OSG from your campus
● Connecting your cluster to the OSG
What is the OSG?
Open Science Grid
Shared sum > 100k cores
shared CPU pools from campus clusters
What is OSG Connect?
● http://osgconnect.net site
● login node for job management,
login.osgconnect.net
● Stash storage platform — common storage for:
○ scp, rsync
○ http
○ Globus (gridftp)
● Recommended path for (most) new OSG users
Bring OSG pools to Campus
Lightweight Connect Client
Idea is to bring the
submit point to
“home” campus
Submit locally,
run globally
Heavy lifting done
by OSG hosted
services
What is Connect Client?
On the OSG Connect login host, we encapsulate many
common operations under the connect command:
● connect status
● connect watch
● connect histogram
● connect project
What is Connect Client?
We bring those commands and a bit more to your campus:
● connect setup
● connect pull
● connect submit
● connect q
● connect history
● connect rm
● connect status
● ...
Command summary
● connect setup remote-username
○ one-time authorization setup. (Creates a new SSH key pair and uses your
password to authorize it.)
○ connect test can validate access at any time
● connect pull / push
○ lightweight access means no service can monitor file readiness for
transfer
○ instead, we have explicit commands for uni- or bi-directional file
synchronization between local and remote (the “connected” server). The
sync occurs over a secure SSH channel.
Command summary
● connect submit
○ like condor_submit, submits a job from a job control file (submit script).
Implicitly performs a push beforehand.
● connect q
○ runs condor_q remotely
● connect history
● connect status
● connect rm
○ also condor_* wrappers
● connect shell
○ gives you a login on the connect server at the location of your job
Get an OSG Connect credential
● Sign up at http://osgconnect.net/
● Test that you can login:
$ ssh username@login.osgconnect.net
● You can work from here, but to submit from
campus cluster log out for now
Setup your campus cluster
● We will install the Connect Client
● Works for CentOS 6.x and similar
● You will need sys privs (unless pre-reqs installed)
● You can practice today using our docker service
and a vanilla CentOS 6 container image
● So, either login to your home cluster, or follow
instructions on next slide...
Aside: practice within a container
First you will need to login via SSH to docker.osgconnect.net using your
OSG Connect credentials.
Once there, create a new Docker container:
docker run -ti centos:centos6 /bin/sh
Once your container is ready, you will see a prompt similar to this:
sh-4.1#
You are now inside of your container as the super user.
Prerequisite software
Before installing the Connect Client, we will need to install some other prerequisite
software:
yum install -y git python-paramiko
A lot of text will scroll by as the packages are downloaded and installed into your
container. When it’s finished, you will see the following message and be returned
to your shell:
Complete!
sh-4.1#
Get the Connect Client
Now that the dependencies are installed, you can fetch the
Connect Client from GitHub:
cd
git clone --recursive https://github.com/CI-Connect/connect-client
cd connect-client
git checkout v0.5
You should see some more text, ending with:
HEAD is now at ca309c9... tag release v0.5
Setup environment
Once installed, you will need to return to the home directory
and add the Connect Client to PATH:
cd
export PATH=$PATH:~/connect-client/connect/bin:~/connect-
client/scripts/tutorial
Setup the connection to OSG
sh-4.1# connect setup
Please enter the user name that you created during Connect registration. Note that it
consists only of letters and numbers, with no @ symbol.
You will be connecting via the connect-client.osgconnect.net server.
Enter your Connect username: rwg
Password for rwg@connect-client.osgconnect.net:
notice: Ongoing client access has been authorized at connect-client.osgconnect.net.
notice: Use "connect test" to verify access.
sh-4.1# connect test
Success! Your client access to connect-client.osgconnect.net is working.
sh-4.1#
What pools can I now reach?
$ connect status
sh-4.1# tutorial quickstart
Installing quickstart (master)...
Tutorial files installed in ./tutorial-
quickstart.
Running setup in ./tutorial-quickstart...
sh-4.1# cd tutorial-quickstart/
Try it out the quickstart $ tutorial
Prepare to submit 10 jobs
sh-4.1# cat tutorial03.submit
Universe = vanilla
Executable = short.sh
Arguments = 5 # to sleep 5 seconds
Error = log/job.err.$(Cluster)-$(Process)
Output = log/job.out.$(Cluster)-$(Process)
Log = log/job.log.$(Cluster)
#+ProjectName="ConnectTrain"
Queue 10
sh-4.1#
Change arg to 60 seconds
Change ConnectTrain to TechEX15
Change Queue value to 10
Inspect the job script itself
sh-4.1# cat short.sh
#!/bin/bash
# short.sh: a short discovery job
printf "Start time: "; /bin/date
printf "Job is running on node: "; /bin/hostname
printf "Job running as user: "; /usr/bin/id
printf "Job is running in directory: "; /bin/pwd
echo
echo "Working hard..."
sleep ${1-15}
echo "Science complete!"
sh-4.1#
Script that runs
on OSG pools
sh-4.1# connect submit tutorial03.submit
+++++.+.+++
9 objects sent; 2 objects up to date; 0 errors
Submitting job(s)..........
10 job(s) submitted to cluster 4070.
sh-4.1#
Submit $ connect submit
Check queue
sh-4.1# connect q
-- Submitter: login02.osgconnect.net : <192.170.227.251:37303> : login02.osgconnect.net
ID OWNER SUBMITTED RUN_TIME ST PRI SIZE CMD
4070.0 rwg 10/8 04:28 0+00:00:00 I 0 0.0 short.sh 60 # to s
4070.1 rwg 10/8 04:28 0+00:00:00 I 0 0.0 short.sh 60 # to s
4070.2 rwg 10/8 04:28 0+00:00:00 I 0 0.0 short.sh 60 # to s
4070.3 rwg 10/8 04:28 0+00:00:00 I 0 0.0 short.sh 60 # to s
4070.4 rwg 10/8 04:28 0+00:00:00 I 0 0.0 short.sh 60 # to s
4070.5 rwg 10/8 04:28 0+00:00:00 I 0 0.0 short.sh 60 # to s
4070.6 rwg 10/8 04:28 0+00:00:00 I 0 0.0 short.sh 60 # to s
4070.7 rwg 10/8 04:28 0+00:00:00 I 0 0.0 short.sh 60 # to s
4070.8 rwg 10/8 04:28 0+00:00:00 I 0 0.0 short.sh 60 # to s
4070.9 rwg 10/8 04:28 0+00:00:00 I 0 0.0 short.sh 60 # to s
10 jobs; 0 completed, 0 removed, 10 idle, 0 running, 0 held, 0 suspended
sh-4.1#
$ connect q
Where did the jobs run?
$ connect historam
or
$ connect histogram --last
Where are the results?
● Nothing was returned to the client host
automatically:
sh-4.1# ls
README.md log short.sh tutorial01.submit tutorial02.submit tutorial03.
submit
sh-4.1# ls log/
sh-4.1#
● Results are sitting on the OSG Connect server
Check and bring back
On OSG Connect
On campus
$ connect shell
connect command
● connect show-projects
show projects you have access to
● connect project
set your accounting project
● connect status
show condor_status in all pools
● connect q
check progress of your job queue
● connect histogram [--last]
shows where your jobs have been run
tutorial command
sh$ tutorial
$ tutorial
usage: tutorial list - show available tutorials
tutorial info <tutorial-name> - show details of a tutorial
tutorial <tutorial-name> - set up a tutoria
Currently available tutorials:
AutoDockVina .......... Ligand-Receptor docking with AutoDock Vina
R ..................... Estimate Pi using the R programming language
ScalingUp-R ........... Scaling up compute resources - R example
blast ................. blast sequence analysis
cp2k .................. How-to for the electronic structure package CP2K
dagman-namd ........... Launch a series of NAMD simulations via an HTCondor DAG
error101 .............. Use condor_q -better-analyze to analyze stuck jobs
tutorial command
● Tutorials are maintained in github and
downloaded on demand
● Each tutorial’s README is in the OSG Support
site
○ http://osg.link/connect/userguide
○ http://osg.link/connect/recipes
● These are recommended for learning new
techniques on OSG Connect
Help desk - search, ticket, chat
Connecting campus to
national ACI
OSG for resource providers
● Connect your campus users to the OSG
○ connect-client - job submit client for the local cluster
○ provide “burst” like capability for HTC jobs to shared opportunistic
resources
● Connect campus cluster to OSG
○ Lightweight connect : OSG sends “glidein” jobs to your cluster, using a
simple user account
■ No local software or services needed!
○ Large scale: deploy the OSG software stack
■ Support more science communities at larger scale
“Quick Connect” Process
● Phone call to discuss particulars of cluster
○ does not need to be HTCondor -- slurm, pbs, others
supported
○ Nodes need outbound network connectivity
● Create an osgconnect account that OSG team
uses to access
@OsgUsers
support.opensciencegrid.org
user-support@opensciencegrid.org
opensciencegrid
Extra slides
● 2014 stats
○ 67% size of XD, 35% BlueWaters
○ 2.5 Million CPU hours/day
○ 800M hours/year
○ 125M/y provided opportunistic
● >1 petabyte of data/day xfered
● 50+ research groups
● thousands of users
● XD service provider for XSEDE
Rudi Eigenmann
Program Director Division of
Advanced Cyberinfrastructure (ACI)
NSF CISE
CASC Meeting, April 1, 2015
Distributed HTC on OSG
Delivered CPU hours/month
Shared Science Throughput
User approach: cluster as abstraction
OSG Connect Service
View OSG as an
HTC cluster
★ Login host
★ Job scheduler
★ Software
★ Storage
Software & tools on the OSG
● Distributed software file system OASIS
● Special module command
○ identical software on all clusters
○ 170 libraries
#!/bin/bash
switchmodules oasis
module load R
module load matlab
...
Submit jobs to OSG with HTCondor
● Simple HTCondor submission
● Complexity hidden from the user
● No grid (X509) certificates required
● Uses HTCondor ClassAd and glidein
technology
● DAGMan and other workflow tools
Campus ACI
as hybrids of:
“on premise”,
national ACI,
national HPC,
and cloud
45

More Related Content

What's hot

VCL template abstraction model and automated deployments to Fastly
VCL template abstraction model and automated deployments to FastlyVCL template abstraction model and automated deployments to Fastly
VCL template abstraction model and automated deployments to FastlyFastly
 
Advanced VCL: how to use restart
Advanced VCL: how to use restartAdvanced VCL: how to use restart
Advanced VCL: how to use restartFastly
 
Forget Grunt and Gulp! Webpack and NPM rule them all!
Forget Grunt and Gulp! Webpack and NPM rule them all!Forget Grunt and Gulp! Webpack and NPM rule them all!
Forget Grunt and Gulp! Webpack and NPM rule them all!Derek Willian Stavis
 
Altitude SF 2017: Logging at the edge
Altitude SF 2017: Logging at the edgeAltitude SF 2017: Logging at the edge
Altitude SF 2017: Logging at the edgeFastly
 
Infrastructural challenges of a fast-pace startup
Infrastructural challenges of a fast-pace startupInfrastructural challenges of a fast-pace startup
Infrastructural challenges of a fast-pace startupDevOps Braga
 
Trac Project And Process Management For Developers And Sys Admins Presentation
Trac  Project And Process Management For Developers And Sys Admins PresentationTrac  Project And Process Management For Developers And Sys Admins Presentation
Trac Project And Process Management For Developers And Sys Admins Presentationguest3fc4fa
 
Architectural caching patterns for kubernetes
Architectural caching patterns for kubernetesArchitectural caching patterns for kubernetes
Architectural caching patterns for kubernetesRafał Leszko
 
DevOps tools for everyone - Vagrant, Puppet and Webmin
DevOps tools for everyone - Vagrant, Puppet and WebminDevOps tools for everyone - Vagrant, Puppet and Webmin
DevOps tools for everyone - Vagrant, Puppet and Webminpostrational
 
Introduction to Node js
Introduction to Node jsIntroduction to Node js
Introduction to Node jsAkshay Mathur
 
Altitude SF 2017: Fastly GSLB: Scaling your microservice and multi-cloud envi...
Altitude SF 2017: Fastly GSLB: Scaling your microservice and multi-cloud envi...Altitude SF 2017: Fastly GSLB: Scaling your microservice and multi-cloud envi...
Altitude SF 2017: Fastly GSLB: Scaling your microservice and multi-cloud envi...Fastly
 
Continuous delivery w projekcie open source - Marcin Stachniuk
Continuous delivery w projekcie open source - Marcin StachniukContinuous delivery w projekcie open source - Marcin Stachniuk
Continuous delivery w projekcie open source - Marcin StachniukMarcinStachniuk
 
Getting Started with OpenStack Development
Getting Started with OpenStack Development Getting Started with OpenStack Development
Getting Started with OpenStack Development Rackspace
 
EWD 3 Training Course Part 28: Integrating Legacy Mumps Code with QEWD
EWD 3 Training Course Part 28: Integrating Legacy Mumps Code with QEWDEWD 3 Training Course Part 28: Integrating Legacy Mumps Code with QEWD
EWD 3 Training Course Part 28: Integrating Legacy Mumps Code with QEWDRob Tweed
 
Java script at backend nodejs
Java script at backend   nodejsJava script at backend   nodejs
Java script at backend nodejsAmit Thakkar
 

What's hot (20)

VCL template abstraction model and automated deployments to Fastly
VCL template abstraction model and automated deployments to FastlyVCL template abstraction model and automated deployments to Fastly
VCL template abstraction model and automated deployments to Fastly
 
Advanced VCL: how to use restart
Advanced VCL: how to use restartAdvanced VCL: how to use restart
Advanced VCL: how to use restart
 
Forget Grunt and Gulp! Webpack and NPM rule them all!
Forget Grunt and Gulp! Webpack and NPM rule them all!Forget Grunt and Gulp! Webpack and NPM rule them all!
Forget Grunt and Gulp! Webpack and NPM rule them all!
 
JS performance tools
JS performance toolsJS performance tools
JS performance tools
 
Altitude SF 2017: Logging at the edge
Altitude SF 2017: Logging at the edgeAltitude SF 2017: Logging at the edge
Altitude SF 2017: Logging at the edge
 
Infrastructural challenges of a fast-pace startup
Infrastructural challenges of a fast-pace startupInfrastructural challenges of a fast-pace startup
Infrastructural challenges of a fast-pace startup
 
Trac Project And Process Management For Developers And Sys Admins Presentation
Trac  Project And Process Management For Developers And Sys Admins PresentationTrac  Project And Process Management For Developers And Sys Admins Presentation
Trac Project And Process Management For Developers And Sys Admins Presentation
 
Architectural caching patterns for kubernetes
Architectural caching patterns for kubernetesArchitectural caching patterns for kubernetes
Architectural caching patterns for kubernetes
 
DevOps tools for everyone - Vagrant, Puppet and Webmin
DevOps tools for everyone - Vagrant, Puppet and WebminDevOps tools for everyone - Vagrant, Puppet and Webmin
DevOps tools for everyone - Vagrant, Puppet and Webmin
 
Taming AEM deployments
Taming AEM deploymentsTaming AEM deployments
Taming AEM deployments
 
Introduction to Node js
Introduction to Node jsIntroduction to Node js
Introduction to Node js
 
Introduction to Node.js
Introduction to Node.jsIntroduction to Node.js
Introduction to Node.js
 
Front-end tools
Front-end toolsFront-end tools
Front-end tools
 
Node js
Node jsNode js
Node js
 
Altitude SF 2017: Fastly GSLB: Scaling your microservice and multi-cloud envi...
Altitude SF 2017: Fastly GSLB: Scaling your microservice and multi-cloud envi...Altitude SF 2017: Fastly GSLB: Scaling your microservice and multi-cloud envi...
Altitude SF 2017: Fastly GSLB: Scaling your microservice and multi-cloud envi...
 
Node js introduction
Node js introductionNode js introduction
Node js introduction
 
Continuous delivery w projekcie open source - Marcin Stachniuk
Continuous delivery w projekcie open source - Marcin StachniukContinuous delivery w projekcie open source - Marcin Stachniuk
Continuous delivery w projekcie open source - Marcin Stachniuk
 
Getting Started with OpenStack Development
Getting Started with OpenStack Development Getting Started with OpenStack Development
Getting Started with OpenStack Development
 
EWD 3 Training Course Part 28: Integrating Legacy Mumps Code with QEWD
EWD 3 Training Course Part 28: Integrating Legacy Mumps Code with QEWDEWD 3 Training Course Part 28: Integrating Legacy Mumps Code with QEWD
EWD 3 Training Course Part 28: Integrating Legacy Mumps Code with QEWD
 
Java script at backend nodejs
Java script at backend   nodejsJava script at backend   nodejs
Java script at backend nodejs
 

Similar to Bring Your Cluster to OSG

New Jersey Red Hat Users Group Presentation: Provisioning anywhere
New Jersey Red Hat Users Group Presentation: Provisioning anywhereNew Jersey Red Hat Users Group Presentation: Provisioning anywhere
New Jersey Red Hat Users Group Presentation: Provisioning anywhereRodrique Heron
 
DevOops & How I hacked you DevopsDays DC June 2015
DevOops & How I hacked you DevopsDays DC June 2015DevOops & How I hacked you DevopsDays DC June 2015
DevOops & How I hacked you DevopsDays DC June 2015Chris Gates
 
Bgoug 2019.11 building free, open-source, plsql products in cloud
Bgoug 2019.11   building free, open-source, plsql products in cloudBgoug 2019.11   building free, open-source, plsql products in cloud
Bgoug 2019.11 building free, open-source, plsql products in cloudJacek Gebal
 
Second Skin: Real-Time Retheming a Legacy Web Application with Diazo in the C...
Second Skin: Real-Time Retheming a Legacy Web Application with Diazo in the C...Second Skin: Real-Time Retheming a Legacy Web Application with Diazo in the C...
Second Skin: Real-Time Retheming a Legacy Web Application with Diazo in the C...Chris Shenton
 
DevOps Braga #15: Agentless monitoring with icinga and prometheus
DevOps Braga #15: Agentless monitoring with icinga and prometheusDevOps Braga #15: Agentless monitoring with icinga and prometheus
DevOps Braga #15: Agentless monitoring with icinga and prometheusDevOps Braga
 
Who needs containers in a serverless world
Who needs containers in a serverless worldWho needs containers in a serverless world
Who needs containers in a serverless worldMatthias Luebken
 
The State of the Veil Framework
The State of the Veil FrameworkThe State of the Veil Framework
The State of the Veil FrameworkVeilFramework
 
An introduction to Node.js application development
An introduction to Node.js application developmentAn introduction to Node.js application development
An introduction to Node.js application developmentshelloidhq
 
ContainerCon - Test Driven Infrastructure
ContainerCon - Test Driven InfrastructureContainerCon - Test Driven Infrastructure
ContainerCon - Test Driven InfrastructureYury Tsarev
 
Socket programming, and openresty
Socket programming, and openrestySocket programming, and openresty
Socket programming, and openrestyTavish Naruka
 
Next Generation Automation in Ruckus Wireless
Next Generation Automation in Ruckus WirelessNext Generation Automation in Ruckus Wireless
Next Generation Automation in Ruckus WirelessDavid Ko
 
AD113 Speed Up Your Applications w/ Nginx and PageSpeed
AD113  Speed Up Your Applications w/ Nginx and PageSpeedAD113  Speed Up Your Applications w/ Nginx and PageSpeed
AD113 Speed Up Your Applications w/ Nginx and PageSpeededm00se
 
Data Science in the Cloud @StitchFix
Data Science in the Cloud @StitchFixData Science in the Cloud @StitchFix
Data Science in the Cloud @StitchFixC4Media
 
Python And The MySQL X DevAPI - PyCaribbean 2019
Python And The MySQL X DevAPI - PyCaribbean 2019Python And The MySQL X DevAPI - PyCaribbean 2019
Python And The MySQL X DevAPI - PyCaribbean 2019Dave Stokes
 
Docker Logging and analysing with Elastic Stack - Jakub Hajek
Docker Logging and analysing with Elastic Stack - Jakub Hajek Docker Logging and analysing with Elastic Stack - Jakub Hajek
Docker Logging and analysing with Elastic Stack - Jakub Hajek PROIDEA
 
Docker Logging and analysing with Elastic Stack
Docker Logging and analysing with Elastic StackDocker Logging and analysing with Elastic Stack
Docker Logging and analysing with Elastic StackJakub Hajek
 
PyConIE 2017 Writing and deploying serverless python applications
PyConIE 2017 Writing and deploying serverless python applicationsPyConIE 2017 Writing and deploying serverless python applications
PyConIE 2017 Writing and deploying serverless python applicationsCesar Cardenas Desales
 
Automating Complex Setups with Puppet
Automating Complex Setups with PuppetAutomating Complex Setups with Puppet
Automating Complex Setups with PuppetKris Buytaert
 

Similar to Bring Your Cluster to OSG (20)

Beyond Puppet
Beyond PuppetBeyond Puppet
Beyond Puppet
 
Nodejs
NodejsNodejs
Nodejs
 
New Jersey Red Hat Users Group Presentation: Provisioning anywhere
New Jersey Red Hat Users Group Presentation: Provisioning anywhereNew Jersey Red Hat Users Group Presentation: Provisioning anywhere
New Jersey Red Hat Users Group Presentation: Provisioning anywhere
 
DevOops & How I hacked you DevopsDays DC June 2015
DevOops & How I hacked you DevopsDays DC June 2015DevOops & How I hacked you DevopsDays DC June 2015
DevOops & How I hacked you DevopsDays DC June 2015
 
Bgoug 2019.11 building free, open-source, plsql products in cloud
Bgoug 2019.11   building free, open-source, plsql products in cloudBgoug 2019.11   building free, open-source, plsql products in cloud
Bgoug 2019.11 building free, open-source, plsql products in cloud
 
Second Skin: Real-Time Retheming a Legacy Web Application with Diazo in the C...
Second Skin: Real-Time Retheming a Legacy Web Application with Diazo in the C...Second Skin: Real-Time Retheming a Legacy Web Application with Diazo in the C...
Second Skin: Real-Time Retheming a Legacy Web Application with Diazo in the C...
 
DevOps Braga #15: Agentless monitoring with icinga and prometheus
DevOps Braga #15: Agentless monitoring with icinga and prometheusDevOps Braga #15: Agentless monitoring with icinga and prometheus
DevOps Braga #15: Agentless monitoring with icinga and prometheus
 
Who needs containers in a serverless world
Who needs containers in a serverless worldWho needs containers in a serverless world
Who needs containers in a serverless world
 
The State of the Veil Framework
The State of the Veil FrameworkThe State of the Veil Framework
The State of the Veil Framework
 
An introduction to Node.js application development
An introduction to Node.js application developmentAn introduction to Node.js application development
An introduction to Node.js application development
 
ContainerCon - Test Driven Infrastructure
ContainerCon - Test Driven InfrastructureContainerCon - Test Driven Infrastructure
ContainerCon - Test Driven Infrastructure
 
Socket programming, and openresty
Socket programming, and openrestySocket programming, and openresty
Socket programming, and openresty
 
Next Generation Automation in Ruckus Wireless
Next Generation Automation in Ruckus WirelessNext Generation Automation in Ruckus Wireless
Next Generation Automation in Ruckus Wireless
 
AD113 Speed Up Your Applications w/ Nginx and PageSpeed
AD113  Speed Up Your Applications w/ Nginx and PageSpeedAD113  Speed Up Your Applications w/ Nginx and PageSpeed
AD113 Speed Up Your Applications w/ Nginx and PageSpeed
 
Data Science in the Cloud @StitchFix
Data Science in the Cloud @StitchFixData Science in the Cloud @StitchFix
Data Science in the Cloud @StitchFix
 
Python And The MySQL X DevAPI - PyCaribbean 2019
Python And The MySQL X DevAPI - PyCaribbean 2019Python And The MySQL X DevAPI - PyCaribbean 2019
Python And The MySQL X DevAPI - PyCaribbean 2019
 
Docker Logging and analysing with Elastic Stack - Jakub Hajek
Docker Logging and analysing with Elastic Stack - Jakub Hajek Docker Logging and analysing with Elastic Stack - Jakub Hajek
Docker Logging and analysing with Elastic Stack - Jakub Hajek
 
Docker Logging and analysing with Elastic Stack
Docker Logging and analysing with Elastic StackDocker Logging and analysing with Elastic Stack
Docker Logging and analysing with Elastic Stack
 
PyConIE 2017 Writing and deploying serverless python applications
PyConIE 2017 Writing and deploying serverless python applicationsPyConIE 2017 Writing and deploying serverless python applications
PyConIE 2017 Writing and deploying serverless python applications
 
Automating Complex Setups with Puppet
Automating Complex Setups with PuppetAutomating Complex Setups with Puppet
Automating Complex Setups with Puppet
 

More from Rob Gardner

Integrating the Campus to National NSF Cyberinfrastructure such as OSG and XSEDE
Integrating the Campus to National NSF Cyberinfrastructure such as OSG and XSEDEIntegrating the Campus to National NSF Cyberinfrastructure such as OSG and XSEDE
Integrating the Campus to National NSF Cyberinfrastructure such as OSG and XSEDERob Gardner
 
The Open Science Grid
The Open Science GridThe Open Science Grid
The Open Science GridRob Gardner
 
Science content delivery networks
Science content delivery networksScience content delivery networks
Science content delivery networksRob Gardner
 
Ci Connect: A service for building multi-institutional cluster environments
Ci Connect: A service for building multi-institutional cluster environmentsCi Connect: A service for building multi-institutional cluster environments
Ci Connect: A service for building multi-institutional cluster environmentsRob Gardner
 
Open Science Grid
Open Science GridOpen Science Grid
Open Science GridRob Gardner
 
Using Ceph for Large Hadron Collider Data
Using Ceph for Large Hadron Collider DataUsing Ceph for Large Hadron Collider Data
Using Ceph for Large Hadron Collider DataRob Gardner
 

More from Rob Gardner (6)

Integrating the Campus to National NSF Cyberinfrastructure such as OSG and XSEDE
Integrating the Campus to National NSF Cyberinfrastructure such as OSG and XSEDEIntegrating the Campus to National NSF Cyberinfrastructure such as OSG and XSEDE
Integrating the Campus to National NSF Cyberinfrastructure such as OSG and XSEDE
 
The Open Science Grid
The Open Science GridThe Open Science Grid
The Open Science Grid
 
Science content delivery networks
Science content delivery networksScience content delivery networks
Science content delivery networks
 
Ci Connect: A service for building multi-institutional cluster environments
Ci Connect: A service for building multi-institutional cluster environmentsCi Connect: A service for building multi-institutional cluster environments
Ci Connect: A service for building multi-institutional cluster environments
 
Open Science Grid
Open Science GridOpen Science Grid
Open Science Grid
 
Using Ceph for Large Hadron Collider Data
Using Ceph for Large Hadron Collider DataUsing Ceph for Large Hadron Collider Data
Using Ceph for Large Hadron Collider Data
 

Recently uploaded

Behavioral Disorder: Schizophrenia & it's Case Study.pdf
Behavioral Disorder: Schizophrenia & it's Case Study.pdfBehavioral Disorder: Schizophrenia & it's Case Study.pdf
Behavioral Disorder: Schizophrenia & it's Case Study.pdfSELF-EXPLANATORY
 
A relative description on Sonoporation.pdf
A relative description on Sonoporation.pdfA relative description on Sonoporation.pdf
A relative description on Sonoporation.pdfnehabiju2046
 
All-domain Anomaly Resolution Office U.S. Department of Defense (U) Case: “Eg...
All-domain Anomaly Resolution Office U.S. Department of Defense (U) Case: “Eg...All-domain Anomaly Resolution Office U.S. Department of Defense (U) Case: “Eg...
All-domain Anomaly Resolution Office U.S. Department of Defense (U) Case: “Eg...Sérgio Sacani
 
Module 4: Mendelian Genetics and Punnett Square
Module 4:  Mendelian Genetics and Punnett SquareModule 4:  Mendelian Genetics and Punnett Square
Module 4: Mendelian Genetics and Punnett SquareIsiahStephanRadaza
 
Artificial Intelligence In Microbiology by Dr. Prince C P
Artificial Intelligence In Microbiology by Dr. Prince C PArtificial Intelligence In Microbiology by Dr. Prince C P
Artificial Intelligence In Microbiology by Dr. Prince C PPRINCE C P
 
Work, Energy and Power for class 10 ICSE Physics
Work, Energy and Power for class 10 ICSE PhysicsWork, Energy and Power for class 10 ICSE Physics
Work, Energy and Power for class 10 ICSE Physicsvishikhakeshava1
 
Dashanga agada a formulation of Agada tantra dealt in 3 Rd year bams agada tanta
Dashanga agada a formulation of Agada tantra dealt in 3 Rd year bams agada tantaDashanga agada a formulation of Agada tantra dealt in 3 Rd year bams agada tanta
Dashanga agada a formulation of Agada tantra dealt in 3 Rd year bams agada tantaPraksha3
 
Call Us ≽ 9953322196 ≼ Call Girls In Mukherjee Nagar(Delhi) |
Call Us ≽ 9953322196 ≼ Call Girls In Mukherjee Nagar(Delhi) |Call Us ≽ 9953322196 ≼ Call Girls In Mukherjee Nagar(Delhi) |
Call Us ≽ 9953322196 ≼ Call Girls In Mukherjee Nagar(Delhi) |aasikanpl
 
Call Girls in Mayapuri Delhi 💯Call Us 🔝9953322196🔝 💯Escort.
Call Girls in Mayapuri Delhi 💯Call Us 🔝9953322196🔝 💯Escort.Call Girls in Mayapuri Delhi 💯Call Us 🔝9953322196🔝 💯Escort.
Call Girls in Mayapuri Delhi 💯Call Us 🔝9953322196🔝 💯Escort.aasikanpl
 
Natural Polymer Based Nanomaterials
Natural Polymer Based NanomaterialsNatural Polymer Based Nanomaterials
Natural Polymer Based NanomaterialsAArockiyaNisha
 
TOPIC 8 Temperature and Heat.pdf physics
TOPIC 8 Temperature and Heat.pdf physicsTOPIC 8 Temperature and Heat.pdf physics
TOPIC 8 Temperature and Heat.pdf physicsssuserddc89b
 
Lucknow 💋 Russian Call Girls Lucknow Finest Escorts Service 8923113531 Availa...
Lucknow 💋 Russian Call Girls Lucknow Finest Escorts Service 8923113531 Availa...Lucknow 💋 Russian Call Girls Lucknow Finest Escorts Service 8923113531 Availa...
Lucknow 💋 Russian Call Girls Lucknow Finest Escorts Service 8923113531 Availa...anilsa9823
 
CALL ON ➥8923113531 🔝Call Girls Kesar Bagh Lucknow best Night Fun service 🪡
CALL ON ➥8923113531 🔝Call Girls Kesar Bagh Lucknow best Night Fun service  🪡CALL ON ➥8923113531 🔝Call Girls Kesar Bagh Lucknow best Night Fun service  🪡
CALL ON ➥8923113531 🔝Call Girls Kesar Bagh Lucknow best Night Fun service 🪡anilsa9823
 
Recombination DNA Technology (Microinjection)
Recombination DNA Technology (Microinjection)Recombination DNA Technology (Microinjection)
Recombination DNA Technology (Microinjection)Jshifa
 
Analytical Profile of Coleus Forskohlii | Forskolin .pdf
Analytical Profile of Coleus Forskohlii | Forskolin .pdfAnalytical Profile of Coleus Forskohlii | Forskolin .pdf
Analytical Profile of Coleus Forskohlii | Forskolin .pdfSwapnil Therkar
 
Analytical Profile of Coleus Forskohlii | Forskolin .pptx
Analytical Profile of Coleus Forskohlii | Forskolin .pptxAnalytical Profile of Coleus Forskohlii | Forskolin .pptx
Analytical Profile of Coleus Forskohlii | Forskolin .pptxSwapnil Therkar
 
Biopesticide (2).pptx .This slides helps to know the different types of biop...
Biopesticide (2).pptx  .This slides helps to know the different types of biop...Biopesticide (2).pptx  .This slides helps to know the different types of biop...
Biopesticide (2).pptx .This slides helps to know the different types of biop...RohitNehra6
 
Hubble Asteroid Hunter III. Physical properties of newly found asteroids
Hubble Asteroid Hunter III. Physical properties of newly found asteroidsHubble Asteroid Hunter III. Physical properties of newly found asteroids
Hubble Asteroid Hunter III. Physical properties of newly found asteroidsSérgio Sacani
 
The Black hole shadow in Modified Gravity
The Black hole shadow in Modified GravityThe Black hole shadow in Modified Gravity
The Black hole shadow in Modified GravitySubhadipsau21168
 

Recently uploaded (20)

Behavioral Disorder: Schizophrenia & it's Case Study.pdf
Behavioral Disorder: Schizophrenia & it's Case Study.pdfBehavioral Disorder: Schizophrenia & it's Case Study.pdf
Behavioral Disorder: Schizophrenia & it's Case Study.pdf
 
A relative description on Sonoporation.pdf
A relative description on Sonoporation.pdfA relative description on Sonoporation.pdf
A relative description on Sonoporation.pdf
 
All-domain Anomaly Resolution Office U.S. Department of Defense (U) Case: “Eg...
All-domain Anomaly Resolution Office U.S. Department of Defense (U) Case: “Eg...All-domain Anomaly Resolution Office U.S. Department of Defense (U) Case: “Eg...
All-domain Anomaly Resolution Office U.S. Department of Defense (U) Case: “Eg...
 
Module 4: Mendelian Genetics and Punnett Square
Module 4:  Mendelian Genetics and Punnett SquareModule 4:  Mendelian Genetics and Punnett Square
Module 4: Mendelian Genetics and Punnett Square
 
Artificial Intelligence In Microbiology by Dr. Prince C P
Artificial Intelligence In Microbiology by Dr. Prince C PArtificial Intelligence In Microbiology by Dr. Prince C P
Artificial Intelligence In Microbiology by Dr. Prince C P
 
Work, Energy and Power for class 10 ICSE Physics
Work, Energy and Power for class 10 ICSE PhysicsWork, Energy and Power for class 10 ICSE Physics
Work, Energy and Power for class 10 ICSE Physics
 
Dashanga agada a formulation of Agada tantra dealt in 3 Rd year bams agada tanta
Dashanga agada a formulation of Agada tantra dealt in 3 Rd year bams agada tantaDashanga agada a formulation of Agada tantra dealt in 3 Rd year bams agada tanta
Dashanga agada a formulation of Agada tantra dealt in 3 Rd year bams agada tanta
 
Call Us ≽ 9953322196 ≼ Call Girls In Mukherjee Nagar(Delhi) |
Call Us ≽ 9953322196 ≼ Call Girls In Mukherjee Nagar(Delhi) |Call Us ≽ 9953322196 ≼ Call Girls In Mukherjee Nagar(Delhi) |
Call Us ≽ 9953322196 ≼ Call Girls In Mukherjee Nagar(Delhi) |
 
Call Girls in Mayapuri Delhi 💯Call Us 🔝9953322196🔝 💯Escort.
Call Girls in Mayapuri Delhi 💯Call Us 🔝9953322196🔝 💯Escort.Call Girls in Mayapuri Delhi 💯Call Us 🔝9953322196🔝 💯Escort.
Call Girls in Mayapuri Delhi 💯Call Us 🔝9953322196🔝 💯Escort.
 
Natural Polymer Based Nanomaterials
Natural Polymer Based NanomaterialsNatural Polymer Based Nanomaterials
Natural Polymer Based Nanomaterials
 
TOPIC 8 Temperature and Heat.pdf physics
TOPIC 8 Temperature and Heat.pdf physicsTOPIC 8 Temperature and Heat.pdf physics
TOPIC 8 Temperature and Heat.pdf physics
 
Lucknow 💋 Russian Call Girls Lucknow Finest Escorts Service 8923113531 Availa...
Lucknow 💋 Russian Call Girls Lucknow Finest Escorts Service 8923113531 Availa...Lucknow 💋 Russian Call Girls Lucknow Finest Escorts Service 8923113531 Availa...
Lucknow 💋 Russian Call Girls Lucknow Finest Escorts Service 8923113531 Availa...
 
CALL ON ➥8923113531 🔝Call Girls Kesar Bagh Lucknow best Night Fun service 🪡
CALL ON ➥8923113531 🔝Call Girls Kesar Bagh Lucknow best Night Fun service  🪡CALL ON ➥8923113531 🔝Call Girls Kesar Bagh Lucknow best Night Fun service  🪡
CALL ON ➥8923113531 🔝Call Girls Kesar Bagh Lucknow best Night Fun service 🪡
 
Recombination DNA Technology (Microinjection)
Recombination DNA Technology (Microinjection)Recombination DNA Technology (Microinjection)
Recombination DNA Technology (Microinjection)
 
Analytical Profile of Coleus Forskohlii | Forskolin .pdf
Analytical Profile of Coleus Forskohlii | Forskolin .pdfAnalytical Profile of Coleus Forskohlii | Forskolin .pdf
Analytical Profile of Coleus Forskohlii | Forskolin .pdf
 
Analytical Profile of Coleus Forskohlii | Forskolin .pptx
Analytical Profile of Coleus Forskohlii | Forskolin .pptxAnalytical Profile of Coleus Forskohlii | Forskolin .pptx
Analytical Profile of Coleus Forskohlii | Forskolin .pptx
 
9953056974 Young Call Girls In Mahavir enclave Indian Quality Escort service
9953056974 Young Call Girls In Mahavir enclave Indian Quality Escort service9953056974 Young Call Girls In Mahavir enclave Indian Quality Escort service
9953056974 Young Call Girls In Mahavir enclave Indian Quality Escort service
 
Biopesticide (2).pptx .This slides helps to know the different types of biop...
Biopesticide (2).pptx  .This slides helps to know the different types of biop...Biopesticide (2).pptx  .This slides helps to know the different types of biop...
Biopesticide (2).pptx .This slides helps to know the different types of biop...
 
Hubble Asteroid Hunter III. Physical properties of newly found asteroids
Hubble Asteroid Hunter III. Physical properties of newly found asteroidsHubble Asteroid Hunter III. Physical properties of newly found asteroids
Hubble Asteroid Hunter III. Physical properties of newly found asteroids
 
The Black hole shadow in Modified Gravity
The Black hole shadow in Modified GravityThe Black hole shadow in Modified Gravity
The Black hole shadow in Modified Gravity
 

Bring Your Cluster to OSG

  • 1. Rob Gardner • University of Chicago Bring OSG pools to your Cluster. Share your HTCondor pools with OSG. Introduction to High Throughput Computing for Users and System Administrators #TechEX15 Cleveland OH, October 8, 2015
  • 2. Goals for this session ● Quick introduction to the OSG ● Lets submit to OSG from your campus ● Connecting your cluster to the OSG
  • 3. What is the OSG?
  • 4. Open Science Grid Shared sum > 100k cores shared CPU pools from campus clusters
  • 5. What is OSG Connect? ● http://osgconnect.net site ● login node for job management, login.osgconnect.net ● Stash storage platform — common storage for: ○ scp, rsync ○ http ○ Globus (gridftp) ● Recommended path for (most) new OSG users
  • 6. Bring OSG pools to Campus
  • 7. Lightweight Connect Client Idea is to bring the submit point to “home” campus Submit locally, run globally Heavy lifting done by OSG hosted services
  • 8. What is Connect Client? On the OSG Connect login host, we encapsulate many common operations under the connect command: ● connect status ● connect watch ● connect histogram ● connect project
  • 9. What is Connect Client? We bring those commands and a bit more to your campus: ● connect setup ● connect pull ● connect submit ● connect q ● connect history ● connect rm ● connect status ● ...
  • 10. Command summary ● connect setup remote-username ○ one-time authorization setup. (Creates a new SSH key pair and uses your password to authorize it.) ○ connect test can validate access at any time ● connect pull / push ○ lightweight access means no service can monitor file readiness for transfer ○ instead, we have explicit commands for uni- or bi-directional file synchronization between local and remote (the “connected” server). The sync occurs over a secure SSH channel.
  • 11. Command summary ● connect submit ○ like condor_submit, submits a job from a job control file (submit script). Implicitly performs a push beforehand. ● connect q ○ runs condor_q remotely ● connect history ● connect status ● connect rm ○ also condor_* wrappers ● connect shell ○ gives you a login on the connect server at the location of your job
  • 12. Get an OSG Connect credential ● Sign up at http://osgconnect.net/ ● Test that you can login: $ ssh username@login.osgconnect.net ● You can work from here, but to submit from campus cluster log out for now
  • 13. Setup your campus cluster ● We will install the Connect Client ● Works for CentOS 6.x and similar ● You will need sys privs (unless pre-reqs installed) ● You can practice today using our docker service and a vanilla CentOS 6 container image ● So, either login to your home cluster, or follow instructions on next slide...
  • 14. Aside: practice within a container First you will need to login via SSH to docker.osgconnect.net using your OSG Connect credentials. Once there, create a new Docker container: docker run -ti centos:centos6 /bin/sh Once your container is ready, you will see a prompt similar to this: sh-4.1# You are now inside of your container as the super user.
  • 15. Prerequisite software Before installing the Connect Client, we will need to install some other prerequisite software: yum install -y git python-paramiko A lot of text will scroll by as the packages are downloaded and installed into your container. When it’s finished, you will see the following message and be returned to your shell: Complete! sh-4.1#
  • 16. Get the Connect Client Now that the dependencies are installed, you can fetch the Connect Client from GitHub: cd git clone --recursive https://github.com/CI-Connect/connect-client cd connect-client git checkout v0.5 You should see some more text, ending with: HEAD is now at ca309c9... tag release v0.5
  • 17. Setup environment Once installed, you will need to return to the home directory and add the Connect Client to PATH: cd export PATH=$PATH:~/connect-client/connect/bin:~/connect- client/scripts/tutorial
  • 18. Setup the connection to OSG sh-4.1# connect setup Please enter the user name that you created during Connect registration. Note that it consists only of letters and numbers, with no @ symbol. You will be connecting via the connect-client.osgconnect.net server. Enter your Connect username: rwg Password for rwg@connect-client.osgconnect.net: notice: Ongoing client access has been authorized at connect-client.osgconnect.net. notice: Use "connect test" to verify access. sh-4.1# connect test Success! Your client access to connect-client.osgconnect.net is working. sh-4.1#
  • 19. What pools can I now reach? $ connect status
  • 20. sh-4.1# tutorial quickstart Installing quickstart (master)... Tutorial files installed in ./tutorial- quickstart. Running setup in ./tutorial-quickstart... sh-4.1# cd tutorial-quickstart/ Try it out the quickstart $ tutorial
  • 21. Prepare to submit 10 jobs sh-4.1# cat tutorial03.submit Universe = vanilla Executable = short.sh Arguments = 5 # to sleep 5 seconds Error = log/job.err.$(Cluster)-$(Process) Output = log/job.out.$(Cluster)-$(Process) Log = log/job.log.$(Cluster) #+ProjectName="ConnectTrain" Queue 10 sh-4.1# Change arg to 60 seconds Change ConnectTrain to TechEX15 Change Queue value to 10
  • 22. Inspect the job script itself sh-4.1# cat short.sh #!/bin/bash # short.sh: a short discovery job printf "Start time: "; /bin/date printf "Job is running on node: "; /bin/hostname printf "Job running as user: "; /usr/bin/id printf "Job is running in directory: "; /bin/pwd echo echo "Working hard..." sleep ${1-15} echo "Science complete!" sh-4.1# Script that runs on OSG pools
  • 23. sh-4.1# connect submit tutorial03.submit +++++.+.+++ 9 objects sent; 2 objects up to date; 0 errors Submitting job(s).......... 10 job(s) submitted to cluster 4070. sh-4.1# Submit $ connect submit
  • 24. Check queue sh-4.1# connect q -- Submitter: login02.osgconnect.net : <192.170.227.251:37303> : login02.osgconnect.net ID OWNER SUBMITTED RUN_TIME ST PRI SIZE CMD 4070.0 rwg 10/8 04:28 0+00:00:00 I 0 0.0 short.sh 60 # to s 4070.1 rwg 10/8 04:28 0+00:00:00 I 0 0.0 short.sh 60 # to s 4070.2 rwg 10/8 04:28 0+00:00:00 I 0 0.0 short.sh 60 # to s 4070.3 rwg 10/8 04:28 0+00:00:00 I 0 0.0 short.sh 60 # to s 4070.4 rwg 10/8 04:28 0+00:00:00 I 0 0.0 short.sh 60 # to s 4070.5 rwg 10/8 04:28 0+00:00:00 I 0 0.0 short.sh 60 # to s 4070.6 rwg 10/8 04:28 0+00:00:00 I 0 0.0 short.sh 60 # to s 4070.7 rwg 10/8 04:28 0+00:00:00 I 0 0.0 short.sh 60 # to s 4070.8 rwg 10/8 04:28 0+00:00:00 I 0 0.0 short.sh 60 # to s 4070.9 rwg 10/8 04:28 0+00:00:00 I 0 0.0 short.sh 60 # to s 10 jobs; 0 completed, 0 removed, 10 idle, 0 running, 0 held, 0 suspended sh-4.1# $ connect q
  • 25. Where did the jobs run? $ connect historam or $ connect histogram --last
  • 26. Where are the results? ● Nothing was returned to the client host automatically: sh-4.1# ls README.md log short.sh tutorial01.submit tutorial02.submit tutorial03. submit sh-4.1# ls log/ sh-4.1# ● Results are sitting on the OSG Connect server
  • 27. Check and bring back On OSG Connect On campus $ connect shell
  • 28. connect command ● connect show-projects show projects you have access to ● connect project set your accounting project ● connect status show condor_status in all pools ● connect q check progress of your job queue ● connect histogram [--last] shows where your jobs have been run
  • 29. tutorial command sh$ tutorial $ tutorial usage: tutorial list - show available tutorials tutorial info <tutorial-name> - show details of a tutorial tutorial <tutorial-name> - set up a tutoria Currently available tutorials: AutoDockVina .......... Ligand-Receptor docking with AutoDock Vina R ..................... Estimate Pi using the R programming language ScalingUp-R ........... Scaling up compute resources - R example blast ................. blast sequence analysis cp2k .................. How-to for the electronic structure package CP2K dagman-namd ........... Launch a series of NAMD simulations via an HTCondor DAG error101 .............. Use condor_q -better-analyze to analyze stuck jobs
  • 30. tutorial command ● Tutorials are maintained in github and downloaded on demand ● Each tutorial’s README is in the OSG Support site ○ http://osg.link/connect/userguide ○ http://osg.link/connect/recipes ● These are recommended for learning new techniques on OSG Connect
  • 31. Help desk - search, ticket, chat
  • 33. OSG for resource providers ● Connect your campus users to the OSG ○ connect-client - job submit client for the local cluster ○ provide “burst” like capability for HTC jobs to shared opportunistic resources ● Connect campus cluster to OSG ○ Lightweight connect : OSG sends “glidein” jobs to your cluster, using a simple user account ■ No local software or services needed! ○ Large scale: deploy the OSG software stack ■ Support more science communities at larger scale
  • 34. “Quick Connect” Process ● Phone call to discuss particulars of cluster ○ does not need to be HTCondor -- slurm, pbs, others supported ○ Nodes need outbound network connectivity ● Create an osgconnect account that OSG team uses to access
  • 35.
  • 38. ● 2014 stats ○ 67% size of XD, 35% BlueWaters ○ 2.5 Million CPU hours/day ○ 800M hours/year ○ 125M/y provided opportunistic ● >1 petabyte of data/day xfered ● 50+ research groups ● thousands of users ● XD service provider for XSEDE Rudi Eigenmann Program Director Division of Advanced Cyberinfrastructure (ACI) NSF CISE CASC Meeting, April 1, 2015 Distributed HTC on OSG
  • 41. User approach: cluster as abstraction
  • 42. OSG Connect Service View OSG as an HTC cluster ★ Login host ★ Job scheduler ★ Software ★ Storage
  • 43. Software & tools on the OSG ● Distributed software file system OASIS ● Special module command ○ identical software on all clusters ○ 170 libraries #!/bin/bash switchmodules oasis module load R module load matlab ...
  • 44. Submit jobs to OSG with HTCondor ● Simple HTCondor submission ● Complexity hidden from the user ● No grid (X509) certificates required ● Uses HTCondor ClassAd and glidein technology ● DAGMan and other workflow tools
  • 45. Campus ACI as hybrids of: “on premise”, national ACI, national HPC, and cloud 45