<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.umiacs.umd.edu/umiacs/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Dgugel</id>
	<title>UMIACS - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.umiacs.umd.edu/umiacs/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Dgugel"/>
	<link rel="alternate" type="text/html" href="https://wiki.umiacs.umd.edu/umiacs/index.php/Special:Contributions/Dgugel"/>
	<updated>2026-05-12T14:28:26Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.7</generator>
	<entry>
		<id>https://wiki.umiacs.umd.edu/umiacs/index.php?title=FilesystemDataStorage&amp;diff=9461</id>
		<title>FilesystemDataStorage</title>
		<link rel="alternate" type="text/html" href="https://wiki.umiacs.umd.edu/umiacs/index.php?title=FilesystemDataStorage&amp;diff=9461"/>
		<updated>2020-11-19T17:37:54Z</updated>

		<summary type="html">&lt;p&gt;Dgugel: /* Linux Storage Commands */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;UMIACS recommends that any and all important data be stored on a redundant, backed-up file server.  However, there are a number of cases where this is not feasible.&lt;br /&gt;
&lt;br /&gt;
==Windows Local Storage==&lt;br /&gt;
Windows hosts at UMIACS store user directories on their local C drives. Supported, UMIACS-managed hosts automatically back up user data on the C drive nightly using the Institute&#039;s backup system. If you have a supported, UMIACS-managed host that has other internal or external hard drives attached to it, please be aware that these drives &#039;&#039;&#039;are not&#039;&#039;&#039; backed up. Laptops and non-standard hosts are not automatically backed up and should be manually backed up by their users.&lt;br /&gt;
&lt;br /&gt;
==UNIX Remote Storage==&lt;br /&gt;
We provide storage to each of our users in our UNIX offerings through the [[OpenLAB]] [[NFShomes]].&lt;br /&gt;
&lt;br /&gt;
This home directory,&lt;br /&gt;
&lt;br /&gt;
    /nfshomes/username&lt;br /&gt;
&lt;br /&gt;
is backed up nightly into our [[TSM]] backup system.  This volume has [[Snapshots]] enabled for easy user restores.&lt;br /&gt;
&lt;br /&gt;
Users are given a 4 gigabyte [[Quota]].&lt;br /&gt;
&lt;br /&gt;
==UNIX Local Storage==&lt;br /&gt;
UNIX machines use redundant, backed-up network file shares for user directories.  Research data storage is also stored on redundant, backed-up network file shares and is generally available under /fs/&lt;br /&gt;
&lt;br /&gt;
All UNIX machines also have local storage available for transitory use.  These directories may be used to store temporary, local &#039;&#039;&#039;&#039;&#039;COPIES&#039;&#039;&#039;&#039;&#039; of data that is permanently stored elsewhere or as a staging point for output.&lt;br /&gt;
&lt;br /&gt;
These directories may not, &#039;&#039;&#039;&#039;&#039;under any circumstances&#039;&#039;&#039;&#039;&#039;, be used as permanent storage for unique, important data.  UMIACS staff cannot recover damaged or deleted data from these directories and will not be responsible for data loss if they are misused.&lt;br /&gt;
&lt;br /&gt;
Please note that &#039;&#039;&#039;/tmp&#039;&#039;&#039; in particular is at risk for data loss or corruption as that directory is regularly used by system processes and services for temporary storage.&lt;br /&gt;
&lt;br /&gt;
These directories include:&lt;br /&gt;
&lt;br /&gt;
  - /tmp&lt;br /&gt;
  - /scratch0, /scratch1, /scratch*&lt;br /&gt;
  - any directory named in whole or in part &amp;quot;tmp&amp;quot;, &amp;quot;temp&amp;quot;, or &amp;quot;scratch&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Locally Attached Storage==&lt;br /&gt;
Locally attached storage like USB flash drives and USB hard drives are very popular.  However, these devices are significantly more vulnerable to data loss or theft than internal or networked data storage.  In general, UMIACS discourages the use of locally attached network storage when any other option is available.  Please note that these devices are prone to high rates of failure and additional steps should be taken to ensure that the data is backed up and that critical or confidential data is not lost or stolen.&lt;br /&gt;
&lt;br /&gt;
==Network Scratch Storage==&lt;br /&gt;
Some labs have network-attached storage dedicated for scratch/temporary storage. These shares are named in the same manner as local scratch or temporary storage (i.e. /fs/lab-scratch or /lab/scratch0 ) and are subject to the same policies as local scratch/tmp (discussed above.)&lt;br /&gt;
&lt;br /&gt;
==UNIX Storage Commands==&lt;br /&gt;
Below are a few different CLI commands that may prove useful for monitoring your storage usage and performance. For additional information, run &amp;lt;code&amp;gt;[command] --help&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;man [command]&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
df - Shows descriptive file system information&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Usage: df [OPTION]... [FILE]...&lt;br /&gt;
Show information about the file system on which each FILE resides,&lt;br /&gt;
or all file systems by default.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
du - Shows disk usage of specific files. Use the -d flag for better depth control.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Usage: du [OPTION]... [FILE]...&lt;br /&gt;
  or:  du [OPTION]... --files0-from=F&lt;br /&gt;
Summarize disk usage of each FILE, recursively for directories.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
free - Shows current memory(RAM) usage. Use the -h flag for a human readable format.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Usage:&lt;br /&gt;
 free [options]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
quota - Shows quota information, this is useful for viewing per filesystem limits in places such as a home directory. &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
quota: Usage: quota [-guqvswim] [-l | [-Q | -A]] [-F quotaformat]&lt;br /&gt;
	quota [-qvswim] [-l | [-Q | -A]] [-F quotaformat] -u username ...&lt;br /&gt;
	quota [-qvswim] [-l | [-Q | -A]] [-F quotaformat] -g groupname ...&lt;br /&gt;
	quota [-qvswugQm] [-F quotaformat] -f filesystem ...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
iostat - Shows drive utilization, as well as other utilizations. Pair this with the &amp;lt;code&amp;gt;watch&amp;lt;/code&amp;gt; command for regular updates. &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Usage: iostat [ options ] [ &amp;lt;interval&amp;gt; [ &amp;lt;count&amp;gt; ] ]&lt;br /&gt;
Options are:&lt;br /&gt;
[ -c ] [ -d ] [ -h ] [ -k | -m ] [ -N ] [ -t ] [ -V ] [ -x ] [ -y ] [ -z ]&lt;br /&gt;
[ -j { ID | LABEL | PATH | UUID | ... } ]&lt;br /&gt;
[ [ -T ] -g &amp;lt;group_name&amp;gt; ] [ -p [ &amp;lt;device&amp;gt; [,...] | ALL ] ]&lt;br /&gt;
[ &amp;lt;device&amp;gt; [...] | ALL ]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Dgugel</name></author>
	</entry>
	<entry>
		<id>https://wiki.umiacs.umd.edu/umiacs/index.php?title=FilesystemDataStorage&amp;diff=9460</id>
		<title>FilesystemDataStorage</title>
		<link rel="alternate" type="text/html" href="https://wiki.umiacs.umd.edu/umiacs/index.php?title=FilesystemDataStorage&amp;diff=9460"/>
		<updated>2020-11-19T17:30:59Z</updated>

		<summary type="html">&lt;p&gt;Dgugel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;UMIACS recommends that any and all important data be stored on a redundant, backed-up file server.  However, there are a number of cases where this is not feasible.&lt;br /&gt;
&lt;br /&gt;
==Windows Local Storage==&lt;br /&gt;
Windows hosts at UMIACS store user directories on their local C drives. Supported, UMIACS-managed hosts automatically back up user data on the C drive nightly using the Institute&#039;s backup system. If you have a supported, UMIACS-managed host that has other internal or external hard drives attached to it, please be aware that these drives &#039;&#039;&#039;are not&#039;&#039;&#039; backed up. Laptops and non-standard hosts are not automatically backed up and should be manually backed up by their users.&lt;br /&gt;
&lt;br /&gt;
==UNIX Remote Storage==&lt;br /&gt;
We provide storage to each of our users in our UNIX offerings through the [[OpenLAB]] [[NFShomes]].&lt;br /&gt;
&lt;br /&gt;
This home directory,&lt;br /&gt;
&lt;br /&gt;
    /nfshomes/username&lt;br /&gt;
&lt;br /&gt;
is backed up nightly into our [[TSM]] backup system.  This volume has [[Snapshots]] enabled for easy user restores.&lt;br /&gt;
&lt;br /&gt;
Users are given a 4 gigabyte [[Quota]].&lt;br /&gt;
&lt;br /&gt;
==UNIX Local Storage==&lt;br /&gt;
UNIX machines use redundant, backed-up network file shares for user directories.  Research data storage is also stored on redundant, backed-up network file shares and is generally available under /fs/&lt;br /&gt;
&lt;br /&gt;
All UNIX machines also have local storage available for transitory use.  These directories may be used to store temporary, local &#039;&#039;&#039;&#039;&#039;COPIES&#039;&#039;&#039;&#039;&#039; of data that is permanently stored elsewhere or as a staging point for output.&lt;br /&gt;
&lt;br /&gt;
These directories may not, &#039;&#039;&#039;&#039;&#039;under any circumstances&#039;&#039;&#039;&#039;&#039;, be used as permanent storage for unique, important data.  UMIACS staff cannot recover damaged or deleted data from these directories and will not be responsible for data loss if they are misused.&lt;br /&gt;
&lt;br /&gt;
Please note that &#039;&#039;&#039;/tmp&#039;&#039;&#039; in particular is at risk for data loss or corruption as that directory is regularly used by system processes and services for temporary storage.&lt;br /&gt;
&lt;br /&gt;
These directories include:&lt;br /&gt;
&lt;br /&gt;
  - /tmp&lt;br /&gt;
  - /scratch0, /scratch1, /scratch*&lt;br /&gt;
  - any directory named in whole or in part &amp;quot;tmp&amp;quot;, &amp;quot;temp&amp;quot;, or &amp;quot;scratch&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Locally Attached Storage==&lt;br /&gt;
Locally attached storage like USB flash drives and USB hard drives are very popular.  However, these devices are significantly more vulnerable to data loss or theft than internal or networked data storage.  In general, UMIACS discourages the use of locally attached network storage when any other option is available.  Please note that these devices are prone to high rates of failure and additional steps should be taken to ensure that the data is backed up and that critical or confidential data is not lost or stolen.&lt;br /&gt;
&lt;br /&gt;
==Network Scratch Storage==&lt;br /&gt;
Some labs have network-attached storage dedicated for scratch/temporary storage. These shares are named in the same manner as local scratch or temporary storage (i.e. /fs/lab-scratch or /lab/scratch0 ) and are subject to the same policies as local scratch/tmp (discussed above.)&lt;br /&gt;
&lt;br /&gt;
==Linux Storage Commands==&lt;br /&gt;
Below are a few different CLI commands that may prove useful for monitoring your storage usage and performance. For additional information, run &amp;lt;code&amp;gt;[command] --help&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;man [command]&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
df - Shows descriptive file system information&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Usage: df [OPTION]... [FILE]...&lt;br /&gt;
Show information about the file system on which each FILE resides,&lt;br /&gt;
or all file systems by default.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
du - Shows disk usage of specific files. Use the -d flag for better depth control.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Usage: du [OPTION]... [FILE]...&lt;br /&gt;
  or:  du [OPTION]... --files0-from=F&lt;br /&gt;
Summarize disk usage of each FILE, recursively for directories.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
free - Shows current memory(RAM) usage. Use the -h flag for a human readable format.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Usage:&lt;br /&gt;
 free [options]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
quota - Shows quota information, this is useful for viewing per filesystem limits in places such as a home directory. &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
quota: Usage: quota [-guqvswim] [-l | [-Q | -A]] [-F quotaformat]&lt;br /&gt;
	quota [-qvswim] [-l | [-Q | -A]] [-F quotaformat] -u username ...&lt;br /&gt;
	quota [-qvswim] [-l | [-Q | -A]] [-F quotaformat] -g groupname ...&lt;br /&gt;
	quota [-qvswugQm] [-F quotaformat] -f filesystem ...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
iostat - Shows drive utilization, as well as other utilizations. Pair this with the &amp;lt;code&amp;gt;watch&amp;lt;/code&amp;gt; command for regular updates. &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Usage: iostat [ options ] [ &amp;lt;interval&amp;gt; [ &amp;lt;count&amp;gt; ] ]&lt;br /&gt;
Options are:&lt;br /&gt;
[ -c ] [ -d ] [ -h ] [ -k | -m ] [ -N ] [ -t ] [ -V ] [ -x ] [ -y ] [ -z ]&lt;br /&gt;
[ -j { ID | LABEL | PATH | UUID | ... } ]&lt;br /&gt;
[ [ -T ] -g &amp;lt;group_name&amp;gt; ] [ -p [ &amp;lt;device&amp;gt; [,...] | ALL ] ]&lt;br /&gt;
[ &amp;lt;device&amp;gt; [...] | ALL ]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Dgugel</name></author>
	</entry>
	<entry>
		<id>https://wiki.umiacs.umd.edu/umiacs/index.php?title=SLURM/JobSubmission&amp;diff=8779</id>
		<title>SLURM/JobSubmission</title>
		<link rel="alternate" type="text/html" href="https://wiki.umiacs.umd.edu/umiacs/index.php?title=SLURM/JobSubmission&amp;diff=8779"/>
		<updated>2020-01-04T06:42:07Z</updated>

		<summary type="html">&lt;p&gt;Dgugel: /* Job Submission */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Job Submission=&lt;br /&gt;
&lt;br /&gt;
SLURM offers a variety of ways to run jobs. It is important to understand the different options available and how to request the resources required for a job in order for it to run successfully. All job submission should be done from submit nodes; any computational code should be run in a job allocation on compute nodes. The following commands outline how to allocate resources on the compute nodes and submit processes to be run on the allocated nodes.&lt;br /&gt;
&lt;br /&gt;
Please note that the hard maximum number of jobs that the SLURM scheduler can handle is 10000. It is best to limit your number of submitted jobs at any given time to less than half this amount in the case that another user also wants to submit a large number of jobs.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;An important notice: computational jobs run on submission nodes will be terminated. Please use the compute nodes for that purpose.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==srun==&lt;br /&gt;
&amp;lt;code&amp;gt;srun&amp;lt;/code&amp;gt; is the command used to run a process on the compute nodes in the cluster. It works by passing it a command (this could be a script) which will be run on a compute node and then &amp;lt;code&amp;gt;srun&amp;lt;/code&amp;gt; will return. &amp;lt;code&amp;gt;srun&amp;lt;/code&amp;gt; accepts many command line options to specify the resources required by the command passed to it. Some common command line arguments are listed below and full documentation of all available options is available in the man page for &amp;lt;code&amp;gt;srun&amp;lt;/code&amp;gt;, which can be accessed by running &amp;lt;code&amp;gt;man srun&amp;lt;/code&amp;gt;. &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
tgray26@opensub01:srun --mem=100mb --time=1:00:00 bash -c &#039;echo &amp;quot;Hello World from&amp;quot; `hostname`&#039;&lt;br /&gt;
Hello World from openlab06.umiacs.umd.edu&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
It is important to understand that &amp;lt;code&amp;gt;srun&amp;lt;/code&amp;gt; is an interactive command. By default input to &amp;lt;code&amp;gt;srun&amp;lt;/code&amp;gt; is broadcast to all compute nodes running your process and output from the compute nodes is redirected to &amp;lt;code&amp;gt;srun&amp;lt;/code&amp;gt;. This behavior can be changed; however, &#039;&#039;&#039;srun will always wait for the command passed to finish before exiting, so if you start a long running process and end your terminal session, your process will stop running on the compute nodes and your job will end&#039;&#039;&#039;. To run a non-interactive submission that will remain running after you logout, you will need to wrap your &amp;lt;code&amp;gt;srun&amp;lt;/code&amp;gt; commands in a batch script and submit it with [[#sbatch | sbatch]]&lt;br /&gt;
===Common srun arguments===&lt;br /&gt;
* &amp;lt;code&amp;gt;--mem=1gb&amp;lt;/code&amp;gt; &#039;&#039;if no unit is given MB is assumed&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;--nodes=2&amp;lt;/code&amp;gt; &#039;&#039;if passed to srun, the given command will be run concurrently on each node&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;--qos=dpart&amp;lt;/code&amp;gt; &#039;&#039;to see the available QOS options on a cluster, run&#039;&#039; &amp;lt;code&amp;gt;show_qos&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;--time=hh:mm:ss&amp;lt;/code&amp;gt; &#039;&#039;time needed to run your job&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;--job-name=helloWorld&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;--output filename&amp;lt;/code&amp;gt; &#039;&#039;file to redirect stdout to&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;--error filename&amp;lt;/code&amp;gt; &#039;&#039;file to redirect stderr&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;--partition $PNAME&amp;lt;/code&amp;gt; &#039;&#039;request job run in the $PNAME partition&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;--ntasks 2&amp;lt;/code&amp;gt; &#039;&#039;request 2 &amp;quot;tasks&amp;quot; which map to cores on a CPU, if passed to srun the given command will be run concurrently on each core&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;--account=accountname&amp;lt;/code&amp;gt; &#039;&#039;use qos specific to an account&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Interactive Shell Sessions===&lt;br /&gt;
An interactive shell session on a compute node can be useful for debugging or developing code that isn&#039;t ready to be run as a batch job. To get an interactive shell on a node, use &amp;lt;code&amp;gt;srun&amp;lt;/code&amp;gt; to invoke a shell:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
tgray26@opensub01:srun --pty --mem 1gb --time=01:00:00 bash&lt;br /&gt;
tgray26@openlab06:&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Please do not leave interactive shells running for long periods of time when you are not working. This blocks resources from being used by everyone else.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==salloc==&lt;br /&gt;
The salloc command can also be used to request resources be allocated without needing a batch script. Running salloc with a list of resources will allocate the resources you requested, create a job, and drop you into a subshell with the environment variables necessary to run commands in the newly created job allocation. When your time is up or you exit the subshell, your job allocation will be relinquished.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
tgray26@opensub00:salloc -N 1 --mem=2gb --time=01:00:00&lt;br /&gt;
salloc: Granted job allocation 159&lt;br /&gt;
tgray26@opensub00:srun /usr/bin/hostname&lt;br /&gt;
openlab00.umiacs.umd.edu&lt;br /&gt;
tgray26@opensub00:exit&lt;br /&gt;
exit&lt;br /&gt;
salloc: Relinquishing job allocation 159&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Please note that any commands not invoked with srun will be run locally on the submit node. Please be careful when using salloc.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==sbatch==&lt;br /&gt;
The sbatch command allows you to write a batch script to be submitted and run non-interactively on the compute nodes. To run a simple Hello World command on the compute nodes you could write a file, helloWorld.sh with the following contents:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
srun bash -c &#039;echo Hello World from `hostname`&#039;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Then you need to submit the script with sbatch and request resources:&lt;br /&gt;
&amp;lt;pre&amp;gt;tgray26@opensub00:sbatch --mem=1gb --time=1:00:00 helloWorld.sh&lt;br /&gt;
Submitted batch job 121&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
SLURM will return a job number that you can use to check the status of your job with squeue:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
tgray26@opensub00:squeue&lt;br /&gt;
             JOBID PARTITION     NAME     USER ST       TIME  NODES NODELIST(REASON)&lt;br /&gt;
               121     dpart helloWor  tgray26  R       0:01      2 openlab[00-01]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
====Advanced Batch Scripts====&lt;br /&gt;
You can also write a batch script with all of your resources/options defined in the script itself. This is useful for jobs that need to be run 10s/100s/1000s of times. You can then handle any necessary environment setup and run commands on the resources you requested by invoking commands with srun. The srun commands can also be more complex and be told to only use portions of your entire job allocation, each of these distinct srun commands makes up one &amp;quot;job step&amp;quot;. The batch script will be run on the first node allocated as part of your job allocation and each job step will be run on whatever resources you tell them to. In the following example I have a batch job that will request 2 nodes in the cluster, then I load a specific version of Python into my environment and submit two job steps, each one using one node. Since srun is blocks until the command finishes, I use the &#039;&amp;amp;&#039; operator to background the process so that both job steps can run at once; however, this means that I then need to use the wait command to block processing until all background processes have finished.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
# Lines that begin with #SBATCH specify commands to be used by SLURM for scheduling&lt;br /&gt;
&lt;br /&gt;
#SBATCH --job-name=helloWorld                                   # sets the job name&lt;br /&gt;
#SBATCH --output helloWorld.out.%j                              # indicates a file to redirect STDOUT to; %j is the jobid &lt;br /&gt;
#SBATCH --error helloWorld.out.%j                               # indicates a file to redirect STDERR to; %j is the jobid&lt;br /&gt;
#SBATCH --time=00:05:00                                         # how long you think your job will take to complete; format=hh:mm:ss&lt;br /&gt;
#SBATCH --qos=dpart                                             # set QOS, this will determine what resources can be requested&lt;br /&gt;
#SBATCH --nodes=2                                               # number of nodes to allocate for your job&lt;br /&gt;
#SBATCH --ntasks=4                                              # request 4 cpu cores be reserved for your node total&lt;br /&gt;
#SBATCH --ntasks-per-node=2                                     # request 2 cpu cores be reserved per node&lt;br /&gt;
#SBATCH --mem 1gb                                               # memory required by job; if unit is not specified MB will be assumed&lt;br /&gt;
&lt;br /&gt;
module load Python/2.7.9                                        # run any commands necessary to setup your environment&lt;br /&gt;
&lt;br /&gt;
srun -N 1 --mem=512mb bash -c &amp;quot;hostname; python --version&amp;quot; &amp;amp;    # use srun to invoke commands within your job; using an &#039;&amp;amp;&#039;&lt;br /&gt;
srun -N 1 --mem=512mb bash -c &amp;quot;hostname; python --version&amp;quot; &amp;amp;    # will background the process allowing them to run concurrently&lt;br /&gt;
wait                                                            # wait for any background processes to complete&lt;br /&gt;
&lt;br /&gt;
# once the end of the batch script is reached your job allocation will be revoked&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Another useful thing to know is that you can pass additional arguments into your sbatch scripts on the command line and reference them as &amp;lt;code&amp;gt;${1}&amp;lt;/code&amp;gt; for the first argument and so on.&lt;br /&gt;
&lt;br /&gt;
====More Examples====&lt;br /&gt;
&lt;br /&gt;
* [[SLURM/ArrayJobs]]&lt;br /&gt;
&lt;br /&gt;
===scancel===&lt;br /&gt;
The scancel command can be used to cancel job allocations or job steps that are no longer needed. It can be passed individual job IDs or an option to delete all of your jobs or jobs that meet certain criteria.&lt;br /&gt;
*&amp;lt;code&amp;gt;scancel 255&amp;lt;/code&amp;gt;     &#039;&#039;cancel job 255&#039;&#039;&lt;br /&gt;
*&amp;lt;code&amp;gt;scancel 255.3&amp;lt;/code&amp;gt;     &#039;&#039;cancel job step 3 of job 255&#039;&#039;&lt;br /&gt;
*&amp;lt;code&amp;gt;scancel --user tgray26 --partition dpart&amp;lt;/code&amp;gt;    &#039;&#039;cancel all jobs for tgray26 in the dpart partition&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=Identifying Resources and Features=&lt;br /&gt;
The sinfo can show you additional features of nodes in the cluster but you need to ask it to show some non-default options using a command like this &lt;br /&gt;
&amp;lt;code&amp;gt;sinfo -o &amp;quot;%15N %10c %10m  %25f %10G&amp;quot;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sinfo -o &amp;quot;%40N %8c %8m  %20f %25G&amp;quot;&lt;br /&gt;
NODELIST                                 CPUS     MEMORY    AVAIL_FEATURES       GRES&lt;br /&gt;
openlab[30-33]                           64       257759    Opteron,6274         (null)&lt;br /&gt;
openlab[00-07]                           8        7822      Opteron,2354         (null)&lt;br /&gt;
openlab[10-11,13-18,20-23,25,27-29]      16       23939     Xeon,x5560           (null)&lt;br /&gt;
openlab08                                32       128720    Xeon,E5-2690         gpu:k20:2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can also identify further specific information about a node using [https://wiki.umiacs.umd.edu/umiacs/index.php/SLURM/ClusterStatus#scontrol scontrol].&lt;br /&gt;
&lt;br /&gt;
=Requesting GPUs=&lt;br /&gt;
If you need to do processing on a GPU, you will need to request that your job have access to GPUs just as you need to request processors or cpu cores. You will also need to make sure that you submit your job to the correct partition since nodes with GPUs are often put into their own partition to prevent the nodes from being tied up by jobs that don&#039;t utilize GPUs. In SLURM, GPUs are considered &amp;quot;generic resources&amp;quot; also known as GRES. To request some number of GPUs be reserved/available for your job you can use the flag &amp;lt;code&amp;gt;--gres:gpu:2&amp;lt;/code&amp;gt; or if there are multiple types of GPUs available in the cluster and you need a specific type, you can provide the type option to the gres flag &amp;lt;code&amp;gt;--gres:k20:1&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
tgray26@opensub01:srun --pty --partition gpu --qos=gpu --gres=gpu:2 nvidia-smi&lt;br /&gt;
Wed Jul 13 15:33:18 2016&lt;br /&gt;
+------------------------------------------------------+&lt;br /&gt;
| NVIDIA-SMI 361.28     Driver Version: 361.28         |&lt;br /&gt;
|-------------------------------+----------------------+----------------------+&lt;br /&gt;
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |&lt;br /&gt;
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |&lt;br /&gt;
|===============================+======================+======================|&lt;br /&gt;
|   0  Tesla K20c          Off  | 0000:03:00.0     Off |                    0 |&lt;br /&gt;
| 30%   24C    P0    48W / 225W |     11MiB /  4799MiB |      0%      Default |&lt;br /&gt;
+-------------------------------+----------------------+----------------------+&lt;br /&gt;
|   1  Tesla K20c          Off  | 0000:84:00.0     Off |                    0 |&lt;br /&gt;
| 30%   23C    P0    52W / 225W |     11MiB /  4799MiB |     93%      Default |&lt;br /&gt;
+-------------------------------+----------------------+----------------------+&lt;br /&gt;
&lt;br /&gt;
+-----------------------------------------------------------------------------+&lt;br /&gt;
| Processes:                                                       GPU Memory |&lt;br /&gt;
|  GPU       PID  Type  Process name                               Usage      |&lt;br /&gt;
|=============================================================================|&lt;br /&gt;
|  No running processes found                                                 |&lt;br /&gt;
+-----------------------------------------------------------------------------+&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Please note that your job will only be able to see/access the GPUs you requested. If you only need 1 GPU, please request only 1 GPU and the other one will be left available for other users:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
tgray26@opensub01:srun --pty --partition gpu --qos=gpu --gres=gpu:k20:1 nvidia-smi&lt;br /&gt;
Wed Jul 13 15:31:29 2016&lt;br /&gt;
+------------------------------------------------------+&lt;br /&gt;
| NVIDIA-SMI 361.28     Driver Version: 361.28         |&lt;br /&gt;
|-------------------------------+----------------------+----------------------+&lt;br /&gt;
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |&lt;br /&gt;
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |&lt;br /&gt;
|===============================+======================+======================|&lt;br /&gt;
|   0  Tesla K20c          Off  | 0000:03:00.0     Off |                    0 |&lt;br /&gt;
| 30%   24C    P0    50W / 225W |     11MiB /  4799MiB |     92%      Default |&lt;br /&gt;
+-------------------------------+----------------------+----------------------+&lt;br /&gt;
&lt;br /&gt;
+-----------------------------------------------------------------------------+&lt;br /&gt;
| Processes:                                                       GPU Memory |&lt;br /&gt;
|  GPU       PID  Type  Process name                               Usage      |&lt;br /&gt;
|=============================================================================|&lt;br /&gt;
|  No running processes found                                                 |&lt;br /&gt;
+-----------------------------------------------------------------------------+&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The &amp;lt;code&amp;gt;--gres&amp;lt;/code&amp;gt; flag may also be passed to [[#sbatch | sbatch]] and [[#salloc | salloc]] rather than directly to [[#srun | srun]]&lt;br /&gt;
&lt;br /&gt;
=MPI example=&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/usr/bin/bash &lt;br /&gt;
#SBATCH --job-name=mpi_test # Job name &lt;br /&gt;
#SBATCH --nodes=4 # Number of nodes &lt;br /&gt;
#SBATCH --ntasks=8 # Number of MPI ranks &lt;br /&gt;
#SBATCH --ntasks-per-node=2 # Number of MPI ranks per node &lt;br /&gt;
#SBATCH --ntasks-per-socket=1 # Number of tasks per processor socket on the node &lt;br /&gt;
#SBATCH --time=00:30:00 # Time limit hrs:min:sec &lt;br /&gt;
&lt;br /&gt;
module load mpi &lt;br /&gt;
&lt;br /&gt;
srun --mpi=openmpi /nfshomes/derek/testing/mpi/a.out &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Dgugel</name></author>
	</entry>
	<entry>
		<id>https://wiki.umiacs.umd.edu/umiacs/index.php?title=Network/VPN/macOS&amp;diff=8399</id>
		<title>Network/VPN/macOS</title>
		<link rel="alternate" type="text/html" href="https://wiki.umiacs.umd.edu/umiacs/index.php?title=Network/VPN/macOS&amp;diff=8399"/>
		<updated>2019-06-19T17:58:45Z</updated>

		<summary type="html">&lt;p&gt;Dgugel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Please note that this tutorial assumes you already have a network connection established.&#039;&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;If you have a UMIACS account, you already have access.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The UMIACS VPN is accessible through the Pulse Secure Client.  Alternatively, you can establish a connection through a web browser.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;As of May 10th 2019, MFA Authentication is mandatory.&#039;&#039;&#039;&lt;br /&gt;
==Prerequisites==&lt;br /&gt;
* Device enrolled with [[Duo | UMIACS Duo]]&lt;br /&gt;
&lt;br /&gt;
== Connecting through the Pulse Secure client ==&lt;br /&gt;
#&#039;&#039;&#039;Download the client:&#039;&#039;&#039;&lt;br /&gt;
#:[[Media:PulseSecure-MACos.dmg|macOS Pulse Secure Client]]&amp;lt;br style=&amp;quot;clear:both&amp;quot;/&amp;gt;&lt;br /&gt;
#:&#039;&#039;Upon starting the client for the first time it will ask to upgrade the client.  This will pull an up-to-date version of the client with the most recent configuration.&#039;&#039;&lt;br /&gt;
#&#039;&#039;&#039;Open the client and click &#039;Add&#039; (+) under the connection section.&#039;&#039;&#039;&lt;br /&gt;
#:[[Image:JunosOSX.png|thumb|left|510px|[macOS] Click the &#039;Add&#039; (+) button to create a new connection]]&amp;lt;br style=&amp;quot;clear:both&amp;quot;/&amp;gt;&lt;br /&gt;
#&#039;&#039;&#039;In the &#039;Name&#039; field, enter a descriptive name for this vpn Connection.&#039;&#039;&#039;&lt;br /&gt;
#&#039;&#039;&#039;In the &#039;Server URL&#039; enter &#039;vpn.umiacs.umd.edu&#039;&#039;&#039;&#039; &lt;br /&gt;
#:[[Image:JunosOSXSettings.png|thumb|left|510px|[macOS] Enter the name of the vpn server]]&amp;lt;br style=&amp;quot;clear:both&amp;quot;/&amp;gt;&lt;br /&gt;
#&#039;&#039;&#039;Enter your UMIACS credentials and hit connect.&#039;&#039;&#039; &lt;br /&gt;
#:[[Image:JunosOSXLogin.png|thumb|left|510px|[macOS] Enter UMIACS Credentials]]&amp;lt;br style=&amp;quot;clear:both&amp;quot;/&amp;gt;&lt;br /&gt;
#&#039;&#039;&#039;Complete the [[Network/VPN/MFA | MFA]] Verification Step&lt;br /&gt;
#:[[Image:mac_mfa_step.png|thumb|left|510px|[macOS] Enter a secondary password.]]&amp;lt;br style=&amp;quot;clear:both&amp;quot;/&amp;gt;&lt;br /&gt;
::The Pulse VPN multi-factor authentication implementation relies on a secondary authentication source to fulfill the [[Network/VPN/MFA | MFA]] requirement.  As a result, you will be prompted for credentials twice.&lt;br /&gt;
&lt;br /&gt;
::{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Second Credential Password Value:&lt;br /&gt;
! Result&lt;br /&gt;
|-&lt;br /&gt;
| push&lt;br /&gt;
| Send a push verification to your Duo connected device&lt;br /&gt;
|-&lt;br /&gt;
| phone&lt;br /&gt;
| Send a call verification to your Duo connected device.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;press YubiKey&amp;gt;&lt;br /&gt;
| If you have a physical token then you would press the YubiKey for the one time password.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
::Please note that registering a YubiKey for use with the VPN requires interaction with UMIACS Tech Staff. Please [[HelpDesk | contact us]] if you would like to register a YubiKey for this purpose.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Note|&amp;lt;b&amp;gt;Pro-tip:&amp;lt;/b&amp;gt; Select ‘Save Settings’ on the secondary authentication prompt to have Duo automatically use your preferred method.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You should now be connected to the UMIACS VPN. If you encounter an error, please refer to the &amp;quot;Setup Security Requirement&amp;quot; section bellow.&lt;br /&gt;
&lt;br /&gt;
==Checking VPN Status==&lt;br /&gt;
# In the top right hand corner, on your status bar, you should see an S icon in a black circle. If there&#039;s a green arrow, that means you are connected! If there is nothing, that means you are not. &lt;br /&gt;
#: [[Image:Check the Status of your ConnectionOSX1.png|thumb|left|610px|[macOS] The top image is connected, the bottom image is not.]]&amp;lt;br style=&amp;quot;clear:both&amp;quot;/&amp;gt;&lt;br /&gt;
# You can click this icon, as well, and it will show you the status of your connection.&lt;br /&gt;
#:[[Image:AreYouConnected2.png|thumb|left|610px|[macOS] The Pulse drop down menu.]]&amp;lt;br style=&amp;quot;clear:both&amp;quot;/&amp;gt;&lt;br /&gt;
# If the icon is not in the status bar, you can find Pulse Secure in your Applications folder. There you will see a list of connections.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Setup Security Requirement (Follow these steps if you encounter an error while connecting through the Pulse Secure client) ==&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Click the Apple logo at the top left of your desktop&#039;&#039;&#039;&lt;br /&gt;
#:[[Image:ClickApple.png|thumb|left|510px|[macOS] Click the apple logo to show menu]]&amp;lt;br style=&amp;quot;clear:both&amp;quot;/&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Click &amp;quot;System Preferences&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
#:[[Image:SystemPreferences.png|thumb|left|510px|[macOS] Enter the system preferences]]&amp;lt;br style=&amp;quot;clear:both&amp;quot;/&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Click &amp;quot;Security &amp;amp; Privacy&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
#:[[Image:SecurityPrivacy.png|thumb|left|510px|[macOS] Enter the security and privacy settings]]&amp;lt;br style=&amp;quot;clear:both&amp;quot;/&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Click the &amp;quot;lock&amp;quot; icon at the bottom left and Enter your credentials to enable changes.&#039;&#039;&#039;&lt;br /&gt;
#:[[Image:EnterCredentials.png|thumb|left|510px|[macOS] Enter credentials to allow changes]]&amp;lt;br style=&amp;quot;clear:both&amp;quot;/&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;In the &amp;quot;General&amp;quot; tab, under &amp;quot;Allow Apps Downloaded From&amp;quot;, select &amp;quot;Mac Apps Store and Identified developers&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
#:[[Image:AppStoreIdentifier.png|thumb|left|510px|[macOS] Select Mac Apps Store and Identified developers]]&amp;lt;br style=&amp;quot;clear:both&amp;quot;/&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Click &amp;quot;Next&amp;quot; to the message &amp;quot;System Software From Developers &amp;quot;Pulse Secure LLC&amp;quot; was blocked from loading&amp;quot; if prompted.&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;Click &amp;quot;Allow&amp;quot; to enable the extension.&#039;&#039;&#039;&lt;br /&gt;
#:[[Image:Allow.png|thumb|left|510px|[macOS] Click Allow]]&amp;lt;br style=&amp;quot;clear:both&amp;quot;/&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Close the &amp;quot;Security &amp;amp; Privacy&amp;quot; window.&#039;&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Dgugel</name></author>
	</entry>
	<entry>
		<id>https://wiki.umiacs.umd.edu/umiacs/index.php?title=Network/VPN/macOS&amp;diff=8398</id>
		<title>Network/VPN/macOS</title>
		<link rel="alternate" type="text/html" href="https://wiki.umiacs.umd.edu/umiacs/index.php?title=Network/VPN/macOS&amp;diff=8398"/>
		<updated>2019-06-19T17:53:57Z</updated>

		<summary type="html">&lt;p&gt;Dgugel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Please note that this tutorial assumes you already have a network connection established.&#039;&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;If you have a UMIACS account, you already have access.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The UMIACS VPN is accessible through the Pulse Secure Client.  Alternatively, you can establish a connection through a web browser.&lt;br /&gt;
&lt;br /&gt;
== Connecting through the Pulse Secure client ==&lt;br /&gt;
#&#039;&#039;&#039;Download the client:&#039;&#039;&#039;&lt;br /&gt;
#:[[Media:PulseSecure-MACos.dmg|macOS Pulse Secure Client]]&amp;lt;br style=&amp;quot;clear:both&amp;quot;/&amp;gt;&lt;br /&gt;
#:&#039;&#039;Upon starting the client for the first time it will ask to upgrade the client.  This will pull an up-to-date version of the client with the most recent configuration.&#039;&#039;&lt;br /&gt;
#&#039;&#039;&#039;Open the client and click &#039;Add&#039; (+) under the connection section.&#039;&#039;&#039;&lt;br /&gt;
#:[[Image:JunosOSX.png|thumb|left|510px|[macOS] Click the &#039;Add&#039; (+) button to create a new connection]]&amp;lt;br style=&amp;quot;clear:both&amp;quot;/&amp;gt;&lt;br /&gt;
#&#039;&#039;&#039;In the &#039;Name&#039; field, enter a descriptive name for this vpn Connection.&#039;&#039;&#039;&lt;br /&gt;
#&#039;&#039;&#039;In the &#039;Server URL&#039; enter &#039;vpn.umiacs.umd.edu&#039;&#039;&#039;&#039; &lt;br /&gt;
#:[[Image:JunosOSXSettings.png|thumb|left|510px|[macOS] Enter the name of the vpn server]]&amp;lt;br style=&amp;quot;clear:both&amp;quot;/&amp;gt;&lt;br /&gt;
#&#039;&#039;&#039;Enter your UMIACS credentials and hit connect.&#039;&#039;&#039; &lt;br /&gt;
#:[[Image:JunosOSXLogin.png|thumb|left|510px|[macOS] Enter UMIACS Credentials]]&amp;lt;br style=&amp;quot;clear:both&amp;quot;/&amp;gt;&lt;br /&gt;
#&#039;&#039;&#039;Complete the [[Network/VPN/MFA | MFA]] Verification Step&lt;br /&gt;
#:[[Image:mac_mfa_step.png|thumb|left|510px|[macOS] Enter a secondary password.]]&amp;lt;br style=&amp;quot;clear:both&amp;quot;/&amp;gt;&lt;br /&gt;
::The Pulse VPN multi-factor authentication implementation relies on a secondary authentication source to fulfill the [[Network/VPN/MFA | MFA]] requirement.  As a result, you will be prompted for credentials twice.&lt;br /&gt;
&lt;br /&gt;
::{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Second Credential Password Value:&lt;br /&gt;
! Result&lt;br /&gt;
|-&lt;br /&gt;
| push&lt;br /&gt;
| Send a push verification to your Duo connected device&lt;br /&gt;
|-&lt;br /&gt;
| phone&lt;br /&gt;
| Send a call verification to your Duo connected device.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;press YubiKey&amp;gt;&lt;br /&gt;
| If you have a physical token then you would press the YubiKey for the one time password.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
::Please note that registering a YubiKey for use with the VPN requires interaction with UMIACS Tech Staff. Please [[HelpDesk | contact us]] if you would like to register a YubiKey for this purpose.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Note|&amp;lt;b&amp;gt;Pro-tip:&amp;lt;/b&amp;gt; Select ‘Save Settings’ on the secondary authentication prompt to have Duo automatically use your preferred method.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You should now be connected to the UMIACS VPN. If you encounter an error, please refer to the &amp;quot;Setup Security Requirement&amp;quot; section bellow.&lt;br /&gt;
&lt;br /&gt;
==Checking VPN Status==&lt;br /&gt;
# In the top right hand corner, on your status bar, you should see an S icon in a black circle. If there&#039;s a green arrow, that means you are connected! If there is nothing, that means you are not. &lt;br /&gt;
#: [[Image:Check the Status of your ConnectionOSX1.png|thumb|left|610px|[macOS] The top image is connected, the bottom image is not.]]&amp;lt;br style=&amp;quot;clear:both&amp;quot;/&amp;gt;&lt;br /&gt;
# You can click this icon, as well, and it will show you the status of your connection.&lt;br /&gt;
#:[[Image:AreYouConnected2.png|thumb|left|610px|[macOS] The Pulse drop down menu.]]&amp;lt;br style=&amp;quot;clear:both&amp;quot;/&amp;gt;&lt;br /&gt;
# If the icon is not in the status bar, you can find Pulse Secure in your Applications folder. There you will see a list of connections.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Setup Security Requirement (Follow these steps if you encounter an error while connecting through the Pulse Secure client) ==&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Click the Apple logo at the top left of your desktop&#039;&#039;&#039;&lt;br /&gt;
#:[[Image:ClickApple.png|thumb|left|510px|[macOS] Click the apple logo to show menu]]&amp;lt;br style=&amp;quot;clear:both&amp;quot;/&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Click &amp;quot;System Preferences&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
#:[[Image:SystemPreferences.png|thumb|left|510px|[macOS] Enter the system preferences]]&amp;lt;br style=&amp;quot;clear:both&amp;quot;/&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Click &amp;quot;Security &amp;amp; Privacy&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
#:[[Image:SecurityPrivacy.png|thumb|left|510px|[macOS] Enter the security and privacy settings]]&amp;lt;br style=&amp;quot;clear:both&amp;quot;/&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Click the &amp;quot;lock&amp;quot; icon at the bottom left and Enter your credentials to enable changes.&#039;&#039;&#039;&lt;br /&gt;
#:[[Image:EnterCredentials.png|thumb|left|510px|[macOS] Enter credentials to allow changes]]&amp;lt;br style=&amp;quot;clear:both&amp;quot;/&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;In the &amp;quot;General&amp;quot; tab, under &amp;quot;Allow Apps Downloaded From&amp;quot;, select &amp;quot;Mac Apps Store and Identified developers&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
#:[[Image:AppStoreIdentifier.png|thumb|left|510px|[macOS] Select Mac Apps Store and Identified developers]]&amp;lt;br style=&amp;quot;clear:both&amp;quot;/&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Click &amp;quot;Next&amp;quot; to the message &amp;quot;System Software From Developers &amp;quot;Pulse Secure LLC&amp;quot; was blocked from loading&amp;quot; if prompted.&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;Click &amp;quot;Allow&amp;quot; to enable the extension.&#039;&#039;&#039;&lt;br /&gt;
#:[[Image:Allow.png|thumb|left|510px|[macOS] Click Allow]]&amp;lt;br style=&amp;quot;clear:both&amp;quot;/&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Close the &amp;quot;Security &amp;amp; Privacy&amp;quot; window.&#039;&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Dgugel</name></author>
	</entry>
	<entry>
		<id>https://wiki.umiacs.umd.edu/umiacs/index.php?title=Network/VPN/Windows&amp;diff=8393</id>
		<title>Network/VPN/Windows</title>
		<link rel="alternate" type="text/html" href="https://wiki.umiacs.umd.edu/umiacs/index.php?title=Network/VPN/Windows&amp;diff=8393"/>
		<updated>2019-06-14T18:39:26Z</updated>

		<summary type="html">&lt;p&gt;Dgugel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Please note that this tutorial assumes you already have a network connection established.&#039;&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;If you have a UMIACS account, you already have access.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The UMIACS VPN is accessible through the Pulse Secure Client.  Alternatively, you can establish a connection through a web browser.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;As of May 10th 2019, MFA Authentication is mandatory.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Prerequisites==&lt;br /&gt;
* Device enrolled with [[Duo | UMIACS Duo]]&lt;br /&gt;
&lt;br /&gt;
== Connecting through the Pulse Secure client ==&lt;br /&gt;
#&#039;&#039;&#039;Download the client:&#039;&#039;&#039;&lt;br /&gt;
#:[[Media:PulseSecure.x64-Win64.msi|Windows 64 bit Pulse Secure Client]]&amp;lt;br style=&amp;quot;clear:both&amp;quot;/&amp;gt;&lt;br /&gt;
#:[[Media:PulseSecure.x86-Win32.msi|Windows 32 bit Pulse Secure Client]]&amp;lt;br style=&amp;quot;clear:both&amp;quot;/&amp;gt;&lt;br /&gt;
#:&#039;&#039;Upon starting the client for the first time it may ask to upgrade the client.  This will pull an up to date version of the client with the most recent configuration.&#039;&#039;&lt;br /&gt;
#&#039;&#039;&#039;Start the client if it is not already running - it usually starts by default on bootup.&#039;&#039;&#039;&lt;br /&gt;
#:[[Image:Pulse Secure Desktop App.jpg|thumb|center|280px|[Windows] Start the client from the Start Menu.]]&lt;br /&gt;
#&#039;&#039;&#039;If the client is already running, double click its icon from the status bar.&#039;&#039;&#039;&lt;br /&gt;
#:[[Image:Pulse Icon.jpg|thumb|center|280px|[Windows] Double click its status icon to open.]]&lt;br /&gt;
#&#039;&#039;&#039;and click &#039;Add&#039; (+) under the connection section.&#039;&#039;&#039;&lt;br /&gt;
#:[[Image:Pulse Secure1.jpg|thumb|center|280px|[Windows] Click the &#039;Add&#039; (+) button to create a new connection.]]&lt;br /&gt;
#&#039;&#039;&#039;Enter a name for your VPN connection and the server URL &#039;vpn.umiacs.umd.edu&#039;&#039;&#039;&#039; &lt;br /&gt;
#:[[Image:Pulse Connection.jpg|thumb|center|280px|[Windows] Enter the name of the VPN server.]]&lt;br /&gt;
#&#039;&#039;&#039;Enter your UMIACS credentials and hit connect.&#039;&#039;&#039; &lt;br /&gt;
#:[[Image:Pulse UserPass.jpg|thumb|center|280px|[Windows] Enter UMIACS credentials.]]&lt;br /&gt;
#&#039;&#039;&#039;Enter Secondary Password for [[Network/VPN/MFA | MFA]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
:::[[Image:Vpnmfa6.png|thumb|center|280px|[Windows] Enter Secondary Password.]]&lt;br /&gt;
&lt;br /&gt;
::The Pulse VPN multi-factor authentication implementation relies on a secondary authentication source to fulfill the MFA requirement.  As a result, you will be prompted for credentials twice.&lt;br /&gt;
&lt;br /&gt;
::{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Second Credential Password Value:&lt;br /&gt;
! Result&lt;br /&gt;
|-&lt;br /&gt;
| push&lt;br /&gt;
| Send a push verification to your Duo connected device&lt;br /&gt;
|-&lt;br /&gt;
| phone&lt;br /&gt;
| Send a call verification to your Duo connected device.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;press YubiKey&amp;gt;&lt;br /&gt;
| If you have a physical token then you would press the YubiKey for the one time password.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
::Please note that registering a YubiKey for use with the VPN requires interaction with UMIACS Tech Staff. Please [[HelpDesk | contact us]] if you would like to register a YubiKey for this purpose.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Note|&amp;lt;b&amp;gt;Pro-tip:&amp;lt;/b&amp;gt; Select ‘Save Settings’ on the secondary authentication prompt to have Duo automatically use your preferred method.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You should now be connected to the UMIACS VPN.&lt;br /&gt;
&lt;br /&gt;
==Checking VPN Status==&lt;br /&gt;
# In the bottom right hand corner, in your status bar, you should see an S icon. If there&#039;s a green arrow, that means you are connected! If there is nothing, that means you are not. &lt;br /&gt;
#:[[Image:Pulseicon2.png|thumb|center|500px|]]&lt;br /&gt;
# You can hover over this icon and it will show you the status of your connection.&lt;br /&gt;
#:[[Image:PulseStatus2.png|thumb|center|500px|]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both&amp;quot;/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Dgugel</name></author>
	</entry>
</feed>