<?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=Mbaney</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=Mbaney"/>
	<link rel="alternate" type="text/html" href="https://wiki.umiacs.umd.edu/umiacs/index.php/Special:Contributions/Mbaney"/>
	<updated>2026-05-29T18:53:25Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.7</generator>
	<entry>
		<id>https://wiki.umiacs.umd.edu/umiacs/index.php?title=MonthlyMaintenanceWindow&amp;diff=13272</id>
		<title>MonthlyMaintenanceWindow</title>
		<link rel="alternate" type="text/html" href="https://wiki.umiacs.umd.edu/umiacs/index.php?title=MonthlyMaintenanceWindow&amp;diff=13272"/>
		<updated>2026-05-29T00:16:16Z</updated>

		<summary type="html">&lt;p&gt;Mbaney: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[HelpDesk | UMIACS staff]] takes a monthly maintenance window to patch and reboot all UMIACS-supported hosts and services.  This provides a way for staff to ensure security updates are installed and applied on the numerous different platforms and appliances that UMIACS runs.&lt;br /&gt;
&lt;br /&gt;
The window for each month is calculated by adding 9 days to [https://en.wikipedia.org/wiki/Patch_Tuesday Microsoft&#039;s Patch Tuesday] to allow for enough time to marshal patches released that month from Microsoft, Red Hat, Apple, and other OS and application vendors and have enough time to get systems prepared to reboot.  This translates to the window being on the &#039;&#039;&#039;Thursday that occurs between the 17th and the 23rd (inclusive)&#039;&#039;&#039; of each month.  The window lasts from &#039;&#039;&#039;5pm-8pm&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
[[Nexus]] will always have a reservation in place from 4:45pm-8pm on the day of the upcoming window to prevent jobs from being scheduled on compute nodes. The 15-minute addition before the start of the window is to allow jobs to fully end. Any job submitted before the reservation begins that has a time limit that would run into the reservation will be held until at least the end of the reservation - 8pm on the day of the window. This is to prevent issues with jobs failing to end properly causing delays in work we have scheduled during the window.&lt;br /&gt;
&lt;br /&gt;
A list of upcoming maintenance windows is as follows, with the next one in bold. Again, the window is on the &#039;&#039;&#039;Thursday that occurs between the 17th and the 23rd (inclusive)&#039;&#039;&#039; of each month, and lasts from &#039;&#039;&#039;5pm-8pm&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;June 18th 2026&#039;&#039;&#039;&lt;br /&gt;
* July 23rd 2026&lt;br /&gt;
* August 20th 2026&lt;br /&gt;
* September 17th 2026&lt;br /&gt;
* October 22nd 2026&lt;br /&gt;
* November 19th 2026&lt;br /&gt;
* December 17th 2026&lt;br /&gt;
&lt;br /&gt;
==Archives==&lt;br /&gt;
* January 17th 2013 - BEGIN time of 8pm-12am for this window through February 20th 2020&lt;br /&gt;
* February 21st 2013&lt;br /&gt;
* March 21st 2013&lt;br /&gt;
* April 18th 2013&lt;br /&gt;
* May 23rd 2013&lt;br /&gt;
* June 20th 2013&lt;br /&gt;
* July 18th 2013&lt;br /&gt;
* August 22nd 2013&lt;br /&gt;
* September 19th 2013&lt;br /&gt;
* October 17th 2013&lt;br /&gt;
* December 19th 2013&lt;br /&gt;
* January 23rd 2014&lt;br /&gt;
* February 20th 2014&lt;br /&gt;
* March 20th 2014&lt;br /&gt;
* April 17th 2014&lt;br /&gt;
* May 22nd 2014&lt;br /&gt;
* June 19th 2014&lt;br /&gt;
* July 17th 2014&lt;br /&gt;
* August 21st 2014&lt;br /&gt;
* September 18th 2014&lt;br /&gt;
* October 23rd 2014&lt;br /&gt;
* November 20th 2014&lt;br /&gt;
* December 18th 2014&lt;br /&gt;
* January 22nd 2015&lt;br /&gt;
* February 19th 2015&lt;br /&gt;
* March 19th 2015&lt;br /&gt;
* May 21st 2015&lt;br /&gt;
* June 18th 2015&lt;br /&gt;
* July 23rd 2015&lt;br /&gt;
* August 20th 2015&lt;br /&gt;
* September 17th 2015&lt;br /&gt;
* October 22nd 2015&lt;br /&gt;
* November 19th 2015&lt;br /&gt;
* December 17th 2015&lt;br /&gt;
* January 21st 2016&lt;br /&gt;
* February 18th 2016&lt;br /&gt;
* March 12th 2016 (Adjusted date for AVW power outage)&lt;br /&gt;
* April 21st 2016&lt;br /&gt;
* May 19th 2016&lt;br /&gt;
* June 23rd 2016&lt;br /&gt;
* July 21st 2016&lt;br /&gt;
* August 18th 2016&lt;br /&gt;
* September 22nd 2016&lt;br /&gt;
* October 20th 2016&lt;br /&gt;
* November 17th 2016&lt;br /&gt;
* December 22nd 2016&lt;br /&gt;
* January 19th 2017&lt;br /&gt;
* February 23rd 2017&lt;br /&gt;
* March 23rd 2017&lt;br /&gt;
* April 20th 2017&lt;br /&gt;
* May 18th 2017&lt;br /&gt;
* June 22nd 2017&lt;br /&gt;
* July 20th 2017&lt;br /&gt;
* August 17th 2017&lt;br /&gt;
* September 21st 2017&lt;br /&gt;
* October 19th 2017&lt;br /&gt;
* December 21st 2017&lt;br /&gt;
* January 18th 2018&lt;br /&gt;
* February 22nd 2018&lt;br /&gt;
* March 22nd 2018&lt;br /&gt;
* April 19th 2018&lt;br /&gt;
* May 17th 2018&lt;br /&gt;
* June 21st 2018&lt;br /&gt;
* July 19th 2018&lt;br /&gt;
* August 23rd 2018&lt;br /&gt;
* September 20th 2018&lt;br /&gt;
* October 18th 2018&lt;br /&gt;
* December 20th 2018&lt;br /&gt;
* January 24th 2019&lt;br /&gt;
* February 21st 2019&lt;br /&gt;
* April 18th 2019&lt;br /&gt;
* May 23rd 2019&lt;br /&gt;
* June 20th 2019&lt;br /&gt;
* July 18th 2019&lt;br /&gt;
* August 22nd 2019&lt;br /&gt;
* September 19th 2019&lt;br /&gt;
* October 17th 2019&lt;br /&gt;
* November 21st 2019&lt;br /&gt;
* December 19th 2019&lt;br /&gt;
* January 23rd 2020&lt;br /&gt;
* February 20th 2020&lt;br /&gt;
* April 23rd 2020 - BEGIN time of 5pm-7pm for this window through August 19th 2021&lt;br /&gt;
* June 18th 2020&lt;br /&gt;
* July 23rd 2020&lt;br /&gt;
* August 20th 2020&lt;br /&gt;
* September 17th 2020&lt;br /&gt;
* October 22nd 2020&lt;br /&gt;
* November 19th 2020&lt;br /&gt;
* December 17th 2020&lt;br /&gt;
* January 21st 2021&lt;br /&gt;
* February 18th 2021&lt;br /&gt;
* March 25th 2021 (Adjusted date for extended Spring Break)&lt;br /&gt;
* April 22nd 2021&lt;br /&gt;
* May 20th 2021&lt;br /&gt;
* June 17th 2021&lt;br /&gt;
* July 22nd 2021&lt;br /&gt;
* August 19th 2021&lt;br /&gt;
* September 23rd 2021 - BEGIN time of 5pm-8pm for this window and all others below&lt;br /&gt;
* October 21st 2021&lt;br /&gt;
* November 18th 2021&lt;br /&gt;
* January 20th 2022&lt;br /&gt;
* February 17th 2022&lt;br /&gt;
* March 24th 2022 (Adjusted date for Spring Break)&lt;br /&gt;
* April 21st 2022&lt;br /&gt;
* May 19th 2022&lt;br /&gt;
* June 23rd 2022&lt;br /&gt;
* July 21st 2022&lt;br /&gt;
* August 18th 2022&lt;br /&gt;
* September 22nd 2022&lt;br /&gt;
* October 20th 2022&lt;br /&gt;
* November 17th 2022&lt;br /&gt;
* January 19th 2023&lt;br /&gt;
* February 23rd 2023&lt;br /&gt;
* April 20th 2023&lt;br /&gt;
* May 18th 2023&lt;br /&gt;
* June 22nd 2023&lt;br /&gt;
* July 20th 2023&lt;br /&gt;
* August 17th 2023&lt;br /&gt;
* September 21st 2023&lt;br /&gt;
* October 19th 2023&lt;br /&gt;
* December 20th 2023 (Adjusted date for early Winter Break)&lt;br /&gt;
* January 18th 2024&lt;br /&gt;
* February 22nd 2024&lt;br /&gt;
* March 21st 2024&lt;br /&gt;
* April 18th 2024&lt;br /&gt;
* May 23th 2024&lt;br /&gt;
* June 20th 2024&lt;br /&gt;
* July 18th 2024&lt;br /&gt;
* August 22nd 2024&lt;br /&gt;
* September 19th 2024&lt;br /&gt;
* October 17th 2024&lt;br /&gt;
* November 21st 2024&lt;br /&gt;
* December 19th 2024&lt;br /&gt;
* January 23rd 2025&lt;br /&gt;
* February 20th 2025&lt;br /&gt;
* March 20th 2025&lt;br /&gt;
* April 17th 2025&lt;br /&gt;
* May 22nd 2025&lt;br /&gt;
* June 19th 2025&lt;br /&gt;
* July 17th 2025&lt;br /&gt;
* August 21st 2025&lt;br /&gt;
* September 18th 2025&lt;br /&gt;
* October 23rd 2025&lt;br /&gt;
* November 20th 2025&lt;br /&gt;
* December 18th 2025&lt;br /&gt;
* January 22nd 2026&lt;br /&gt;
* February 19th 2026&lt;br /&gt;
* March 19th 2026&lt;br /&gt;
* April 23rd 2026&lt;br /&gt;
* May 28th 2026 (Adjusted date for CIO-imposed network change freeze)&lt;/div&gt;</summary>
		<author><name>Mbaney</name></author>
	</entry>
	<entry>
		<id>https://wiki.umiacs.umd.edu/umiacs/index.php?title=Nexus&amp;diff=13271</id>
		<title>Nexus</title>
		<link rel="alternate" type="text/html" href="https://wiki.umiacs.umd.edu/umiacs/index.php?title=Nexus&amp;diff=13271"/>
		<updated>2026-05-19T15:28:45Z</updated>

		<summary type="html">&lt;p&gt;Mbaney: /* Partition QoS */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Note|UMIACS Technical Staff will begin the process of upgrading the operating system version on all Nexus cluster nodes in Summer 2026. Please see [[Nexus/ClusterOSUpgrade]] for more information.}}&lt;br /&gt;
&lt;br /&gt;
The Nexus is the combined scheduler of resources in UMIACS.  The resource manager for Nexus is [[SLURM]].  Resources are arranged into partitions where users are able to schedule computational jobs.  Users are arranged into a number of SLURM accounts based on faculty, lab, or center investments.&lt;br /&gt;
&lt;br /&gt;
= Getting Started =&lt;br /&gt;
All accounts in UMIACS are sponsored.  If you don&#039;t already have a UMIACS account, please see [[Accounts]] for information on getting one.  You need a full UMIACS account - not a [[Accounts/Collaborator | collaborator account]] - in order to access Nexus.&lt;br /&gt;
&lt;br /&gt;
== Access ==&lt;br /&gt;
Your access to submission nodes (alternatively called login nodes) for Nexus computational resources is determined by your account sponsor&#039;s department, center, or lab affiliation.  You can log into the [https://intranet.umiacs.umd.edu/directory/cr/ UMIACS Directory CR application] and select the Computational Resource (CR) in the list that has the prefix &amp;lt;code&amp;gt;nexus&amp;lt;/code&amp;gt;.  The Hosts section lists your available submission nodes - generally a pair of nodes with hostnames of the format &amp;lt;tt&amp;gt;nexus&amp;lt;department, lab, or center abbreviation&amp;gt;[00,01]&amp;lt;/tt&amp;gt;, e.g., &amp;lt;tt&amp;gt;nexusgroup00&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;nexusgroup01&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Once you have identified your submission nodes, you can [[SSH]] into them [https://itsupport.umd.edu/itsupport?id=kb_article_view&amp;amp;sysparm_article=KB0016076 after connecting to UMD&#039;s GlobalProtect VPN].  From there, you are able to submit to the cluster via our [[SLURM]] workload manager.  You need to make sure that your submitted jobs have the correct account, partition, and qos.&lt;br /&gt;
&lt;br /&gt;
Please read our [[Nexus/Submission_Node_Policy|Submission Node Policy]] for guidance on appropriate usage of a submission node. If a submission node becomes unresponsive due to disregarding this policy, &amp;lt;b&amp;gt;we may kill user processes on these nodes to resolve the issue&amp;lt;/b&amp;gt;. We reserve the right to take action on users who repeatedly cause issues on submission nodes.&lt;br /&gt;
&lt;br /&gt;
== Jobs ==&lt;br /&gt;
[[SLURM]] jobs are [[SLURM/JobSubmission | submitted]] by either &amp;lt;code&amp;gt;srun&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;sbatch&amp;lt;/code&amp;gt; depending if you are doing an interactive job or batch job, respectively.  You need to provide the where/how/who to run the job and specify the resources you need to run with.&lt;br /&gt;
&lt;br /&gt;
For the who/where/how, you may be required to specify &amp;lt;code&amp;gt;--account&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;--partition&amp;lt;/code&amp;gt;, and/or &amp;lt;code&amp;gt;--qos&amp;lt;/code&amp;gt; (respectively) to be able to adequately submit jobs to the Nexus.&lt;br /&gt;
&lt;br /&gt;
For resources, you may need to specify &amp;lt;code&amp;gt;--time&amp;lt;/code&amp;gt; for time, &amp;lt;code&amp;gt;--cpus-per-task&amp;lt;/code&amp;gt; for CPUs, &amp;lt;code&amp;gt;--mem&amp;lt;/code&amp;gt; for RAM, and &amp;lt;code&amp;gt;--gres=gpu&amp;lt;/code&amp;gt; for GPUs in your submission arguments to meet your requirements.  There are defaults for all four; if you don&#039;t specify something, you will get the default value for that resource, which is minimal (e.g., by default, NO GPUs are included if you do not specify &amp;lt;code&amp;gt;--gres=gpu&amp;lt;/code&amp;gt;).  For more information about submission flags for GPU resources, see [[SLURM/JobSubmission#Requesting_GPUs | here]].  You may also use &amp;lt;code&amp;gt;--ntasks&amp;lt;/code&amp;gt; to specify the number of parallel processes to run, with each task having its own set of the resources specified above. You can run &amp;lt;code&amp;gt;man srun&amp;lt;/code&amp;gt; on your submission node for a complete list of available submission arguments.&lt;br /&gt;
&lt;br /&gt;
For a list of available GPU types on Nexus and their specs, please see [[Nexus/GPUs]].&lt;br /&gt;
&lt;br /&gt;
For details on how the network for Nexus is architected, please see [[Nexus/Network]]. This can be important if you wish to optimize performance of your jobs.&lt;br /&gt;
&lt;br /&gt;
=== Interactive ===&lt;br /&gt;
Once logged into a submission node, you can run simple interactive jobs.  If your session is interrupted from the submission node, the job will be killed.  As such, we encourage use of a terminal multiplexer such as [[Tmux]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ srun --pty --cpus-per-task=4 --mem=2gb --gres=gpu:1 bash&lt;br /&gt;
srun: Job account was unset; set to user default of &#039;nexus&#039;&lt;br /&gt;
srun: Job partition was unset; set to cluster default of &#039;tron&#039;&lt;br /&gt;
srun: Job QoS was unset; set to association default of &#039;default&#039;&lt;br /&gt;
srun: Job time limit was unset; set to partition default of 60 minutes&lt;br /&gt;
srun: job 1 queued and waiting for resources&lt;br /&gt;
srun: job 1 has been allocated resources&lt;br /&gt;
$ hostname&lt;br /&gt;
tron62.umiacs.umd.edu&lt;br /&gt;
$ nvidia-smi -L&lt;br /&gt;
GPU 0: NVIDIA GeForce RTX 2080 Ti (UUID: GPU-daad6a04-a2ce-1183-ce53-b267048f750a)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Batch ===&lt;br /&gt;
Batch jobs are scheduled with a script file with an optional ability to embed job scheduling parameters via variables that are defined by &amp;lt;code&amp;gt;#SBATCH&amp;lt;/code&amp;gt; lines at the top of the file.  You can find some examples in our [[SLURM/JobSubmission]] documentation.&lt;br /&gt;
&lt;br /&gt;
= Partitions = &lt;br /&gt;
The SLURM resource manager uses partitions to act as job queues which can restrict size, time and user limits. The Nexus has a number of different partitions of resources. Different Centers, Labs, and Faculty are able to invest in computational resources that are restricted to approved users through these partitions.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Partitions usable by all non-[[ClassAccounts |class account]] users:&#039;&#039;&#039;&lt;br /&gt;
* [[Nexus/Tron]] - Pool of resources available to all non-class accounts sponsored by either UMIACS or CSD faculty.&lt;br /&gt;
* Scavenger - [https://slurm.schedmd.com/preempt.html Preemption] partition that contains [https://en.wikipedia.org/wiki/X86-64 x86_64] architecture nodes from multiple other partitions. More resources are available to schedule simultaneously than in other partitions, however jobs are subject to preemption rules. You are responsible for ensuring your jobs handle this preemption correctly. The SLURM scheduler will simply restart a preempted job with the same submission arguments when it is available to run again. For an overview of things you can check within scripts to determine if your job was preempted/resumed, see [[SLURM/Preemption]].&lt;br /&gt;
* Scavenger (aarch64) - Preemption partition identical in design to &amp;lt;tt&amp;gt;scavenger&amp;lt;/tt&amp;gt;, but only contains [https://en.wikipedia.org/wiki/AArch64 aarch64] architecture nodes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Partitions usable by [[ClassAccounts]]:&#039;&#039;&#039;&lt;br /&gt;
* [[ClassAccounts#Cluster_Usage | Class]] - Pool of resources available to class accounts sponsored by either UMIACS or CSD faculty.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Partitions usable by specific lab/center users:&#039;&#039;&#039;&lt;br /&gt;
* [[Nexus/CBCB]] - CBCB lab pool available for CBCB lab members.&lt;br /&gt;
* [[Nexus/CLIP]] - CLIP lab pool available for CLIP lab members.&lt;br /&gt;
* [[Nexus/CML]] - CML lab pool available for CML lab members.&lt;br /&gt;
* [[Nexus/GAMMA]] - GAMMA lab pool available for GAMMA lab members.&lt;br /&gt;
* [[Nexus/MBRC]] - MBRC lab pool available for MBRC lab members.&lt;br /&gt;
* [[Nexus/MC2]] - MC2 lab pool available for MC2 lab members.&lt;br /&gt;
* [[Nexus/QuICS]] - QuICS lab pool available for QuICS lab members.&lt;br /&gt;
* [[Nexus/Vulcan]] - Vulcan lab pool available for Vulcan lab members.&lt;br /&gt;
&lt;br /&gt;
You can view the partitions that you have access to by using the &amp;lt;code&amp;gt;show_partitions&amp;lt;/code&amp;gt; command. By default, the command will show only the partitions that are available to you.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ show_partitions&lt;br /&gt;
                    Name           AllowAccounts                       AllowQos    MaxNodes                        Nodes&lt;br /&gt;
------------------------ ----------------------- ------------------------------ ----------- ----------------------------               &lt;br /&gt;
               scavenger               scavenger                      scavenger   UNLIMITED                brigid[16-19]                                                                                                             &lt;br /&gt;
                                                                                                             cbcb[00-29]                                                                                                             &lt;br /&gt;
                                                                                                             clip[00-13]                                                                                               &lt;br /&gt;
                                                                                               cml[00,02-13,15-28,30-33]                                                                                                     &lt;br /&gt;
                                                                                                     cmlcpu[00-04,06-07]                                                                                                         &lt;br /&gt;
                                                                                                         gammagpu[00-21]                                                                                               &lt;br /&gt;
                                                                                               legacy[00-11,13-28,30-36]                                                                                                        &lt;br /&gt;
                                                                                                        legacygpu[00-07]                                                                                                                 &lt;br /&gt;
                                                                                                                 quics00                                                                                                       &lt;br /&gt;
                                                                                                       tron[00-44,46-69]                                                                                                           &lt;br /&gt;
                                                                                                           vulcan[00-45]&lt;br /&gt;
------------------------------------------------------------------------------------------------------------------------&lt;br /&gt;
       scavenger-aarch64               scavenger              scavenger-aarch64   UNLIMITED                 oasis[00-39]&lt;br /&gt;
------------------------------------------------------------------------------------------------------------------------                    &lt;br /&gt;
                    tron                   nexus                        default   UNLIMITED            tron[00-44,46-69]                                                                           &lt;br /&gt;
                                                                           high                                                                                                                  &lt;br /&gt;
                                                                         medium                                         &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you want to see information for all of the partitions, including those that you do not have access to, you can use the &amp;lt;code&amp;gt;show_partitions --all&amp;lt;/code&amp;gt; command.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ show_partitions --all&lt;br /&gt;
                    Name           AllowAccounts                       AllowQos    MaxNodes                        Nodes&lt;br /&gt;
------------------------ ----------------------- ------------------------------ ----------- ----------------------------                    &lt;br /&gt;
                    cbcb                    cbcb                        default   UNLIMITED            cbcb[00-20,22-29]                                                                         &lt;br /&gt;
                                                                         medium                legacy[00-11,13-28,30-36]                                                                           &lt;br /&gt;
                                                                           high                                                                                                               &lt;br /&gt;
                                                                      huge-long                                                                                                                 &lt;br /&gt;
                                                                        highmem                                         &lt;br /&gt;
------------------------------------------------------------------------------------------------------------------------&lt;br /&gt;
               cbcb-heng               cbcb-heng                        default   UNLIMITED                  cbcb[26-29]                                                                         &lt;br /&gt;
                                                                         medium                                                                                                                     &lt;br /&gt;
                                                                           high                                                                                                               &lt;br /&gt;
                                                                      huge-long                                                                                                                 &lt;br /&gt;
                                                                        highmem                                         &lt;br /&gt;
------------------------------------------------------------------------------------------------------------------------        &lt;br /&gt;
        cbcb-interactive                    cbcb                    interactive   UNLIMITED                       cbcb21&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Quality of Service (QoS) =&lt;br /&gt;
SLURM uses Quality of Service (QoS) both to provide limits on job sizes (termed by us as &amp;quot;job QoS&amp;quot;) as well as to limit resources used by all jobs running in a partition, either per user or per group (termed by us as &amp;quot;partition QoS&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
=== Job QoS ===&lt;br /&gt;
Job QoS are used to provide limits on the size of job that you can run. You should try to allocate only the resources your job actually needs, as resources that each of your jobs schedules are counted against your [[SLURM/Priority#Fair-share | fair-share priority]] in the future.&lt;br /&gt;
* default - Default job QoS. Limited to 4 CPU cores, 1 GPU, and 32GB RAM per job.  The maximum wall time per job is 3 days.&lt;br /&gt;
* medium - Limited to 8 CPU cores, 2 GPUs, and 64GB RAM per job.  The maximum wall time per job is 2 days.&lt;br /&gt;
* high - Limited to 16 CPU cores, 4 GPUs, and 128GB RAM per job.  The maximum wall time per job is 1 day.&lt;br /&gt;
* scavenger - No resource limits per job, only a maximum wall time per job of 3 days.  You are responsible for ensuring your job requests multiple nodes if it requests resources beyond what any one node is capable of.  11% of the total resources available for each trackable resource type in the partition (CPUs/GPUs/RAM) is permitted simultaneously across all of your jobs running with this job QoS, enforced via the corresponding partition QoS (below) for the scavenger partition.  This job QoS is paired one-to-one with the scavenger partition. To use this job QoS, include &amp;lt;code&amp;gt;--partition=scavenger&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;--account=scavenger&amp;lt;/code&amp;gt; in your submission arguments.  Do not include any job QoS argument other than &amp;lt;code&amp;gt;--qos=scavenger&amp;lt;/code&amp;gt; (optional) or submission will fail.&lt;br /&gt;
* scavenger-aarch64 - No resource limits per job, only a maximum wall time per job of 3 days.  You are responsible for ensuring your job requests multiple nodes if it requests resources beyond what any one node is capable of.  This job QoS is paired one-to-one with the scavenger-aarch64 partition. To use this job QoS, include &amp;lt;code&amp;gt;--partition=scavenger-aarch64&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;--account=scavenger&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;--qos=scavenger-aarch64&amp;lt;/code&amp;gt; in your submission arguments.&lt;br /&gt;
&lt;br /&gt;
You can display these job QoS from the command line using the &amp;lt;code&amp;gt;show_qos&amp;lt;/code&amp;gt; command.  By default, the command will only show job QoS that you can access.  The above five job QoS are the ones that everyone can access.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ show_qos&lt;br /&gt;
                Name     MaxWall                        MaxTRES MaxJobsPU                      MaxTRESPU &lt;br /&gt;
-------------------- ----------- ------------------------------ --------- ------------------------------ &lt;br /&gt;
             default  3-00:00:00       cpu=4,gres/gpu=1,mem=32G                                          &lt;br /&gt;
                high  1-00:00:00     cpu=16,gres/gpu=4,mem=128G                                          &lt;br /&gt;
              medium  2-00:00:00       cpu=8,gres/gpu=2,mem=64G                                          &lt;br /&gt;
           scavenger  3-00:00:00                                                                         &lt;br /&gt;
   scavenger-aarch64  3-00:00:00                                                                         &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you want to see all job QoS, including those that you do not have access to, you can use the &amp;lt;code&amp;gt;show_qos --all&amp;lt;/code&amp;gt; command. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ show_qos --all&lt;br /&gt;
                Name     MaxWall                        MaxTRES MaxJobsPU                      MaxTRESPU&lt;br /&gt;
-------------------- ----------- ------------------------------ --------- ------------------------------&lt;br /&gt;
             cml-cpu  7-00:00:00                                        8&lt;br /&gt;
         cml-default  7-00:00:00       cpu=4,gres/gpu=1,mem=32G         2&lt;br /&gt;
            cml-high  1-12:00:00     cpu=16,gres/gpu=4,mem=128G         2&lt;br /&gt;
       cml-high_long 14-00:00:00              cpu=32,gres/gpu=8         8                     gres/gpu=8&lt;br /&gt;
          cml-medium  3-00:00:00       cpu=8,gres/gpu=2,mem=64G         2&lt;br /&gt;
       cml-scavenger  3-00:00:00                                                             gres/gpu=24&lt;br /&gt;
       cml-very_high  1-12:00:00     cpu=32,gres/gpu=8,mem=256G         8                    gres/gpu=12&lt;br /&gt;
             default  3-00:00:00       cpu=4,gres/gpu=1,mem=32G&lt;br /&gt;
     gamma-huge-long 10-00:00:00    cpu=32,gres/gpu=16,mem=256G&lt;br /&gt;
                high  1-00:00:00     cpu=16,gres/gpu=4,mem=128G&lt;br /&gt;
             highmem 21-00:00:00                 cpu=128,mem=2T&lt;br /&gt;
           huge-long 10-00:00:00     cpu=32,gres/gpu=8,mem=256G&lt;br /&gt;
         interactive    12:00:00                 cpu=4,mem=128G&lt;br /&gt;
              medium  2-00:00:00       cpu=8,gres/gpu=2,mem=64G&lt;br /&gt;
        oasis-exempt 10-00:00:00                                                      cpu=160,mem=28114M&lt;br /&gt;
           scavenger  3-00:00:00&lt;br /&gt;
   scavenger-aarch64  3-00:00:00&lt;br /&gt;
          vulcan-cpu  2-00:00:00                cpu=1024,mem=4T         4&lt;br /&gt;
      vulcan-default  7-00:00:00       cpu=4,gres/gpu=1,mem=32G         2&lt;br /&gt;
       vulcan-exempt  7-00:00:00     cpu=32,gres/gpu=8,mem=256G         2&lt;br /&gt;
         vulcan-high  1-12:00:00     cpu=16,gres/gpu=4,mem=128G         2&lt;br /&gt;
    vulcan-high_long 14-00:00:00              cpu=32,gres/gpu=8         8                     gres/gpu=8&lt;br /&gt;
       vulcan-medium  3-00:00:00       cpu=8,gres/gpu=2,mem=64G         2&lt;br /&gt;
       vulcan-sailon  3-00:00:00     cpu=32,gres/gpu=8,mem=256G                              gres/gpu=48&lt;br /&gt;
    vulcan-scavenger  3-00:00:00     cpu=32,gres/gpu=8,mem=256G&lt;br /&gt;
vulcan-scavenger-mu+  3-00:00:00  cpu=288,gres/gpu=72,mem=1152G&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You are able to submit to any partition that is listed in the &amp;lt;code&amp;gt;show_partitions&amp;lt;/code&amp;gt; command. If you need to use an account other than the default account &amp;lt;tt&amp;gt;nexus&amp;lt;/tt&amp;gt;, you will need to specify it via the &amp;lt;code&amp;gt;--account&amp;lt;/code&amp;gt; submission argument.&lt;br /&gt;
&lt;br /&gt;
=== Partition QoS ===&lt;br /&gt;
Partition QoS are used to limit resources used by all jobs running in a partition, either per user (MaxTRESPU) or per group (GrpTRES).&lt;br /&gt;
&lt;br /&gt;
To view partition QoS, use the &amp;lt;code&amp;gt;show_partition_qos&amp;lt;/code&amp;gt; command.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ show_partition_qos&lt;br /&gt;
                     Name MaxSubmitPU                        MaxTRESPU              GrpTRES&lt;br /&gt;
------------------------- ----------- -------------------------------- --------------------&lt;br /&gt;
   scavenger-aarch64_part         500                                                      &lt;br /&gt;
           scavenger_part         500     cpu=11%,gres/gpu=11%,mem=11%                     &lt;br /&gt;
                     tron         500    cpu=32,gres/gpu=4,mem=262144M                     &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The scavenger_part partition QoS has relative TRES limits based on the current hardware in a given partition, represented with percentages.  To see the current actual TRES limits of this partition QoS, you can use the &amp;lt;code&amp;gt;-r/--real&amp;lt;/code&amp;gt; argument.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ show_partition_qos -r&lt;br /&gt;
                     Name MaxSubmitPU                        MaxTRESPU              GrpTRES&lt;br /&gt;
------------------------- ----------- -------------------------------- --------------------&lt;br /&gt;
   scavenger-aarch64_part         500                                                      &lt;br /&gt;
           scavenger_part         500  cpu=888,gres/gpu=140,mem=12574G                     &lt;br /&gt;
                     tron         500    cpu=32,gres/gpu=4,mem=262144M                     &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you want to see all partition QoS, including those that you do not have access to, you can use the &amp;lt;code&amp;gt;show_partition_qos --all&amp;lt;/code&amp;gt; command.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ show_partition_qos --all&lt;br /&gt;
                     Name MaxSubmitPU                        MaxTRESPU              GrpTRES&lt;br /&gt;
------------------------- ----------- -------------------------------- --------------------&lt;br /&gt;
                     cbcb         500                                   cpu=1406,mem=50359G&lt;br /&gt;
                cbcb-heng         500                                                      &lt;br /&gt;
         cbcb-interactive         500                                                      &lt;br /&gt;
                    class         500    cpu=32,gres/gpu=4,mem=262144M                     &lt;br /&gt;
                     clip         500                                     cpu=726,mem=6939G&lt;br /&gt;
                      cml         500                                   cpu=1226,mem=12116G&lt;br /&gt;
                  cml-cpu         500                                                      &lt;br /&gt;
             cml-director         500                                                      &lt;br /&gt;
              cml-furongh         500                                                      &lt;br /&gt;
            cml-scavenger         500                      gres/gpu=24                     &lt;br /&gt;
               cml-sfeizi         500                                                      &lt;br /&gt;
                cml-wriva         500                                                      &lt;br /&gt;
           cml-wriva-high         500                                                      &lt;br /&gt;
                 csd-h200         500                                                      &lt;br /&gt;
                    gamma         500                                     cpu=906,mem=7675G&lt;br /&gt;
                     mbrc         500                                     cpu=370,mem=3571G&lt;br /&gt;
                      mc2         500                                     cpu=330,mem=3201G&lt;br /&gt;
                    oasis         500                                                      &lt;br /&gt;
                    quics         500                                     cpu=458,mem=4710G&lt;br /&gt;
   scavenger-aarch64_part         500                                                      &lt;br /&gt;
           scavenger_part         500     cpu=11%,gres/gpu=11%,mem=11%                     &lt;br /&gt;
                     tron         500    cpu=32,gres/gpu=4,mem=262144M                     &lt;br /&gt;
                   vulcan         500                                   cpu=1402,mem=12936G&lt;br /&gt;
            vulcan-ampere         500                                                      &lt;br /&gt;
               vulcan-cpu         500                                                      &lt;br /&gt;
            vulcan-ramani         500                                                      &lt;br /&gt;
         vulcan-scavenger         500                                                      &lt;br /&gt;
   vulcan-scavenger-multi         500                                                      &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE&#039;&#039;&#039;: These QoS cannot be used directly when submitting jobs. Partition QoS limits apply to all jobs running on a given partition, regardless of what job QoS is used.&lt;br /&gt;
&lt;br /&gt;
For example, in the default non-preemption partition (&amp;lt;tt&amp;gt;tron&amp;lt;/tt&amp;gt;), you are restricted to 32 total CPU cores, 4 total GPUs, and 256GB total RAM at once across all jobs you have running in the partition.&lt;br /&gt;
&lt;br /&gt;
Lab/group-specific partitions may also have their own user limits, and/or may also have group limits on the total number of resources consumed simultaneously by all users that are using their partition, codified by the line in the output above that matches their lab/group name. Note that the values listed above in the two &amp;quot;TRES&amp;quot; columns are not fixed and may fluctuate per-partition as more resources are added to or removed from each partition.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;All partitions also only allow a maximum of 500 submitted (running (R) or pending (PD)) jobs per user in the partition simultaneously.&#039;&#039;&#039; This is to prevent excess pending jobs causing [https://slurm.schedmd.com/sched_config.html#backfill backfill] issues with the SLURM scheduler.&lt;br /&gt;
* If you need to submit more than 500 jobs in batch at once, you can develop and run an &amp;quot;outer submission script&amp;quot; that repeatedly attempts to run an &amp;quot;inner submission script&amp;quot; (your original submission script) to submit jobs in the batch periodically, until all job submissions are successful. The outer submission script should use looping logic to check if you are at the max job limit and should then retry submission after waiting for some time interval.&lt;br /&gt;
: An example outer submission script is as follows. In this example, &amp;lt;code&amp;gt;example_inner.sh&amp;lt;/code&amp;gt; is your inner submission script and is not an [[SLURM/ArrayJobs | array job]], and you want to run 1000 jobs. If your inner submission script is an array job, adjust the number of jobs accordingly. Array jobs must be of size 500 or less.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
numjobs=1000&lt;br /&gt;
i=0&lt;br /&gt;
while [ $i -lt $numjobs ]&lt;br /&gt;
do&lt;br /&gt;
  while [[ &amp;quot;$(sbatch example_inner.sh 2&amp;gt;&amp;amp;1)&amp;quot; =~ &amp;quot;QOSMaxSubmitJobPerUserLimit&amp;quot; ]]&lt;br /&gt;
  do&lt;br /&gt;
    echo &amp;quot;Currently at maximum job submissions allowed by the partition&#039;s QoS.&amp;quot;&lt;br /&gt;
    echo &amp;quot;Waiting for 5 minutes before trying to submit more jobs.&amp;quot;&lt;br /&gt;
    sleep 300&lt;br /&gt;
  done&lt;br /&gt;
  i=$(( $i + 1 ))&lt;br /&gt;
  echo &amp;quot;Submitted job $i of $numjobs&amp;quot;&lt;br /&gt;
done&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It is suggested that you run the outer submission script in a [[Tmux]] session to keep the terminal window executing it from being interrupted.&lt;br /&gt;
&lt;br /&gt;
= Storage =&lt;br /&gt;
All network storage available in Nexus is currently [[NFS]] based, and comes in a few different flavors. Compute nodes also have local scratch storage that can be used.&lt;br /&gt;
&lt;br /&gt;
== Home Directories ==&lt;br /&gt;
{{Nfshomes}}&lt;br /&gt;
&lt;br /&gt;
== Scratch Directories ==&lt;br /&gt;
Scratch data has no data protection including no snapshots and the data is not backed up. There are two types of scratch directories in the Nexus compute infrastructure:&lt;br /&gt;
* Network scratch directories&lt;br /&gt;
* Local scratch directories&lt;br /&gt;
&lt;br /&gt;
Please note that [[ClassAccounts | class accounts]] do not have network scratch directories.&lt;br /&gt;
&lt;br /&gt;
=== Network Scratch Directories ===&lt;br /&gt;
You are allocated 200GB of scratch space via NFS from &amp;lt;code&amp;gt;/fs/nexus-scratch/&amp;lt;USERNAME&amp;gt;&amp;lt;/code&amp;gt; where &amp;lt;USERNAME&amp;gt; is your UMIACS username.  &#039;&#039;&#039;It is not backed up or protected in any way.&#039;&#039;&#039;  This directory is &#039;&#039;&#039;[[Automounter | automounted]]&#039;&#039;&#039;; you will need to &amp;lt;code&amp;gt;cd&amp;lt;/code&amp;gt; into the directory or request/specify a fully qualified file path to access it.&lt;br /&gt;
&lt;br /&gt;
You can view your quota usage by running &amp;lt;code&amp;gt;df -h /fs/nexus-scratch/&amp;lt;USERNAME&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
You may request a permanent increase of up to 400GB total space without any faculty approval by [[HelpDesk | contacting staff]].  If you need space beyond 400GB, you will need faculty approval and/or a [[#Project_Allocations | project allocation]] for this. If you choose to increase your scratch space beyond 400GB, the increased space is also subject to the 270 TB days limit mentioned in the project allocation section before we check back in for renewal. For example, if you request 1.4TB total space, you may have this for 270 days (1TB beyond the 400GB permanent increase). The amount increased beyond 400GB will also count against your faculty member&#039;s 20TB total storage limit mentioned below.&lt;br /&gt;
&lt;br /&gt;
This file system is available on all submission, data management, and computational nodes within the cluster.&lt;br /&gt;
&lt;br /&gt;
=== Local Scratch Directories ===&lt;br /&gt;
Each computational node that you can schedule compute jobs on also has one or more local scratch directories.  These are always named &amp;lt;code&amp;gt;/scratch0&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;/scratch1&amp;lt;/code&amp;gt;, etc. and &#039;&#039;&#039;are not backed up or protected in any way.&#039;&#039;&#039;  These directories are almost always more performant than any other storage available to the job as they are mounted from disks directly attached to the compute node.  However, you must stage your data within the confines of your job and extract the relevant resultant data elsewhere before the end of your job.&lt;br /&gt;
&lt;br /&gt;
These local scratch directories have a tmpwatch job which will &#039;&#039;&#039;delete unaccessed data after 90 days&#039;&#039;&#039;, scheduled via maintenance jobs to run once a month during our [[MonthlyMaintenanceWindow | monthly maintenance windows]].  Please make sure you secure any resultant data you wish to keep from these directories at the end of your job.&lt;br /&gt;
&lt;br /&gt;
== Faculty Allocations ==&lt;br /&gt;
Each faculty member can be allocated 1TB of permanent lab space upon request.  We can also support grouping these individual allocations together into larger center, lab, or research group allocations if desired by the faculty.  Please [[HelpDesk | contact staff]] to inquire.&lt;br /&gt;
&lt;br /&gt;
Lab space storage is fully protected.  It has [[Snapshots | snapshots]] enabled and is [[NightlyBackups | backed up nightly]].&lt;br /&gt;
&lt;br /&gt;
== Project Allocations ==&lt;br /&gt;
Project allocations are available per user for 270 TB days; you can have a 1TB allocation for up to 270 days, a 3TB allocation for 90 days, etc..&lt;br /&gt;
&lt;br /&gt;
A single faculty member can not have more than 20TB of project allocations across all of their sponsored accounts active simultaneously. Network scratch allocation space increases beyond the 400GB permanent maximum also have the increase count against this limit (i.e., a 1TB network scratch allocation would have 600GB counted towards this limit).&lt;br /&gt;
&lt;br /&gt;
Project storage is fully protected.  It has [[Snapshots | snapshots]] enabled and is [[NightlyBackups | backed up nightly]].&lt;br /&gt;
&lt;br /&gt;
The maximum allocation length you can request is 540 days (500GB space) and the maximum storage space you can request is 9TB (30 day length).&lt;br /&gt;
&lt;br /&gt;
To request an allocation, please [[HelpDesk | contact staff]] with the faculty member(s) that the project is under involved in the conversation.  Please include the following details:&lt;br /&gt;
* Project Name (short)&lt;br /&gt;
* Description&lt;br /&gt;
* Size (1TB, 2TB, etc.)&lt;br /&gt;
* Length in days (270 days, 135 days, etc.)&lt;br /&gt;
* Other user(s) that need to access the allocation, if any&lt;br /&gt;
&lt;br /&gt;
These allocations are available via &amp;lt;code&amp;gt;/fs/nexus-projects/&amp;lt;project name&amp;gt;&amp;lt;/code&amp;gt;.  &#039;&#039;&#039;Renewal is not guaranteed to be available due to limits on the amount of total storage.&#039;&#039;&#039;  Near the end of the allocation period, staff will contact you and ask if you are still in need of the storage allocation.  If renewal is available, you can renew for up to another 270 TB days with reapproval from the original faculty approver.&lt;br /&gt;
* If you are no longer in need of the storage allocation, you will need to relocate all desired data within two weeks of the end of the allocation period.  Staff will then remove the allocation.&lt;br /&gt;
* If you do not respond to staff&#039;s request by the end of the allocation period, staff will make the allocation temporarily inaccessible.&lt;br /&gt;
** If you do respond asking for renewal but the original faculty approver does not respond within two weeks of the end of the allocation period, staff will also make the allocation temporarily inaccessible.&lt;br /&gt;
** If one month from the end of the allocation period is reached without both you and the faculty approver responding, staff will remove the allocation.&lt;br /&gt;
&lt;br /&gt;
== Datasets ==&lt;br /&gt;
We have read-only dataset storage available at &amp;lt;code&amp;gt;/fs/nexus-datasets&amp;lt;/code&amp;gt;.  If there are datasets that you would like to see curated and made available, please see [[Datasets | this page]].&lt;br /&gt;
&lt;br /&gt;
The list of Nexus datasets we currently host can be viewed [https://info.umiacs.umd.edu/datasets/list/?q=Nexus here].&lt;/div&gt;</summary>
		<author><name>Mbaney</name></author>
	</entry>
	<entry>
		<id>https://wiki.umiacs.umd.edu/umiacs/index.php?title=MonthlyMaintenanceWindow&amp;diff=13270</id>
		<title>MonthlyMaintenanceWindow</title>
		<link rel="alternate" type="text/html" href="https://wiki.umiacs.umd.edu/umiacs/index.php?title=MonthlyMaintenanceWindow&amp;diff=13270"/>
		<updated>2026-05-18T14:34:22Z</updated>

		<summary type="html">&lt;p&gt;Mbaney: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[HelpDesk | UMIACS staff]] takes a monthly maintenance window to patch and reboot all UMIACS-supported hosts and services.  This provides a way for staff to ensure security updates are installed and applied on the numerous different platforms and appliances that UMIACS runs.&lt;br /&gt;
&lt;br /&gt;
The window for each month is calculated by adding 9 days to [https://en.wikipedia.org/wiki/Patch_Tuesday Microsoft&#039;s Patch Tuesday] to allow for enough time to marshal patches released that month from Microsoft, Red Hat, Apple, and other OS and application vendors and have enough time to get systems prepared to reboot.  This translates to the window being on the &#039;&#039;&#039;Thursday that occurs between the 17th and the 23rd (inclusive)&#039;&#039;&#039; of each month.  The window lasts from &#039;&#039;&#039;5pm-8pm&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
[[Nexus]] will always have a reservation in place from 4:45pm-8pm on the day of the upcoming window to prevent jobs from being scheduled on compute nodes. The 15-minute addition before the start of the window is to allow jobs to fully end. Any job submitted before the reservation begins that has a time limit that would run into the reservation will be held until at least the end of the reservation - 8pm on the day of the window. This is to prevent issues with jobs failing to end properly causing delays in work we have scheduled during the window.&lt;br /&gt;
&lt;br /&gt;
A list of upcoming maintenance windows is as follows, with the next one in bold. Again, the window is on the &#039;&#039;&#039;Thursday that occurs between the 17th and the 23rd (inclusive)&#039;&#039;&#039; of each month, and lasts from &#039;&#039;&#039;5pm-8pm&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;May 28th 2026&#039;&#039;&#039; (Adjusted date for CIO-imposed network change freeze)&lt;br /&gt;
* June 18th 2026&lt;br /&gt;
* July 23rd 2026&lt;br /&gt;
* August 20th 2026&lt;br /&gt;
* September 17th 2026&lt;br /&gt;
* October 22nd 2026&lt;br /&gt;
* November 19th 2026&lt;br /&gt;
* December 17th 2026&lt;br /&gt;
&lt;br /&gt;
==Archives==&lt;br /&gt;
* January 17th 2013 - BEGIN time of 8pm-12am for this window through February 20th 2020&lt;br /&gt;
* February 21st 2013&lt;br /&gt;
* March 21st 2013&lt;br /&gt;
* April 18th 2013&lt;br /&gt;
* May 23rd 2013&lt;br /&gt;
* June 20th 2013&lt;br /&gt;
* July 18th 2013&lt;br /&gt;
* August 22nd 2013&lt;br /&gt;
* September 19th 2013&lt;br /&gt;
* October 17th 2013&lt;br /&gt;
* December 19th 2013&lt;br /&gt;
* January 23rd 2014&lt;br /&gt;
* February 20th 2014&lt;br /&gt;
* March 20th 2014&lt;br /&gt;
* April 17th 2014&lt;br /&gt;
* May 22nd 2014&lt;br /&gt;
* June 19th 2014&lt;br /&gt;
* July 17th 2014&lt;br /&gt;
* August 21st 2014&lt;br /&gt;
* September 18th 2014&lt;br /&gt;
* October 23rd 2014&lt;br /&gt;
* November 20th 2014&lt;br /&gt;
* December 18th 2014&lt;br /&gt;
* January 22nd 2015&lt;br /&gt;
* February 19th 2015&lt;br /&gt;
* March 19th 2015&lt;br /&gt;
* May 21st 2015&lt;br /&gt;
* June 18th 2015&lt;br /&gt;
* July 23rd 2015&lt;br /&gt;
* August 20th 2015&lt;br /&gt;
* September 17th 2015&lt;br /&gt;
* October 22nd 2015&lt;br /&gt;
* November 19th 2015&lt;br /&gt;
* December 17th 2015&lt;br /&gt;
* January 21st 2016&lt;br /&gt;
* February 18th 2016&lt;br /&gt;
* March 12th 2016 (Adjusted date for AVW power outage)&lt;br /&gt;
* April 21st 2016&lt;br /&gt;
* May 19th 2016&lt;br /&gt;
* June 23rd 2016&lt;br /&gt;
* July 21st 2016&lt;br /&gt;
* August 18th 2016&lt;br /&gt;
* September 22nd 2016&lt;br /&gt;
* October 20th 2016&lt;br /&gt;
* November 17th 2016&lt;br /&gt;
* December 22nd 2016&lt;br /&gt;
* January 19th 2017&lt;br /&gt;
* February 23rd 2017&lt;br /&gt;
* March 23rd 2017&lt;br /&gt;
* April 20th 2017&lt;br /&gt;
* May 18th 2017&lt;br /&gt;
* June 22nd 2017&lt;br /&gt;
* July 20th 2017&lt;br /&gt;
* August 17th 2017&lt;br /&gt;
* September 21st 2017&lt;br /&gt;
* October 19th 2017&lt;br /&gt;
* December 21st 2017&lt;br /&gt;
* January 18th 2018&lt;br /&gt;
* February 22nd 2018&lt;br /&gt;
* March 22nd 2018&lt;br /&gt;
* April 19th 2018&lt;br /&gt;
* May 17th 2018&lt;br /&gt;
* June 21st 2018&lt;br /&gt;
* July 19th 2018&lt;br /&gt;
* August 23rd 2018&lt;br /&gt;
* September 20th 2018&lt;br /&gt;
* October 18th 2018&lt;br /&gt;
* December 20th 2018&lt;br /&gt;
* January 24th 2019&lt;br /&gt;
* February 21st 2019&lt;br /&gt;
* April 18th 2019&lt;br /&gt;
* May 23rd 2019&lt;br /&gt;
* June 20th 2019&lt;br /&gt;
* July 18th 2019&lt;br /&gt;
* August 22nd 2019&lt;br /&gt;
* September 19th 2019&lt;br /&gt;
* October 17th 2019&lt;br /&gt;
* November 21st 2019&lt;br /&gt;
* December 19th 2019&lt;br /&gt;
* January 23rd 2020&lt;br /&gt;
* February 20th 2020&lt;br /&gt;
* April 23rd 2020 - BEGIN time of 5pm-7pm for this window through August 19th 2021&lt;br /&gt;
* June 18th 2020&lt;br /&gt;
* July 23rd 2020&lt;br /&gt;
* August 20th 2020&lt;br /&gt;
* September 17th 2020&lt;br /&gt;
* October 22nd 2020&lt;br /&gt;
* November 19th 2020&lt;br /&gt;
* December 17th 2020&lt;br /&gt;
* January 21st 2021&lt;br /&gt;
* February 18th 2021&lt;br /&gt;
* March 25th 2021 (Adjusted date for extended Spring Break)&lt;br /&gt;
* April 22nd 2021&lt;br /&gt;
* May 20th 2021&lt;br /&gt;
* June 17th 2021&lt;br /&gt;
* July 22nd 2021&lt;br /&gt;
* August 19th 2021&lt;br /&gt;
* September 23rd 2021 - BEGIN time of 5pm-8pm for this window and all others below&lt;br /&gt;
* October 21st 2021&lt;br /&gt;
* November 18th 2021&lt;br /&gt;
* January 20th 2022&lt;br /&gt;
* February 17th 2022&lt;br /&gt;
* March 24th 2022 (Adjusted date for Spring Break)&lt;br /&gt;
* April 21st 2022&lt;br /&gt;
* May 19th 2022&lt;br /&gt;
* June 23rd 2022&lt;br /&gt;
* July 21st 2022&lt;br /&gt;
* August 18th 2022&lt;br /&gt;
* September 22nd 2022&lt;br /&gt;
* October 20th 2022&lt;br /&gt;
* November 17th 2022&lt;br /&gt;
* January 19th 2023&lt;br /&gt;
* February 23rd 2023&lt;br /&gt;
* April 20th 2023&lt;br /&gt;
* May 18th 2023&lt;br /&gt;
* June 22nd 2023&lt;br /&gt;
* July 20th 2023&lt;br /&gt;
* August 17th 2023&lt;br /&gt;
* September 21st 2023&lt;br /&gt;
* October 19th 2023&lt;br /&gt;
* December 20th 2023 (Adjusted date for early Winter Break)&lt;br /&gt;
* January 18th 2024&lt;br /&gt;
* February 22nd 2024&lt;br /&gt;
* March 21st 2024&lt;br /&gt;
* April 18th 2024&lt;br /&gt;
* May 23th 2024&lt;br /&gt;
* June 20th 2024&lt;br /&gt;
* July 18th 2024&lt;br /&gt;
* August 22nd 2024&lt;br /&gt;
* September 19th 2024&lt;br /&gt;
* October 17th 2024&lt;br /&gt;
* November 21st 2024&lt;br /&gt;
* December 19th 2024&lt;br /&gt;
* January 23rd 2025&lt;br /&gt;
* February 20th 2025&lt;br /&gt;
* March 20th 2025&lt;br /&gt;
* April 17th 2025&lt;br /&gt;
* May 22nd 2025&lt;br /&gt;
* June 19th 2025&lt;br /&gt;
* July 17th 2025&lt;br /&gt;
* August 21st 2025&lt;br /&gt;
* September 18th 2025&lt;br /&gt;
* October 23rd 2025&lt;br /&gt;
* November 20th 2025&lt;br /&gt;
* December 18th 2025&lt;br /&gt;
* January 22nd 2026&lt;br /&gt;
* February 19th 2026&lt;br /&gt;
* March 19th 2026&lt;br /&gt;
* April 23rd 2026&lt;/div&gt;</summary>
		<author><name>Mbaney</name></author>
	</entry>
	<entry>
		<id>https://wiki.umiacs.umd.edu/umiacs/index.php?title=BarracudaSpamFirewall&amp;diff=13267</id>
		<title>BarracudaSpamFirewall</title>
		<link rel="alternate" type="text/html" href="https://wiki.umiacs.umd.edu/umiacs/index.php?title=BarracudaSpamFirewall&amp;diff=13267"/>
		<updated>2026-05-11T19:57:33Z</updated>

		<summary type="html">&lt;p&gt;Mbaney: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Introduction===&lt;br /&gt;
UMIACS has deployed a system with two Barracuda Networks spam firewalls. This allows for enterprise level Virus and Spam scoring and filtering for our email architecture. You can log in to the system either of the two firewalls using your UMIACS email address (username@umiacs.umd.edu) and UMD directory passphrase:&lt;br /&gt;
*[https://bubs.umiacs.umd.edu bubs.umiacs.umd.edu]&lt;br /&gt;
*[https://pompom.umiacs.umd.edu pompom.umiacs.umd.edu]&lt;br /&gt;
&lt;br /&gt;
===Mail Flow Through Barracudas===&lt;br /&gt;
*The first time your mail flows through one of the Barracudas it will send you a mail with a new username and password. Subsequently, you will receive, every day (unless you configure otherwise), a mail at approximately 3:30pm US Eastern from the Barracuda with your quarantine summary. &#039;&#039;&#039;Please note that the links provides in the Actions column in the summary do not work anymore due to security hardening on the Barracudas. Please use the links provided above to log in.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Scoring===&lt;br /&gt;
The Barracudas will score every message that passes through them and inject varying message headers based on that score.  You can then create email filters based on these headers to filter out messages that are tagged as spam by the Barracudas. See [[BarracudaSpamFirewall/Scoring]] for more details.&lt;br /&gt;
&lt;br /&gt;
===Quarantine===&lt;br /&gt;
*Mail that has been deemed as spam will be kept on the Barracudas in quarantine.  It will not be delivered to your mailbox unless you configure the Barracudas to do so.&lt;br /&gt;
*Your quarantine will be preserved for &#039;&#039;&#039;21 days&#039;&#039;&#039;. Individual mail messages are purged if they are still in the quarantine 22 days after they are first received.&lt;br /&gt;
*You can search your spam quarantine by following the steps [[BarracudaSpamFirewall/SearchingQuarantine | here]].&lt;br /&gt;
&lt;br /&gt;
===Quarantine Passthrough===&lt;br /&gt;
*If you wish to have the mail that would ordinarily be quarantined by Barracuda delivered to your mailbox instead you can configure this using the Barracuda web configuration.&lt;br /&gt;
*You can enable this functionality by following the steps [[BarracudaSpamFirewall/QuarantinePassthrough | here]].&lt;br /&gt;
&lt;br /&gt;
===Allow Lists, Block Lists, and Bayesian Filtering===&lt;br /&gt;
*You may also setup allow lists, block lists, and Bayesian filtering options through the Preferences tab at the top of the Barracuda web portal.&lt;br /&gt;
&lt;br /&gt;
===More Information===&lt;br /&gt;
*For more information on how to use the Barracuda please download the user&#039;s guide:&lt;br /&gt;
&lt;br /&gt;
https://wiki.umiacs.umd.edu/umiacs/images/5/5a/Barracuda_usersguide.pdf&lt;/div&gt;</summary>
		<author><name>Mbaney</name></author>
	</entry>
	<entry>
		<id>https://wiki.umiacs.umd.edu/umiacs/index.php?title=BarracudaSpamFirewall&amp;diff=13266</id>
		<title>BarracudaSpamFirewall</title>
		<link rel="alternate" type="text/html" href="https://wiki.umiacs.umd.edu/umiacs/index.php?title=BarracudaSpamFirewall&amp;diff=13266"/>
		<updated>2026-05-11T19:56:37Z</updated>

		<summary type="html">&lt;p&gt;Mbaney: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Introduction===&lt;br /&gt;
UMIACS has deployed a system with two Barracuda Networks spam firewalls. This allows for enterprise level Virus and Spam scoring and filtering for our email architecture. You can log in to the system either of the two firewalls using your UMIACS email address (username@umiacs.umd.edu) and UMD passphrase:&lt;br /&gt;
*[https://bubs.umiacs.umd.edu bubs.umiacs.umd.edu]&lt;br /&gt;
*[https://pompom.umiacs.umd.edu pompom.umiacs.umd.edu]&lt;br /&gt;
&lt;br /&gt;
===Mail Flow Through Barracudas===&lt;br /&gt;
*The first time your mail flows through one of the Barracudas it will send you a mail with a new username and password. Subsequently, you will receive, every day (unless you configure otherwise), a mail at approximately 3:30pm US Eastern from the Barracuda with your quarantine summary. &#039;&#039;&#039;Please note that the links provides in the Actions column in the summary do not work anymore due to security hardening on the Barracudas. Please use the links provided above to log in.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Scoring===&lt;br /&gt;
The Barracudas will score every message that passes through them and inject varying message headers based on that score.  You can then create email filters based on these headers to filter out messages that are tagged as spam by the Barracudas. See [[BarracudaSpamFirewall/Scoring]] for more details.&lt;br /&gt;
&lt;br /&gt;
===Quarantine===&lt;br /&gt;
*Mail that has been deemed as spam will be kept on the Barracudas in quarantine.  It will not be delivered to your mailbox unless you configure the Barracudas to do so.&lt;br /&gt;
*Your quarantine will be preserved for &#039;&#039;&#039;21 days&#039;&#039;&#039;. Individual mail messages are purged if they are still in the quarantine 22 days after they are first received.&lt;br /&gt;
*You can search your spam quarantine by following the steps [[BarracudaSpamFirewall/SearchingQuarantine | here]].&lt;br /&gt;
&lt;br /&gt;
===Quarantine Passthrough===&lt;br /&gt;
*If you wish to have the mail that would ordinarily be quarantined by Barracuda delivered to your mailbox instead you can configure this using the Barracuda web configuration.&lt;br /&gt;
*You can enable this functionality by following the steps [[BarracudaSpamFirewall/QuarantinePassthrough | here]].&lt;br /&gt;
&lt;br /&gt;
===Allow Lists, Block Lists, and Bayesian Filtering===&lt;br /&gt;
*You may also setup allow lists, block lists, and Bayesian filtering options through the Preferences tab at the top of the Barracuda web portal.&lt;br /&gt;
&lt;br /&gt;
===More Information===&lt;br /&gt;
*For more information on how to use the Barracuda please download the user&#039;s guide:&lt;br /&gt;
&lt;br /&gt;
https://wiki.umiacs.umd.edu/umiacs/images/5/5a/Barracuda_usersguide.pdf&lt;/div&gt;</summary>
		<author><name>Mbaney</name></author>
	</entry>
	<entry>
		<id>https://wiki.umiacs.umd.edu/umiacs/index.php?title=BarracudaSpamFirewall&amp;diff=13265</id>
		<title>BarracudaSpamFirewall</title>
		<link rel="alternate" type="text/html" href="https://wiki.umiacs.umd.edu/umiacs/index.php?title=BarracudaSpamFirewall&amp;diff=13265"/>
		<updated>2026-05-11T19:51:52Z</updated>

		<summary type="html">&lt;p&gt;Mbaney: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Introduction===&lt;br /&gt;
UMIACS has deployed a system with two Barracuda Networks spam firewalls. This allows for enterprise level Virus and Spam scoring and filtering for our email architecture. You can log in to the system either of the two firewalls using your UMIACS email address (username@umiacs.umd.edu) and UMD passphrase:&lt;br /&gt;
*[https://bubs.umiacs.umd.edu bubs.umiacs.umd.edu]&lt;br /&gt;
*[https://pompom.umiacs.umd.edu pompom.umiacs.umd.edu]&lt;br /&gt;
&lt;br /&gt;
===Mail Flow Through Barracudas===&lt;br /&gt;
*The first time your mail flows through one of the Barracudas it will send you a mail with a new username and password. Subsequently, you will receive, every day (unless you configure otherwise), a mail at approximately 3:30pm US Eastern from the Barracuda with your quarantine summary. &#039;&#039;&#039;Please note that auto log-in through the link provided in the summary does not work anymore due to security hardening on the Barracudas. Please use the links provided above to log in.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Scoring===&lt;br /&gt;
The Barracudas will score every message that passes through them and inject varying message headers based on that score.  You can then create email filters based on these headers to filter out messages that are tagged as spam by the Barracudas. See [[BarracudaSpamFirewall/Scoring]] for more details.&lt;br /&gt;
&lt;br /&gt;
===Quarantine===&lt;br /&gt;
*Mail that has been deemed as spam will be kept on the Barracudas in quarantine.  It will not be delivered to your mailbox unless you configure the Barracudas to do so.&lt;br /&gt;
*Your quarantine will be preserved for &#039;&#039;&#039;21 days&#039;&#039;&#039;. Individual mail messages are purged if they are still in the quarantine 22 days after they are first received.&lt;br /&gt;
*You can search your spam quarantine by following the steps [[BarracudaSpamFirewall/SearchingQuarantine | here]].&lt;br /&gt;
&lt;br /&gt;
===Quarantine Passthrough===&lt;br /&gt;
*If you wish to have the mail that would ordinarily be quarantined by Barracuda delivered to your mailbox instead you can configure this using the Barracuda web configuration.&lt;br /&gt;
*You can enable this functionality by following the steps [[BarracudaSpamFirewall/QuarantinePassthrough | here]].&lt;br /&gt;
&lt;br /&gt;
===Whitelists, Blacklists &amp;amp; Bayesian Filtering===&lt;br /&gt;
*You may also setup whitelists, blacklists, and Bayesian filtering options through the Preferences tab at the top of the Barracuda web portal.&lt;br /&gt;
&lt;br /&gt;
===More Information===&lt;br /&gt;
*For more information on how to use the Barracuda please download the user&#039;s guide:&lt;br /&gt;
&lt;br /&gt;
https://wiki.umiacs.umd.edu/umiacs/images/5/5a/Barracuda_usersguide.pdf&lt;/div&gt;</summary>
		<author><name>Mbaney</name></author>
	</entry>
	<entry>
		<id>https://wiki.umiacs.umd.edu/umiacs/index.php?title=Iribe/Faxing&amp;diff=13264</id>
		<title>Iribe/Faxing</title>
		<link rel="alternate" type="text/html" href="https://wiki.umiacs.umd.edu/umiacs/index.php?title=Iribe/Faxing&amp;diff=13264"/>
		<updated>2026-05-05T13:53:04Z</updated>

		<summary type="html">&lt;p&gt;Mbaney: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The HP LaserJet Enterprise Flow MFP M633 labelled &amp;quot;ps432-4208&amp;quot; in room 4208 in the Iribe Center, in addition to being a black/white printer and copier, also has faxing capability configured (send/receive). The fax number is 301-314-9115 (x49115). HP&#039;s guide for using this model of fax can be found [[Media:M633_manual.pdf | here in Chapter 7 (Fax)]].&lt;br /&gt;
&lt;br /&gt;
Please keep in mind UMD phone syntax still applies when using this machine; you will need to [https://it.umd.edu/phone#place dial 9 and then 1 before faxing to any number external to the university].&lt;/div&gt;</summary>
		<author><name>Mbaney</name></author>
	</entry>
	<entry>
		<id>https://wiki.umiacs.umd.edu/umiacs/index.php?title=File:M633_manual.pdf&amp;diff=13263</id>
		<title>File:M633 manual.pdf</title>
		<link rel="alternate" type="text/html" href="https://wiki.umiacs.umd.edu/umiacs/index.php?title=File:M633_manual.pdf&amp;diff=13263"/>
		<updated>2026-05-05T13:50:44Z</updated>

		<summary type="html">&lt;p&gt;Mbaney: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Mbaney</name></author>
	</entry>
	<entry>
		<id>https://wiki.umiacs.umd.edu/umiacs/index.php?title=UMIACS:Users&amp;diff=13262</id>
		<title>UMIACS:Users</title>
		<link rel="alternate" type="text/html" href="https://wiki.umiacs.umd.edu/umiacs/index.php?title=UMIACS:Users&amp;diff=13262"/>
		<updated>2026-05-01T15:23:07Z</updated>

		<summary type="html">&lt;p&gt;Mbaney: Created page with &amp;quot;https://intranet.umiacs.umd.edu/staff/people&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;https://intranet.umiacs.umd.edu/staff/people&lt;/div&gt;</summary>
		<author><name>Mbaney</name></author>
	</entry>
	<entry>
		<id>https://wiki.umiacs.umd.edu/umiacs/index.php?title=GitLab&amp;diff=13261</id>
		<title>GitLab</title>
		<link rel="alternate" type="text/html" href="https://wiki.umiacs.umd.edu/umiacs/index.php?title=GitLab&amp;diff=13261"/>
		<updated>2026-04-30T18:41:01Z</updated>

		<summary type="html">&lt;p&gt;Mbaney: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;GitLab is source code collaboration software based on [https://git-scm.com/ Git] source control management.  It allows users to create their own repositories and share them with other users/groups or publicly.  It supports built-in project wikis, code review, and issue tracking for each project.  A full list of features can be found on the [https://www.gitlab.com/gitlab-ce GitLab] website.&lt;br /&gt;
&lt;br /&gt;
All code is hosted on-site on UMIACS servers and is backed up nightly.  We give all non-[[ClassAccounts |class account]] UMIACS users 5 projects by default, with a hard limit of 800MB per pboject.  Faculty can request an extension to 25 projects.  Projects that you create inside of a group namespace still count towards your project limit.  UMIACS Staff can help create Lab groups and delegate authority to manage the group to one or more faculty members.  Permissions are assigned within GitLab.&lt;br /&gt;
&lt;br /&gt;
To get started, navigate to the following URL in your browser, which will redirect you to UMD&#039;s CAS to log in:&lt;br /&gt;
&lt;br /&gt;
  https://gitlab.umiacs.umd.edu&lt;br /&gt;
&lt;br /&gt;
==GitLab Offsite Collaborators==&lt;br /&gt;
Any UMIACS user now create an unlimited number of offsite collaborator accounts for our Security Groups, GitLab and Object Store.  These accounts can not create repositories or groups, but may be given access to your repositories or groups.  You can find this utility in our [https://intranet.umiacs.umd.edu/requests Requests] application under [https://intranet.umiacs.umd.edu/requests/accounts UMIACS Collaborators].&lt;br /&gt;
&lt;br /&gt;
==User Documentation==&lt;br /&gt;
GitLab provides user documentation that can be accessed at https://gitlab.umiacs.umd.edu/help&lt;br /&gt;
&lt;br /&gt;
Some of the most useful sections include:&lt;br /&gt;
* Permissions and user roles - https://gitlab.umiacs.umd.edu/help/user/permissions.md&lt;br /&gt;
* GitLab markdown for wikis and READMEs - https://gitlab.umiacs.umd.edu/help/user/markdown.md&lt;br /&gt;
&lt;br /&gt;
==Repository URLs== &lt;br /&gt;
Users can clone git repos over either SSH or HTTPS.  &#039;&#039;&#039;We recommend using SSH because it is more convenient for most users.&#039;&#039;&#039;  The blue &amp;quot;Clone&amp;quot; button in the upper-right corner of your GitLab project page will contain the clone URL for whichever authentication method you prefer.&lt;br /&gt;
&lt;br /&gt;
===SSH===&lt;br /&gt;
To use SSH, add an SSH key to your GitLab account. Instructions to do so can be found [https://gitlab.umiacs.umd.edu/help/user/ssh.md here]. Once you have the SSH key added, you can authenticate without having to enter any credentials from the machine and account for which you created the SSH key (if your key is not password-protected).&lt;br /&gt;
&lt;br /&gt;
===HTTPS===&lt;br /&gt;
The HTTPS URL can be used as well, but you will need to setup Personal Access Tokens in order to connect. Instructions to create one can be found [https://docs.gitlab.com/ee/user/profile/personal_access_tokens.html here]. Once you have a token, you can use that as your password when prompted. You will have to re-enter your credentials for GitLab every single time that you attempt to commit to, push to, pull from, or otherwise access the remote repository.&lt;br /&gt;
&lt;br /&gt;
==Make GitLab projects public==&lt;br /&gt;
Making projects public grants access to everyone. Projects can only made public by the owner. To make your projects on GitLab public, follow the steps below:&lt;br /&gt;
&lt;br /&gt;
1. Go to your project page.&lt;br /&gt;
&lt;br /&gt;
2. Click on &#039;&#039;&#039;Settings&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
3. Scroll down to &#039;&#039;&#039;Project Visibility&#039;&#039;&#039;. Choose &#039;&#039;&#039;Public&#039;&#039;&#039; from the drop-down menu.&lt;br /&gt;
&lt;br /&gt;
4. Scroll down and click on &#039;&#039;&#039;Save Changes&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
5. Scroll down to &#039;&#039;&#039;Repository&#039;&#039;&#039; under &#039;&#039;&#039;Project Visibility&#039;&#039;&#039; and select &#039;&#039;&#039;Everyone with access&#039;&#039;&#039; from the drop-down menu.&lt;br /&gt;
&lt;br /&gt;
6. Click on &#039;&#039;&#039;Save Changes&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Now your project has become public with its repository accessible by anyone.&lt;/div&gt;</summary>
		<author><name>Mbaney</name></author>
	</entry>
	<entry>
		<id>https://wiki.umiacs.umd.edu/umiacs/index.php?title=Nexus&amp;diff=13260</id>
		<title>Nexus</title>
		<link rel="alternate" type="text/html" href="https://wiki.umiacs.umd.edu/umiacs/index.php?title=Nexus&amp;diff=13260"/>
		<updated>2026-04-30T18:04:52Z</updated>

		<summary type="html">&lt;p&gt;Mbaney: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Note|UMIACS Technical Staff will begin the process of upgrading the operating system version on all Nexus cluster nodes in Summer 2026. Please see [[Nexus/ClusterOSUpgrade]] for more information.}}&lt;br /&gt;
&lt;br /&gt;
The Nexus is the combined scheduler of resources in UMIACS.  The resource manager for Nexus is [[SLURM]].  Resources are arranged into partitions where users are able to schedule computational jobs.  Users are arranged into a number of SLURM accounts based on faculty, lab, or center investments.&lt;br /&gt;
&lt;br /&gt;
= Getting Started =&lt;br /&gt;
All accounts in UMIACS are sponsored.  If you don&#039;t already have a UMIACS account, please see [[Accounts]] for information on getting one.  You need a full UMIACS account - not a [[Accounts/Collaborator | collaborator account]] - in order to access Nexus.&lt;br /&gt;
&lt;br /&gt;
== Access ==&lt;br /&gt;
Your access to submission nodes (alternatively called login nodes) for Nexus computational resources is determined by your account sponsor&#039;s department, center, or lab affiliation.  You can log into the [https://intranet.umiacs.umd.edu/directory/cr/ UMIACS Directory CR application] and select the Computational Resource (CR) in the list that has the prefix &amp;lt;code&amp;gt;nexus&amp;lt;/code&amp;gt;.  The Hosts section lists your available submission nodes - generally a pair of nodes with hostnames of the format &amp;lt;tt&amp;gt;nexus&amp;lt;department, lab, or center abbreviation&amp;gt;[00,01]&amp;lt;/tt&amp;gt;, e.g., &amp;lt;tt&amp;gt;nexusgroup00&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;nexusgroup01&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Once you have identified your submission nodes, you can [[SSH]] into them [https://itsupport.umd.edu/itsupport?id=kb_article_view&amp;amp;sysparm_article=KB0016076 after connecting to UMD&#039;s GlobalProtect VPN].  From there, you are able to submit to the cluster via our [[SLURM]] workload manager.  You need to make sure that your submitted jobs have the correct account, partition, and qos.&lt;br /&gt;
&lt;br /&gt;
Please read our [[Nexus/Submission_Node_Policy|Submission Node Policy]] for guidance on appropriate usage of a submission node. If a submission node becomes unresponsive due to disregarding this policy, &amp;lt;b&amp;gt;we may kill user processes on these nodes to resolve the issue&amp;lt;/b&amp;gt;. We reserve the right to take action on users who repeatedly cause issues on submission nodes.&lt;br /&gt;
&lt;br /&gt;
== Jobs ==&lt;br /&gt;
[[SLURM]] jobs are [[SLURM/JobSubmission | submitted]] by either &amp;lt;code&amp;gt;srun&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;sbatch&amp;lt;/code&amp;gt; depending if you are doing an interactive job or batch job, respectively.  You need to provide the where/how/who to run the job and specify the resources you need to run with.&lt;br /&gt;
&lt;br /&gt;
For the who/where/how, you may be required to specify &amp;lt;code&amp;gt;--account&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;--partition&amp;lt;/code&amp;gt;, and/or &amp;lt;code&amp;gt;--qos&amp;lt;/code&amp;gt; (respectively) to be able to adequately submit jobs to the Nexus.&lt;br /&gt;
&lt;br /&gt;
For resources, you may need to specify &amp;lt;code&amp;gt;--time&amp;lt;/code&amp;gt; for time, &amp;lt;code&amp;gt;--cpus-per-task&amp;lt;/code&amp;gt; for CPUs, &amp;lt;code&amp;gt;--mem&amp;lt;/code&amp;gt; for RAM, and &amp;lt;code&amp;gt;--gres=gpu&amp;lt;/code&amp;gt; for GPUs in your submission arguments to meet your requirements.  There are defaults for all four; if you don&#039;t specify something, you will get the default value for that resource, which is minimal (e.g., by default, NO GPUs are included if you do not specify &amp;lt;code&amp;gt;--gres=gpu&amp;lt;/code&amp;gt;).  For more information about submission flags for GPU resources, see [[SLURM/JobSubmission#Requesting_GPUs | here]].  You may also use &amp;lt;code&amp;gt;--ntasks&amp;lt;/code&amp;gt; to specify the number of parallel processes to run, with each task having its own set of the resources specified above. You can run &amp;lt;code&amp;gt;man srun&amp;lt;/code&amp;gt; on your submission node for a complete list of available submission arguments.&lt;br /&gt;
&lt;br /&gt;
For a list of available GPU types on Nexus and their specs, please see [[Nexus/GPUs]].&lt;br /&gt;
&lt;br /&gt;
For details on how the network for Nexus is architected, please see [[Nexus/Network]]. This can be important if you wish to optimize performance of your jobs.&lt;br /&gt;
&lt;br /&gt;
=== Interactive ===&lt;br /&gt;
Once logged into a submission node, you can run simple interactive jobs.  If your session is interrupted from the submission node, the job will be killed.  As such, we encourage use of a terminal multiplexer such as [[Tmux]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ srun --pty --cpus-per-task=4 --mem=2gb --gres=gpu:1 bash&lt;br /&gt;
srun: Job account was unset; set to user default of &#039;nexus&#039;&lt;br /&gt;
srun: Job partition was unset; set to cluster default of &#039;tron&#039;&lt;br /&gt;
srun: Job QoS was unset; set to association default of &#039;default&#039;&lt;br /&gt;
srun: Job time limit was unset; set to partition default of 60 minutes&lt;br /&gt;
srun: job 1 queued and waiting for resources&lt;br /&gt;
srun: job 1 has been allocated resources&lt;br /&gt;
$ hostname&lt;br /&gt;
tron62.umiacs.umd.edu&lt;br /&gt;
$ nvidia-smi -L&lt;br /&gt;
GPU 0: NVIDIA GeForce RTX 2080 Ti (UUID: GPU-daad6a04-a2ce-1183-ce53-b267048f750a)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Batch ===&lt;br /&gt;
Batch jobs are scheduled with a script file with an optional ability to embed job scheduling parameters via variables that are defined by &amp;lt;code&amp;gt;#SBATCH&amp;lt;/code&amp;gt; lines at the top of the file.  You can find some examples in our [[SLURM/JobSubmission]] documentation.&lt;br /&gt;
&lt;br /&gt;
= Partitions = &lt;br /&gt;
The SLURM resource manager uses partitions to act as job queues which can restrict size, time and user limits. The Nexus has a number of different partitions of resources. Different Centers, Labs, and Faculty are able to invest in computational resources that are restricted to approved users through these partitions.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Partitions usable by all non-[[ClassAccounts |class account]] users:&#039;&#039;&#039;&lt;br /&gt;
* [[Nexus/Tron]] - Pool of resources available to all non-class accounts sponsored by either UMIACS or CSD faculty.&lt;br /&gt;
* Scavenger - [https://slurm.schedmd.com/preempt.html Preemption] partition that contains [https://en.wikipedia.org/wiki/X86-64 x86_64] architecture nodes from multiple other partitions. More resources are available to schedule simultaneously than in other partitions, however jobs are subject to preemption rules. You are responsible for ensuring your jobs handle this preemption correctly. The SLURM scheduler will simply restart a preempted job with the same submission arguments when it is available to run again. For an overview of things you can check within scripts to determine if your job was preempted/resumed, see [[SLURM/Preemption]].&lt;br /&gt;
* Scavenger (aarch64) - Preemption partition identical in design to &amp;lt;tt&amp;gt;scavenger&amp;lt;/tt&amp;gt;, but only contains [https://en.wikipedia.org/wiki/AArch64 aarch64] architecture nodes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Partitions usable by [[ClassAccounts]]:&#039;&#039;&#039;&lt;br /&gt;
* [[ClassAccounts#Cluster_Usage | Class]] - Pool of resources available to class accounts sponsored by either UMIACS or CSD faculty.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Partitions usable by specific lab/center users:&#039;&#039;&#039;&lt;br /&gt;
* [[Nexus/CBCB]] - CBCB lab pool available for CBCB lab members.&lt;br /&gt;
* [[Nexus/CLIP]] - CLIP lab pool available for CLIP lab members.&lt;br /&gt;
* [[Nexus/CML]] - CML lab pool available for CML lab members.&lt;br /&gt;
* [[Nexus/GAMMA]] - GAMMA lab pool available for GAMMA lab members.&lt;br /&gt;
* [[Nexus/MBRC]] - MBRC lab pool available for MBRC lab members.&lt;br /&gt;
* [[Nexus/MC2]] - MC2 lab pool available for MC2 lab members.&lt;br /&gt;
* [[Nexus/QuICS]] - QuICS lab pool available for QuICS lab members.&lt;br /&gt;
* [[Nexus/Vulcan]] - Vulcan lab pool available for Vulcan lab members.&lt;br /&gt;
&lt;br /&gt;
You can view the partitions that you have access to by using the &amp;lt;code&amp;gt;show_partitions&amp;lt;/code&amp;gt; command. By default, the command will show only the partitions that are available to you.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ show_partitions&lt;br /&gt;
                    Name           AllowAccounts                       AllowQos    MaxNodes                        Nodes&lt;br /&gt;
------------------------ ----------------------- ------------------------------ ----------- ----------------------------               &lt;br /&gt;
               scavenger               scavenger                      scavenger   UNLIMITED                brigid[16-19]                                                                                                             &lt;br /&gt;
                                                                                                             cbcb[00-29]                                                                                                             &lt;br /&gt;
                                                                                                             clip[00-13]                                                                                               &lt;br /&gt;
                                                                                               cml[00,02-13,15-28,30-33]                                                                                                     &lt;br /&gt;
                                                                                                     cmlcpu[00-04,06-07]                                                                                                         &lt;br /&gt;
                                                                                                         gammagpu[00-21]                                                                                               &lt;br /&gt;
                                                                                               legacy[00-11,13-28,30-36]                                                                                                        &lt;br /&gt;
                                                                                                        legacygpu[00-07]                                                                                                                 &lt;br /&gt;
                                                                                                                 quics00                                                                                                       &lt;br /&gt;
                                                                                                       tron[00-44,46-69]                                                                                                           &lt;br /&gt;
                                                                                                           vulcan[00-45]&lt;br /&gt;
------------------------------------------------------------------------------------------------------------------------&lt;br /&gt;
       scavenger-aarch64               scavenger              scavenger-aarch64   UNLIMITED                 oasis[00-39]&lt;br /&gt;
------------------------------------------------------------------------------------------------------------------------                    &lt;br /&gt;
                    tron                   nexus                        default   UNLIMITED            tron[00-44,46-69]                                                                           &lt;br /&gt;
                                                                           high                                                                                                                  &lt;br /&gt;
                                                                         medium                                         &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you want to see information for all of the partitions, including those that you do not have access to, you can use the &amp;lt;code&amp;gt;show_partitions --all&amp;lt;/code&amp;gt; command.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ show_partitions --all&lt;br /&gt;
                    Name           AllowAccounts                       AllowQos    MaxNodes                        Nodes&lt;br /&gt;
------------------------ ----------------------- ------------------------------ ----------- ----------------------------                    &lt;br /&gt;
                    cbcb                    cbcb                        default   UNLIMITED            cbcb[00-20,22-29]                                                                         &lt;br /&gt;
                                                                         medium                legacy[00-11,13-28,30-36]                                                                           &lt;br /&gt;
                                                                           high                                                                                                               &lt;br /&gt;
                                                                      huge-long                                                                                                                 &lt;br /&gt;
                                                                        highmem                                         &lt;br /&gt;
------------------------------------------------------------------------------------------------------------------------&lt;br /&gt;
               cbcb-heng               cbcb-heng                        default   UNLIMITED                  cbcb[26-29]                                                                         &lt;br /&gt;
                                                                         medium                                                                                                                     &lt;br /&gt;
                                                                           high                                                                                                               &lt;br /&gt;
                                                                      huge-long                                                                                                                 &lt;br /&gt;
                                                                        highmem                                         &lt;br /&gt;
------------------------------------------------------------------------------------------------------------------------        &lt;br /&gt;
        cbcb-interactive                    cbcb                    interactive   UNLIMITED                       cbcb21&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Quality of Service (QoS) =&lt;br /&gt;
SLURM uses Quality of Service (QoS) both to provide limits on job sizes (termed by us as &amp;quot;job QoS&amp;quot;) as well as to limit resources used by all jobs running in a partition, either per user or per group (termed by us as &amp;quot;partition QoS&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
=== Job QoS ===&lt;br /&gt;
Job QoS are used to provide limits on the size of job that you can run. You should try to allocate only the resources your job actually needs, as resources that each of your jobs schedules are counted against your [[SLURM/Priority#Fair-share | fair-share priority]] in the future.&lt;br /&gt;
* default - Default job QoS. Limited to 4 CPU cores, 1 GPU, and 32GB RAM per job.  The maximum wall time per job is 3 days.&lt;br /&gt;
* medium - Limited to 8 CPU cores, 2 GPUs, and 64GB RAM per job.  The maximum wall time per job is 2 days.&lt;br /&gt;
* high - Limited to 16 CPU cores, 4 GPUs, and 128GB RAM per job.  The maximum wall time per job is 1 day.&lt;br /&gt;
* scavenger - No resource limits per job, only a maximum wall time per job of 3 days.  You are responsible for ensuring your job requests multiple nodes if it requests resources beyond what any one node is capable of.  11% of the total resources available for each trackable resource type in the partition (CPUs/GPUs/RAM) is permitted simultaneously across all of your jobs running with this job QoS, enforced via the corresponding partition QoS (below) for the scavenger partition.  This job QoS is paired one-to-one with the scavenger partition. To use this job QoS, include &amp;lt;code&amp;gt;--partition=scavenger&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;--account=scavenger&amp;lt;/code&amp;gt; in your submission arguments.  Do not include any job QoS argument other than &amp;lt;code&amp;gt;--qos=scavenger&amp;lt;/code&amp;gt; (optional) or submission will fail.&lt;br /&gt;
* scavenger-aarch64 - No resource limits per job, only a maximum wall time per job of 3 days.  You are responsible for ensuring your job requests multiple nodes if it requests resources beyond what any one node is capable of.  This job QoS is paired one-to-one with the scavenger-aarch64 partition. To use this job QoS, include &amp;lt;code&amp;gt;--partition=scavenger-aarch64&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;--account=scavenger&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;--qos=scavenger-aarch64&amp;lt;/code&amp;gt; in your submission arguments.&lt;br /&gt;
&lt;br /&gt;
You can display these job QoS from the command line using the &amp;lt;code&amp;gt;show_qos&amp;lt;/code&amp;gt; command.  By default, the command will only show job QoS that you can access.  The above five job QoS are the ones that everyone can access.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ show_qos&lt;br /&gt;
                Name     MaxWall                        MaxTRES MaxJobsPU                      MaxTRESPU &lt;br /&gt;
-------------------- ----------- ------------------------------ --------- ------------------------------ &lt;br /&gt;
             default  3-00:00:00       cpu=4,gres/gpu=1,mem=32G                                          &lt;br /&gt;
                high  1-00:00:00     cpu=16,gres/gpu=4,mem=128G                                          &lt;br /&gt;
              medium  2-00:00:00       cpu=8,gres/gpu=2,mem=64G                                          &lt;br /&gt;
           scavenger  3-00:00:00                                                                         &lt;br /&gt;
   scavenger-aarch64  3-00:00:00                                                                         &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you want to see all job QoS, including those that you do not have access to, you can use the &amp;lt;code&amp;gt;show_qos --all&amp;lt;/code&amp;gt; command. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ show_qos --all&lt;br /&gt;
                Name     MaxWall                        MaxTRES MaxJobsPU                      MaxTRESPU&lt;br /&gt;
-------------------- ----------- ------------------------------ --------- ------------------------------&lt;br /&gt;
             cml-cpu  7-00:00:00                                        8&lt;br /&gt;
         cml-default  7-00:00:00       cpu=4,gres/gpu=1,mem=32G         2&lt;br /&gt;
            cml-high  1-12:00:00     cpu=16,gres/gpu=4,mem=128G         2&lt;br /&gt;
       cml-high_long 14-00:00:00              cpu=32,gres/gpu=8         8                     gres/gpu=8&lt;br /&gt;
          cml-medium  3-00:00:00       cpu=8,gres/gpu=2,mem=64G         2&lt;br /&gt;
       cml-scavenger  3-00:00:00                                                             gres/gpu=24&lt;br /&gt;
       cml-very_high  1-12:00:00     cpu=32,gres/gpu=8,mem=256G         8                    gres/gpu=12&lt;br /&gt;
             default  3-00:00:00       cpu=4,gres/gpu=1,mem=32G&lt;br /&gt;
     gamma-huge-long 10-00:00:00    cpu=32,gres/gpu=16,mem=256G&lt;br /&gt;
                high  1-00:00:00     cpu=16,gres/gpu=4,mem=128G&lt;br /&gt;
             highmem 21-00:00:00                 cpu=128,mem=2T&lt;br /&gt;
           huge-long 10-00:00:00     cpu=32,gres/gpu=8,mem=256G&lt;br /&gt;
         interactive    12:00:00                 cpu=4,mem=128G&lt;br /&gt;
              medium  2-00:00:00       cpu=8,gres/gpu=2,mem=64G&lt;br /&gt;
        oasis-exempt 10-00:00:00                                                      cpu=160,mem=28114M&lt;br /&gt;
           scavenger  3-00:00:00&lt;br /&gt;
   scavenger-aarch64  3-00:00:00&lt;br /&gt;
          vulcan-cpu  2-00:00:00                cpu=1024,mem=4T         4&lt;br /&gt;
      vulcan-default  7-00:00:00       cpu=4,gres/gpu=1,mem=32G         2&lt;br /&gt;
       vulcan-exempt  7-00:00:00     cpu=32,gres/gpu=8,mem=256G         2&lt;br /&gt;
         vulcan-high  1-12:00:00     cpu=16,gres/gpu=4,mem=128G         2&lt;br /&gt;
    vulcan-high_long 14-00:00:00              cpu=32,gres/gpu=8         8                     gres/gpu=8&lt;br /&gt;
       vulcan-medium  3-00:00:00       cpu=8,gres/gpu=2,mem=64G         2&lt;br /&gt;
       vulcan-sailon  3-00:00:00     cpu=32,gres/gpu=8,mem=256G                              gres/gpu=48&lt;br /&gt;
    vulcan-scavenger  3-00:00:00     cpu=32,gres/gpu=8,mem=256G&lt;br /&gt;
vulcan-scavenger-mu+  3-00:00:00  cpu=288,gres/gpu=72,mem=1152G&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You are able to submit to any partition that is listed in the &amp;lt;code&amp;gt;show_partitions&amp;lt;/code&amp;gt; command. If you need to use an account other than the default account &amp;lt;tt&amp;gt;nexus&amp;lt;/tt&amp;gt;, you will need to specify it via the &amp;lt;code&amp;gt;--account&amp;lt;/code&amp;gt; submission argument.&lt;br /&gt;
&lt;br /&gt;
=== Partition QoS ===&lt;br /&gt;
Partition QoS are used to limit resources used by all jobs running in a partition, either per user (MaxTRESPU) or per group (GrpTRES).&lt;br /&gt;
&lt;br /&gt;
To view partition QoS, use the &amp;lt;code&amp;gt;show_partition_qos&amp;lt;/code&amp;gt; command.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ show_partition_qos&lt;br /&gt;
                     Name MaxSubmitPU                        MaxTRESPU              GrpTRES&lt;br /&gt;
------------------------- ----------- -------------------------------- --------------------&lt;br /&gt;
   scavenger-aarch64_part         500                                                      &lt;br /&gt;
           scavenger_part         500     cpu=11%,gres/gpu=11%,mem=11%                     &lt;br /&gt;
                     tron         500    cpu=32,gres/gpu=4,mem=262144M                     &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The scavenger_part partition QoS has relative TRES limits based on the current hardware in a given partition, represented with percentages.  To see the current actual TRES limits of this partition QoS, you can use the &amp;lt;code&amp;gt;-r/--real&amp;lt;/code&amp;gt; argument.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ show_partition_qos -r&lt;br /&gt;
                     Name MaxSubmitPU                        MaxTRESPU              GrpTRES&lt;br /&gt;
------------------------- ----------- -------------------------------- --------------------&lt;br /&gt;
   scavenger-aarch64_part         500                                                      &lt;br /&gt;
           scavenger_part         500  cpu=888,gres/gpu=140,mem=12574G                     &lt;br /&gt;
                     tron         500    cpu=32,gres/gpu=4,mem=262144M                     &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you want to see all partition QoS, including those that you do not have access to, you can use the &amp;lt;code&amp;gt;show_partition_qos --all&amp;lt;/code&amp;gt; command.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ show_partition_qos --all&lt;br /&gt;
                     Name MaxSubmitPU                        MaxTRESPU              GrpTRES&lt;br /&gt;
------------------------- ----------- -------------------------------- --------------------&lt;br /&gt;
                     cbcb         500                                   cpu=1406,mem=50359G&lt;br /&gt;
                cbcb-heng         500                                                      &lt;br /&gt;
         cbcb-interactive         500                                                      &lt;br /&gt;
                    class         500    cpu=32,gres/gpu=4,mem=262144M                     &lt;br /&gt;
                     clip         500                                     cpu=726,mem=6939G&lt;br /&gt;
                      cml         500                                   cpu=1226,mem=12116G&lt;br /&gt;
                  cml-cpu         500                                                      &lt;br /&gt;
             cml-director         500                                                      &lt;br /&gt;
              cml-furongh         500                                                      &lt;br /&gt;
            cml-scavenger         500                      gres/gpu=24                     &lt;br /&gt;
               cml-sfeizi         500                                                      &lt;br /&gt;
                cml-wriva         500                                                      &lt;br /&gt;
           cml-wriva-high         500                                                      &lt;br /&gt;
                 csd-h200         500                                                      &lt;br /&gt;
                    gamma         500                                     cpu=906,mem=7675G&lt;br /&gt;
                     mbrc         500                                     cpu=370,mem=3571G&lt;br /&gt;
                      mc2         500                                     cpu=330,mem=3201G&lt;br /&gt;
                    oasis         500                                                      &lt;br /&gt;
                    quics         500                                     cpu=458,mem=4710G&lt;br /&gt;
   scavenger-aarch64_part         500                                                      &lt;br /&gt;
           scavenger_part         500     cpu=11%,gres/gpu=11%,mem=11%                     &lt;br /&gt;
                     tron         500    cpu=32,gres/gpu=4,mem=262144M                     &lt;br /&gt;
                   vulcan         500                                   cpu=1402,mem=12936G&lt;br /&gt;
            vulcan-ampere         500                                                      &lt;br /&gt;
               vulcan-cpu         500                                                      &lt;br /&gt;
            vulcan-ramani         500                                                      &lt;br /&gt;
         vulcan-scavenger         500                                                      &lt;br /&gt;
   vulcan-scavenger-multi         500                                                      &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE&#039;&#039;&#039;: These QoS cannot be used directly when submitting jobs. Partition QoS limits apply to all jobs running on a given partition, regardless of what job QoS is used.&lt;br /&gt;
&lt;br /&gt;
For example, in the default non-preemption partition (&amp;lt;tt&amp;gt;tron&amp;lt;/tt&amp;gt;), you are restricted to 32 total CPU cores, 4 total GPUs, and 256GB total RAM at once across all jobs you have running in the partition.&lt;br /&gt;
&lt;br /&gt;
Lab/group-specific partitions may also have their own user limits, and/or may also have group limits on the total number of resources consumed simultaneously by all users that are using their partition, codified by the line in the output above that matches their lab/group name. Note that the values listed above in the two &amp;quot;TRES&amp;quot; columns are not fixed and may fluctuate per-partition as more resources are added to or removed from each partition.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;All partitions also only allow a maximum of 500 submitted (running (R) or pending (PD)) jobs per user in the partition simultaneously.&#039;&#039;&#039; This is to prevent excess pending jobs causing [https://slurm.schedmd.com/sched_config.html#backfill backfill] issues with the SLURM scheduler.&lt;br /&gt;
* If you need to submit more than 500 jobs in batch at once, you can develop and run an &amp;quot;outer submission script&amp;quot; that repeatedly attempts to run an &amp;quot;inner submission script&amp;quot; (your original submission script) to submit jobs in the batch periodically, until all job submissions are successful. The outer submission script should use looping logic to check if you are at the max job limit and should then retry submission after waiting for some time interval.&lt;br /&gt;
: An example outer submission script is as follows. In this example, &amp;lt;code&amp;gt;example_inner.sh&amp;lt;/code&amp;gt; is your inner submission script and is not an [[SLURM/ArrayJobs | array job]], and you want to run 1000 jobs. If your inner submission script is an array job, adjust the number of jobs accordingly. Array jobs must be of size 500 or less.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
numjobs=1000&lt;br /&gt;
i=0&lt;br /&gt;
while [ $i -lt $numjobs ]&lt;br /&gt;
do&lt;br /&gt;
  while [[ &amp;quot;$(sbatch example_inner.sh 2&amp;gt;&amp;amp;1)&amp;quot; =~ &amp;quot;QOSMaxSubmitJobPerUserLimit&amp;quot; ]]&lt;br /&gt;
  do&lt;br /&gt;
    echo &amp;quot;Currently at maximum job submissions allowed for this QoS.&amp;quot;&lt;br /&gt;
    echo &amp;quot;Waiting for 5 minutes before trying to submit more jobs.&amp;quot;&lt;br /&gt;
    sleep 300&lt;br /&gt;
  done&lt;br /&gt;
  i=$(( $i + 1 ))&lt;br /&gt;
  echo &amp;quot;Submitted job $i of $numjobs&amp;quot;&lt;br /&gt;
done&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It is suggested that you run the outer submission script in a [[Tmux]] session to keep the terminal window executing it from being interrupted.&lt;br /&gt;
&lt;br /&gt;
= Storage =&lt;br /&gt;
All network storage available in Nexus is currently [[NFS]] based, and comes in a few different flavors. Compute nodes also have local scratch storage that can be used.&lt;br /&gt;
&lt;br /&gt;
== Home Directories ==&lt;br /&gt;
{{Nfshomes}}&lt;br /&gt;
&lt;br /&gt;
== Scratch Directories ==&lt;br /&gt;
Scratch data has no data protection including no snapshots and the data is not backed up. There are two types of scratch directories in the Nexus compute infrastructure:&lt;br /&gt;
* Network scratch directories&lt;br /&gt;
* Local scratch directories&lt;br /&gt;
&lt;br /&gt;
Please note that [[ClassAccounts | class accounts]] do not have network scratch directories.&lt;br /&gt;
&lt;br /&gt;
=== Network Scratch Directories ===&lt;br /&gt;
You are allocated 200GB of scratch space via NFS from &amp;lt;code&amp;gt;/fs/nexus-scratch/&amp;lt;USERNAME&amp;gt;&amp;lt;/code&amp;gt; where &amp;lt;USERNAME&amp;gt; is your UMIACS username.  &#039;&#039;&#039;It is not backed up or protected in any way.&#039;&#039;&#039;  This directory is &#039;&#039;&#039;[[Automounter | automounted]]&#039;&#039;&#039;; you will need to &amp;lt;code&amp;gt;cd&amp;lt;/code&amp;gt; into the directory or request/specify a fully qualified file path to access it.&lt;br /&gt;
&lt;br /&gt;
You can view your quota usage by running &amp;lt;code&amp;gt;df -h /fs/nexus-scratch/&amp;lt;USERNAME&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
You may request a permanent increase of up to 400GB total space without any faculty approval by [[HelpDesk | contacting staff]].  If you need space beyond 400GB, you will need faculty approval and/or a [[#Project_Allocations | project allocation]] for this. If you choose to increase your scratch space beyond 400GB, the increased space is also subject to the 270 TB days limit mentioned in the project allocation section before we check back in for renewal. For example, if you request 1.4TB total space, you may have this for 270 days (1TB beyond the 400GB permanent increase). The amount increased beyond 400GB will also count against your faculty member&#039;s 20TB total storage limit mentioned below.&lt;br /&gt;
&lt;br /&gt;
This file system is available on all submission, data management, and computational nodes within the cluster.&lt;br /&gt;
&lt;br /&gt;
=== Local Scratch Directories ===&lt;br /&gt;
Each computational node that you can schedule compute jobs on also has one or more local scratch directories.  These are always named &amp;lt;code&amp;gt;/scratch0&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;/scratch1&amp;lt;/code&amp;gt;, etc. and &#039;&#039;&#039;are not backed up or protected in any way.&#039;&#039;&#039;  These directories are almost always more performant than any other storage available to the job as they are mounted from disks directly attached to the compute node.  However, you must stage your data within the confines of your job and extract the relevant resultant data elsewhere before the end of your job.&lt;br /&gt;
&lt;br /&gt;
These local scratch directories have a tmpwatch job which will &#039;&#039;&#039;delete unaccessed data after 90 days&#039;&#039;&#039;, scheduled via maintenance jobs to run once a month during our [[MonthlyMaintenanceWindow | monthly maintenance windows]].  Please make sure you secure any resultant data you wish to keep from these directories at the end of your job.&lt;br /&gt;
&lt;br /&gt;
== Faculty Allocations ==&lt;br /&gt;
Each faculty member can be allocated 1TB of permanent lab space upon request.  We can also support grouping these individual allocations together into larger center, lab, or research group allocations if desired by the faculty.  Please [[HelpDesk | contact staff]] to inquire.&lt;br /&gt;
&lt;br /&gt;
Lab space storage is fully protected.  It has [[Snapshots | snapshots]] enabled and is [[NightlyBackups | backed up nightly]].&lt;br /&gt;
&lt;br /&gt;
== Project Allocations ==&lt;br /&gt;
Project allocations are available per user for 270 TB days; you can have a 1TB allocation for up to 270 days, a 3TB allocation for 90 days, etc..&lt;br /&gt;
&lt;br /&gt;
A single faculty member can not have more than 20TB of project allocations across all of their sponsored accounts active simultaneously. Network scratch allocation space increases beyond the 400GB permanent maximum also have the increase count against this limit (i.e., a 1TB network scratch allocation would have 600GB counted towards this limit).&lt;br /&gt;
&lt;br /&gt;
Project storage is fully protected.  It has [[Snapshots | snapshots]] enabled and is [[NightlyBackups | backed up nightly]].&lt;br /&gt;
&lt;br /&gt;
The maximum allocation length you can request is 540 days (500GB space) and the maximum storage space you can request is 9TB (30 day length).&lt;br /&gt;
&lt;br /&gt;
To request an allocation, please [[HelpDesk | contact staff]] with the faculty member(s) that the project is under involved in the conversation.  Please include the following details:&lt;br /&gt;
* Project Name (short)&lt;br /&gt;
* Description&lt;br /&gt;
* Size (1TB, 2TB, etc.)&lt;br /&gt;
* Length in days (270 days, 135 days, etc.)&lt;br /&gt;
* Other user(s) that need to access the allocation, if any&lt;br /&gt;
&lt;br /&gt;
These allocations are available via &amp;lt;code&amp;gt;/fs/nexus-projects/&amp;lt;project name&amp;gt;&amp;lt;/code&amp;gt;.  &#039;&#039;&#039;Renewal is not guaranteed to be available due to limits on the amount of total storage.&#039;&#039;&#039;  Near the end of the allocation period, staff will contact you and ask if you are still in need of the storage allocation.  If renewal is available, you can renew for up to another 270 TB days with reapproval from the original faculty approver.&lt;br /&gt;
* If you are no longer in need of the storage allocation, you will need to relocate all desired data within two weeks of the end of the allocation period.  Staff will then remove the allocation.&lt;br /&gt;
* If you do not respond to staff&#039;s request by the end of the allocation period, staff will make the allocation temporarily inaccessible.&lt;br /&gt;
** If you do respond asking for renewal but the original faculty approver does not respond within two weeks of the end of the allocation period, staff will also make the allocation temporarily inaccessible.&lt;br /&gt;
** If one month from the end of the allocation period is reached without both you and the faculty approver responding, staff will remove the allocation.&lt;br /&gt;
&lt;br /&gt;
== Datasets ==&lt;br /&gt;
We have read-only dataset storage available at &amp;lt;code&amp;gt;/fs/nexus-datasets&amp;lt;/code&amp;gt;.  If there are datasets that you would like to see curated and made available, please see [[Datasets | this page]].&lt;br /&gt;
&lt;br /&gt;
The list of Nexus datasets we currently host can be viewed [https://info.umiacs.umd.edu/datasets/list/?q=Nexus here].&lt;/div&gt;</summary>
		<author><name>Mbaney</name></author>
	</entry>
	<entry>
		<id>https://wiki.umiacs.umd.edu/umiacs/index.php?title=SLURM/Priority&amp;diff=13259</id>
		<title>SLURM/Priority</title>
		<link rel="alternate" type="text/html" href="https://wiki.umiacs.umd.edu/umiacs/index.php?title=SLURM/Priority&amp;diff=13259"/>
		<updated>2026-04-30T16:40:32Z</updated>

		<summary type="html">&lt;p&gt;Mbaney: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[SLURM]] at UMIACS is configured to prioritize jobs based on a number of factors, termed [https://slurm.schedmd.com/priority_multifactor.html multifactor priority] in SLURM. Each job submitted to the scheduler is assigned a priority value, which can be viewed in the output of &amp;lt;code&amp;gt;scontrol show job &amp;lt;jobid&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ scontrol show job 1&lt;br /&gt;
JobId=1 JobName=bash&lt;br /&gt;
   UserId=username(13337) GroupId=username(13337) MCS_label=N/A&lt;br /&gt;
   Priority=2000841 Nice=0 Account=nexus QOS=default&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Pending Jobs==&lt;br /&gt;
If the partition that you submit your job to cannot start your job instantly due to no compute node(s) in the partition having the resources free to run it, your job will remain in the Pending state with the listed reason &amp;lt;tt&amp;gt;(Resources)&amp;lt;/tt&amp;gt;. If there is another job already pending with this reason in a partition, you submit a job to the same partition, and your job gets assigned a lower priority value than that pending job, your job will instead remain in the Pending state with reason &amp;lt;tt&amp;gt;(Priority)&amp;lt;/tt&amp;gt;. If there are multiple jobs pending and your job is not the highest priority job pending, the scheduler will only start execution of your job if doing so would not push the start times for any higher priority jobs in the same partition further back.&lt;br /&gt;
&lt;br /&gt;
Lowering some combination of the resources you are requesting and/or the time limit may allow submitted jobs to start sooner (or instantly) during times where a partition is under resource pressure. The command &amp;lt;code&amp;gt;squeue -j &amp;lt;jobid&amp;gt; --start&amp;lt;/code&amp;gt; can be used to provide a time estimate for when your job will start, where &amp;lt;jobid&amp;gt; is the job ID you receive from either srun or sbatch. This time is subject to change depending on if other users&#039; jobs end sooner or more jobs get submitted.&lt;br /&gt;
&lt;br /&gt;
You can use the command alias &amp;lt;code&amp;gt;[[SLURM/JobSubmission#show_available_nodes | show_available_nodes]]&amp;lt;/code&amp;gt; with a variety of different submission arguments to get a better idea of what jobs may be able to start sooner, but the output of this command alias is not definitive, for reasons mentioned in the footnotes on the page linked to.&lt;br /&gt;
&lt;br /&gt;
==Priority Factors==&lt;br /&gt;
The priority factors in use at UMIACS are, from most-heavily to least-heavily weighted:&lt;br /&gt;
* Partition job was submitted to&lt;br /&gt;
* Fair-share of resources within SLURM account&lt;br /&gt;
* Age of job, i.e., time spent waiting to run in the queue&lt;br /&gt;
* Association/SLURM account being used&lt;br /&gt;
* &amp;quot;Nice&amp;quot; value that job was submitted with&lt;br /&gt;
&lt;br /&gt;
===Partition===&lt;br /&gt;
The partitions whose names are or are prefixed with &amp;lt;code&amp;gt;scavenger&amp;lt;/code&amp;gt; on our clusters are always in a lower priority tier and always have lower priority factors for their jobs than all other partitions on that cluster. As mentioned in other UMIACS cluster-specific documentation, jobs submitted to these partitions are also [https://slurm.schedmd.com/preempt.html preemptable]. These two design choices give the partitions their names; jobs submitted to &amp;lt;code&amp;gt;scavenger&amp;lt;/code&amp;gt; named or prefixed partitions &amp;quot;scavenge&amp;quot; for available resources on the cluster rather than consume dedicated resources, and are interrupted by jobs asking to consume dedicated resources.&lt;br /&gt;
&lt;br /&gt;
On [[Nexus]], labs/centers may also have their own scavenger partitions, i.e., &amp;lt;code&amp;gt;&amp;lt;labname&amp;gt;-scavenger&amp;lt;/code&amp;gt;, if the faculty for the lab/center have decided upon some sort of limit on jobs, such as number of simultaneous jobs, number of actively consumed billing resources, etc., in their non-scavenger partitions. These lab/center scavenger partitions allow for more jobs to be run by members of that lab/center on that lab&#039;s/center&#039;s nodes only, but jobs on these partitions are preemptable by jobs in that lab&#039;s/center&#039;s non-scavenger partitions and/or account-specific partitions, if any account-specific partitions containing a given node exist. Jobs submitted to lab/center scavenger partitions will preempt jobs submitted to the institute-wide scavenger partitions (running on nodes that are also in those lab/center scavenger partitions).&lt;br /&gt;
&lt;br /&gt;
In decreasing order of priority (highest first), our priority tiers for partitions are:&lt;br /&gt;
# Priority access account-specific partitions&lt;br /&gt;
# Account-specific partitions&lt;br /&gt;
# Lab/center-specific and institute-wide non-&amp;quot;scavenger&amp;quot; named partitions&lt;br /&gt;
# Lab/center-specific &amp;quot;scavenger&amp;quot; named partitions&lt;br /&gt;
# Institute-wide &amp;quot;scavenger&amp;quot; named partitions&lt;br /&gt;
&lt;br /&gt;
A job in a specific priority tier will never have a higher priority value than any job in a higher priority tier. Corresponding to the above tiers, the priority values that you will see for jobs in each tier:&lt;br /&gt;
# &amp;gt;= 4000000&lt;br /&gt;
# 3000000 to 3999999&lt;br /&gt;
# 2000000 to 2999999&lt;br /&gt;
# 1000000 to 1999999&lt;br /&gt;
# &amp;lt; 1000000&lt;br /&gt;
&lt;br /&gt;
As such, &#039;&#039;&#039;jobs on specific nodes in some non-&amp;quot;scavenger&amp;quot; named partitions may also be subject to preemption&#039;&#039;&#039; based on these priority tiers. Generally speaking, though, most nodes are only in one partition in one of the first three (non-&amp;quot;scavenger&amp;quot;) priority tiers, and then in an institute-wide &amp;quot;scavenger&amp;quot; named partition, and a lab/center-specific &amp;quot;scavenger&amp;quot; named partition, if one exists for the lab/center that a given node is a part of.&lt;br /&gt;
&lt;br /&gt;
===Fair-share===&lt;br /&gt;
The more resources your jobs have already consumed within an account, the lower priority factor your future jobs will have when compared to other users&#039; jobs in the same account who have used fewer resources (so as to &amp;quot;fair-share&amp;quot; with other users). Additionally, if there are multiple accounts that can submit to a partition, and the sum of resources used by all users&#039; jobs within account A is greater than the sum of resources used by all users&#039; jobs within account B, all future jobs from users in account A will have a lower priority factor when compared to all future jobs from users in account B. (In other words, fair-share is hierarchical.)&lt;br /&gt;
&lt;br /&gt;
You can view the various fair-share statistics with the command &amp;lt;code&amp;gt;sshare -l&amp;lt;/code&amp;gt;. It will show your specific FairShare values (always between 0.0 and 1.0) within accounts that you have access to. You can also view other accounts&#039; Level Fairshare (LevelFS).&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Account                    User  RawShares  NormShares    RawUsage   NormUsage  EffectvUsage  FairShare    LevelFS                    GrpTRESMins                    TRESRunMins&lt;br /&gt;
-------------------- ---------- ---------- ----------- ----------- ----------- ------------- ---------- ---------- ------------------------------ ------------------------------&lt;br /&gt;
root                                          0.000000 68444174744                  1.000000                                                      cpu=4797787,mem=70530109515,e+&lt;br /&gt;
 cbcb                                    1    0.028571  4454658377    0.065046      0.065046              0.439246                                cpu=452139,mem=22276633804,en+&lt;br /&gt;
 class                                   1    0.028571   255617290    0.003733      0.003733              7.652841                                cpu=7021,mem=74554606,energy=+&lt;br /&gt;
 clip                                    1    0.028571  3057933838    0.044674      0.044674              0.639549                                cpu=33214,mem=2744443460,ener+&lt;br /&gt;
 cml                                     1    0.028571    66866114    0.000975      0.000975             29.299389                                cpu=1796,mem=29426756,energy=+&lt;br /&gt;
 gamma                                   1    0.028571  2609474948    0.038129      0.038129              0.749334                                cpu=34089,mem=360373862,energ+&lt;br /&gt;
 mbrc                                    1    0.028571    73411964    0.001073      0.001073             26.635560                                cpu=1195,mem=4896358,energy=0+&lt;br /&gt;
 mc2                                     1    0.028571     2682557    0.000039      0.000039            728.919551                                cpu=0,mem=0,energy=0,node=0,b+&lt;br /&gt;
 nexus                                   1    0.028571  5472794067    0.079964      0.079964              0.357302                                cpu=278464,mem=3250599000,ene+&lt;br /&gt;
  nexus                username          1    0.000835       69666    0.000001      0.000021   0.457407  37.435501                                cpu=0,mem=0,energy=0,node=0,b+&lt;br /&gt;
 oasis                                   1    0.028571      330030    0.000005      0.000005            5.9248e+03                                cpu=0,mem=0,energy=0,node=0,b+&lt;br /&gt;
 quics                                   1    0.028571           4    0.000000      0.000000            4.1683e+08                                cpu=0,mem=0,energy=0,node=0,b+&lt;br /&gt;
 scavenger                               1    0.028571 40888195964    0.597419      0.597419              0.047825                                cpu=3142204,mem=29902903931,e+&lt;br /&gt;
  scavenger            username          1    0.000835         171    0.000000      0.000000   0.033975 9.8885e+04                                cpu=0,mem=0,energy=0,node=0,b+&lt;br /&gt;
 vulcan                                  1    0.028571  1247236491    0.018224      0.018224              1.567761                                cpu=147273,mem=1161243818,ene+&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The actual resource billing weights for the three main resources (memory per GB, CPU cores, and number of GPUs if applicable) are per-partition and can be viewed in the &amp;lt;code&amp;gt;TRESBillingWeights&amp;lt;/code&amp;gt; line in the output of &amp;lt;code&amp;gt;scontrol show partition&amp;lt;/code&amp;gt;. The &amp;lt;code&amp;gt;billing&amp;lt;/code&amp;gt; value for a job is the sum of all resource weightings for resources the job has requested. This value is then multiplied by the amount of time a job has run in seconds to get the amount it contributes to the RawUsage for the association within the account it is running under.&lt;br /&gt;
&lt;br /&gt;
====Algorithm====&lt;br /&gt;
The algorithm we use for resource weightings differs depending on if there are any GPUs in a partition or not, and is as follows:&lt;br /&gt;
&lt;br /&gt;
=====GPU partitions=====&lt;br /&gt;
Each resource (memory/CPU/GPU) is given a weighting value such that their relative billings to each other within the partition are equal (33.33% each). Memory is typically always the most abundant resource by unit (weighting value of 1.0 per GB) and the CPU/GPU values are adjusted accordingly.&lt;br /&gt;
&lt;br /&gt;
Different GPU types may also be weighted differently within the GPU relative billing. A baseline GPU type is first chosen. All GPUs of that type and other types that have lower FP32 performance (in [https://en.wikipedia.org/wiki/FLOPS TFLOPS]) are given a weighting factor of 1.0. GPU types with higher FP32 performance than the baseline GPU are given a weighting factor calculated by dividing their FP32 performance by the baseline GPU&#039;s FP32 performance. The weighting values for each GPU type are then determined by normalizing the sum of all of GPU cards&#039; billing values multiplied by their weighting factors against the relative billing percentage for GPUs (33.33%).&lt;br /&gt;
&lt;br /&gt;
The current baseline GPU is the [https://www.nvidia.com/en-us/design-visualization/rtx-a4000/ NVIDIA RTX A4000].&lt;br /&gt;
&lt;br /&gt;
=====CPU-only partitions=====&lt;br /&gt;
Each resource (memory/CPU) is first given a weighting value such that their relative billings to each other within the partition are equal (50% each). Memory is typically always the most abundant resource by unit (weighting value of 1.0 per GB) and the CPU value is adjusted accordingly. The final CPU weight value is then divided by 10, which translates to roughly 90.9% of the billing weight being for memory and 9.1% being for CPU. The division of the CPU value is done so as to not affect accounts&#039; fair-share priority factors as much when running jobs in CPU-only partitions given the popularity of GPGPU computing.&lt;br /&gt;
&lt;br /&gt;
===Age===&lt;br /&gt;
The longer a job is eligible to run but cannot due to resources being unavailable or it having a lower priority value than one or more other jobs, the higher the job&#039;s priority becomes as it continues to wait in the queue. This is the only priority modifier that can change a job&#039;s priority value once it has been submitted, and the priority modifier for this factor reaches its limit after 7 days.&lt;br /&gt;
&lt;br /&gt;
Jobs&#039; age priority factors on our clusters are recalculated every 5 minutes.&lt;br /&gt;
&lt;br /&gt;
===Association===&lt;br /&gt;
Some lab/center-specific SLURM accounts have priority values directly attached to them. Jobs run under these accounts gain this many extra points of priority.&lt;br /&gt;
&lt;br /&gt;
===Nice value===&lt;br /&gt;
This is a submission argument that you as the user can include when submitting your jobs to deprioritize them. Larger values will deprioritize jobs more, e.g.,&lt;br /&gt;
&amp;lt;pre&amp;gt;srun --pty --nice=2 bash&amp;lt;/pre&amp;gt;&lt;br /&gt;
will have lower priority than&lt;br /&gt;
&amp;lt;pre&amp;gt;srun --pty --nice=1 bash&amp;lt;/pre&amp;gt;&lt;br /&gt;
which will have lower priority than&lt;br /&gt;
&amp;lt;pre&amp;gt;srun --pty bash&amp;lt;/pre&amp;gt;&lt;br /&gt;
assuming all three jobs were submitted at the same time. You cannot use negative values for this argument.&lt;br /&gt;
&lt;br /&gt;
Because this value is absolute, if you want to use it, we would recommend using small numbers - one or two digits - only. Larger numbers may impact your job&#039;s ability to run at all as a result of the other factors at play.&lt;/div&gt;</summary>
		<author><name>Mbaney</name></author>
	</entry>
	<entry>
		<id>https://wiki.umiacs.umd.edu/umiacs/index.php?title=SLURM/Priority&amp;diff=13258</id>
		<title>SLURM/Priority</title>
		<link rel="alternate" type="text/html" href="https://wiki.umiacs.umd.edu/umiacs/index.php?title=SLURM/Priority&amp;diff=13258"/>
		<updated>2026-04-29T20:53:06Z</updated>

		<summary type="html">&lt;p&gt;Mbaney: /* Pending Jobs */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[SLURM]] at UMIACS is configured to prioritize jobs based on a number of factors, termed [https://slurm.schedmd.com/priority_multifactor.html multifactor priority] in SLURM. Each job submitted to the scheduler is assigned a priority value, which can be viewed in the output of &amp;lt;code&amp;gt;scontrol show job &amp;lt;jobid&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ scontrol show job 1&lt;br /&gt;
JobId=1 JobName=bash&lt;br /&gt;
   UserId=username(13337) GroupId=username(13337) MCS_label=N/A&lt;br /&gt;
   Priority=2000841 Nice=0 Account=nexus QOS=default&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Pending Jobs==&lt;br /&gt;
If the partition that you submit your job to cannot start your job instantly due to no compute node(s) in the partition having the resources free to run it, your job will remain in the Pending state with the listed reason &amp;lt;tt&amp;gt;(Resources)&amp;lt;/tt&amp;gt;. If there is another job already pending with this reason in a partition, you submit a job to the same partition, and your job gets assigned a lower priority value than that pending job, your job will instead remain in the Pending state with reason &amp;lt;tt&amp;gt;(Priority)&amp;lt;/tt&amp;gt;. If there are multiple jobs pending and your job is not the highest priority job pending, the scheduler will only start execution of your job if starting your job would not push the start times for any higher priority jobs in the same partition further back.&lt;br /&gt;
&lt;br /&gt;
Lowering some combination of the resources you are requesting and/or the time limit may allow submitted jobs to start sooner (or instantly) during times where a partition is under resource pressure. The command &amp;lt;code&amp;gt;squeue -j &amp;lt;jobid&amp;gt; --start&amp;lt;/code&amp;gt; can be used to provide a time estimate for when your job will start, where &amp;lt;jobid&amp;gt; is the job ID you receive from either srun or sbatch. This time is subject to change depending on if other users&#039; jobs end sooner or more jobs get submitted.&lt;br /&gt;
&lt;br /&gt;
You can use the command alias &amp;lt;code&amp;gt;[[SLURM/JobSubmission#show_available_nodes | show_available_nodes]]&amp;lt;/code&amp;gt; with a variety of different submission arguments to get a better idea of what jobs may be able to start sooner, but the output of this command alias is not definitive, for reasons mentioned in the footnotes on the page linked to.&lt;br /&gt;
&lt;br /&gt;
==Priority Factors==&lt;br /&gt;
The priority factors in use at UMIACS are, from most-heavily to least-heavily weighted:&lt;br /&gt;
* Partition job was submitted to&lt;br /&gt;
* Fair-share of resources within SLURM account&lt;br /&gt;
* Age of job, i.e., time spent waiting to run in the queue&lt;br /&gt;
* Association/SLURM account being used&lt;br /&gt;
* &amp;quot;Nice&amp;quot; value that job was submitted with&lt;br /&gt;
&lt;br /&gt;
===Partition===&lt;br /&gt;
The partitions whose names are or are prefixed with &amp;lt;code&amp;gt;scavenger&amp;lt;/code&amp;gt; on our clusters are always in a lower priority tier and always have lower priority factors for their jobs than all other partitions on that cluster. As mentioned in other UMIACS cluster-specific documentation, jobs submitted to these partitions are also [https://slurm.schedmd.com/preempt.html preemptable]. These two design choices give the partitions their names; jobs submitted to &amp;lt;code&amp;gt;scavenger&amp;lt;/code&amp;gt; named or prefixed partitions &amp;quot;scavenge&amp;quot; for available resources on the cluster rather than consume dedicated resources, and are interrupted by jobs asking to consume dedicated resources.&lt;br /&gt;
&lt;br /&gt;
On [[Nexus]], labs/centers may also have their own scavenger partitions, i.e., &amp;lt;code&amp;gt;&amp;lt;labname&amp;gt;-scavenger&amp;lt;/code&amp;gt;, if the faculty for the lab/center have decided upon some sort of limit on jobs, such as number of simultaneous jobs, number of actively consumed billing resources, etc., in their non-scavenger partitions. These lab/center scavenger partitions allow for more jobs to be run by members of that lab/center on that lab&#039;s/center&#039;s nodes only, but jobs on these partitions are preemptable by jobs in that lab&#039;s/center&#039;s non-scavenger partitions and/or account-specific partitions, if any account-specific partitions containing a given node exist. Jobs submitted to lab/center scavenger partitions will preempt jobs submitted to the institute-wide scavenger partitions (running on nodes that are also in those lab/center scavenger partitions).&lt;br /&gt;
&lt;br /&gt;
In decreasing order of priority (highest first), our priority tiers for partitions are:&lt;br /&gt;
# Priority access account-specific partitions&lt;br /&gt;
# Account-specific partitions&lt;br /&gt;
# Lab/center-specific and institute-wide non-&amp;quot;scavenger&amp;quot; named partitions&lt;br /&gt;
# Lab/center-specific &amp;quot;scavenger&amp;quot; named partitions&lt;br /&gt;
# Institute-wide &amp;quot;scavenger&amp;quot; named partitions&lt;br /&gt;
&lt;br /&gt;
A job in a specific priority tier will never have a higher priority value than any job in a higher priority tier. Corresponding to the above tiers, the priority values that you will see for jobs in each tier:&lt;br /&gt;
# &amp;gt;= 4000000&lt;br /&gt;
# 3000000 to 3999999&lt;br /&gt;
# 2000000 to 2999999&lt;br /&gt;
# 1000000 to 1999999&lt;br /&gt;
# &amp;lt; 1000000&lt;br /&gt;
&lt;br /&gt;
As such, &#039;&#039;&#039;jobs on specific nodes in some non-&amp;quot;scavenger&amp;quot; named partitions may also be subject to preemption&#039;&#039;&#039; based on these priority tiers. Generally speaking, though, most nodes are only in one partition in one of the first three (non-&amp;quot;scavenger&amp;quot;) priority tiers, and then in an institute-wide &amp;quot;scavenger&amp;quot; named partition, and a lab/center-specific &amp;quot;scavenger&amp;quot; named partition, if one exists for the lab/center that a given node is a part of.&lt;br /&gt;
&lt;br /&gt;
===Fair-share===&lt;br /&gt;
The more resources your jobs have already consumed within an account, the lower priority factor your future jobs will have when compared to other users&#039; jobs in the same account who have used fewer resources (so as to &amp;quot;fair-share&amp;quot; with other users). Additionally, if there are multiple accounts that can submit to a partition, and the sum of resources used by all users&#039; jobs within account A is greater than the sum of resources used by all users&#039; jobs within account B, all future jobs from users in account A will have a lower priority factor when compared to all future jobs from users in account B. (In other words, fair-share is hierarchical.)&lt;br /&gt;
&lt;br /&gt;
You can view the various fair-share statistics with the command &amp;lt;code&amp;gt;sshare -l&amp;lt;/code&amp;gt;. It will show your specific FairShare values (always between 0.0 and 1.0) within accounts that you have access to. You can also view other accounts&#039; Level Fairshare (LevelFS).&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Account                    User  RawShares  NormShares    RawUsage   NormUsage  EffectvUsage  FairShare    LevelFS                    GrpTRESMins                    TRESRunMins&lt;br /&gt;
-------------------- ---------- ---------- ----------- ----------- ----------- ------------- ---------- ---------- ------------------------------ ------------------------------&lt;br /&gt;
root                                          0.000000 68444174744                  1.000000                                                      cpu=4797787,mem=70530109515,e+&lt;br /&gt;
 cbcb                                    1    0.028571  4454658377    0.065046      0.065046              0.439246                                cpu=452139,mem=22276633804,en+&lt;br /&gt;
 class                                   1    0.028571   255617290    0.003733      0.003733              7.652841                                cpu=7021,mem=74554606,energy=+&lt;br /&gt;
 clip                                    1    0.028571  3057933838    0.044674      0.044674              0.639549                                cpu=33214,mem=2744443460,ener+&lt;br /&gt;
 cml                                     1    0.028571    66866114    0.000975      0.000975             29.299389                                cpu=1796,mem=29426756,energy=+&lt;br /&gt;
 gamma                                   1    0.028571  2609474948    0.038129      0.038129              0.749334                                cpu=34089,mem=360373862,energ+&lt;br /&gt;
 mbrc                                    1    0.028571    73411964    0.001073      0.001073             26.635560                                cpu=1195,mem=4896358,energy=0+&lt;br /&gt;
 mc2                                     1    0.028571     2682557    0.000039      0.000039            728.919551                                cpu=0,mem=0,energy=0,node=0,b+&lt;br /&gt;
 nexus                                   1    0.028571  5472794067    0.079964      0.079964              0.357302                                cpu=278464,mem=3250599000,ene+&lt;br /&gt;
  nexus                username          1    0.000835       69666    0.000001      0.000021   0.457407  37.435501                                cpu=0,mem=0,energy=0,node=0,b+&lt;br /&gt;
 oasis                                   1    0.028571      330030    0.000005      0.000005            5.9248e+03                                cpu=0,mem=0,energy=0,node=0,b+&lt;br /&gt;
 quics                                   1    0.028571           4    0.000000      0.000000            4.1683e+08                                cpu=0,mem=0,energy=0,node=0,b+&lt;br /&gt;
 scavenger                               1    0.028571 40888195964    0.597419      0.597419              0.047825                                cpu=3142204,mem=29902903931,e+&lt;br /&gt;
  scavenger            username          1    0.000835         171    0.000000      0.000000   0.033975 9.8885e+04                                cpu=0,mem=0,energy=0,node=0,b+&lt;br /&gt;
 vulcan                                  1    0.028571  1247236491    0.018224      0.018224              1.567761                                cpu=147273,mem=1161243818,ene+&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The actual resource billing weights for the three main resources (memory per GB, CPU cores, and number of GPUs if applicable) are per-partition and can be viewed in the &amp;lt;code&amp;gt;TRESBillingWeights&amp;lt;/code&amp;gt; line in the output of &amp;lt;code&amp;gt;scontrol show partition&amp;lt;/code&amp;gt;. The &amp;lt;code&amp;gt;billing&amp;lt;/code&amp;gt; value for a job is the sum of all resource weightings for resources the job has requested. This value is then multiplied by the amount of time a job has run in seconds to get the amount it contributes to the RawUsage for the association within the account it is running under.&lt;br /&gt;
&lt;br /&gt;
====Algorithm====&lt;br /&gt;
The algorithm we use for resource weightings differs depending on if there are any GPUs in a partition or not, and is as follows:&lt;br /&gt;
&lt;br /&gt;
=====GPU partitions=====&lt;br /&gt;
Each resource (memory/CPU/GPU) is given a weighting value such that their relative billings to each other within the partition are equal (33.33% each). Memory is typically always the most abundant resource by unit (weighting value of 1.0 per GB) and the CPU/GPU values are adjusted accordingly.&lt;br /&gt;
&lt;br /&gt;
Different GPU types may also be weighted differently within the GPU relative billing. A baseline GPU type is first chosen. All GPUs of that type and other types that have lower FP32 performance (in [https://en.wikipedia.org/wiki/FLOPS TFLOPS]) are given a weighting factor of 1.0. GPU types with higher FP32 performance than the baseline GPU are given a weighting factor calculated by dividing their FP32 performance by the baseline GPU&#039;s FP32 performance. The weighting values for each GPU type are then determined by normalizing the sum of all of GPU cards&#039; billing values multiplied by their weighting factors against the relative billing percentage for GPUs (33.33%).&lt;br /&gt;
&lt;br /&gt;
The current baseline GPU is the [https://www.nvidia.com/en-us/design-visualization/rtx-a4000/ NVIDIA RTX A4000].&lt;br /&gt;
&lt;br /&gt;
=====CPU-only partitions=====&lt;br /&gt;
Each resource (memory/CPU) is first given a weighting value such that their relative billings to each other within the partition are equal (50% each). Memory is typically always the most abundant resource by unit (weighting value of 1.0 per GB) and the CPU value is adjusted accordingly. The final CPU weight value is then divided by 10, which translates to roughly 90.9% of the billing weight being for memory and 9.1% being for CPU. The division of the CPU value is done so as to not affect accounts&#039; fair-share priority factors as much when running jobs in CPU-only partitions given the popularity of GPGPU computing.&lt;br /&gt;
&lt;br /&gt;
===Age===&lt;br /&gt;
The longer a job is eligible to run but cannot due to resources being unavailable or it having a lower priority value than one or more other jobs, the higher the job&#039;s priority becomes as it continues to wait in the queue. This is the only priority modifier that can change a job&#039;s priority value once it has been submitted, and the priority modifier for this factor reaches its limit after 7 days.&lt;br /&gt;
&lt;br /&gt;
Jobs&#039; age priority factors on our clusters are recalculated every 5 minutes.&lt;br /&gt;
&lt;br /&gt;
===Association===&lt;br /&gt;
Some lab/center-specific SLURM accounts have priority values directly attached to them. Jobs run under these accounts gain this many extra points of priority.&lt;br /&gt;
&lt;br /&gt;
===Nice value===&lt;br /&gt;
This is a submission argument that you as the user can include when submitting your jobs to deprioritize them. Larger values will deprioritize jobs more, e.g.,&lt;br /&gt;
&amp;lt;pre&amp;gt;srun --pty --nice=2 bash&amp;lt;/pre&amp;gt;&lt;br /&gt;
will have lower priority than&lt;br /&gt;
&amp;lt;pre&amp;gt;srun --pty --nice=1 bash&amp;lt;/pre&amp;gt;&lt;br /&gt;
which will have lower priority than&lt;br /&gt;
&amp;lt;pre&amp;gt;srun --pty bash&amp;lt;/pre&amp;gt;&lt;br /&gt;
assuming all three jobs were submitted at the same time. You cannot use negative values for this argument.&lt;br /&gt;
&lt;br /&gt;
Because this value is absolute, if you want to use it, we would recommend using small numbers - one or two digits - only. Larger numbers may impact your job&#039;s ability to run at all as a result of the other factors at play.&lt;/div&gt;</summary>
		<author><name>Mbaney</name></author>
	</entry>
	<entry>
		<id>https://wiki.umiacs.umd.edu/umiacs/index.php?title=SLURM/Priority&amp;diff=13257</id>
		<title>SLURM/Priority</title>
		<link rel="alternate" type="text/html" href="https://wiki.umiacs.umd.edu/umiacs/index.php?title=SLURM/Priority&amp;diff=13257"/>
		<updated>2026-04-29T20:50:55Z</updated>

		<summary type="html">&lt;p&gt;Mbaney: /* Age */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[SLURM]] at UMIACS is configured to prioritize jobs based on a number of factors, termed [https://slurm.schedmd.com/priority_multifactor.html multifactor priority] in SLURM. Each job submitted to the scheduler is assigned a priority value, which can be viewed in the output of &amp;lt;code&amp;gt;scontrol show job &amp;lt;jobid&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ scontrol show job 1&lt;br /&gt;
JobId=1 JobName=bash&lt;br /&gt;
   UserId=username(13337) GroupId=username(13337) MCS_label=N/A&lt;br /&gt;
   Priority=2000841 Nice=0 Account=nexus QOS=default&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Pending Jobs==&lt;br /&gt;
If the partition that you submit your job to cannot begin your job instantly due to no compute node(s) in the partition having the resources free to run it, your job will remain in the Pending state with the listed reason &amp;lt;tt&amp;gt;(Resources)&amp;lt;/tt&amp;gt;. If there is another job already pending with this reason in a partition, you submit a job to the same partition, and your job gets assigned a lower priority value than that pending job, your job will instead remain in the Pending state with reason &amp;lt;tt&amp;gt;(Priority)&amp;lt;/tt&amp;gt;. If there are multiple jobs pending and your job is not the highest priority job pending, the scheduler will only begin execution of your job if starting your job would not push the begin times for any higher priority jobs in the same partition further back.&lt;br /&gt;
&lt;br /&gt;
Lowering some combination of the resources you are requesting and/or the time limit may allow submitted jobs to start sooner (or instantly) during times where a partition is under resource pressure. The command &amp;lt;code&amp;gt;squeue -j &amp;lt;jobid&amp;gt; --start&amp;lt;/code&amp;gt; can be used to provide a time estimate for when your job will start, where &amp;lt;jobid&amp;gt; is the job ID you receive from either srun or sbatch. This time is subject to change depending on if other users&#039; jobs end sooner or more jobs get submitted.&lt;br /&gt;
&lt;br /&gt;
You can use the command alias &amp;lt;code&amp;gt;[[SLURM/JobSubmission#show_available_nodes | show_available_nodes]]&amp;lt;/code&amp;gt; with a variety of different submission arguments to get a better idea of what jobs may be able to begin sooner, but the output of this command alias is not definitive, for reasons mentioned in the footnotes on the page linked to.&lt;br /&gt;
&lt;br /&gt;
==Priority Factors==&lt;br /&gt;
The priority factors in use at UMIACS are, from most-heavily to least-heavily weighted:&lt;br /&gt;
* Partition job was submitted to&lt;br /&gt;
* Fair-share of resources within SLURM account&lt;br /&gt;
* Age of job, i.e., time spent waiting to run in the queue&lt;br /&gt;
* Association/SLURM account being used&lt;br /&gt;
* &amp;quot;Nice&amp;quot; value that job was submitted with&lt;br /&gt;
&lt;br /&gt;
===Partition===&lt;br /&gt;
The partitions whose names are or are prefixed with &amp;lt;code&amp;gt;scavenger&amp;lt;/code&amp;gt; on our clusters are always in a lower priority tier and always have lower priority factors for their jobs than all other partitions on that cluster. As mentioned in other UMIACS cluster-specific documentation, jobs submitted to these partitions are also [https://slurm.schedmd.com/preempt.html preemptable]. These two design choices give the partitions their names; jobs submitted to &amp;lt;code&amp;gt;scavenger&amp;lt;/code&amp;gt; named or prefixed partitions &amp;quot;scavenge&amp;quot; for available resources on the cluster rather than consume dedicated resources, and are interrupted by jobs asking to consume dedicated resources.&lt;br /&gt;
&lt;br /&gt;
On [[Nexus]], labs/centers may also have their own scavenger partitions, i.e., &amp;lt;code&amp;gt;&amp;lt;labname&amp;gt;-scavenger&amp;lt;/code&amp;gt;, if the faculty for the lab/center have decided upon some sort of limit on jobs, such as number of simultaneous jobs, number of actively consumed billing resources, etc., in their non-scavenger partitions. These lab/center scavenger partitions allow for more jobs to be run by members of that lab/center on that lab&#039;s/center&#039;s nodes only, but jobs on these partitions are preemptable by jobs in that lab&#039;s/center&#039;s non-scavenger partitions and/or account-specific partitions, if any account-specific partitions containing a given node exist. Jobs submitted to lab/center scavenger partitions will preempt jobs submitted to the institute-wide scavenger partitions (running on nodes that are also in those lab/center scavenger partitions).&lt;br /&gt;
&lt;br /&gt;
In decreasing order of priority (highest first), our priority tiers for partitions are:&lt;br /&gt;
# Priority access account-specific partitions&lt;br /&gt;
# Account-specific partitions&lt;br /&gt;
# Lab/center-specific and institute-wide non-&amp;quot;scavenger&amp;quot; named partitions&lt;br /&gt;
# Lab/center-specific &amp;quot;scavenger&amp;quot; named partitions&lt;br /&gt;
# Institute-wide &amp;quot;scavenger&amp;quot; named partitions&lt;br /&gt;
&lt;br /&gt;
A job in a specific priority tier will never have a higher priority value than any job in a higher priority tier. Corresponding to the above tiers, the priority values that you will see for jobs in each tier:&lt;br /&gt;
# &amp;gt;= 4000000&lt;br /&gt;
# 3000000 to 3999999&lt;br /&gt;
# 2000000 to 2999999&lt;br /&gt;
# 1000000 to 1999999&lt;br /&gt;
# &amp;lt; 1000000&lt;br /&gt;
&lt;br /&gt;
As such, &#039;&#039;&#039;jobs on specific nodes in some non-&amp;quot;scavenger&amp;quot; named partitions may also be subject to preemption&#039;&#039;&#039; based on these priority tiers. Generally speaking, though, most nodes are only in one partition in one of the first three (non-&amp;quot;scavenger&amp;quot;) priority tiers, and then in an institute-wide &amp;quot;scavenger&amp;quot; named partition, and a lab/center-specific &amp;quot;scavenger&amp;quot; named partition, if one exists for the lab/center that a given node is a part of.&lt;br /&gt;
&lt;br /&gt;
===Fair-share===&lt;br /&gt;
The more resources your jobs have already consumed within an account, the lower priority factor your future jobs will have when compared to other users&#039; jobs in the same account who have used fewer resources (so as to &amp;quot;fair-share&amp;quot; with other users). Additionally, if there are multiple accounts that can submit to a partition, and the sum of resources used by all users&#039; jobs within account A is greater than the sum of resources used by all users&#039; jobs within account B, all future jobs from users in account A will have a lower priority factor when compared to all future jobs from users in account B. (In other words, fair-share is hierarchical.)&lt;br /&gt;
&lt;br /&gt;
You can view the various fair-share statistics with the command &amp;lt;code&amp;gt;sshare -l&amp;lt;/code&amp;gt;. It will show your specific FairShare values (always between 0.0 and 1.0) within accounts that you have access to. You can also view other accounts&#039; Level Fairshare (LevelFS).&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Account                    User  RawShares  NormShares    RawUsage   NormUsage  EffectvUsage  FairShare    LevelFS                    GrpTRESMins                    TRESRunMins&lt;br /&gt;
-------------------- ---------- ---------- ----------- ----------- ----------- ------------- ---------- ---------- ------------------------------ ------------------------------&lt;br /&gt;
root                                          0.000000 68444174744                  1.000000                                                      cpu=4797787,mem=70530109515,e+&lt;br /&gt;
 cbcb                                    1    0.028571  4454658377    0.065046      0.065046              0.439246                                cpu=452139,mem=22276633804,en+&lt;br /&gt;
 class                                   1    0.028571   255617290    0.003733      0.003733              7.652841                                cpu=7021,mem=74554606,energy=+&lt;br /&gt;
 clip                                    1    0.028571  3057933838    0.044674      0.044674              0.639549                                cpu=33214,mem=2744443460,ener+&lt;br /&gt;
 cml                                     1    0.028571    66866114    0.000975      0.000975             29.299389                                cpu=1796,mem=29426756,energy=+&lt;br /&gt;
 gamma                                   1    0.028571  2609474948    0.038129      0.038129              0.749334                                cpu=34089,mem=360373862,energ+&lt;br /&gt;
 mbrc                                    1    0.028571    73411964    0.001073      0.001073             26.635560                                cpu=1195,mem=4896358,energy=0+&lt;br /&gt;
 mc2                                     1    0.028571     2682557    0.000039      0.000039            728.919551                                cpu=0,mem=0,energy=0,node=0,b+&lt;br /&gt;
 nexus                                   1    0.028571  5472794067    0.079964      0.079964              0.357302                                cpu=278464,mem=3250599000,ene+&lt;br /&gt;
  nexus                username          1    0.000835       69666    0.000001      0.000021   0.457407  37.435501                                cpu=0,mem=0,energy=0,node=0,b+&lt;br /&gt;
 oasis                                   1    0.028571      330030    0.000005      0.000005            5.9248e+03                                cpu=0,mem=0,energy=0,node=0,b+&lt;br /&gt;
 quics                                   1    0.028571           4    0.000000      0.000000            4.1683e+08                                cpu=0,mem=0,energy=0,node=0,b+&lt;br /&gt;
 scavenger                               1    0.028571 40888195964    0.597419      0.597419              0.047825                                cpu=3142204,mem=29902903931,e+&lt;br /&gt;
  scavenger            username          1    0.000835         171    0.000000      0.000000   0.033975 9.8885e+04                                cpu=0,mem=0,energy=0,node=0,b+&lt;br /&gt;
 vulcan                                  1    0.028571  1247236491    0.018224      0.018224              1.567761                                cpu=147273,mem=1161243818,ene+&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The actual resource billing weights for the three main resources (memory per GB, CPU cores, and number of GPUs if applicable) are per-partition and can be viewed in the &amp;lt;code&amp;gt;TRESBillingWeights&amp;lt;/code&amp;gt; line in the output of &amp;lt;code&amp;gt;scontrol show partition&amp;lt;/code&amp;gt;. The &amp;lt;code&amp;gt;billing&amp;lt;/code&amp;gt; value for a job is the sum of all resource weightings for resources the job has requested. This value is then multiplied by the amount of time a job has run in seconds to get the amount it contributes to the RawUsage for the association within the account it is running under.&lt;br /&gt;
&lt;br /&gt;
====Algorithm====&lt;br /&gt;
The algorithm we use for resource weightings differs depending on if there are any GPUs in a partition or not, and is as follows:&lt;br /&gt;
&lt;br /&gt;
=====GPU partitions=====&lt;br /&gt;
Each resource (memory/CPU/GPU) is given a weighting value such that their relative billings to each other within the partition are equal (33.33% each). Memory is typically always the most abundant resource by unit (weighting value of 1.0 per GB) and the CPU/GPU values are adjusted accordingly.&lt;br /&gt;
&lt;br /&gt;
Different GPU types may also be weighted differently within the GPU relative billing. A baseline GPU type is first chosen. All GPUs of that type and other types that have lower FP32 performance (in [https://en.wikipedia.org/wiki/FLOPS TFLOPS]) are given a weighting factor of 1.0. GPU types with higher FP32 performance than the baseline GPU are given a weighting factor calculated by dividing their FP32 performance by the baseline GPU&#039;s FP32 performance. The weighting values for each GPU type are then determined by normalizing the sum of all of GPU cards&#039; billing values multiplied by their weighting factors against the relative billing percentage for GPUs (33.33%).&lt;br /&gt;
&lt;br /&gt;
The current baseline GPU is the [https://www.nvidia.com/en-us/design-visualization/rtx-a4000/ NVIDIA RTX A4000].&lt;br /&gt;
&lt;br /&gt;
=====CPU-only partitions=====&lt;br /&gt;
Each resource (memory/CPU) is first given a weighting value such that their relative billings to each other within the partition are equal (50% each). Memory is typically always the most abundant resource by unit (weighting value of 1.0 per GB) and the CPU value is adjusted accordingly. The final CPU weight value is then divided by 10, which translates to roughly 90.9% of the billing weight being for memory and 9.1% being for CPU. The division of the CPU value is done so as to not affect accounts&#039; fair-share priority factors as much when running jobs in CPU-only partitions given the popularity of GPGPU computing.&lt;br /&gt;
&lt;br /&gt;
===Age===&lt;br /&gt;
The longer a job is eligible to run but cannot due to resources being unavailable or it having a lower priority value than one or more other jobs, the higher the job&#039;s priority becomes as it continues to wait in the queue. This is the only priority modifier that can change a job&#039;s priority value once it has been submitted, and the priority modifier for this factor reaches its limit after 7 days.&lt;br /&gt;
&lt;br /&gt;
Jobs&#039; age priority factors on our clusters are recalculated every 5 minutes.&lt;br /&gt;
&lt;br /&gt;
===Association===&lt;br /&gt;
Some lab/center-specific SLURM accounts have priority values directly attached to them. Jobs run under these accounts gain this many extra points of priority.&lt;br /&gt;
&lt;br /&gt;
===Nice value===&lt;br /&gt;
This is a submission argument that you as the user can include when submitting your jobs to deprioritize them. Larger values will deprioritize jobs more, e.g.,&lt;br /&gt;
&amp;lt;pre&amp;gt;srun --pty --nice=2 bash&amp;lt;/pre&amp;gt;&lt;br /&gt;
will have lower priority than&lt;br /&gt;
&amp;lt;pre&amp;gt;srun --pty --nice=1 bash&amp;lt;/pre&amp;gt;&lt;br /&gt;
which will have lower priority than&lt;br /&gt;
&amp;lt;pre&amp;gt;srun --pty bash&amp;lt;/pre&amp;gt;&lt;br /&gt;
assuming all three jobs were submitted at the same time. You cannot use negative values for this argument.&lt;br /&gt;
&lt;br /&gt;
Because this value is absolute, if you want to use it, we would recommend using small numbers - one or two digits - only. Larger numbers may impact your job&#039;s ability to run at all as a result of the other factors at play.&lt;/div&gt;</summary>
		<author><name>Mbaney</name></author>
	</entry>
	<entry>
		<id>https://wiki.umiacs.umd.edu/umiacs/index.php?title=SLURM/Priority&amp;diff=13256</id>
		<title>SLURM/Priority</title>
		<link rel="alternate" type="text/html" href="https://wiki.umiacs.umd.edu/umiacs/index.php?title=SLURM/Priority&amp;diff=13256"/>
		<updated>2026-04-29T20:49:45Z</updated>

		<summary type="html">&lt;p&gt;Mbaney: /* Fair-share */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[SLURM]] at UMIACS is configured to prioritize jobs based on a number of factors, termed [https://slurm.schedmd.com/priority_multifactor.html multifactor priority] in SLURM. Each job submitted to the scheduler is assigned a priority value, which can be viewed in the output of &amp;lt;code&amp;gt;scontrol show job &amp;lt;jobid&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ scontrol show job 1&lt;br /&gt;
JobId=1 JobName=bash&lt;br /&gt;
   UserId=username(13337) GroupId=username(13337) MCS_label=N/A&lt;br /&gt;
   Priority=2000841 Nice=0 Account=nexus QOS=default&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Pending Jobs==&lt;br /&gt;
If the partition that you submit your job to cannot begin your job instantly due to no compute node(s) in the partition having the resources free to run it, your job will remain in the Pending state with the listed reason &amp;lt;tt&amp;gt;(Resources)&amp;lt;/tt&amp;gt;. If there is another job already pending with this reason in a partition, you submit a job to the same partition, and your job gets assigned a lower priority value than that pending job, your job will instead remain in the Pending state with reason &amp;lt;tt&amp;gt;(Priority)&amp;lt;/tt&amp;gt;. If there are multiple jobs pending and your job is not the highest priority job pending, the scheduler will only begin execution of your job if starting your job would not push the begin times for any higher priority jobs in the same partition further back.&lt;br /&gt;
&lt;br /&gt;
Lowering some combination of the resources you are requesting and/or the time limit may allow submitted jobs to start sooner (or instantly) during times where a partition is under resource pressure. The command &amp;lt;code&amp;gt;squeue -j &amp;lt;jobid&amp;gt; --start&amp;lt;/code&amp;gt; can be used to provide a time estimate for when your job will start, where &amp;lt;jobid&amp;gt; is the job ID you receive from either srun or sbatch. This time is subject to change depending on if other users&#039; jobs end sooner or more jobs get submitted.&lt;br /&gt;
&lt;br /&gt;
You can use the command alias &amp;lt;code&amp;gt;[[SLURM/JobSubmission#show_available_nodes | show_available_nodes]]&amp;lt;/code&amp;gt; with a variety of different submission arguments to get a better idea of what jobs may be able to begin sooner, but the output of this command alias is not definitive, for reasons mentioned in the footnotes on the page linked to.&lt;br /&gt;
&lt;br /&gt;
==Priority Factors==&lt;br /&gt;
The priority factors in use at UMIACS are, from most-heavily to least-heavily weighted:&lt;br /&gt;
* Partition job was submitted to&lt;br /&gt;
* Fair-share of resources within SLURM account&lt;br /&gt;
* Age of job, i.e., time spent waiting to run in the queue&lt;br /&gt;
* Association/SLURM account being used&lt;br /&gt;
* &amp;quot;Nice&amp;quot; value that job was submitted with&lt;br /&gt;
&lt;br /&gt;
===Partition===&lt;br /&gt;
The partitions whose names are or are prefixed with &amp;lt;code&amp;gt;scavenger&amp;lt;/code&amp;gt; on our clusters are always in a lower priority tier and always have lower priority factors for their jobs than all other partitions on that cluster. As mentioned in other UMIACS cluster-specific documentation, jobs submitted to these partitions are also [https://slurm.schedmd.com/preempt.html preemptable]. These two design choices give the partitions their names; jobs submitted to &amp;lt;code&amp;gt;scavenger&amp;lt;/code&amp;gt; named or prefixed partitions &amp;quot;scavenge&amp;quot; for available resources on the cluster rather than consume dedicated resources, and are interrupted by jobs asking to consume dedicated resources.&lt;br /&gt;
&lt;br /&gt;
On [[Nexus]], labs/centers may also have their own scavenger partitions, i.e., &amp;lt;code&amp;gt;&amp;lt;labname&amp;gt;-scavenger&amp;lt;/code&amp;gt;, if the faculty for the lab/center have decided upon some sort of limit on jobs, such as number of simultaneous jobs, number of actively consumed billing resources, etc., in their non-scavenger partitions. These lab/center scavenger partitions allow for more jobs to be run by members of that lab/center on that lab&#039;s/center&#039;s nodes only, but jobs on these partitions are preemptable by jobs in that lab&#039;s/center&#039;s non-scavenger partitions and/or account-specific partitions, if any account-specific partitions containing a given node exist. Jobs submitted to lab/center scavenger partitions will preempt jobs submitted to the institute-wide scavenger partitions (running on nodes that are also in those lab/center scavenger partitions).&lt;br /&gt;
&lt;br /&gt;
In decreasing order of priority (highest first), our priority tiers for partitions are:&lt;br /&gt;
# Priority access account-specific partitions&lt;br /&gt;
# Account-specific partitions&lt;br /&gt;
# Lab/center-specific and institute-wide non-&amp;quot;scavenger&amp;quot; named partitions&lt;br /&gt;
# Lab/center-specific &amp;quot;scavenger&amp;quot; named partitions&lt;br /&gt;
# Institute-wide &amp;quot;scavenger&amp;quot; named partitions&lt;br /&gt;
&lt;br /&gt;
A job in a specific priority tier will never have a higher priority value than any job in a higher priority tier. Corresponding to the above tiers, the priority values that you will see for jobs in each tier:&lt;br /&gt;
# &amp;gt;= 4000000&lt;br /&gt;
# 3000000 to 3999999&lt;br /&gt;
# 2000000 to 2999999&lt;br /&gt;
# 1000000 to 1999999&lt;br /&gt;
# &amp;lt; 1000000&lt;br /&gt;
&lt;br /&gt;
As such, &#039;&#039;&#039;jobs on specific nodes in some non-&amp;quot;scavenger&amp;quot; named partitions may also be subject to preemption&#039;&#039;&#039; based on these priority tiers. Generally speaking, though, most nodes are only in one partition in one of the first three (non-&amp;quot;scavenger&amp;quot;) priority tiers, and then in an institute-wide &amp;quot;scavenger&amp;quot; named partition, and a lab/center-specific &amp;quot;scavenger&amp;quot; named partition, if one exists for the lab/center that a given node is a part of.&lt;br /&gt;
&lt;br /&gt;
===Fair-share===&lt;br /&gt;
The more resources your jobs have already consumed within an account, the lower priority factor your future jobs will have when compared to other users&#039; jobs in the same account who have used fewer resources (so as to &amp;quot;fair-share&amp;quot; with other users). Additionally, if there are multiple accounts that can submit to a partition, and the sum of resources used by all users&#039; jobs within account A is greater than the sum of resources used by all users&#039; jobs within account B, all future jobs from users in account A will have a lower priority factor when compared to all future jobs from users in account B. (In other words, fair-share is hierarchical.)&lt;br /&gt;
&lt;br /&gt;
You can view the various fair-share statistics with the command &amp;lt;code&amp;gt;sshare -l&amp;lt;/code&amp;gt;. It will show your specific FairShare values (always between 0.0 and 1.0) within accounts that you have access to. You can also view other accounts&#039; Level Fairshare (LevelFS).&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Account                    User  RawShares  NormShares    RawUsage   NormUsage  EffectvUsage  FairShare    LevelFS                    GrpTRESMins                    TRESRunMins&lt;br /&gt;
-------------------- ---------- ---------- ----------- ----------- ----------- ------------- ---------- ---------- ------------------------------ ------------------------------&lt;br /&gt;
root                                          0.000000 68444174744                  1.000000                                                      cpu=4797787,mem=70530109515,e+&lt;br /&gt;
 cbcb                                    1    0.028571  4454658377    0.065046      0.065046              0.439246                                cpu=452139,mem=22276633804,en+&lt;br /&gt;
 class                                   1    0.028571   255617290    0.003733      0.003733              7.652841                                cpu=7021,mem=74554606,energy=+&lt;br /&gt;
 clip                                    1    0.028571  3057933838    0.044674      0.044674              0.639549                                cpu=33214,mem=2744443460,ener+&lt;br /&gt;
 cml                                     1    0.028571    66866114    0.000975      0.000975             29.299389                                cpu=1796,mem=29426756,energy=+&lt;br /&gt;
 gamma                                   1    0.028571  2609474948    0.038129      0.038129              0.749334                                cpu=34089,mem=360373862,energ+&lt;br /&gt;
 mbrc                                    1    0.028571    73411964    0.001073      0.001073             26.635560                                cpu=1195,mem=4896358,energy=0+&lt;br /&gt;
 mc2                                     1    0.028571     2682557    0.000039      0.000039            728.919551                                cpu=0,mem=0,energy=0,node=0,b+&lt;br /&gt;
 nexus                                   1    0.028571  5472794067    0.079964      0.079964              0.357302                                cpu=278464,mem=3250599000,ene+&lt;br /&gt;
  nexus                username          1    0.000835       69666    0.000001      0.000021   0.457407  37.435501                                cpu=0,mem=0,energy=0,node=0,b+&lt;br /&gt;
 oasis                                   1    0.028571      330030    0.000005      0.000005            5.9248e+03                                cpu=0,mem=0,energy=0,node=0,b+&lt;br /&gt;
 quics                                   1    0.028571           4    0.000000      0.000000            4.1683e+08                                cpu=0,mem=0,energy=0,node=0,b+&lt;br /&gt;
 scavenger                               1    0.028571 40888195964    0.597419      0.597419              0.047825                                cpu=3142204,mem=29902903931,e+&lt;br /&gt;
  scavenger            username          1    0.000835         171    0.000000      0.000000   0.033975 9.8885e+04                                cpu=0,mem=0,energy=0,node=0,b+&lt;br /&gt;
 vulcan                                  1    0.028571  1247236491    0.018224      0.018224              1.567761                                cpu=147273,mem=1161243818,ene+&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The actual resource billing weights for the three main resources (memory per GB, CPU cores, and number of GPUs if applicable) are per-partition and can be viewed in the &amp;lt;code&amp;gt;TRESBillingWeights&amp;lt;/code&amp;gt; line in the output of &amp;lt;code&amp;gt;scontrol show partition&amp;lt;/code&amp;gt;. The &amp;lt;code&amp;gt;billing&amp;lt;/code&amp;gt; value for a job is the sum of all resource weightings for resources the job has requested. This value is then multiplied by the amount of time a job has run in seconds to get the amount it contributes to the RawUsage for the association within the account it is running under.&lt;br /&gt;
&lt;br /&gt;
====Algorithm====&lt;br /&gt;
The algorithm we use for resource weightings differs depending on if there are any GPUs in a partition or not, and is as follows:&lt;br /&gt;
&lt;br /&gt;
=====GPU partitions=====&lt;br /&gt;
Each resource (memory/CPU/GPU) is given a weighting value such that their relative billings to each other within the partition are equal (33.33% each). Memory is typically always the most abundant resource by unit (weighting value of 1.0 per GB) and the CPU/GPU values are adjusted accordingly.&lt;br /&gt;
&lt;br /&gt;
Different GPU types may also be weighted differently within the GPU relative billing. A baseline GPU type is first chosen. All GPUs of that type and other types that have lower FP32 performance (in [https://en.wikipedia.org/wiki/FLOPS TFLOPS]) are given a weighting factor of 1.0. GPU types with higher FP32 performance than the baseline GPU are given a weighting factor calculated by dividing their FP32 performance by the baseline GPU&#039;s FP32 performance. The weighting values for each GPU type are then determined by normalizing the sum of all of GPU cards&#039; billing values multiplied by their weighting factors against the relative billing percentage for GPUs (33.33%).&lt;br /&gt;
&lt;br /&gt;
The current baseline GPU is the [https://www.nvidia.com/en-us/design-visualization/rtx-a4000/ NVIDIA RTX A4000].&lt;br /&gt;
&lt;br /&gt;
=====CPU-only partitions=====&lt;br /&gt;
Each resource (memory/CPU) is first given a weighting value such that their relative billings to each other within the partition are equal (50% each). Memory is typically always the most abundant resource by unit (weighting value of 1.0 per GB) and the CPU value is adjusted accordingly. The final CPU weight value is then divided by 10, which translates to roughly 90.9% of the billing weight being for memory and 9.1% being for CPU. The division of the CPU value is done so as to not affect accounts&#039; fair-share priority factors as much when running jobs in CPU-only partitions given the popularity of GPGPU computing.&lt;br /&gt;
&lt;br /&gt;
===Age===&lt;br /&gt;
The longer a job is eligible to run but cannot due to resources being unavailable or having a lower priority value than one or more other jobs, the higher the job&#039;s priority becomes as it continues to wait in the queue. This is the only priority modifier that can change a job&#039;s priority value once it has been submitted, and the priority modifier for this factor reaches its limit after 7 days.&lt;br /&gt;
&lt;br /&gt;
Jobs&#039; age priority factors on our clusters are recalculated every 5 minutes.&lt;br /&gt;
&lt;br /&gt;
===Association===&lt;br /&gt;
Some lab/center-specific SLURM accounts have priority values directly attached to them. Jobs run under these accounts gain this many extra points of priority.&lt;br /&gt;
&lt;br /&gt;
===Nice value===&lt;br /&gt;
This is a submission argument that you as the user can include when submitting your jobs to deprioritize them. Larger values will deprioritize jobs more, e.g.,&lt;br /&gt;
&amp;lt;pre&amp;gt;srun --pty --nice=2 bash&amp;lt;/pre&amp;gt;&lt;br /&gt;
will have lower priority than&lt;br /&gt;
&amp;lt;pre&amp;gt;srun --pty --nice=1 bash&amp;lt;/pre&amp;gt;&lt;br /&gt;
which will have lower priority than&lt;br /&gt;
&amp;lt;pre&amp;gt;srun --pty bash&amp;lt;/pre&amp;gt;&lt;br /&gt;
assuming all three jobs were submitted at the same time. You cannot use negative values for this argument.&lt;br /&gt;
&lt;br /&gt;
Because this value is absolute, if you want to use it, we would recommend using small numbers - one or two digits - only. Larger numbers may impact your job&#039;s ability to run at all as a result of the other factors at play.&lt;/div&gt;</summary>
		<author><name>Mbaney</name></author>
	</entry>
	<entry>
		<id>https://wiki.umiacs.umd.edu/umiacs/index.php?title=SLURM/Priority&amp;diff=13255</id>
		<title>SLURM/Priority</title>
		<link rel="alternate" type="text/html" href="https://wiki.umiacs.umd.edu/umiacs/index.php?title=SLURM/Priority&amp;diff=13255"/>
		<updated>2026-04-28T20:51:14Z</updated>

		<summary type="html">&lt;p&gt;Mbaney: /* Age */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[SLURM]] at UMIACS is configured to prioritize jobs based on a number of factors, termed [https://slurm.schedmd.com/priority_multifactor.html multifactor priority] in SLURM. Each job submitted to the scheduler is assigned a priority value, which can be viewed in the output of &amp;lt;code&amp;gt;scontrol show job &amp;lt;jobid&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ scontrol show job 1&lt;br /&gt;
JobId=1 JobName=bash&lt;br /&gt;
   UserId=username(13337) GroupId=username(13337) MCS_label=N/A&lt;br /&gt;
   Priority=2000841 Nice=0 Account=nexus QOS=default&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Pending Jobs==&lt;br /&gt;
If the partition that you submit your job to cannot begin your job instantly due to no compute node(s) in the partition having the resources free to run it, your job will remain in the Pending state with the listed reason &amp;lt;tt&amp;gt;(Resources)&amp;lt;/tt&amp;gt;. If there is another job already pending with this reason in a partition, you submit a job to the same partition, and your job gets assigned a lower priority value than that pending job, your job will instead remain in the Pending state with reason &amp;lt;tt&amp;gt;(Priority)&amp;lt;/tt&amp;gt;. If there are multiple jobs pending and your job is not the highest priority job pending, the scheduler will only begin execution of your job if starting your job would not push the begin times for any higher priority jobs in the same partition further back.&lt;br /&gt;
&lt;br /&gt;
Lowering some combination of the resources you are requesting and/or the time limit may allow submitted jobs to start sooner (or instantly) during times where a partition is under resource pressure. The command &amp;lt;code&amp;gt;squeue -j &amp;lt;jobid&amp;gt; --start&amp;lt;/code&amp;gt; can be used to provide a time estimate for when your job will start, where &amp;lt;jobid&amp;gt; is the job ID you receive from either srun or sbatch. This time is subject to change depending on if other users&#039; jobs end sooner or more jobs get submitted.&lt;br /&gt;
&lt;br /&gt;
You can use the command alias &amp;lt;code&amp;gt;[[SLURM/JobSubmission#show_available_nodes | show_available_nodes]]&amp;lt;/code&amp;gt; with a variety of different submission arguments to get a better idea of what jobs may be able to begin sooner, but the output of this command alias is not definitive, for reasons mentioned in the footnotes on the page linked to.&lt;br /&gt;
&lt;br /&gt;
==Priority Factors==&lt;br /&gt;
The priority factors in use at UMIACS are, from most-heavily to least-heavily weighted:&lt;br /&gt;
* Partition job was submitted to&lt;br /&gt;
* Fair-share of resources within SLURM account&lt;br /&gt;
* Age of job, i.e., time spent waiting to run in the queue&lt;br /&gt;
* Association/SLURM account being used&lt;br /&gt;
* &amp;quot;Nice&amp;quot; value that job was submitted with&lt;br /&gt;
&lt;br /&gt;
===Partition===&lt;br /&gt;
The partitions whose names are or are prefixed with &amp;lt;code&amp;gt;scavenger&amp;lt;/code&amp;gt; on our clusters are always in a lower priority tier and always have lower priority factors for their jobs than all other partitions on that cluster. As mentioned in other UMIACS cluster-specific documentation, jobs submitted to these partitions are also [https://slurm.schedmd.com/preempt.html preemptable]. These two design choices give the partitions their names; jobs submitted to &amp;lt;code&amp;gt;scavenger&amp;lt;/code&amp;gt; named or prefixed partitions &amp;quot;scavenge&amp;quot; for available resources on the cluster rather than consume dedicated resources, and are interrupted by jobs asking to consume dedicated resources.&lt;br /&gt;
&lt;br /&gt;
On [[Nexus]], labs/centers may also have their own scavenger partitions, i.e., &amp;lt;code&amp;gt;&amp;lt;labname&amp;gt;-scavenger&amp;lt;/code&amp;gt;, if the faculty for the lab/center have decided upon some sort of limit on jobs, such as number of simultaneous jobs, number of actively consumed billing resources, etc., in their non-scavenger partitions. These lab/center scavenger partitions allow for more jobs to be run by members of that lab/center on that lab&#039;s/center&#039;s nodes only, but jobs on these partitions are preemptable by jobs in that lab&#039;s/center&#039;s non-scavenger partitions and/or account-specific partitions, if any account-specific partitions containing a given node exist. Jobs submitted to lab/center scavenger partitions will preempt jobs submitted to the institute-wide scavenger partitions (running on nodes that are also in those lab/center scavenger partitions).&lt;br /&gt;
&lt;br /&gt;
In decreasing order of priority (highest first), our priority tiers for partitions are:&lt;br /&gt;
# Priority access account-specific partitions&lt;br /&gt;
# Account-specific partitions&lt;br /&gt;
# Lab/center-specific and institute-wide non-&amp;quot;scavenger&amp;quot; named partitions&lt;br /&gt;
# Lab/center-specific &amp;quot;scavenger&amp;quot; named partitions&lt;br /&gt;
# Institute-wide &amp;quot;scavenger&amp;quot; named partitions&lt;br /&gt;
&lt;br /&gt;
A job in a specific priority tier will never have a higher priority value than any job in a higher priority tier. Corresponding to the above tiers, the priority values that you will see for jobs in each tier:&lt;br /&gt;
# &amp;gt;= 4000000&lt;br /&gt;
# 3000000 to 3999999&lt;br /&gt;
# 2000000 to 2999999&lt;br /&gt;
# 1000000 to 1999999&lt;br /&gt;
# &amp;lt; 1000000&lt;br /&gt;
&lt;br /&gt;
As such, &#039;&#039;&#039;jobs on specific nodes in some non-&amp;quot;scavenger&amp;quot; named partitions may also be subject to preemption&#039;&#039;&#039; based on these priority tiers. Generally speaking, though, most nodes are only in one partition in one of the first three (non-&amp;quot;scavenger&amp;quot;) priority tiers, and then in an institute-wide &amp;quot;scavenger&amp;quot; named partition, and a lab/center-specific &amp;quot;scavenger&amp;quot; named partition, if one exists for the lab/center that a given node is a part of.&lt;br /&gt;
&lt;br /&gt;
===Fair-share===&lt;br /&gt;
The more resources your jobs have already consumed within an account, the lower priority factor your future jobs will have when compared to other users&#039; jobs in the same account who have used fewer resources (so as to &amp;quot;fair-share&amp;quot; with other users). Additionally, if there are multiple accounts that can submit to a partition, and the sum of resources of all users&#039; jobs within account A is greater than the sum of resources of all users&#039; jobs within account B, the lower priority factor all future jobs from users in account A will have when compared to all future jobs from users in account B. (In other words, fair-share is hierarchical.)&lt;br /&gt;
&lt;br /&gt;
You can view the various fair-share statistics with the command &amp;lt;code&amp;gt;sshare -l&amp;lt;/code&amp;gt;. It will show your specific FairShare values (always between 0.0 and 1.0) within accounts that you have access to. You can also view other accounts&#039; Level Fairshare (LevelFS).&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Account                    User  RawShares  NormShares    RawUsage   NormUsage  EffectvUsage  FairShare    LevelFS                    GrpTRESMins                    TRESRunMins&lt;br /&gt;
-------------------- ---------- ---------- ----------- ----------- ----------- ------------- ---------- ---------- ------------------------------ ------------------------------&lt;br /&gt;
root                                          0.000000 68444174744                  1.000000                                                      cpu=4797787,mem=70530109515,e+&lt;br /&gt;
 cbcb                                    1    0.028571  4454658377    0.065046      0.065046              0.439246                                cpu=452139,mem=22276633804,en+&lt;br /&gt;
 class                                   1    0.028571   255617290    0.003733      0.003733              7.652841                                cpu=7021,mem=74554606,energy=+&lt;br /&gt;
 clip                                    1    0.028571  3057933838    0.044674      0.044674              0.639549                                cpu=33214,mem=2744443460,ener+&lt;br /&gt;
 cml                                     1    0.028571    66866114    0.000975      0.000975             29.299389                                cpu=1796,mem=29426756,energy=+&lt;br /&gt;
 gamma                                   1    0.028571  2609474948    0.038129      0.038129              0.749334                                cpu=34089,mem=360373862,energ+&lt;br /&gt;
 mbrc                                    1    0.028571    73411964    0.001073      0.001073             26.635560                                cpu=1195,mem=4896358,energy=0+&lt;br /&gt;
 mc2                                     1    0.028571     2682557    0.000039      0.000039            728.919551                                cpu=0,mem=0,energy=0,node=0,b+&lt;br /&gt;
 nexus                                   1    0.028571  5472794067    0.079964      0.079964              0.357302                                cpu=278464,mem=3250599000,ene+&lt;br /&gt;
  nexus                username          1    0.000835       69666    0.000001      0.000021   0.457407  37.435501                                cpu=0,mem=0,energy=0,node=0,b+&lt;br /&gt;
 oasis                                   1    0.028571      330030    0.000005      0.000005            5.9248e+03                                cpu=0,mem=0,energy=0,node=0,b+&lt;br /&gt;
 quics                                   1    0.028571           4    0.000000      0.000000            4.1683e+08                                cpu=0,mem=0,energy=0,node=0,b+&lt;br /&gt;
 scavenger                               1    0.028571 40888195964    0.597419      0.597419              0.047825                                cpu=3142204,mem=29902903931,e+&lt;br /&gt;
  scavenger            username          1    0.000835         171    0.000000      0.000000   0.033975 9.8885e+04                                cpu=0,mem=0,energy=0,node=0,b+&lt;br /&gt;
 vulcan                                  1    0.028571  1247236491    0.018224      0.018224              1.567761                                cpu=147273,mem=1161243818,ene+&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The actual resource billing weights for the three main resources (memory per GB, CPU cores, and number of GPUs if applicable) are per-partition and can be viewed in the &amp;lt;code&amp;gt;TRESBillingWeights&amp;lt;/code&amp;gt; line in the output of &amp;lt;code&amp;gt;scontrol show partition&amp;lt;/code&amp;gt;. The &amp;lt;code&amp;gt;billing&amp;lt;/code&amp;gt; value for a job is the sum of all resource weightings for resources the job has requested. This value is then multiplied by the amount of time a job has run in seconds to get the amount it contributes to the RawUsage for the association within the account it is running under.&lt;br /&gt;
&lt;br /&gt;
====Algorithm====&lt;br /&gt;
The algorithm we use for resource weightings differs depending on if there are any GPUs in a partition or not, and is as follows:&lt;br /&gt;
&lt;br /&gt;
=====GPU partitions=====&lt;br /&gt;
Each resource (memory/CPU/GPU) is given a weighting value such that their relative billings to each other within the partition are equal (33.33% each). Memory is typically always the most abundant resource by unit (weighting value of 1.0 per GB) and the CPU/GPU values are adjusted accordingly.&lt;br /&gt;
&lt;br /&gt;
Different GPU types may also be weighted differently within the GPU relative billing. A baseline GPU type is first chosen. All GPUs of that type and other types that have lower FP32 performance (in [https://en.wikipedia.org/wiki/FLOPS TFLOPS]) are given a weighting factor of 1.0. GPU types with higher FP32 performance than the baseline GPU are given a weighting factor calculated by dividing their FP32 performance by the baseline GPU&#039;s FP32 performance. The weighting values for each GPU type are then determined by normalizing the sum of all of GPU cards&#039; billing values multiplied by their weighting factors against the relative billing percentage for GPUs (33.33%).&lt;br /&gt;
&lt;br /&gt;
The current baseline GPU is the [https://www.nvidia.com/en-us/design-visualization/rtx-a4000/ NVIDIA RTX A4000].&lt;br /&gt;
&lt;br /&gt;
=====CPU-only partitions=====&lt;br /&gt;
Each resource (memory/CPU) is first given a weighting value such that their relative billings to each other within the partition are equal (50% each). Memory is typically always the most abundant resource by unit (weighting value of 1.0 per GB) and the CPU value is adjusted accordingly. The final CPU weight value is then divided by 10, which translates to roughly 90.9% of the billing weight being for memory and 9.1% being for CPU. The division of the CPU value is done so as to not affect accounts&#039; fair-share priority factors as much when running jobs in CPU-only partitions given the popularity of GPGPU computing.&lt;br /&gt;
&lt;br /&gt;
===Age===&lt;br /&gt;
The longer a job is eligible to run but cannot due to resources being unavailable or having a lower priority value than one or more other jobs, the higher the job&#039;s priority becomes as it continues to wait in the queue. This is the only priority modifier that can change a job&#039;s priority value once it has been submitted, and the priority modifier for this factor reaches its limit after 7 days.&lt;br /&gt;
&lt;br /&gt;
Jobs&#039; age priority factors on our clusters are recalculated every 5 minutes.&lt;br /&gt;
&lt;br /&gt;
===Association===&lt;br /&gt;
Some lab/center-specific SLURM accounts have priority values directly attached to them. Jobs run under these accounts gain this many extra points of priority.&lt;br /&gt;
&lt;br /&gt;
===Nice value===&lt;br /&gt;
This is a submission argument that you as the user can include when submitting your jobs to deprioritize them. Larger values will deprioritize jobs more, e.g.,&lt;br /&gt;
&amp;lt;pre&amp;gt;srun --pty --nice=2 bash&amp;lt;/pre&amp;gt;&lt;br /&gt;
will have lower priority than&lt;br /&gt;
&amp;lt;pre&amp;gt;srun --pty --nice=1 bash&amp;lt;/pre&amp;gt;&lt;br /&gt;
which will have lower priority than&lt;br /&gt;
&amp;lt;pre&amp;gt;srun --pty bash&amp;lt;/pre&amp;gt;&lt;br /&gt;
assuming all three jobs were submitted at the same time. You cannot use negative values for this argument.&lt;br /&gt;
&lt;br /&gt;
Because this value is absolute, if you want to use it, we would recommend using small numbers - one or two digits - only. Larger numbers may impact your job&#039;s ability to run at all as a result of the other factors at play.&lt;/div&gt;</summary>
		<author><name>Mbaney</name></author>
	</entry>
	<entry>
		<id>https://wiki.umiacs.umd.edu/umiacs/index.php?title=Accounts/UMD&amp;diff=13254</id>
		<title>Accounts/UMD</title>
		<link rel="alternate" type="text/html" href="https://wiki.umiacs.umd.edu/umiacs/index.php?title=Accounts/UMD&amp;diff=13254"/>
		<updated>2026-04-28T14:30:59Z</updated>

		<summary type="html">&lt;p&gt;Mbaney: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Before getting a [[Accounts | UMIACS account]], any prospective UMIACS account holder needs to already hold a UMD account, consisting of a UMD directory ID and associated passphrase. Their UMIACS account will have the same username as the directory ID and also use the same passphrase for authentication, once it is installed.&lt;br /&gt;
* [https://terpmail.umd.edu/ TERPmail] accounts are separate from UMD accounts - these accounts are used for student email and exist in perpetuity after a student graduates from UMD, but are &#039;&#039;&#039;not&#039;&#039;&#039; sufficient for holding UMIACS accounts.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Current UMD students, faculty, and staff should already have UMD accounts. For external collaborators, interns, visitors, etc., at other institutions or otherwise, faculty members will need to request affiliate appointments for them to get them UMD accounts. An overview of the different types of affiliate appointments can be found [https://itsupport.umd.edu/itsupport?id=kb_article_view&amp;amp;sysparm_article=KB0017232 here], in the attached document. To actually request an appointment, fill out [https://wiki.umiacs.umd.edu/umiacs/images/7/7a/Affiliate_Data_Collection_Form_Blank3.pdf this form] and send it to [mailto:umiacs-payroll@umiacs.umd.edu umiacs-payroll@umiacs.umd.edu].&lt;br /&gt;
* Affiliate appointments will also need to be requested for students that have graduated for their UMD (and thus UMIACS) access to remain active.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Once the person gets their appointment and thus their UMD account, determine which type of UMIACS account they need. The two options are [[Accounts#UMIACS_Account | full account]] or [[Accounts/Collaborator | collaborator account]].&lt;br /&gt;
* If full: they can now fill out the [https://intranet.umiacs.umd.edu/requests/accounts/new full UMIACS Account Request form] using their directory ID.&lt;br /&gt;
* If collaborator: you can now fill out the [https://intranet.umiacs.umd.edu/requests/accounts/collaborators/new Collaborator Account Request form] for them, using their &amp;lt;directoryid&amp;gt;@umd.edu email address. They will receive an email to that address with instructions to set up the account.&lt;/div&gt;</summary>
		<author><name>Mbaney</name></author>
	</entry>
	<entry>
		<id>https://wiki.umiacs.umd.edu/umiacs/index.php?title=Nexus/Vulcan&amp;diff=13253</id>
		<title>Nexus/Vulcan</title>
		<link rel="alternate" type="text/html" href="https://wiki.umiacs.umd.edu/umiacs/index.php?title=Nexus/Vulcan&amp;diff=13253"/>
		<updated>2026-04-27T19:57:24Z</updated>

		<summary type="html">&lt;p&gt;Mbaney: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The compute nodes from Vulcan&#039;s previous standalone cluster have folded into [[Nexus]] as of the scheduled [[MonthlyMaintenanceWindow | maintenance window]] for August 2023 (Thursday 08/17/2023, 5-8pm).&lt;br /&gt;
&lt;br /&gt;
The Nexus cluster already has a large pool of compute resources made possible through college-level funding for UMIACS and CSD faculty. Details on common nodes already in the cluster (Tron partition) can be found [[Nexus/Tron | here]].&lt;br /&gt;
&lt;br /&gt;
Please [[HelpDesk | contact staff]] with any questions or concerns.&lt;br /&gt;
&lt;br /&gt;
==Usage==&lt;br /&gt;
You can [[SSH]] to &amp;lt;code&amp;gt;nexusvulcan.umiacs.umd.edu&amp;lt;/code&amp;gt; to log in to a submission node.&lt;br /&gt;
&lt;br /&gt;
If you store something in a local directory (/tmp, /scratch0) on one of the two submission nodes, you will need to connect to that same submission node to access it later. The actual submission nodes are:&lt;br /&gt;
* &amp;lt;code&amp;gt;nexusvulcan00.umiacs.umd.edu&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;nexusvulcan01.umiacs.umd.edu&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
All partitions, QoSes, and account names from the standalone Vulcan cluster have been moved over to Nexus. However, please note that &amp;lt;code&amp;gt;vulcan-&amp;lt;/code&amp;gt; is prepended to all of the values that were present in the standalone Vulcan cluster to distinguish them from existing values in Nexus. The lone exception is the base account that was named &amp;lt;code&amp;gt;vulcan&amp;lt;/code&amp;gt; in the standalone cluster (it is also named just &amp;lt;code&amp;gt;vulcan&amp;lt;/code&amp;gt; in Nexus).&lt;br /&gt;
&lt;br /&gt;
Here are some before/after examples of job submission with various parameters:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Standalone Vulcan cluster submission command&lt;br /&gt;
! Nexus cluster submission command&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;srun --partition=dpart --qos=medium --account=abhinav --gres=gpu:gtx1080ti:2 --pty bash&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;srun --partition=vulcan-dpart --qos=vulcan-medium --account=vulcan-abhinav --gres=gpu:gtx1080ti:2 --pty bash&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;srun --partition=cpu --qos=cpu --pty bash&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;srun --partition=vulcan-cpu --qos=vulcan-cpu --account=vulcan --pty bash&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;srun --partition=scavenger --qos=scavenger --account=vulcan --gres=gpu:4 --pty bash&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;srun --partition=vulcan-scavenger --qos=vulcan-scavenger --account=vulcan --gres=gpu:4 --pty bash&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Vulcan users (exclusively) can schedule non-interruptible jobs on Vulcan nodes with any non-scavenger job parameters. Please note that the &amp;lt;code&amp;gt;vulcan-dpart&amp;lt;/code&amp;gt; partition has a &amp;lt;code&amp;gt;GrpTRES&amp;lt;/code&amp;gt; limit of 100% of the available cores/RAM on all vulcan## in aggregate nodes plus 50% of the available cores/RAM on legacy## nodes in aggregate, so your job may need to wait if all available cores/RAM (or GPUs) are in use. It also has a max submission limit of 500 jobs per user simultaneously so as to not overload the cluster. This is codified by the partition QoS named &#039;&#039;&#039;vulcan&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Please note that the Vulcan compute nodes are also in the institute-wide &amp;lt;code&amp;gt;scavenger&amp;lt;/code&amp;gt; partition in Nexus. Vulcan users still have scavenging priority over these nodes via the &amp;lt;code&amp;gt;vulcan-scavenger&amp;lt;/code&amp;gt; partition (i.e., all &amp;lt;code&amp;gt;vulcan-&amp;lt;/code&amp;gt; partition jobs (other than &amp;lt;code&amp;gt;vulcan-scavenger&amp;lt;/code&amp;gt;) can preempt both &amp;lt;code&amp;gt;vulcan-scavenger&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;scavenger&amp;lt;/code&amp;gt; partition jobs, and &amp;lt;code&amp;gt;vulcan-scavenger&amp;lt;/code&amp;gt; partition jobs can preempt &amp;lt;code&amp;gt;scavenger&amp;lt;/code&amp;gt; partition jobs).&lt;br /&gt;
&lt;br /&gt;
==Compute Nodes==&lt;br /&gt;
There are currently 46 [[Nexus/Vulcan/GPUs | GPU nodes]] available, named vulcan[00-45], running a mixture of NVIDIA RTX A6000, NVIDIA RTX A5000, NVIDIA RTX A4000, and a number of different older generation cards. There are also 4 CPU-only nodes available, named brigid[16-19].&lt;br /&gt;
&lt;br /&gt;
All nodes are scheduled with the [[SLURM]] resource manager.&lt;br /&gt;
&lt;br /&gt;
==Network==&lt;br /&gt;
The network infrastructure supporting the Vulcan partition consists of:&lt;br /&gt;
# One pair of network switches connected to each other via dual 100GbE links for redundancy, serving the following compute nodes:&lt;br /&gt;
#* brigid[16-17],vulcan[29-45]: Two 100GbE links per node, one to each switch in the pair (redundancy).&lt;br /&gt;
#* vulcan46: Four 100GbE links, two to each switch in the pair (redundancy and increased bandwidth).&lt;br /&gt;
# One pair of network switches connected to the above pair of switches through several sets of intermediary switches, and to each other via dual 10GbE links for redundancy. The immediate connection to these sets of intermediary switches is via two 40GbE links to a pair of them, one between the first two switches in each pair and one between the second two switches in each pair for redundancy. This pair serves the following compute nodes:&lt;br /&gt;
#* brigid[18-19],vulcan[00-28]: Two 10GbE links per node, one to each switch in the pair (redundancy).&lt;br /&gt;
&lt;br /&gt;
The fileserver hosting all Vulcan [[Nexus/Vulcan#Scratch_Directories | scratch]], [[Nexus/Vulcan#Project_Storage | project]], and [[Nexus/Vulcan#Datasets | dataset]] allocations first connects to a pair of intermediary switches and then the first pair of switches mentioned [[Nexus/Tron#Network | here (Tron page&#039;s network section)]]. It then connects to the first pair of switches mentioned on this page through a set of four (different) intermediary switches. The last hop from the four intermediary switches to the first pair of switches mentioned on this page is via 32 100GbE links, four from each switch in the set to each switch in the first pair mentioned on this page for redundancy and increased bandwidth.&lt;br /&gt;
&lt;br /&gt;
For a broader overview of the network infrastructure supporting the Nexus cluster, please see [[Nexus/Network]].&lt;br /&gt;
&lt;br /&gt;
==Partitions==&lt;br /&gt;
There are three partitions available to general Vulcan [[SLURM]] users.  You must specify a partition when submitting your job.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;vulcan-dpart&#039;&#039;&#039; - This is the default partition. Job allocations are guaranteed. Only nodes with GPUs from architectures older than NVIDIA&#039;s [https://www.nvidia.com/en-us/data-center/ampere-architecture/ Ampere architecture] are included in this partition.&lt;br /&gt;
* &#039;&#039;&#039;vulcan-scavenger&#039;&#039;&#039; - This is the alternate partition that allows jobs longer run times and more resources but is preemptable when jobs in other non-scavenger-named &amp;lt;code&amp;gt;vulcan-&amp;lt;/code&amp;gt; partitions are ready to be scheduled.&lt;br /&gt;
* &#039;&#039;&#039;vulcan-cpu&#039;&#039;&#039; - This partition is for CPU focused jobs. Job allocations are guaranteed.&lt;br /&gt;
&lt;br /&gt;
There are a few additional partitions available to subsets of Vulcan users based on specific requirements.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;vulcan-ampere&#039;&#039;&#039; - This partition contains nodes with GPUs from NVIDIA&#039;s [https://www.nvidia.com/en-us/data-center/ampere-architecture/ Ampere architecture] or a newer architecture. Job allocations are guaranteed. Please be aware of the following restrictions on this partition:&lt;br /&gt;
*: &#039;&#039;Time limit&#039;&#039;: there is a 4 hour time limit on interactive jobs in this partition. If you need to run longer jobs, you will need to modify your workflow into a job that can be submitted as a batch script.&lt;br /&gt;
*: &#039;&#039;CPU/memory per GPU limit&#039;&#039;: there is a limit of 4 CPUs and 48G memory maximum per non-H200 GPU requested by a job, and 16 CPUs and 256G memory maximum per H200 GPU requested by a job. If you need to run jobs with more CPUs/memory, you will either need to request more GPUs in the job or use a different partition.&lt;br /&gt;
&lt;br /&gt;
: Submission is restricted to the Slurm [[#Accounts | accounts]] of the faculty who invested in these nodes:&lt;br /&gt;
:* Abhinav Shrivastava (vulcan-abhinav)&lt;br /&gt;
:* Jia-Bin Huang (vulcan-jbhuang)&lt;br /&gt;
:* Christopher Metzler (vulcan-metzler)&lt;br /&gt;
:* Ruoshi Liu (vulcan-ruoshi)&lt;br /&gt;
:* Matthias Zwicker (vulcan-zwicker)&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;vulcan-scavenger-multi&#039;&#039;&#039; - This partition allows multi-node jobs (up to 9 total nodes per job) and allows jobs more resources than the vulcan-scavenger partition, but only contains nodes with GTX 1080 Ti, TITAN Xp, and/or RTX 2080 Ti GPUs in them. As with vulcan-scavenger, it is preemptable when jobs in other non-scavenged-named &amp;lt;code&amp;gt;vulcan-&amp;lt;/code&amp;gt; partitions are ready to be scheduled.&lt;br /&gt;
*: Access to this partition is on a per-use basis. Please contact Abhinav Shrivastava if you would like to be granted access to this partition.&lt;br /&gt;
&lt;br /&gt;
There is one additional partition available solely to Dr. Ramani Duraiswami&#039;s sponsored accounts.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;vulcan-ramani&#039;&#039;&#039; - This partition is for exclusive priority access to Dr. Duraiswami&#039;s purchased GPU nodes. Job allocations are guaranteed.&lt;br /&gt;
&lt;br /&gt;
==Accounts==&lt;br /&gt;
Vulcan has a base SLURM account &amp;lt;code&amp;gt;vulcan&amp;lt;/code&amp;gt; which has a modest number of guaranteed billing resources available to all cluster users at any given time.  Other faculty that have invested in Vulcan compute infrastructure have an additional account provided to their sponsored accounts on the cluster.&lt;br /&gt;
&lt;br /&gt;
If you do not specify an account when submitting your job, you will receive the &#039;&#039;&#039;vulcan&#039;&#039;&#039; account.  If your faculty sponsor has their own account, it is recommended to use that account for job submission.&lt;br /&gt;
&lt;br /&gt;
The current faculty accounts are:&lt;br /&gt;
* vulcan-abhinav&lt;br /&gt;
* vulcan-djacobs&lt;br /&gt;
* vulcan-jbhuang&lt;br /&gt;
* vulcan-metzler&lt;br /&gt;
* vulcan-rama&lt;br /&gt;
* vulcan-ramani&lt;br /&gt;
* vulcan-ruoshi&lt;br /&gt;
* vulcan-yaser&lt;br /&gt;
* vulcan-zwicker&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sacctmgr show account format=account%20,description%30,organization%10&lt;br /&gt;
             Account                          Descr        Org&lt;br /&gt;
-------------------- ------------------------------ ----------&lt;br /&gt;
                 ...                            ...        ...&lt;br /&gt;
              vulcan                         vulcan     vulcan&lt;br /&gt;
      vulcan-abhinav   vulcan - abhinav shrivastava     vulcan&lt;br /&gt;
      vulcan-djacobs          vulcan - david jacobs     vulcan&lt;br /&gt;
      vulcan-jbhuang         vulcan - jia-bin huang     vulcan&lt;br /&gt;
      vulcan-metzler         vulcan - chris metzler     vulcan&lt;br /&gt;
         vulcan-rama        vulcan - rama chellappa     vulcan&lt;br /&gt;
       vulcan-ramani     vulcan - ramani duraiswami     vulcan&lt;br /&gt;
       vulcan-ruoshi            vulcan - ruoshi liu     vulcan&lt;br /&gt;
        vulcan-yaser          vulcan - yaser yacoob     vulcan&lt;br /&gt;
      vulcan-zwicker      vulcan - matthias zwicker     vulcan&lt;br /&gt;
                 ...                            ...        ...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Faculty can manage this list of users via our [https://intranet.umiacs.umd.edu/directory/secgroup/ Directory application] in the Security Groups section.  The security group that controls access has the prefix &amp;lt;code&amp;gt;vulcan_&amp;lt;/code&amp;gt; and then the faculty username.  It will also list &amp;lt;code&amp;gt;slurm://nexusctl.umiacs.umd.edu&amp;lt;/code&amp;gt; as the associated URI.&lt;br /&gt;
&lt;br /&gt;
You can check your account associations by running the &#039;&#039;&#039;show_assoc&#039;&#039;&#039; command to see the accounts you are associated with.  Please [[HelpDesk | contact staff]] and include your faculty member in the conversation if you do not see the appropriate association. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ show_assoc&lt;br /&gt;
      User          Account MaxJobs       GrpTRES                                                                              QOS&lt;br /&gt;
---------- ---------------- ------- ------------- --------------------------------------------------------------------------------&lt;br /&gt;
       ...              ...     ...                                                                                            ...&lt;br /&gt;
   abhinav           vulcan      48                                       vulcan-cpu,vulcan-default,vulcan-medium,vulcan-scavenger&lt;br /&gt;
   abhinav   vulcan-abhinav      48                           vulcan-cpu,vulcan-default,vulcan-high,vulcan-medium,vulcan-scavenger&lt;br /&gt;
       ...              ...     ...                                                                                            ...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can also see the total number of Track-able Resources (TRES) allowed for each account by running the following command. Please make sure you give the appropriate account that you are looking for. As shown below, there is a concurrent limit of 64 total GPUs for all users not in a contributing faculty group.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sacctmgr show assoc account=vulcan format=user,account,qos,grptres&lt;br /&gt;
      User    Account                  QOS       GrpTRES&lt;br /&gt;
---------- ---------- -------------------- -------------&lt;br /&gt;
               vulcan                        gres/gpu=64&lt;br /&gt;
                  ...                                ...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==QoS==&lt;br /&gt;
Vulcan currently has 3 QoS for the &#039;&#039;&#039;vulcan-dpart&#039;&#039;&#039; partition, 1 QoS for the &#039;&#039;&#039;vulcan-scavenger&#039;&#039;&#039; partition, and 1 QoS for the &#039;&#039;&#039;vulcan-cpu&#039;&#039;&#039; partition.  If you do not specify a QoS when submitting your job using the &amp;lt;code&amp;gt;--qos&amp;lt;/code&amp;gt; parameter, you will receive the &amp;lt;code&amp;gt;vulcan-default&amp;lt;/code&amp;gt; QoS assuming you are using a Vulcan account.&lt;br /&gt;
&lt;br /&gt;
The important part here is that in different QoS you can have a shorter/longer maximum wall time, a different total number of jobs running at once, and a different maximum number of track-able resources (TRES) for the job.  In the cml-scavenger QoS, one more constraint that you are restricted by is the total number of TRES per user (over multiple jobs).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ show_qos --all | grep vulcan&lt;br /&gt;
                     Name     MaxWall                        MaxTRES MaxJobsPU                      MaxTRESPU&lt;br /&gt;
------------------------- ----------- ------------------------------ --------- ------------------------------&lt;br /&gt;
...&lt;br /&gt;
               vulcan-cpu  2-00:00:00                cpu=1024,mem=4T         4                               &lt;br /&gt;
           vulcan-default  7-00:00:00       cpu=4,gres/gpu=1,mem=32G         2                               &lt;br /&gt;
            vulcan-exempt  7-00:00:00     cpu=32,gres/gpu=8,mem=256G         2                               &lt;br /&gt;
              vulcan-high  1-12:00:00     cpu=16,gres/gpu=4,mem=128G         2                               &lt;br /&gt;
         vulcan-high_long 14-00:00:00              cpu=32,gres/gpu=8         8                               &lt;br /&gt;
            vulcan-medium  3-00:00:00       cpu=8,gres/gpu=2,mem=64G         2                               &lt;br /&gt;
            vulcan-sailon  3-00:00:00     cpu=32,gres/gpu=8,mem=256G                              gres/gpu=48&lt;br /&gt;
         vulcan-scavenger  3-00:00:00     cpu=32,gres/gpu=8,mem=256G                                         &lt;br /&gt;
   vulcan-scavenger-multi  3-00:00:00   cpu=288,gres/gpu=72,mem=1152G                                        &lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ show_partition_qos --all | grep vulcan&lt;br /&gt;
                     Name MaxSubmitPU                      MaxTRESPU              GrpTRES&lt;br /&gt;
------------------------- ----------- ------------------------------ --------------------&lt;br /&gt;
...&lt;br /&gt;
                   vulcan         500                                 cpu=1760,mem=15824G&lt;br /&gt;
            vulcan-ampere         500                                                    &lt;br /&gt;
               vulcan-cpu         500                                                    &lt;br /&gt;
            vulcan-ramani         500                                                    &lt;br /&gt;
         vulcan-scavenger         500                                                    &lt;br /&gt;
   vulcan-scavenger-multi         500                                                    &lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Storage==&lt;br /&gt;
Vulcan has the following storage available.  Please also review UMIACS [[FilesystemDataStorage | Filesystem Data Storage]] policies including any volume that is labeled as scratch.&lt;br /&gt;
&lt;br /&gt;
Vulcan users can also request [[Nexus#Project_Allocations | Nexus project allocations]].&lt;br /&gt;
&lt;br /&gt;
===Home Directories===&lt;br /&gt;
{{Nfshomes}}&lt;br /&gt;
&lt;br /&gt;
===Scratch Directories===&lt;br /&gt;
Scratch data has no data protection including no snapshots and the data is not backed up. There are two types of scratch directories in the Vulcan compute infrastructure:&lt;br /&gt;
* Network scratch directory&lt;br /&gt;
* Local scratch directories&lt;br /&gt;
&lt;br /&gt;
====Network Scratch Directory====&lt;br /&gt;
You have 300GB of scratch storage available at &amp;lt;code&amp;gt;/vulcanscratch/&amp;lt;username&amp;gt;&amp;lt;/code&amp;gt;.  &#039;&#039;&#039;It is not backed up or protected in any way.&#039;&#039;&#039;  This directory is &#039;&#039;&#039;automounted&#039;&#039;&#039; so you will need to &amp;lt;code&amp;gt;cd&amp;lt;/code&amp;gt; into the directory or request/specify a fully qualified file path to access this.&lt;br /&gt;
&lt;br /&gt;
You may request a temporary increase of up to 500GB total space for a maximum of 120 days without any faculty approval by [[HelpDesk | contacting staff]].  Once the temporary increase period is over, you will be contacted and given a one-week window of opportunity to clean and secure your data before staff will forcibly remove data to get your space back under 300GB.  If you need space beyond 500GB or for longer than 120 days, you will need faculty approval and/or a project directory.&lt;br /&gt;
&lt;br /&gt;
This file system is available on all submission and computational nodes within the cluster.&lt;br /&gt;
&lt;br /&gt;
====Local Scratch Directories====&lt;br /&gt;
Each computational node that you can schedule compute jobs on has one or more local scratch directories.  These are always named &amp;lt;code&amp;gt;/scratch0&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;/scratch1&amp;lt;/code&amp;gt;, etc.  These are almost always more performant than any other storage available to the job.  However, you must stage their data within the confine of their job and stage the data out before the end of their job.&lt;br /&gt;
&lt;br /&gt;
These local scratch directories have a tmpwatch job which will &#039;&#039;&#039;delete unaccessed data after 90 days&#039;&#039;&#039;, scheduled via maintenance jobs to run once a month at 1am.  Different nodes will run the maintenance jobs on different days of the month to ensure the cluster is still highly available at all times.  Please make sure you secure any data you write to these directories at the end of your job.&lt;br /&gt;
&lt;br /&gt;
===Datasets===&lt;br /&gt;
We have read-only dataset storage available at &amp;lt;code&amp;gt;/fs/vulcan-datasets&amp;lt;/code&amp;gt;.  If there are datasets that you would like to see curated and made available, please see [[Datasets | this page]].&lt;br /&gt;
&lt;br /&gt;
The list of Vulcan datasets we currently host can be viewed [https://info.umiacs.umd.edu/datasets/list/?q=Vulcan here].&lt;br /&gt;
&lt;br /&gt;
===Project Storage===&lt;br /&gt;
Users within the Vulcan compute infrastructure can request project based allocations for up to 10TB for up to 180 days by [[HelpDesk | contacting staff]] with approval from the Vulcan faculty manager (Dr. Shrivastava).  These allocations will be available from &amp;lt;code&amp;gt;/fs/vulcan-projects&amp;lt;/code&amp;gt; under a name that you provide when you request the allocation.  Near the end of the allocation period, staff will contact you and ask if you would like to renew the allocation for up to another 180 days (requires re-approval from Dr. Shrivastava).&lt;br /&gt;
* If you are no longer in need of the storage allocation, you will need to relocate all desired data within two weeks of the end of the allocation period.  Staff will then remove the allocation.&lt;br /&gt;
* If you do not respond to staff&#039;s request by the end of the allocation period, staff will make the allocation temporarily inaccessible.&lt;br /&gt;
** If you do respond asking for renewal but the original faculty approver does not respond within two weeks of the end of the allocation period, staff will also make the allocation temporarily inaccessible.&lt;br /&gt;
** If one month from the end of the allocation period is reached without both you and the faculty approver responding, staff will remove the allocation.&lt;br /&gt;
&lt;br /&gt;
Project storage is fully protected.  It has [[Snapshots | snapshots]] enabled and is [[NightlyBackups | backed up nightly]].&lt;br /&gt;
&lt;br /&gt;
===Object Storage===&lt;br /&gt;
All Vulcan users can request project allocations in the [https://obj.umiacs.umd.edu/obj/help UMIACS Object Store]. Please [[HelpDesk | contact staff]] with a short project name and the amount of storage you will need to get started.&lt;br /&gt;
&lt;br /&gt;
To access this storage, you&#039;ll need to use a [[S3Clients | S3 client]] or our [[UMobj]] command line utilities.&lt;br /&gt;
&lt;br /&gt;
An example on how to use the umobj command line utilities can be found [[UMobj/Example | here]].  A full set of documentation for the utilities can be found on the [https://gitlab.umiacs.umd.edu/staff/umobj/blob/master/README.md#umobj umobj Gitlab page].&lt;/div&gt;</summary>
		<author><name>Mbaney</name></author>
	</entry>
	<entry>
		<id>https://wiki.umiacs.umd.edu/umiacs/index.php?title=Nexus&amp;diff=13252</id>
		<title>Nexus</title>
		<link rel="alternate" type="text/html" href="https://wiki.umiacs.umd.edu/umiacs/index.php?title=Nexus&amp;diff=13252"/>
		<updated>2026-04-27T17:23:45Z</updated>

		<summary type="html">&lt;p&gt;Mbaney: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Note|UMIACS Technical Staff will begin the process of upgrading the operating system version on all Nexus cluster nodes in Summer 2026. Please see [[Nexus/ClusterOSUpgrade]] for more information.}}&lt;br /&gt;
&lt;br /&gt;
The Nexus is the combined scheduler of resources in UMIACS.  The resource manager for Nexus is [[SLURM]].  Resources are arranged into partitions where users are able to schedule computational jobs.  Users are arranged into a number of SLURM accounts based on faculty, lab, or center investments.&lt;br /&gt;
&lt;br /&gt;
= Getting Started =&lt;br /&gt;
All accounts in UMIACS are sponsored.  If you don&#039;t already have a UMIACS account, please see [[Accounts]] for information on getting one.  You need a full UMIACS account (not a [[Accounts/Collaborator | collaborator account]]) in order to access Nexus.&lt;br /&gt;
&lt;br /&gt;
== Access ==&lt;br /&gt;
Your access to submission nodes (alternatively called login nodes) for Nexus computational resources is determined by your account sponsor&#039;s department, center, or lab affiliation.  You can log into the [https://intranet.umiacs.umd.edu/directory/cr/ UMIACS Directory CR application] and select the Computational Resource (CR) in the list that has the prefix &amp;lt;code&amp;gt;nexus&amp;lt;/code&amp;gt;.  The Hosts section lists your available submission nodes - generally a pair of nodes of the format &amp;lt;tt&amp;gt;nexus&amp;lt;department, lab, or center abbreviation&amp;gt;[00,01]&amp;lt;/tt&amp;gt;, e.g., &amp;lt;tt&amp;gt;nexusgroup00&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;nexusgroup01&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Once you have identified your submission nodes, you can [[SSH]] into them [https://itsupport.umd.edu/itsupport?id=kb_article_view&amp;amp;sysparm_article=KB0016076 after connecting to UMD&#039;s GlobalProtect VPN].  From there, you are able to submit to the cluster via our [[SLURM]] workload manager.  You need to make sure that your submitted jobs have the correct account, partition, and qos.&lt;br /&gt;
&lt;br /&gt;
Please read our [[Nexus/Submission_Node_Policy|Submission Node Policy]] for guidance on appropriate usage of a submission node. If a submission node becomes unresponsive due to disregarding this policy, &amp;lt;b&amp;gt;we may kill user processes on these nodes to resolve the issue&amp;lt;/b&amp;gt;. We reserve the right to take action on users who repeatedly cause issues on submission nodes.&lt;br /&gt;
&lt;br /&gt;
== Jobs ==&lt;br /&gt;
[[SLURM]] jobs are [[SLURM/JobSubmission | submitted]] by either &amp;lt;code&amp;gt;srun&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;sbatch&amp;lt;/code&amp;gt; depending if you are doing an interactive job or batch job, respectively.  You need to provide the where/how/who to run the job and specify the resources you need to run with.&lt;br /&gt;
&lt;br /&gt;
For the who/where/how, you may be required to specify &amp;lt;code&amp;gt;--account&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;--partition&amp;lt;/code&amp;gt;, and/or &amp;lt;code&amp;gt;--qos&amp;lt;/code&amp;gt; (respectively) to be able to adequately submit jobs to the Nexus.&lt;br /&gt;
&lt;br /&gt;
For resources, you may need to specify &amp;lt;code&amp;gt;--time&amp;lt;/code&amp;gt; for time, &amp;lt;code&amp;gt;--cpus-per-task&amp;lt;/code&amp;gt; for CPUs, &amp;lt;code&amp;gt;--mem&amp;lt;/code&amp;gt; for RAM, and &amp;lt;code&amp;gt;--gres=gpu&amp;lt;/code&amp;gt; for GPUs in your submission arguments to meet your requirements.  There are defaults for all four; if you don&#039;t specify something, you will get the default value for that resource, which is minimal (e.g., by default, NO GPUs are included if you do not specify &amp;lt;code&amp;gt;--gres=gpu&amp;lt;/code&amp;gt;).  For more information about submission flags for GPU resources, see [[SLURM/JobSubmission#Requesting_GPUs | here]].  You may also use &amp;lt;code&amp;gt;--ntasks&amp;lt;/code&amp;gt; to specify the number of parallel processes to run, with each task having its own set of the resources specified above. You can run &amp;lt;code&amp;gt;man srun&amp;lt;/code&amp;gt; on your submission node for a complete list of available submission arguments.&lt;br /&gt;
&lt;br /&gt;
For a list of available GPU types on Nexus and their specs, please see [[Nexus/GPUs]].&lt;br /&gt;
&lt;br /&gt;
For details on how the network for Nexus is architected, please see [[Nexus/Network]]. This can be important if you wish to optimize performance of your jobs.&lt;br /&gt;
&lt;br /&gt;
=== Interactive ===&lt;br /&gt;
Once logged into a submission node, you can run simple interactive jobs.  If your session is interrupted from the submission node, the job will be killed.  As such, we encourage use of a terminal multiplexer such as [[Tmux]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ srun --pty --cpus-per-task=4 --mem=2gb --gres=gpu:1 bash&lt;br /&gt;
srun: Job account was unset; set to user default of &#039;nexus&#039;&lt;br /&gt;
srun: Job partition was unset; set to cluster default of &#039;tron&#039;&lt;br /&gt;
srun: Job QoS was unset; set to association default of &#039;default&#039;&lt;br /&gt;
srun: Job time limit was unset; set to partition default of 60 minutes&lt;br /&gt;
srun: job 1 queued and waiting for resources&lt;br /&gt;
srun: job 1 has been allocated resources&lt;br /&gt;
$ hostname&lt;br /&gt;
tron62.umiacs.umd.edu&lt;br /&gt;
$ nvidia-smi -L&lt;br /&gt;
GPU 0: NVIDIA GeForce RTX 2080 Ti (UUID: GPU-daad6a04-a2ce-1183-ce53-b267048f750a)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Batch ===&lt;br /&gt;
Batch jobs are scheduled with a script file with an optional ability to embed job scheduling parameters via variables that are defined by &amp;lt;code&amp;gt;#SBATCH&amp;lt;/code&amp;gt; lines at the top of the file.  You can find some examples in our [[SLURM/JobSubmission]] documentation.&lt;br /&gt;
&lt;br /&gt;
= Partitions = &lt;br /&gt;
The SLURM resource manager uses partitions to act as job queues which can restrict size, time and user limits. The Nexus has a number of different partitions of resources. Different Centers, Labs, and Faculty are able to invest in computational resources that are restricted to approved users through these partitions.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Partitions usable by all non-[[ClassAccounts |class account]] users:&#039;&#039;&#039;&lt;br /&gt;
* [[Nexus/Tron]] - Pool of resources available to all non-class accounts sponsored by either UMIACS or CSD faculty.&lt;br /&gt;
* Scavenger - [https://slurm.schedmd.com/preempt.html Preemption] partition that contains [https://en.wikipedia.org/wiki/X86-64 x86_64] architecture nodes from multiple other partitions. More resources are available to schedule simultaneously than in other partitions, however jobs are subject to preemption rules. You are responsible for ensuring your jobs handle this preemption correctly. The SLURM scheduler will simply restart a preempted job with the same submission arguments when it is available to run again. For an overview of things you can check within scripts to determine if your job was preempted/resumed, see [[SLURM/Preemption]].&lt;br /&gt;
* Scavenger (aarch64) - Preemption partition identical in design to &amp;lt;tt&amp;gt;scavenger&amp;lt;/tt&amp;gt;, but only contains [https://en.wikipedia.org/wiki/AArch64 aarch64] architecture nodes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Partitions usable by [[ClassAccounts]]:&#039;&#039;&#039;&lt;br /&gt;
* [[ClassAccounts#Cluster_Usage | Class]] - Pool of resources available to class accounts sponsored by either UMIACS or CSD faculty.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Partitions usable by specific lab/center users:&#039;&#039;&#039;&lt;br /&gt;
* [[Nexus/CBCB]] - CBCB lab pool available for CBCB lab members.&lt;br /&gt;
* [[Nexus/CLIP]] - CLIP lab pool available for CLIP lab members.&lt;br /&gt;
* [[Nexus/CML]] - CML lab pool available for CML lab members.&lt;br /&gt;
* [[Nexus/GAMMA]] - GAMMA lab pool available for GAMMA lab members.&lt;br /&gt;
* [[Nexus/MBRC]] - MBRC lab pool available for MBRC lab members.&lt;br /&gt;
* [[Nexus/MC2]] - MC2 lab pool available for MC2 lab members.&lt;br /&gt;
* [[Nexus/QuICS]] - QuICS lab pool available for QuICS lab members.&lt;br /&gt;
* [[Nexus/Vulcan]] - Vulcan lab pool available for Vulcan lab members.&lt;br /&gt;
&lt;br /&gt;
You can view the partitions that you have access to by using the &amp;lt;code&amp;gt;show_partitions&amp;lt;/code&amp;gt; command. By default, the command will show only the partitions that are available to you.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ show_partitions&lt;br /&gt;
                    Name           AllowAccounts                       AllowQos    MaxNodes                        Nodes&lt;br /&gt;
------------------------ ----------------------- ------------------------------ ----------- ----------------------------               &lt;br /&gt;
               scavenger               scavenger                      scavenger   UNLIMITED                brigid[16-19]                                                                                                             &lt;br /&gt;
                                                                                                             cbcb[00-29]                                                                                                             &lt;br /&gt;
                                                                                                             clip[00-13]                                                                                               &lt;br /&gt;
                                                                                               cml[00,02-13,15-28,30-33]                                                                                                     &lt;br /&gt;
                                                                                                     cmlcpu[00-04,06-07]                                                                                                         &lt;br /&gt;
                                                                                                         gammagpu[00-21]                                                                                               &lt;br /&gt;
                                                                                               legacy[00-11,13-28,30-36]                                                                                                        &lt;br /&gt;
                                                                                                        legacygpu[00-07]                                                                                                                 &lt;br /&gt;
                                                                                                                 quics00                                                                                                       &lt;br /&gt;
                                                                                                       tron[00-44,46-69]                                                                                                           &lt;br /&gt;
                                                                                                           vulcan[00-45]&lt;br /&gt;
------------------------------------------------------------------------------------------------------------------------&lt;br /&gt;
       scavenger-aarch64               scavenger              scavenger-aarch64   UNLIMITED                 oasis[00-39]&lt;br /&gt;
------------------------------------------------------------------------------------------------------------------------                    &lt;br /&gt;
                    tron                   nexus                        default   UNLIMITED            tron[00-44,46-69]                                                                           &lt;br /&gt;
                                                                           high                                                                                                                  &lt;br /&gt;
                                                                         medium                                         &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you want to see information for all of the partitions, including those that you do not have access to, you can use the &amp;lt;code&amp;gt;show_partitions --all&amp;lt;/code&amp;gt; command.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ show_partitions --all&lt;br /&gt;
                    Name           AllowAccounts                       AllowQos    MaxNodes                        Nodes&lt;br /&gt;
------------------------ ----------------------- ------------------------------ ----------- ----------------------------                    &lt;br /&gt;
                    cbcb                    cbcb                        default   UNLIMITED            cbcb[00-20,22-29]                                                                         &lt;br /&gt;
                                                                         medium                legacy[00-11,13-28,30-36]                                                                           &lt;br /&gt;
                                                                           high                                                                                                               &lt;br /&gt;
                                                                      huge-long                                                                                                                 &lt;br /&gt;
                                                                        highmem                                         &lt;br /&gt;
------------------------------------------------------------------------------------------------------------------------&lt;br /&gt;
               cbcb-heng               cbcb-heng                        default   UNLIMITED                  cbcb[26-29]                                                                         &lt;br /&gt;
                                                                         medium                                                                                                                     &lt;br /&gt;
                                                                           high                                                                                                               &lt;br /&gt;
                                                                      huge-long                                                                                                                 &lt;br /&gt;
                                                                        highmem                                         &lt;br /&gt;
------------------------------------------------------------------------------------------------------------------------        &lt;br /&gt;
        cbcb-interactive                    cbcb                    interactive   UNLIMITED                       cbcb21&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Quality of Service (QoS) =&lt;br /&gt;
SLURM uses Quality of Service (QoS) both to provide limits on job sizes (termed by us as &amp;quot;job QoS&amp;quot;) as well as to limit resources used by all jobs running in a partition, either per user or per group (termed by us as &amp;quot;partition QoS&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
=== Job QoS ===&lt;br /&gt;
Job QoS are used to provide limits on the size of job that you can run. You should try to allocate only the resources your job actually needs, as resources that each of your jobs schedules are counted against your [[SLURM/Priority#Fair-share | fair-share priority]] in the future.&lt;br /&gt;
* default - Default job QoS. Limited to 4 CPU cores, 1 GPU, and 32GB RAM per job.  The maximum wall time per job is 3 days.&lt;br /&gt;
* medium - Limited to 8 CPU cores, 2 GPUs, and 64GB RAM per job.  The maximum wall time per job is 2 days.&lt;br /&gt;
* high - Limited to 16 CPU cores, 4 GPUs, and 128GB RAM per job.  The maximum wall time per job is 1 day.&lt;br /&gt;
* scavenger - No resource limits per job, only a maximum wall time per job of 3 days.  You are responsible for ensuring your job requests multiple nodes if it requests resources beyond what any one node is capable of.  11% of the total resources available for each trackable resource type in the partition (CPUs/GPUs/RAM) is permitted simultaneously across all of your jobs running with this job QoS, enforced via the corresponding partition QoS (below) for the scavenger partition.  This job QoS is paired one-to-one with the scavenger partition. To use this job QoS, include &amp;lt;code&amp;gt;--partition=scavenger&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;--account=scavenger&amp;lt;/code&amp;gt; in your submission arguments.  Do not include any job QoS argument other than &amp;lt;code&amp;gt;--qos=scavenger&amp;lt;/code&amp;gt; (optional) or submission will fail.&lt;br /&gt;
* scavenger-aarch64 - No resource limits per job, only a maximum wall time per job of 3 days.  You are responsible for ensuring your job requests multiple nodes if it requests resources beyond what any one node is capable of.  This job QoS is paired one-to-one with the scavenger-aarch64 partition. To use this job QoS, include &amp;lt;code&amp;gt;--partition=scavenger-aarch64&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;--account=scavenger&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;--qos=scavenger-aarch64&amp;lt;/code&amp;gt; in your submission arguments.&lt;br /&gt;
&lt;br /&gt;
You can display these job QoS from the command line using the &amp;lt;code&amp;gt;show_qos&amp;lt;/code&amp;gt; command.  By default, the command will only show job QoS that you can access.  The above five job QoS are the ones that everyone can access.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ show_qos&lt;br /&gt;
                Name     MaxWall                        MaxTRES MaxJobsPU                      MaxTRESPU &lt;br /&gt;
-------------------- ----------- ------------------------------ --------- ------------------------------ &lt;br /&gt;
             default  3-00:00:00       cpu=4,gres/gpu=1,mem=32G                                          &lt;br /&gt;
                high  1-00:00:00     cpu=16,gres/gpu=4,mem=128G                                          &lt;br /&gt;
              medium  2-00:00:00       cpu=8,gres/gpu=2,mem=64G                                          &lt;br /&gt;
           scavenger  3-00:00:00                                                                         &lt;br /&gt;
   scavenger-aarch64  3-00:00:00                                                                         &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you want to see all job QoS, including those that you do not have access to, you can use the &amp;lt;code&amp;gt;show_qos --all&amp;lt;/code&amp;gt; command. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ show_qos --all&lt;br /&gt;
                Name     MaxWall                        MaxTRES MaxJobsPU                      MaxTRESPU&lt;br /&gt;
-------------------- ----------- ------------------------------ --------- ------------------------------&lt;br /&gt;
             cml-cpu  7-00:00:00                                        8&lt;br /&gt;
         cml-default  7-00:00:00       cpu=4,gres/gpu=1,mem=32G         2&lt;br /&gt;
            cml-high  1-12:00:00     cpu=16,gres/gpu=4,mem=128G         2&lt;br /&gt;
       cml-high_long 14-00:00:00              cpu=32,gres/gpu=8         8                     gres/gpu=8&lt;br /&gt;
          cml-medium  3-00:00:00       cpu=8,gres/gpu=2,mem=64G         2&lt;br /&gt;
       cml-scavenger  3-00:00:00                                                             gres/gpu=24&lt;br /&gt;
       cml-very_high  1-12:00:00     cpu=32,gres/gpu=8,mem=256G         8                    gres/gpu=12&lt;br /&gt;
             default  3-00:00:00       cpu=4,gres/gpu=1,mem=32G&lt;br /&gt;
     gamma-huge-long 10-00:00:00    cpu=32,gres/gpu=16,mem=256G&lt;br /&gt;
                high  1-00:00:00     cpu=16,gres/gpu=4,mem=128G&lt;br /&gt;
             highmem 21-00:00:00                 cpu=128,mem=2T&lt;br /&gt;
           huge-long 10-00:00:00     cpu=32,gres/gpu=8,mem=256G&lt;br /&gt;
         interactive    12:00:00                 cpu=4,mem=128G&lt;br /&gt;
              medium  2-00:00:00       cpu=8,gres/gpu=2,mem=64G&lt;br /&gt;
        oasis-exempt 10-00:00:00                                                      cpu=160,mem=28114M&lt;br /&gt;
           scavenger  3-00:00:00&lt;br /&gt;
   scavenger-aarch64  3-00:00:00&lt;br /&gt;
          vulcan-cpu  2-00:00:00                cpu=1024,mem=4T         4&lt;br /&gt;
      vulcan-default  7-00:00:00       cpu=4,gres/gpu=1,mem=32G         2&lt;br /&gt;
       vulcan-exempt  7-00:00:00     cpu=32,gres/gpu=8,mem=256G         2&lt;br /&gt;
         vulcan-high  1-12:00:00     cpu=16,gres/gpu=4,mem=128G         2&lt;br /&gt;
    vulcan-high_long 14-00:00:00              cpu=32,gres/gpu=8         8                     gres/gpu=8&lt;br /&gt;
       vulcan-medium  3-00:00:00       cpu=8,gres/gpu=2,mem=64G         2&lt;br /&gt;
       vulcan-sailon  3-00:00:00     cpu=32,gres/gpu=8,mem=256G                              gres/gpu=48&lt;br /&gt;
    vulcan-scavenger  3-00:00:00     cpu=32,gres/gpu=8,mem=256G&lt;br /&gt;
vulcan-scavenger-mu+  3-00:00:00  cpu=288,gres/gpu=72,mem=1152G&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You are able to submit to any partition that is listed in the &amp;lt;code&amp;gt;show_partitions&amp;lt;/code&amp;gt; command. If you need to use an account other than the default account &amp;lt;tt&amp;gt;nexus&amp;lt;/tt&amp;gt;, you will need to specify it via the &amp;lt;code&amp;gt;--account&amp;lt;/code&amp;gt; submission argument.&lt;br /&gt;
&lt;br /&gt;
=== Partition QoS ===&lt;br /&gt;
Partition QoS are used to limit resources used by all jobs running in a partition, either per user (MaxTRESPU) or per group (GrpTRES).&lt;br /&gt;
&lt;br /&gt;
To view partition QoS, use the &amp;lt;code&amp;gt;show_partition_qos&amp;lt;/code&amp;gt; command.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ show_partition_qos&lt;br /&gt;
                     Name MaxSubmitPU                        MaxTRESPU              GrpTRES&lt;br /&gt;
------------------------- ----------- -------------------------------- --------------------&lt;br /&gt;
   scavenger-aarch64_part         500                                                      &lt;br /&gt;
           scavenger_part         500     cpu=11%,gres/gpu=11%,mem=11%                     &lt;br /&gt;
                     tron         500    cpu=32,gres/gpu=4,mem=262144M                     &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The scavenger_part partition QoS has relative TRES limits based on the current hardware in a given partition, represented with percentages.  To see the current actual TRES limits of this partition QoS, you can use the &amp;lt;code&amp;gt;-r/--real&amp;lt;/code&amp;gt; argument.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ show_partition_qos -r&lt;br /&gt;
                     Name MaxSubmitPU                        MaxTRESPU              GrpTRES&lt;br /&gt;
------------------------- ----------- -------------------------------- --------------------&lt;br /&gt;
   scavenger-aarch64_part         500                                                      &lt;br /&gt;
           scavenger_part         500  cpu=888,gres/gpu=140,mem=12574G                     &lt;br /&gt;
                     tron         500    cpu=32,gres/gpu=4,mem=262144M                     &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you want to see all partition QoS, including those that you do not have access to, you can use the &amp;lt;code&amp;gt;show_partition_qos --all&amp;lt;/code&amp;gt; command.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ show_partition_qos --all&lt;br /&gt;
                     Name MaxSubmitPU                        MaxTRESPU              GrpTRES&lt;br /&gt;
------------------------- ----------- -------------------------------- --------------------&lt;br /&gt;
                     cbcb         500                                   cpu=1406,mem=50359G&lt;br /&gt;
                cbcb-heng         500                                                      &lt;br /&gt;
         cbcb-interactive         500                                                      &lt;br /&gt;
                    class         500    cpu=32,gres/gpu=4,mem=262144M                     &lt;br /&gt;
                     clip         500                                     cpu=726,mem=6939G&lt;br /&gt;
                      cml         500                                   cpu=1226,mem=12116G&lt;br /&gt;
                  cml-cpu         500                                                      &lt;br /&gt;
             cml-director         500                                                      &lt;br /&gt;
              cml-furongh         500                                                      &lt;br /&gt;
            cml-scavenger         500                      gres/gpu=24                     &lt;br /&gt;
               cml-sfeizi         500                                                      &lt;br /&gt;
                cml-wriva         500                                                      &lt;br /&gt;
           cml-wriva-high         500                                                      &lt;br /&gt;
                 csd-h200         500                                                      &lt;br /&gt;
                    gamma         500                                     cpu=906,mem=7675G&lt;br /&gt;
                     mbrc         500                                     cpu=370,mem=3571G&lt;br /&gt;
                      mc2         500                                     cpu=330,mem=3201G&lt;br /&gt;
                    oasis         500                                                      &lt;br /&gt;
                    quics         500                                     cpu=458,mem=4710G&lt;br /&gt;
   scavenger-aarch64_part         500                                                      &lt;br /&gt;
           scavenger_part         500     cpu=11%,gres/gpu=11%,mem=11%                     &lt;br /&gt;
                     tron         500    cpu=32,gres/gpu=4,mem=262144M                     &lt;br /&gt;
                   vulcan         500                                   cpu=1402,mem=12936G&lt;br /&gt;
            vulcan-ampere         500                                                      &lt;br /&gt;
               vulcan-cpu         500                                                      &lt;br /&gt;
            vulcan-ramani         500                                                      &lt;br /&gt;
         vulcan-scavenger         500                                                      &lt;br /&gt;
   vulcan-scavenger-multi         500                                                      &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE&#039;&#039;&#039;: These QoS cannot be used directly when submitting jobs. Partition QoS limits apply to all jobs running on a given partition, regardless of what job QoS is used.&lt;br /&gt;
&lt;br /&gt;
For example, in the default non-preemption partition (&amp;lt;tt&amp;gt;tron&amp;lt;/tt&amp;gt;), you are restricted to 32 total CPU cores, 4 total GPUs, and 256GB total RAM at once across all jobs you have running in the partition.&lt;br /&gt;
&lt;br /&gt;
Lab/group-specific partitions may also have their own user limits, and/or may also have group limits on the total number of resources consumed simultaneously by all users that are using their partition, codified by the line in the output above that matches their lab/group name. Note that the values listed above in the two &amp;quot;TRES&amp;quot; columns are not fixed and may fluctuate per-partition as more resources are added to or removed from each partition.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;All partitions also only allow a maximum of 500 submitted (running (R) or pending (PD)) jobs per user in the partition simultaneously.&#039;&#039;&#039; This is to prevent excess pending jobs causing [https://slurm.schedmd.com/sched_config.html#backfill backfill] issues with the SLURM scheduler.&lt;br /&gt;
* If you need to submit more than 500 jobs in batch at once, you can develop and run an &amp;quot;outer submission script&amp;quot; that repeatedly attempts to run an &amp;quot;inner submission script&amp;quot; (your original submission script) to submit jobs in the batch periodically, until all job submissions are successful. The outer submission script should use looping logic to check if you are at the max job limit and should then retry submission after waiting for some time interval.&lt;br /&gt;
: An example outer submission script is as follows. In this example, &amp;lt;code&amp;gt;example_inner.sh&amp;lt;/code&amp;gt; is your inner submission script and is not an [[SLURM/ArrayJobs | array job]], and you want to run 1000 jobs. If your inner submission script is an array job, adjust the number of jobs accordingly. Array jobs must be of size 500 or less.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
numjobs=1000&lt;br /&gt;
i=0&lt;br /&gt;
while [ $i -lt $numjobs ]&lt;br /&gt;
do&lt;br /&gt;
  while [[ &amp;quot;$(sbatch example_inner.sh 2&amp;gt;&amp;amp;1)&amp;quot; =~ &amp;quot;QOSMaxSubmitJobPerUserLimit&amp;quot; ]]&lt;br /&gt;
  do&lt;br /&gt;
    echo &amp;quot;Currently at maximum job submissions allowed for this QoS.&amp;quot;&lt;br /&gt;
    echo &amp;quot;Waiting for 5 minutes before trying to submit more jobs.&amp;quot;&lt;br /&gt;
    sleep 300&lt;br /&gt;
  done&lt;br /&gt;
  i=$(( $i + 1 ))&lt;br /&gt;
  echo &amp;quot;Submitted job $i of $numjobs&amp;quot;&lt;br /&gt;
done&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It is suggested that you run the outer submission script in a [[Tmux]] session to keep the terminal window executing it from being interrupted.&lt;br /&gt;
&lt;br /&gt;
= Storage =&lt;br /&gt;
All network storage available in Nexus is currently [[NFS]] based, and comes in a few different flavors. Compute nodes also have local scratch storage that can be used.&lt;br /&gt;
&lt;br /&gt;
== Home Directories ==&lt;br /&gt;
{{Nfshomes}}&lt;br /&gt;
&lt;br /&gt;
== Scratch Directories ==&lt;br /&gt;
Scratch data has no data protection including no snapshots and the data is not backed up. There are two types of scratch directories in the Nexus compute infrastructure:&lt;br /&gt;
* Network scratch directories&lt;br /&gt;
* Local scratch directories&lt;br /&gt;
&lt;br /&gt;
Please note that [[ClassAccounts | class accounts]] do not have network scratch directories.&lt;br /&gt;
&lt;br /&gt;
=== Network Scratch Directories ===&lt;br /&gt;
You are allocated 200GB of scratch space via NFS from &amp;lt;code&amp;gt;/fs/nexus-scratch/&amp;lt;USERNAME&amp;gt;&amp;lt;/code&amp;gt; where &amp;lt;USERNAME&amp;gt; is your UMIACS username.  &#039;&#039;&#039;It is not backed up or protected in any way.&#039;&#039;&#039;  This directory is &#039;&#039;&#039;[[Automounter | automounted]]&#039;&#039;&#039;; you will need to &amp;lt;code&amp;gt;cd&amp;lt;/code&amp;gt; into the directory or request/specify a fully qualified file path to access it.&lt;br /&gt;
&lt;br /&gt;
You can view your quota usage by running &amp;lt;code&amp;gt;df -h /fs/nexus-scratch/&amp;lt;USERNAME&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
You may request a permanent increase of up to 400GB total space without any faculty approval by [[HelpDesk | contacting staff]].  If you need space beyond 400GB, you will need faculty approval and/or a [[#Project_Allocations | project allocation]] for this. If you choose to increase your scratch space beyond 400GB, the increased space is also subject to the 270 TB days limit mentioned in the project allocation section before we check back in for renewal. For example, if you request 1.4TB total space, you may have this for 270 days (1TB beyond the 400GB permanent increase). The amount increased beyond 400GB will also count against your faculty member&#039;s 20TB total storage limit mentioned below.&lt;br /&gt;
&lt;br /&gt;
This file system is available on all submission, data management, and computational nodes within the cluster.&lt;br /&gt;
&lt;br /&gt;
=== Local Scratch Directories ===&lt;br /&gt;
Each computational node that you can schedule compute jobs on also has one or more local scratch directories.  These are always named &amp;lt;code&amp;gt;/scratch0&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;/scratch1&amp;lt;/code&amp;gt;, etc. and &#039;&#039;&#039;are not backed up or protected in any way.&#039;&#039;&#039;  These directories are almost always more performant than any other storage available to the job as they are mounted from disks directly attached to the compute node.  However, you must stage your data within the confines of your job and extract the relevant resultant data elsewhere before the end of your job.&lt;br /&gt;
&lt;br /&gt;
These local scratch directories have a tmpwatch job which will &#039;&#039;&#039;delete unaccessed data after 90 days&#039;&#039;&#039;, scheduled via maintenance jobs to run once a month during our [[MonthlyMaintenanceWindow | monthly maintenance windows]].  Please make sure you secure any resultant data you wish to keep from these directories at the end of your job.&lt;br /&gt;
&lt;br /&gt;
== Faculty Allocations ==&lt;br /&gt;
Each faculty member can be allocated 1TB of permanent lab space upon request.  We can also support grouping these individual allocations together into larger center, lab, or research group allocations if desired by the faculty.  Please [[HelpDesk | contact staff]] to inquire.&lt;br /&gt;
&lt;br /&gt;
Lab space storage is fully protected.  It has [[Snapshots | snapshots]] enabled and is [[NightlyBackups | backed up nightly]].&lt;br /&gt;
&lt;br /&gt;
== Project Allocations ==&lt;br /&gt;
Project allocations are available per user for 270 TB days; you can have a 1TB allocation for up to 270 days, a 3TB allocation for 90 days, etc..&lt;br /&gt;
&lt;br /&gt;
A single faculty member can not have more than 20TB of project allocations across all of their sponsored accounts active simultaneously. Network scratch allocation space increases beyond the 400GB permanent maximum also have the increase count against this limit (i.e., a 1TB network scratch allocation would have 600GB counted towards this limit).&lt;br /&gt;
&lt;br /&gt;
Project storage is fully protected.  It has [[Snapshots | snapshots]] enabled and is [[NightlyBackups | backed up nightly]].&lt;br /&gt;
&lt;br /&gt;
The maximum allocation length you can request is 540 days (500GB space) and the maximum storage space you can request is 9TB (30 day length).&lt;br /&gt;
&lt;br /&gt;
To request an allocation, please [[HelpDesk | contact staff]] with the faculty member(s) that the project is under involved in the conversation.  Please include the following details:&lt;br /&gt;
* Project Name (short)&lt;br /&gt;
* Description&lt;br /&gt;
* Size (1TB, 2TB, etc.)&lt;br /&gt;
* Length in days (270 days, 135 days, etc.)&lt;br /&gt;
* Other user(s) that need to access the allocation, if any&lt;br /&gt;
&lt;br /&gt;
These allocations are available via &amp;lt;code&amp;gt;/fs/nexus-projects/&amp;lt;project name&amp;gt;&amp;lt;/code&amp;gt;.  &#039;&#039;&#039;Renewal is not guaranteed to be available due to limits on the amount of total storage.&#039;&#039;&#039;  Near the end of the allocation period, staff will contact you and ask if you are still in need of the storage allocation.  If renewal is available, you can renew for up to another 270 TB days with reapproval from the original faculty approver.&lt;br /&gt;
* If you are no longer in need of the storage allocation, you will need to relocate all desired data within two weeks of the end of the allocation period.  Staff will then remove the allocation.&lt;br /&gt;
* If you do not respond to staff&#039;s request by the end of the allocation period, staff will make the allocation temporarily inaccessible.&lt;br /&gt;
** If you do respond asking for renewal but the original faculty approver does not respond within two weeks of the end of the allocation period, staff will also make the allocation temporarily inaccessible.&lt;br /&gt;
** If one month from the end of the allocation period is reached without both you and the faculty approver responding, staff will remove the allocation.&lt;br /&gt;
&lt;br /&gt;
== Datasets ==&lt;br /&gt;
We have read-only dataset storage available at &amp;lt;code&amp;gt;/fs/nexus-datasets&amp;lt;/code&amp;gt;.  If there are datasets that you would like to see curated and made available, please see [[Datasets | this page]].&lt;br /&gt;
&lt;br /&gt;
The list of Nexus datasets we currently host can be viewed [https://info.umiacs.umd.edu/datasets/list/?q=Nexus here].&lt;/div&gt;</summary>
		<author><name>Mbaney</name></author>
	</entry>
	<entry>
		<id>https://wiki.umiacs.umd.edu/umiacs/index.php?title=Nexus&amp;diff=13251</id>
		<title>Nexus</title>
		<link rel="alternate" type="text/html" href="https://wiki.umiacs.umd.edu/umiacs/index.php?title=Nexus&amp;diff=13251"/>
		<updated>2026-04-27T17:05:35Z</updated>

		<summary type="html">&lt;p&gt;Mbaney: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Note|UMIACS Technical Staff will begin the process of upgrading the operating system version on all Nexus cluster nodes beginning in Summer 2026. Please see [[Nexus/ClusterOSUpgrade]] for more information.}}&lt;br /&gt;
&lt;br /&gt;
The Nexus is the combined scheduler of resources in UMIACS.  The resource manager for Nexus is [[SLURM]].  Resources are arranged into partitions where users are able to schedule computational jobs.  Users are arranged into a number of SLURM accounts based on faculty, lab, or center investments.&lt;br /&gt;
&lt;br /&gt;
= Getting Started =&lt;br /&gt;
All accounts in UMIACS are sponsored.  If you don&#039;t already have a UMIACS account, please see [[Accounts]] for information on getting one.  You need a full UMIACS account (not a [[Accounts/Collaborator | collaborator account]]) in order to access Nexus.&lt;br /&gt;
&lt;br /&gt;
== Access ==&lt;br /&gt;
Your access to submission nodes (alternatively called login nodes) for Nexus computational resources is determined by your account sponsor&#039;s department, center, or lab affiliation.  You can log into the [https://intranet.umiacs.umd.edu/directory/cr/ UMIACS Directory CR application] and select the Computational Resource (CR) in the list that has the prefix &amp;lt;code&amp;gt;nexus&amp;lt;/code&amp;gt;.  The Hosts section lists your available submission nodes - generally a pair of nodes of the format &amp;lt;tt&amp;gt;nexus&amp;lt;department, lab, or center abbreviation&amp;gt;[00,01]&amp;lt;/tt&amp;gt;, e.g., &amp;lt;tt&amp;gt;nexusgroup00&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;nexusgroup01&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Once you have identified your submission nodes, you can [[SSH]] into them [https://itsupport.umd.edu/itsupport?id=kb_article_view&amp;amp;sysparm_article=KB0016076 after connecting to UMD&#039;s GlobalProtect VPN].  From there, you are able to submit to the cluster via our [[SLURM]] workload manager.  You need to make sure that your submitted jobs have the correct account, partition, and qos.&lt;br /&gt;
&lt;br /&gt;
Please read our [[Nexus/Submission_Node_Policy|Submission Node Policy]] for guidance on appropriate usage of a submission node. If a submission node becomes unresponsive due to disregarding this policy, &amp;lt;b&amp;gt;we may kill user processes on these nodes to resolve the issue&amp;lt;/b&amp;gt;. We reserve the right to take action on users who repeatedly cause issues on submission nodes.&lt;br /&gt;
&lt;br /&gt;
== Jobs ==&lt;br /&gt;
[[SLURM]] jobs are [[SLURM/JobSubmission | submitted]] by either &amp;lt;code&amp;gt;srun&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;sbatch&amp;lt;/code&amp;gt; depending if you are doing an interactive job or batch job, respectively.  You need to provide the where/how/who to run the job and specify the resources you need to run with.&lt;br /&gt;
&lt;br /&gt;
For the who/where/how, you may be required to specify &amp;lt;code&amp;gt;--account&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;--partition&amp;lt;/code&amp;gt;, and/or &amp;lt;code&amp;gt;--qos&amp;lt;/code&amp;gt; (respectively) to be able to adequately submit jobs to the Nexus.&lt;br /&gt;
&lt;br /&gt;
For resources, you may need to specify &amp;lt;code&amp;gt;--time&amp;lt;/code&amp;gt; for time, &amp;lt;code&amp;gt;--cpus-per-task&amp;lt;/code&amp;gt; for CPUs, &amp;lt;code&amp;gt;--mem&amp;lt;/code&amp;gt; for RAM, and &amp;lt;code&amp;gt;--gres=gpu&amp;lt;/code&amp;gt; for GPUs in your submission arguments to meet your requirements.  There are defaults for all four; if you don&#039;t specify something, you will get the default value for that resource, which is minimal (e.g., by default, NO GPUs are included if you do not specify &amp;lt;code&amp;gt;--gres=gpu&amp;lt;/code&amp;gt;).  For more information about submission flags for GPU resources, see [[SLURM/JobSubmission#Requesting_GPUs | here]].  You may also use &amp;lt;code&amp;gt;--ntasks&amp;lt;/code&amp;gt; to specify the number of parallel processes to run, with each task having its own set of the resources specified above. You can run &amp;lt;code&amp;gt;man srun&amp;lt;/code&amp;gt; on your submission node for a complete list of available submission arguments.&lt;br /&gt;
&lt;br /&gt;
For a list of available GPU types on Nexus and their specs, please see [[Nexus/GPUs]].&lt;br /&gt;
&lt;br /&gt;
For details on how the network for Nexus is architected, please see [[Nexus/Network]]. This can be important if you wish to optimize performance of your jobs.&lt;br /&gt;
&lt;br /&gt;
=== Interactive ===&lt;br /&gt;
Once logged into a submission node, you can run simple interactive jobs.  If your session is interrupted from the submission node, the job will be killed.  As such, we encourage use of a terminal multiplexer such as [[Tmux]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ srun --pty --cpus-per-task=4 --mem=2gb --gres=gpu:1 bash&lt;br /&gt;
srun: Job account was unset; set to user default of &#039;nexus&#039;&lt;br /&gt;
srun: Job partition was unset; set to cluster default of &#039;tron&#039;&lt;br /&gt;
srun: Job QoS was unset; set to association default of &#039;default&#039;&lt;br /&gt;
srun: Job time limit was unset; set to partition default of 60 minutes&lt;br /&gt;
srun: job 1 queued and waiting for resources&lt;br /&gt;
srun: job 1 has been allocated resources&lt;br /&gt;
$ hostname&lt;br /&gt;
tron62.umiacs.umd.edu&lt;br /&gt;
$ nvidia-smi -L&lt;br /&gt;
GPU 0: NVIDIA GeForce RTX 2080 Ti (UUID: GPU-daad6a04-a2ce-1183-ce53-b267048f750a)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Batch ===&lt;br /&gt;
Batch jobs are scheduled with a script file with an optional ability to embed job scheduling parameters via variables that are defined by &amp;lt;code&amp;gt;#SBATCH&amp;lt;/code&amp;gt; lines at the top of the file.  You can find some examples in our [[SLURM/JobSubmission]] documentation.&lt;br /&gt;
&lt;br /&gt;
= Partitions = &lt;br /&gt;
The SLURM resource manager uses partitions to act as job queues which can restrict size, time and user limits. The Nexus has a number of different partitions of resources. Different Centers, Labs, and Faculty are able to invest in computational resources that are restricted to approved users through these partitions.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Partitions usable by all non-[[ClassAccounts |class account]] users:&#039;&#039;&#039;&lt;br /&gt;
* [[Nexus/Tron]] - Pool of resources available to all non-class accounts sponsored by either UMIACS or CSD faculty.&lt;br /&gt;
* Scavenger - [https://slurm.schedmd.com/preempt.html Preemption] partition that contains [https://en.wikipedia.org/wiki/X86-64 x86_64] architecture nodes from multiple other partitions. More resources are available to schedule simultaneously than in other partitions, however jobs are subject to preemption rules. You are responsible for ensuring your jobs handle this preemption correctly. The SLURM scheduler will simply restart a preempted job with the same submission arguments when it is available to run again. For an overview of things you can check within scripts to determine if your job was preempted/resumed, see [[SLURM/Preemption]].&lt;br /&gt;
* Scavenger (aarch64) - Preemption partition identical in design to &amp;lt;tt&amp;gt;scavenger&amp;lt;/tt&amp;gt;, but only contains [https://en.wikipedia.org/wiki/AArch64 aarch64] architecture nodes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Partitions usable by [[ClassAccounts]]:&#039;&#039;&#039;&lt;br /&gt;
* [[ClassAccounts#Cluster_Usage | Class]] - Pool of resources available to class accounts sponsored by either UMIACS or CSD faculty.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Partitions usable by specific lab/center users:&#039;&#039;&#039;&lt;br /&gt;
* [[Nexus/CBCB]] - CBCB lab pool available for CBCB lab members.&lt;br /&gt;
* [[Nexus/CLIP]] - CLIP lab pool available for CLIP lab members.&lt;br /&gt;
* [[Nexus/CML]] - CML lab pool available for CML lab members.&lt;br /&gt;
* [[Nexus/GAMMA]] - GAMMA lab pool available for GAMMA lab members.&lt;br /&gt;
* [[Nexus/MBRC]] - MBRC lab pool available for MBRC lab members.&lt;br /&gt;
* [[Nexus/MC2]] - MC2 lab pool available for MC2 lab members.&lt;br /&gt;
* [[Nexus/QuICS]] - QuICS lab pool available for QuICS lab members.&lt;br /&gt;
* [[Nexus/Vulcan]] - Vulcan lab pool available for Vulcan lab members.&lt;br /&gt;
&lt;br /&gt;
You can view the partitions that you have access to by using the &amp;lt;code&amp;gt;show_partitions&amp;lt;/code&amp;gt; command. By default, the command will show only the partitions that are available to you.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ show_partitions&lt;br /&gt;
                    Name           AllowAccounts                       AllowQos    MaxNodes                        Nodes&lt;br /&gt;
------------------------ ----------------------- ------------------------------ ----------- ----------------------------               &lt;br /&gt;
               scavenger               scavenger                      scavenger   UNLIMITED                brigid[16-19]                                                                                                             &lt;br /&gt;
                                                                                                             cbcb[00-29]                                                                                                             &lt;br /&gt;
                                                                                                             clip[00-13]                                                                                               &lt;br /&gt;
                                                                                               cml[00,02-13,15-28,30-33]                                                                                                     &lt;br /&gt;
                                                                                                     cmlcpu[00-04,06-07]                                                                                                         &lt;br /&gt;
                                                                                                         gammagpu[00-21]                                                                                               &lt;br /&gt;
                                                                                               legacy[00-11,13-28,30-36]                                                                                                        &lt;br /&gt;
                                                                                                        legacygpu[00-07]                                                                                                                 &lt;br /&gt;
                                                                                                                 quics00                                                                                                       &lt;br /&gt;
                                                                                                       tron[00-44,46-69]                                                                                                           &lt;br /&gt;
                                                                                                           vulcan[00-45]&lt;br /&gt;
------------------------------------------------------------------------------------------------------------------------&lt;br /&gt;
       scavenger-aarch64               scavenger              scavenger-aarch64   UNLIMITED                 oasis[00-39]&lt;br /&gt;
------------------------------------------------------------------------------------------------------------------------                    &lt;br /&gt;
                    tron                   nexus                        default   UNLIMITED            tron[00-44,46-69]                                                                           &lt;br /&gt;
                                                                           high                                                                                                                  &lt;br /&gt;
                                                                         medium                                         &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you want to see information for all of the partitions, including those that you do not have access to, you can use the &amp;lt;code&amp;gt;show_partitions --all&amp;lt;/code&amp;gt; command.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ show_partitions --all&lt;br /&gt;
                    Name           AllowAccounts                       AllowQos    MaxNodes                        Nodes&lt;br /&gt;
------------------------ ----------------------- ------------------------------ ----------- ----------------------------                    &lt;br /&gt;
                    cbcb                    cbcb                        default   UNLIMITED            cbcb[00-20,22-29]                                                                         &lt;br /&gt;
                                                                         medium                legacy[00-11,13-28,30-36]                                                                           &lt;br /&gt;
                                                                           high                                                                                                               &lt;br /&gt;
                                                                      huge-long                                                                                                                 &lt;br /&gt;
                                                                        highmem                                         &lt;br /&gt;
------------------------------------------------------------------------------------------------------------------------&lt;br /&gt;
               cbcb-heng               cbcb-heng                        default   UNLIMITED                  cbcb[26-29]                                                                         &lt;br /&gt;
                                                                         medium                                                                                                                     &lt;br /&gt;
                                                                           high                                                                                                               &lt;br /&gt;
                                                                      huge-long                                                                                                                 &lt;br /&gt;
                                                                        highmem                                         &lt;br /&gt;
------------------------------------------------------------------------------------------------------------------------        &lt;br /&gt;
        cbcb-interactive                    cbcb                    interactive   UNLIMITED                       cbcb21&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Quality of Service (QoS) =&lt;br /&gt;
SLURM uses Quality of Service (QoS) both to provide limits on job sizes (termed by us as &amp;quot;job QoS&amp;quot;) as well as to limit resources used by all jobs running in a partition, either per user or per group (termed by us as &amp;quot;partition QoS&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
=== Job QoS ===&lt;br /&gt;
Job QoS are used to provide limits on the size of job that you can run. You should try to allocate only the resources your job actually needs, as resources that each of your jobs schedules are counted against your [[SLURM/Priority#Fair-share | fair-share priority]] in the future.&lt;br /&gt;
* default - Default job QoS. Limited to 4 CPU cores, 1 GPU, and 32GB RAM per job.  The maximum wall time per job is 3 days.&lt;br /&gt;
* medium - Limited to 8 CPU cores, 2 GPUs, and 64GB RAM per job.  The maximum wall time per job is 2 days.&lt;br /&gt;
* high - Limited to 16 CPU cores, 4 GPUs, and 128GB RAM per job.  The maximum wall time per job is 1 day.&lt;br /&gt;
* scavenger - No resource limits per job, only a maximum wall time per job of 3 days.  You are responsible for ensuring your job requests multiple nodes if it requests resources beyond what any one node is capable of.  11% of the total resources available for each trackable resource type in the partition (CPUs/GPUs/RAM) is permitted simultaneously across all of your jobs running with this job QoS, enforced via the corresponding partition QoS (below) for the scavenger partition.  This job QoS is paired one-to-one with the scavenger partition. To use this job QoS, include &amp;lt;code&amp;gt;--partition=scavenger&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;--account=scavenger&amp;lt;/code&amp;gt; in your submission arguments.  Do not include any job QoS argument other than &amp;lt;code&amp;gt;--qos=scavenger&amp;lt;/code&amp;gt; (optional) or submission will fail.&lt;br /&gt;
* scavenger-aarch64 - No resource limits per job, only a maximum wall time per job of 3 days.  You are responsible for ensuring your job requests multiple nodes if it requests resources beyond what any one node is capable of.  This job QoS is paired one-to-one with the scavenger-aarch64 partition. To use this job QoS, include &amp;lt;code&amp;gt;--partition=scavenger-aarch64&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;--account=scavenger&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;--qos=scavenger-aarch64&amp;lt;/code&amp;gt; in your submission arguments.&lt;br /&gt;
&lt;br /&gt;
You can display these job QoS from the command line using the &amp;lt;code&amp;gt;show_qos&amp;lt;/code&amp;gt; command.  By default, the command will only show job QoS that you can access.  The above five job QoS are the ones that everyone can access.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ show_qos&lt;br /&gt;
                Name     MaxWall                        MaxTRES MaxJobsPU                      MaxTRESPU &lt;br /&gt;
-------------------- ----------- ------------------------------ --------- ------------------------------ &lt;br /&gt;
             default  3-00:00:00       cpu=4,gres/gpu=1,mem=32G                                          &lt;br /&gt;
                high  1-00:00:00     cpu=16,gres/gpu=4,mem=128G                                          &lt;br /&gt;
              medium  2-00:00:00       cpu=8,gres/gpu=2,mem=64G                                          &lt;br /&gt;
           scavenger  3-00:00:00                                                                         &lt;br /&gt;
   scavenger-aarch64  3-00:00:00                                                                         &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you want to see all job QoS, including those that you do not have access to, you can use the &amp;lt;code&amp;gt;show_qos --all&amp;lt;/code&amp;gt; command. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ show_qos --all&lt;br /&gt;
                Name     MaxWall                        MaxTRES MaxJobsPU                      MaxTRESPU&lt;br /&gt;
-------------------- ----------- ------------------------------ --------- ------------------------------&lt;br /&gt;
             cml-cpu  7-00:00:00                                        8&lt;br /&gt;
         cml-default  7-00:00:00       cpu=4,gres/gpu=1,mem=32G         2&lt;br /&gt;
            cml-high  1-12:00:00     cpu=16,gres/gpu=4,mem=128G         2&lt;br /&gt;
       cml-high_long 14-00:00:00              cpu=32,gres/gpu=8         8                     gres/gpu=8&lt;br /&gt;
          cml-medium  3-00:00:00       cpu=8,gres/gpu=2,mem=64G         2&lt;br /&gt;
       cml-scavenger  3-00:00:00                                                             gres/gpu=24&lt;br /&gt;
       cml-very_high  1-12:00:00     cpu=32,gres/gpu=8,mem=256G         8                    gres/gpu=12&lt;br /&gt;
             default  3-00:00:00       cpu=4,gres/gpu=1,mem=32G&lt;br /&gt;
     gamma-huge-long 10-00:00:00    cpu=32,gres/gpu=16,mem=256G&lt;br /&gt;
                high  1-00:00:00     cpu=16,gres/gpu=4,mem=128G&lt;br /&gt;
             highmem 21-00:00:00                 cpu=128,mem=2T&lt;br /&gt;
           huge-long 10-00:00:00     cpu=32,gres/gpu=8,mem=256G&lt;br /&gt;
         interactive    12:00:00                 cpu=4,mem=128G&lt;br /&gt;
              medium  2-00:00:00       cpu=8,gres/gpu=2,mem=64G&lt;br /&gt;
        oasis-exempt 10-00:00:00                                                      cpu=160,mem=28114M&lt;br /&gt;
           scavenger  3-00:00:00&lt;br /&gt;
   scavenger-aarch64  3-00:00:00&lt;br /&gt;
          vulcan-cpu  2-00:00:00                cpu=1024,mem=4T         4&lt;br /&gt;
      vulcan-default  7-00:00:00       cpu=4,gres/gpu=1,mem=32G         2&lt;br /&gt;
       vulcan-exempt  7-00:00:00     cpu=32,gres/gpu=8,mem=256G         2&lt;br /&gt;
         vulcan-high  1-12:00:00     cpu=16,gres/gpu=4,mem=128G         2&lt;br /&gt;
    vulcan-high_long 14-00:00:00              cpu=32,gres/gpu=8         8                     gres/gpu=8&lt;br /&gt;
       vulcan-medium  3-00:00:00       cpu=8,gres/gpu=2,mem=64G         2&lt;br /&gt;
       vulcan-sailon  3-00:00:00     cpu=32,gres/gpu=8,mem=256G                              gres/gpu=48&lt;br /&gt;
    vulcan-scavenger  3-00:00:00     cpu=32,gres/gpu=8,mem=256G&lt;br /&gt;
vulcan-scavenger-mu+  3-00:00:00  cpu=288,gres/gpu=72,mem=1152G&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You are able to submit to any partition that is listed in the &amp;lt;code&amp;gt;show_partitions&amp;lt;/code&amp;gt; command. If you need to use an account other than the default account &amp;lt;tt&amp;gt;nexus&amp;lt;/tt&amp;gt;, you will need to specify it via the &amp;lt;code&amp;gt;--account&amp;lt;/code&amp;gt; submission argument.&lt;br /&gt;
&lt;br /&gt;
=== Partition QoS ===&lt;br /&gt;
Partition QoS are used to limit resources used by all jobs running in a partition, either per user (MaxTRESPU) or per group (GrpTRES).&lt;br /&gt;
&lt;br /&gt;
To view partition QoS, use the &amp;lt;code&amp;gt;show_partition_qos&amp;lt;/code&amp;gt; command.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ show_partition_qos&lt;br /&gt;
                     Name MaxSubmitPU                        MaxTRESPU              GrpTRES&lt;br /&gt;
------------------------- ----------- -------------------------------- --------------------&lt;br /&gt;
   scavenger-aarch64_part         500                                                      &lt;br /&gt;
           scavenger_part         500     cpu=11%,gres/gpu=11%,mem=11%                     &lt;br /&gt;
                     tron         500    cpu=32,gres/gpu=4,mem=262144M                     &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The scavenger_part partition QoS has relative TRES limits based on the current hardware in a given partition, represented with percentages.  To see the current actual TRES limits of this partition QoS, you can use the &amp;lt;code&amp;gt;-r/--real&amp;lt;/code&amp;gt; argument.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ show_partition_qos -r&lt;br /&gt;
                     Name MaxSubmitPU                        MaxTRESPU              GrpTRES&lt;br /&gt;
------------------------- ----------- -------------------------------- --------------------&lt;br /&gt;
   scavenger-aarch64_part         500                                                      &lt;br /&gt;
           scavenger_part         500  cpu=888,gres/gpu=140,mem=12574G                     &lt;br /&gt;
                     tron         500    cpu=32,gres/gpu=4,mem=262144M                     &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you want to see all partition QoS, including those that you do not have access to, you can use the &amp;lt;code&amp;gt;show_partition_qos --all&amp;lt;/code&amp;gt; command.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ show_partition_qos --all&lt;br /&gt;
                     Name MaxSubmitPU                        MaxTRESPU              GrpTRES&lt;br /&gt;
------------------------- ----------- -------------------------------- --------------------&lt;br /&gt;
                     cbcb         500                                   cpu=1406,mem=50359G&lt;br /&gt;
                cbcb-heng         500                                                      &lt;br /&gt;
         cbcb-interactive         500                                                      &lt;br /&gt;
                    class         500    cpu=32,gres/gpu=4,mem=262144M                     &lt;br /&gt;
                     clip         500                                     cpu=726,mem=6939G&lt;br /&gt;
                      cml         500                                   cpu=1226,mem=12116G&lt;br /&gt;
                  cml-cpu         500                                                      &lt;br /&gt;
             cml-director         500                                                      &lt;br /&gt;
              cml-furongh         500                                                      &lt;br /&gt;
            cml-scavenger         500                      gres/gpu=24                     &lt;br /&gt;
               cml-sfeizi         500                                                      &lt;br /&gt;
                cml-wriva         500                                                      &lt;br /&gt;
           cml-wriva-high         500                                                      &lt;br /&gt;
                 csd-h200         500                                                      &lt;br /&gt;
                    gamma         500                                     cpu=906,mem=7675G&lt;br /&gt;
                     mbrc         500                                     cpu=370,mem=3571G&lt;br /&gt;
                      mc2         500                                     cpu=330,mem=3201G&lt;br /&gt;
                    oasis         500                                                      &lt;br /&gt;
                    quics         500                                     cpu=458,mem=4710G&lt;br /&gt;
   scavenger-aarch64_part         500                                                      &lt;br /&gt;
           scavenger_part         500     cpu=11%,gres/gpu=11%,mem=11%                     &lt;br /&gt;
                     tron         500    cpu=32,gres/gpu=4,mem=262144M                     &lt;br /&gt;
                   vulcan         500                                   cpu=1402,mem=12936G&lt;br /&gt;
            vulcan-ampere         500                                                      &lt;br /&gt;
               vulcan-cpu         500                                                      &lt;br /&gt;
            vulcan-ramani         500                                                      &lt;br /&gt;
         vulcan-scavenger         500                                                      &lt;br /&gt;
   vulcan-scavenger-multi         500                                                      &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE&#039;&#039;&#039;: These QoS cannot be used directly when submitting jobs. Partition QoS limits apply to all jobs running on a given partition, regardless of what job QoS is used.&lt;br /&gt;
&lt;br /&gt;
For example, in the default non-preemption partition (&amp;lt;tt&amp;gt;tron&amp;lt;/tt&amp;gt;), you are restricted to 32 total CPU cores, 4 total GPUs, and 256GB total RAM at once across all jobs you have running in the partition.&lt;br /&gt;
&lt;br /&gt;
Lab/group-specific partitions may also have their own user limits, and/or may also have group limits on the total number of resources consumed simultaneously by all users that are using their partition, codified by the line in the output above that matches their lab/group name. Note that the values listed above in the two &amp;quot;TRES&amp;quot; columns are not fixed and may fluctuate per-partition as more resources are added to or removed from each partition.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;All partitions also only allow a maximum of 500 submitted (running (R) or pending (PD)) jobs per user in the partition simultaneously.&#039;&#039;&#039; This is to prevent excess pending jobs causing [https://slurm.schedmd.com/sched_config.html#backfill backfill] issues with the SLURM scheduler.&lt;br /&gt;
* If you need to submit more than 500 jobs in batch at once, you can develop and run an &amp;quot;outer submission script&amp;quot; that repeatedly attempts to run an &amp;quot;inner submission script&amp;quot; (your original submission script) to submit jobs in the batch periodically, until all job submissions are successful. The outer submission script should use looping logic to check if you are at the max job limit and should then retry submission after waiting for some time interval.&lt;br /&gt;
: An example outer submission script is as follows. In this example, &amp;lt;code&amp;gt;example_inner.sh&amp;lt;/code&amp;gt; is your inner submission script and is not an [[SLURM/ArrayJobs | array job]], and you want to run 1000 jobs. If your inner submission script is an array job, adjust the number of jobs accordingly. Array jobs must be of size 500 or less.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
numjobs=1000&lt;br /&gt;
i=0&lt;br /&gt;
while [ $i -lt $numjobs ]&lt;br /&gt;
do&lt;br /&gt;
  while [[ &amp;quot;$(sbatch example_inner.sh 2&amp;gt;&amp;amp;1)&amp;quot; =~ &amp;quot;QOSMaxSubmitJobPerUserLimit&amp;quot; ]]&lt;br /&gt;
  do&lt;br /&gt;
    echo &amp;quot;Currently at maximum job submissions allowed for this QoS.&amp;quot;&lt;br /&gt;
    echo &amp;quot;Waiting for 5 minutes before trying to submit more jobs.&amp;quot;&lt;br /&gt;
    sleep 300&lt;br /&gt;
  done&lt;br /&gt;
  i=$(( $i + 1 ))&lt;br /&gt;
  echo &amp;quot;Submitted job $i of $numjobs&amp;quot;&lt;br /&gt;
done&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It is suggested that you run the outer submission script in a [[Tmux]] session to keep the terminal window executing it from being interrupted.&lt;br /&gt;
&lt;br /&gt;
= Storage =&lt;br /&gt;
All network storage available in Nexus is currently [[NFS]] based, and comes in a few different flavors. Compute nodes also have local scratch storage that can be used.&lt;br /&gt;
&lt;br /&gt;
== Home Directories ==&lt;br /&gt;
{{Nfshomes}}&lt;br /&gt;
&lt;br /&gt;
== Scratch Directories ==&lt;br /&gt;
Scratch data has no data protection including no snapshots and the data is not backed up. There are two types of scratch directories in the Nexus compute infrastructure:&lt;br /&gt;
* Network scratch directories&lt;br /&gt;
* Local scratch directories&lt;br /&gt;
&lt;br /&gt;
Please note that [[ClassAccounts | class accounts]] do not have network scratch directories.&lt;br /&gt;
&lt;br /&gt;
=== Network Scratch Directories ===&lt;br /&gt;
You are allocated 200GB of scratch space via NFS from &amp;lt;code&amp;gt;/fs/nexus-scratch/&amp;lt;USERNAME&amp;gt;&amp;lt;/code&amp;gt; where &amp;lt;USERNAME&amp;gt; is your UMIACS username.  &#039;&#039;&#039;It is not backed up or protected in any way.&#039;&#039;&#039;  This directory is &#039;&#039;&#039;[[Automounter | automounted]]&#039;&#039;&#039;; you will need to &amp;lt;code&amp;gt;cd&amp;lt;/code&amp;gt; into the directory or request/specify a fully qualified file path to access it.&lt;br /&gt;
&lt;br /&gt;
You can view your quota usage by running &amp;lt;code&amp;gt;df -h /fs/nexus-scratch/&amp;lt;USERNAME&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
You may request a permanent increase of up to 400GB total space without any faculty approval by [[HelpDesk | contacting staff]].  If you need space beyond 400GB, you will need faculty approval and/or a [[#Project_Allocations | project allocation]] for this. If you choose to increase your scratch space beyond 400GB, the increased space is also subject to the 270 TB days limit mentioned in the project allocation section before we check back in for renewal. For example, if you request 1.4TB total space, you may have this for 270 days (1TB beyond the 400GB permanent increase). The amount increased beyond 400GB will also count against your faculty member&#039;s 20TB total storage limit mentioned below.&lt;br /&gt;
&lt;br /&gt;
This file system is available on all submission, data management, and computational nodes within the cluster.&lt;br /&gt;
&lt;br /&gt;
=== Local Scratch Directories ===&lt;br /&gt;
Each computational node that you can schedule compute jobs on also has one or more local scratch directories.  These are always named &amp;lt;code&amp;gt;/scratch0&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;/scratch1&amp;lt;/code&amp;gt;, etc. and &#039;&#039;&#039;are not backed up or protected in any way.&#039;&#039;&#039;  These directories are almost always more performant than any other storage available to the job as they are mounted from disks directly attached to the compute node.  However, you must stage your data within the confines of your job and extract the relevant resultant data elsewhere before the end of your job.&lt;br /&gt;
&lt;br /&gt;
These local scratch directories have a tmpwatch job which will &#039;&#039;&#039;delete unaccessed data after 90 days&#039;&#039;&#039;, scheduled via maintenance jobs to run once a month during our [[MonthlyMaintenanceWindow | monthly maintenance windows]].  Please make sure you secure any resultant data you wish to keep from these directories at the end of your job.&lt;br /&gt;
&lt;br /&gt;
== Faculty Allocations ==&lt;br /&gt;
Each faculty member can be allocated 1TB of permanent lab space upon request.  We can also support grouping these individual allocations together into larger center, lab, or research group allocations if desired by the faculty.  Please [[HelpDesk | contact staff]] to inquire.&lt;br /&gt;
&lt;br /&gt;
Lab space storage is fully protected.  It has [[Snapshots | snapshots]] enabled and is [[NightlyBackups | backed up nightly]].&lt;br /&gt;
&lt;br /&gt;
== Project Allocations ==&lt;br /&gt;
Project allocations are available per user for 270 TB days; you can have a 1TB allocation for up to 270 days, a 3TB allocation for 90 days, etc..&lt;br /&gt;
&lt;br /&gt;
A single faculty member can not have more than 20TB of project allocations across all of their sponsored accounts active simultaneously. Network scratch allocation space increases beyond the 400GB permanent maximum also have the increase count against this limit (i.e., a 1TB network scratch allocation would have 600GB counted towards this limit).&lt;br /&gt;
&lt;br /&gt;
Project storage is fully protected.  It has [[Snapshots | snapshots]] enabled and is [[NightlyBackups | backed up nightly]].&lt;br /&gt;
&lt;br /&gt;
The maximum allocation length you can request is 540 days (500GB space) and the maximum storage space you can request is 9TB (30 day length).&lt;br /&gt;
&lt;br /&gt;
To request an allocation, please [[HelpDesk | contact staff]] with the faculty member(s) that the project is under involved in the conversation.  Please include the following details:&lt;br /&gt;
* Project Name (short)&lt;br /&gt;
* Description&lt;br /&gt;
* Size (1TB, 2TB, etc.)&lt;br /&gt;
* Length in days (270 days, 135 days, etc.)&lt;br /&gt;
* Other user(s) that need to access the allocation, if any&lt;br /&gt;
&lt;br /&gt;
These allocations are available via &amp;lt;code&amp;gt;/fs/nexus-projects/&amp;lt;project name&amp;gt;&amp;lt;/code&amp;gt;.  &#039;&#039;&#039;Renewal is not guaranteed to be available due to limits on the amount of total storage.&#039;&#039;&#039;  Near the end of the allocation period, staff will contact you and ask if you are still in need of the storage allocation.  If renewal is available, you can renew for up to another 270 TB days with reapproval from the original faculty approver.&lt;br /&gt;
* If you are no longer in need of the storage allocation, you will need to relocate all desired data within two weeks of the end of the allocation period.  Staff will then remove the allocation.&lt;br /&gt;
* If you do not respond to staff&#039;s request by the end of the allocation period, staff will make the allocation temporarily inaccessible.&lt;br /&gt;
** If you do respond asking for renewal but the original faculty approver does not respond within two weeks of the end of the allocation period, staff will also make the allocation temporarily inaccessible.&lt;br /&gt;
** If one month from the end of the allocation period is reached without both you and the faculty approver responding, staff will remove the allocation.&lt;br /&gt;
&lt;br /&gt;
== Datasets ==&lt;br /&gt;
We have read-only dataset storage available at &amp;lt;code&amp;gt;/fs/nexus-datasets&amp;lt;/code&amp;gt;.  If there are datasets that you would like to see curated and made available, please see [[Datasets | this page]].&lt;br /&gt;
&lt;br /&gt;
The list of Nexus datasets we currently host can be viewed [https://info.umiacs.umd.edu/datasets/list/?q=Nexus here].&lt;/div&gt;</summary>
		<author><name>Mbaney</name></author>
	</entry>
	<entry>
		<id>https://wiki.umiacs.umd.edu/umiacs/index.php?title=Nexus/ClusterOSUpgrade&amp;diff=13250</id>
		<title>Nexus/ClusterOSUpgrade</title>
		<link rel="alternate" type="text/html" href="https://wiki.umiacs.umd.edu/umiacs/index.php?title=Nexus/ClusterOSUpgrade&amp;diff=13250"/>
		<updated>2026-04-27T17:05:27Z</updated>

		<summary type="html">&lt;p&gt;Mbaney: Created page with &amp;quot;==Overview== UMIACS Technical Staff will begin the process of upgrading the operating system version on all Nexus cluster nodes from  Red Hat Enterprise Linux (RHEL) 8 to 9 in Summer 2026.  RHEL8 is in the Maintenance Support phase of its life cycle and is transitioning to the Extended Life phase in 2029. More information on Red Hat&amp;#039;s lifecycle policy for its operating systems can be found [https://access.redhat.com/support/policy/updates/errata here]. We...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Overview==&lt;br /&gt;
UMIACS Technical Staff will begin the process of upgrading the operating system version on all [[Nexus]] cluster nodes from [[RHEL | Red Hat Enterprise Linux (RHEL)]] 8 to 9 in Summer 2026.&lt;br /&gt;
&lt;br /&gt;
RHEL8 is in the Maintenance Support phase of its life cycle and is transitioning to the Extended Life phase in 2029. More information on Red Hat&#039;s lifecycle policy for its operating systems can be found [https://access.redhat.com/support/policy/updates/errata here]. We are staying well ahead of the Extended Life phase date for our cluster nodes by performing these upgrades now.&lt;br /&gt;
&lt;br /&gt;
RHEL9 is still in the Full Support phase of its life cycle and introduces a newer major Linux kernel version and newer [https://www.gnu.org/software/libc glibc] version, improving compatibility with many newer software applications.&lt;br /&gt;
&lt;br /&gt;
==Scheduling==&lt;br /&gt;
&#039;&#039;&#039;Upgrades for all cluster nodes will begin as early as Monday 06/01/2026 at 9am.&#039;&#039;&#039; We expect to be finished with all cluster node upgrades no later than Friday 08/21/2026 at 5pm.&lt;br /&gt;
&lt;br /&gt;
===[[SLURM/JobSubmission | Submission Nodes]]===&lt;br /&gt;
&#039;&#039;&#039;Submission nodes with the number &#039;01&#039; in their hostnames will be taken offline for upgrade on 06/01/2026 at 9am.&#039;&#039;&#039; We expect that they will be back online no later than 5pm on that same day.&lt;br /&gt;
&lt;br /&gt;
Submission nodes with the number &#039;00&#039; in their hostnames will be scheduled for upgrade individually, when all of the compute nodes associated with the same lab/center have been upgraded. Staff will send a notification to individual lab&#039;s/center&#039;s cluster users to schedule the relevant &#039;00&#039; node&#039;s upgrade when applicable. The actual date of each upgrade will be no less than one week after the corresponding notification has been sent.&lt;br /&gt;
&lt;br /&gt;
Data in [[FilesystemDataStorage#UNIX_Filesystem_Storage | UNIX filesystem storage]] spaces on each submission node, i.e., /tmp and /scratch0, will not be preserved during upgrade. If you have any data in any such space on either submission node in a pairing that you want to keep, please ensure you copy it to the other submission node or a [[FilesystemDataStorage#Network-Attached_Filesystem_Storage | network-attached filesystem storage]] space prior to each node&#039;s upgrade date. Data in network-attached filesystem storage spaces, such as /nfshomes or /fs/nexus-scratch, will not be affected.&lt;br /&gt;
&lt;br /&gt;
===Compute Nodes===&lt;br /&gt;
Due to the large number of compute nodes and the desire to not interrupt running jobs, we are not generally able to schedule each specific compute node upgrade on a specific date. If you find that a specific node is unavailable to schedule jobs on, you can run the command &amp;lt;code&amp;gt;sinfo --list-reasons --long&amp;lt;/code&amp;gt; on a submission node and look to see if the node is in the list with the text &amp;quot;RHEL9 upgrade&amp;quot; - if this is present, the upgrade for that node is underway.&lt;br /&gt;
&lt;br /&gt;
We will generally be prioritizing upgrades for nodes based on how available they are across various partitions; nodes that are only available in partitions that contain large numbers of users for a lab/center, e.g., cbcb, clip, cml-dpart, gamma, vulcan-ampere, vulcan-dpart, etc., and corresponding &amp;quot;scavenger&amp;quot; named partitions, will be prioritized over nodes that are only or are also available in faculty-specific / limited-node partitions. All nodes in the tron partition will also generally be prioritized.&lt;br /&gt;
&lt;br /&gt;
If you are a faculty member authoritative for your own partition or a small group&#039;s limited-node partition and have scheduling concerns for the nodes in these partitions, please [[HelpDesk | contact staff]] ASAP to let us know about these concerns and we will make our best effort to accommodate them.&lt;br /&gt;
&lt;br /&gt;
==Interoperability==&lt;br /&gt;
===Software and Modules===&lt;br /&gt;
Please begin transitioning your [[PythonVirtualEnv | virtual environments]], workflows, etc. to work with RHEL9 as soon as possible. You can use the &#039;01&#039; submission node that you have access to after it is back online sometime after 9am on 06/01/2026 for transitioning and light testing - as always, [[Nexus/Submission_Node_Policy | please do not run any computationally intensive processes on this node]]. It is intended to be a host for configuring environments/workflows and submitting jobs only.&lt;br /&gt;
&lt;br /&gt;
The [[Modules | module tree]] for RHEL9 has already been populated with a large number of the same modules that are available in the RHEL8 module tree, although specific modules may have different versions available in the RHEL9 tree as compared to the RHEL8 tree. If you have a dependency on a specific version of a module that is not available in the RHEL9 tree, please [[HelpDesk | contact staff]] and we can get one created.&lt;br /&gt;
* If you want to check to see if a specific version is available now but do not have access to any RHEL9 node yet, the current module tree for RHEL9 is located at /fs/UMos/RedHat-9/x86_64/local/stow/.modulefiles and can be viewed from any UMIACS-supported host.&lt;br /&gt;
&lt;br /&gt;
===SLURM Scheduling===&lt;br /&gt;
If you want or need to schedule a job on only nodes running RHEL8 (or RHEL9, once you have validated whatever is relevant), you can use the submission arguments &amp;lt;code&amp;gt;--prefer=rhel#&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;--constraint=rhel#&amp;lt;/code&amp;gt; in your job arguments to specify this, where # is replaced by the OS version number. The --prefer argument is a soft limitation on which nodes the job can be scheduled on and the --constraint argument is a hard limitation, i.e., if you use the argument &amp;lt;code&amp;gt;--prefer=rhel8&amp;lt;/code&amp;gt; but there are no RHEL8 nodes available at present (with your other submission arguments also satisfied) in the partition you are submitting to, the job will be scheduled on an appropriate RHEL9 node if that would result in an earlier (or instantaneous) start time.&lt;/div&gt;</summary>
		<author><name>Mbaney</name></author>
	</entry>
	<entry>
		<id>https://wiki.umiacs.umd.edu/umiacs/index.php?title=Nexus/Vulcan&amp;diff=13247</id>
		<title>Nexus/Vulcan</title>
		<link rel="alternate" type="text/html" href="https://wiki.umiacs.umd.edu/umiacs/index.php?title=Nexus/Vulcan&amp;diff=13247"/>
		<updated>2026-04-27T13:42:27Z</updated>

		<summary type="html">&lt;p&gt;Mbaney: /* Accounts */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The compute nodes from Vulcan&#039;s previous standalone cluster have folded into [[Nexus]] as of the scheduled [[MonthlyMaintenanceWindow | maintenance window]] for August 2023 (Thursday 08/17/2023, 5-8pm).&lt;br /&gt;
&lt;br /&gt;
The Nexus cluster already has a large pool of compute resources made possible through college-level funding for UMIACS and CSD faculty. Details on common nodes already in the cluster (Tron partition) can be found [[Nexus/Tron | here]].&lt;br /&gt;
&lt;br /&gt;
Please [[HelpDesk | contact staff]] with any questions or concerns.&lt;br /&gt;
&lt;br /&gt;
==Usage==&lt;br /&gt;
You can [[SSH]] to &amp;lt;code&amp;gt;nexusvulcan.umiacs.umd.edu&amp;lt;/code&amp;gt; to log in to a submission node.&lt;br /&gt;
&lt;br /&gt;
If you store something in a local directory (/tmp, /scratch0) on one of the two submission nodes, you will need to connect to that same submission node to access it later. The actual submission nodes are:&lt;br /&gt;
* &amp;lt;code&amp;gt;nexusvulcan00.umiacs.umd.edu&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;nexusvulcan01.umiacs.umd.edu&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
All partitions, QoSes, and account names from the standalone Vulcan cluster have been moved over to Nexus. However, please note that &amp;lt;code&amp;gt;vulcan-&amp;lt;/code&amp;gt; is prepended to all of the values that were present in the standalone Vulcan cluster to distinguish them from existing values in Nexus. The lone exception is the base account that was named &amp;lt;code&amp;gt;vulcan&amp;lt;/code&amp;gt; in the standalone cluster (it is also named just &amp;lt;code&amp;gt;vulcan&amp;lt;/code&amp;gt; in Nexus).&lt;br /&gt;
&lt;br /&gt;
Here are some before/after examples of job submission with various parameters:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Standalone Vulcan cluster submission command&lt;br /&gt;
! Nexus cluster submission command&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;srun --partition=dpart --qos=medium --account=abhinav --gres=gpu:gtx1080ti:2 --pty bash&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;srun --partition=vulcan-dpart --qos=vulcan-medium --account=vulcan-abhinav --gres=gpu:gtx1080ti:2 --pty bash&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;srun --partition=cpu --qos=cpu --pty bash&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;srun --partition=vulcan-cpu --qos=vulcan-cpu --account=vulcan --pty bash&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;srun --partition=scavenger --qos=scavenger --account=vulcan --gres=gpu:4 --pty bash&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;srun --partition=vulcan-scavenger --qos=vulcan-scavenger --account=vulcan --gres=gpu:4 --pty bash&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Vulcan users (exclusively) can schedule non-interruptible jobs on Vulcan nodes with any non-scavenger job parameters. Please note that the &amp;lt;code&amp;gt;vulcan-dpart&amp;lt;/code&amp;gt; partition has a &amp;lt;code&amp;gt;GrpTRES&amp;lt;/code&amp;gt; limit of 100% of the available cores/RAM on all vulcan## in aggregate nodes plus 50% of the available cores/RAM on legacy## nodes in aggregate, so your job may need to wait if all available cores/RAM (or GPUs) are in use. It also has a max submission limit of 500 jobs per user simultaneously so as to not overload the cluster. This is codified by the partition QoS named &#039;&#039;&#039;vulcan&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Please note that the Vulcan compute nodes are also in the institute-wide &amp;lt;code&amp;gt;scavenger&amp;lt;/code&amp;gt; partition in Nexus. Vulcan users still have scavenging priority over these nodes via the &amp;lt;code&amp;gt;vulcan-scavenger&amp;lt;/code&amp;gt; partition (i.e., all &amp;lt;code&amp;gt;vulcan-&amp;lt;/code&amp;gt; partition jobs (other than &amp;lt;code&amp;gt;vulcan-scavenger&amp;lt;/code&amp;gt;) can preempt both &amp;lt;code&amp;gt;vulcan-scavenger&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;scavenger&amp;lt;/code&amp;gt; partition jobs, and &amp;lt;code&amp;gt;vulcan-scavenger&amp;lt;/code&amp;gt; partition jobs can preempt &amp;lt;code&amp;gt;scavenger&amp;lt;/code&amp;gt; partition jobs).&lt;br /&gt;
&lt;br /&gt;
==Compute Nodes==&lt;br /&gt;
There are currently 46 [[Nexus/Vulcan/GPUs | GPU nodes]] available, named vulcan[00-45], running a mixture of NVIDIA RTX A6000, NVIDIA RTX A5000, NVIDIA RTX A4000, and a number of different older generation cards. There are also 4 CPU-only nodes available, named brigid[16-19].&lt;br /&gt;
&lt;br /&gt;
All nodes are scheduled with the [[SLURM]] resource manager.&lt;br /&gt;
&lt;br /&gt;
==Network==&lt;br /&gt;
The network infrastructure supporting the Vulcan partition consists of:&lt;br /&gt;
# One pair of network switches connected to each other via dual 100GbE links for redundancy, serving the following compute nodes:&lt;br /&gt;
#* brigid[16-17],vulcan[29-45]: Two 100GbE links per node, one to each switch in the pair (redundancy).&lt;br /&gt;
#* vulcan46: Four 100GbE links, two to each switch in the pair (redundancy and increased bandwidth).&lt;br /&gt;
# One pair of network switches connected to the above pair of switches through several sets of intermediary switches, and to each other via dual 10GbE links for redundancy. The immediate connection to these sets of intermediary switches is via two 40GbE links to a pair of them, one between the first two switches in each pair and one between the second two switches in each pair for redundancy. This pair serves the following compute nodes:&lt;br /&gt;
#* brigid[18-19],vulcan[00-28]: Two 10GbE links per node, one to each switch in the pair (redundancy).&lt;br /&gt;
&lt;br /&gt;
The fileserver hosting all Vulcan [[Nexus/Vulcan#Scratch_Directories | scratch]], [[Nexus/Vulcan#Project_Storage | project]], and [[Nexus/Vulcan#Datasets | dataset]] allocations first connects to a pair of intermediary switches and then the first pair of switches mentioned [[Nexus/Tron#Network | here (Tron page&#039;s network section)]]. It then connects to the first pair of switches mentioned on this page through a set of four (different) intermediary switches. The last hop from the four intermediary switches to the first pair of switches mentioned on this page is via 32 100GbE links, four from each switch in the set to each switch in the first pair mentioned on this page for redundancy and increased bandwidth.&lt;br /&gt;
&lt;br /&gt;
For a broader overview of the network infrastructure supporting the Nexus cluster, please see [[Nexus/Network]].&lt;br /&gt;
&lt;br /&gt;
==Partitions==&lt;br /&gt;
There are three partitions available to general Vulcan [[SLURM]] users.  You must specify a partition when submitting your job.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;vulcan-dpart&#039;&#039;&#039; - This is the default partition. Job allocations are guaranteed. Only nodes with GPUs from architectures older than NVIDIA&#039;s [https://www.nvidia.com/en-us/data-center/ampere-architecture/ Ampere architecture] are included in this partition.&lt;br /&gt;
* &#039;&#039;&#039;vulcan-scavenger&#039;&#039;&#039; - This is the alternate partition that allows jobs longer run times and more resources but is preemptable when jobs in other non-scavenger-named &amp;lt;code&amp;gt;vulcan-&amp;lt;/code&amp;gt; partitions are ready to be scheduled.&lt;br /&gt;
* &#039;&#039;&#039;vulcan-cpu&#039;&#039;&#039; - This partition is for CPU focused jobs. Job allocations are guaranteed.&lt;br /&gt;
&lt;br /&gt;
There are a few additional partitions available to subsets of Vulcan users based on specific requirements.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;vulcan-ampere&#039;&#039;&#039; - This partition contains nodes with GPUs from NVIDIA&#039;s [https://www.nvidia.com/en-us/data-center/ampere-architecture/ Ampere architecture] or a newer architecture. Job allocations are guaranteed. Please be aware of the following restrictions on this partition:&lt;br /&gt;
*: &#039;&#039;Time limit&#039;&#039;: there is a 4 hour time limit on interactive jobs in this partition. If you need to run longer jobs, you will need to modify your workflow into a job that can be submitted as a batch script.&lt;br /&gt;
*: &#039;&#039;CPU/memory per GPU limit&#039;&#039;: there is a limit of 4 CPUs and 48G memory maximum per GPU requested by a job. If you need to run jobs with more CPUs/memory, you will either need to request more GPUs in the job or use a different partition.&lt;br /&gt;
&lt;br /&gt;
: Submission is restricted to the Slurm [[#Accounts | accounts]] of the faculty who invested in these nodes:&lt;br /&gt;
:* Abhinav Shrivastava (vulcan-abhinav)&lt;br /&gt;
:* Jia-Bin Huang (vulcan-jbhuang)&lt;br /&gt;
:* Christopher Metzler (vulcan-metzler)&lt;br /&gt;
:* Ruoshi Liu (vulcan-ruoshi)&lt;br /&gt;
:* Matthias Zwicker (vulcan-zwicker)&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;vulcan-scavenger-multi&#039;&#039;&#039; - This partition allows multi-node jobs (up to 9 total nodes per job) and allows jobs more resources than the vulcan-scavenger partition, but only contains nodes with GTX 1080 Ti, TITAN Xp, and/or RTX 2080 Ti GPUs in them. As with vulcan-scavenger, it is preemptable when jobs in other non-scavenged-named &amp;lt;code&amp;gt;vulcan-&amp;lt;/code&amp;gt; partitions are ready to be scheduled.&lt;br /&gt;
*: Access to this partition is on a per-use basis. Please contact Abhinav Shrivastava if you would like to be granted access to this partition.&lt;br /&gt;
&lt;br /&gt;
There is one additional partition available solely to Dr. Ramani Duraiswami&#039;s sponsored accounts.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;vulcan-ramani&#039;&#039;&#039; - This partition is for exclusive priority access to Dr. Duraiswami&#039;s purchased GPU nodes. Job allocations are guaranteed.&lt;br /&gt;
&lt;br /&gt;
==Accounts==&lt;br /&gt;
Vulcan has a base SLURM account &amp;lt;code&amp;gt;vulcan&amp;lt;/code&amp;gt; which has a modest number of guaranteed billing resources available to all cluster users at any given time.  Other faculty that have invested in Vulcan compute infrastructure have an additional account provided to their sponsored accounts on the cluster.&lt;br /&gt;
&lt;br /&gt;
If you do not specify an account when submitting your job, you will receive the &#039;&#039;&#039;vulcan&#039;&#039;&#039; account.  If your faculty sponsor has their own account, it is recommended to use that account for job submission.&lt;br /&gt;
&lt;br /&gt;
The current faculty accounts are:&lt;br /&gt;
* vulcan-abhinav&lt;br /&gt;
* vulcan-djacobs&lt;br /&gt;
* vulcan-jbhuang&lt;br /&gt;
* vulcan-metzler&lt;br /&gt;
* vulcan-rama&lt;br /&gt;
* vulcan-ramani&lt;br /&gt;
* vulcan-ruoshi&lt;br /&gt;
* vulcan-yaser&lt;br /&gt;
* vulcan-zwicker&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sacctmgr show account format=account%20,description%30,organization%10&lt;br /&gt;
             Account                          Descr        Org&lt;br /&gt;
-------------------- ------------------------------ ----------&lt;br /&gt;
                 ...                            ...        ...&lt;br /&gt;
              vulcan                         vulcan     vulcan&lt;br /&gt;
      vulcan-abhinav   vulcan - abhinav shrivastava     vulcan&lt;br /&gt;
      vulcan-djacobs          vulcan - david jacobs     vulcan&lt;br /&gt;
      vulcan-jbhuang         vulcan - jia-bin huang     vulcan&lt;br /&gt;
      vulcan-metzler         vulcan - chris metzler     vulcan&lt;br /&gt;
         vulcan-rama        vulcan - rama chellappa     vulcan&lt;br /&gt;
       vulcan-ramani     vulcan - ramani duraiswami     vulcan&lt;br /&gt;
       vulcan-ruoshi            vulcan - ruoshi liu     vulcan&lt;br /&gt;
        vulcan-yaser          vulcan - yaser yacoob     vulcan&lt;br /&gt;
      vulcan-zwicker      vulcan - matthias zwicker     vulcan&lt;br /&gt;
                 ...                            ...        ...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Faculty can manage this list of users via our [https://intranet.umiacs.umd.edu/directory/secgroup/ Directory application] in the Security Groups section.  The security group that controls access has the prefix &amp;lt;code&amp;gt;vulcan_&amp;lt;/code&amp;gt; and then the faculty username.  It will also list &amp;lt;code&amp;gt;slurm://nexusctl.umiacs.umd.edu&amp;lt;/code&amp;gt; as the associated URI.&lt;br /&gt;
&lt;br /&gt;
You can check your account associations by running the &#039;&#039;&#039;show_assoc&#039;&#039;&#039; command to see the accounts you are associated with.  Please [[HelpDesk | contact staff]] and include your faculty member in the conversation if you do not see the appropriate association. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ show_assoc&lt;br /&gt;
      User          Account MaxJobs       GrpTRES                                                                              QOS&lt;br /&gt;
---------- ---------------- ------- ------------- --------------------------------------------------------------------------------&lt;br /&gt;
       ...              ...     ...                                                                                            ...&lt;br /&gt;
   abhinav           vulcan      48                                       vulcan-cpu,vulcan-default,vulcan-medium,vulcan-scavenger&lt;br /&gt;
   abhinav   vulcan-abhinav      48                           vulcan-cpu,vulcan-default,vulcan-high,vulcan-medium,vulcan-scavenger&lt;br /&gt;
       ...              ...     ...                                                                                            ...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can also see the total number of Track-able Resources (TRES) allowed for each account by running the following command. Please make sure you give the appropriate account that you are looking for. As shown below, there is a concurrent limit of 64 total GPUs for all users not in a contributing faculty group.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sacctmgr show assoc account=vulcan format=user,account,qos,grptres&lt;br /&gt;
      User    Account                  QOS       GrpTRES&lt;br /&gt;
---------- ---------- -------------------- -------------&lt;br /&gt;
               vulcan                        gres/gpu=64&lt;br /&gt;
                  ...                                ...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==QoS==&lt;br /&gt;
Vulcan currently has 3 QoS for the &#039;&#039;&#039;vulcan-dpart&#039;&#039;&#039; partition, 1 QoS for the &#039;&#039;&#039;vulcan-scavenger&#039;&#039;&#039; partition, and 1 QoS for the &#039;&#039;&#039;vulcan-cpu&#039;&#039;&#039; partition.  If you do not specify a QoS when submitting your job using the &amp;lt;code&amp;gt;--qos&amp;lt;/code&amp;gt; parameter, you will receive the &amp;lt;code&amp;gt;vulcan-default&amp;lt;/code&amp;gt; QoS assuming you are using a Vulcan account.&lt;br /&gt;
&lt;br /&gt;
The important part here is that in different QoS you can have a shorter/longer maximum wall time, a different total number of jobs running at once, and a different maximum number of track-able resources (TRES) for the job.  In the cml-scavenger QoS, one more constraint that you are restricted by is the total number of TRES per user (over multiple jobs).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ show_qos --all | grep vulcan&lt;br /&gt;
                     Name     MaxWall                        MaxTRES MaxJobsPU                      MaxTRESPU&lt;br /&gt;
------------------------- ----------- ------------------------------ --------- ------------------------------&lt;br /&gt;
...&lt;br /&gt;
               vulcan-cpu  2-00:00:00                cpu=1024,mem=4T         4                               &lt;br /&gt;
           vulcan-default  7-00:00:00       cpu=4,gres/gpu=1,mem=32G         2                               &lt;br /&gt;
            vulcan-exempt  7-00:00:00     cpu=32,gres/gpu=8,mem=256G         2                               &lt;br /&gt;
              vulcan-high  1-12:00:00     cpu=16,gres/gpu=4,mem=128G         2                               &lt;br /&gt;
         vulcan-high_long 14-00:00:00              cpu=32,gres/gpu=8         8                               &lt;br /&gt;
            vulcan-medium  3-00:00:00       cpu=8,gres/gpu=2,mem=64G         2                               &lt;br /&gt;
            vulcan-sailon  3-00:00:00     cpu=32,gres/gpu=8,mem=256G                              gres/gpu=48&lt;br /&gt;
         vulcan-scavenger  3-00:00:00     cpu=32,gres/gpu=8,mem=256G                                         &lt;br /&gt;
   vulcan-scavenger-multi  3-00:00:00   cpu=288,gres/gpu=72,mem=1152G                                        &lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ show_partition_qos --all | grep vulcan&lt;br /&gt;
                     Name MaxSubmitPU                      MaxTRESPU              GrpTRES&lt;br /&gt;
------------------------- ----------- ------------------------------ --------------------&lt;br /&gt;
...&lt;br /&gt;
                   vulcan         500                                 cpu=1760,mem=15824G&lt;br /&gt;
            vulcan-ampere         500                                                    &lt;br /&gt;
               vulcan-cpu         500                                                    &lt;br /&gt;
            vulcan-ramani         500                                                    &lt;br /&gt;
         vulcan-scavenger         500                                                    &lt;br /&gt;
   vulcan-scavenger-multi         500                                                    &lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Storage==&lt;br /&gt;
Vulcan has the following storage available.  Please also review UMIACS [[FilesystemDataStorage | Filesystem Data Storage]] policies including any volume that is labeled as scratch.&lt;br /&gt;
&lt;br /&gt;
Vulcan users can also request [[Nexus#Project_Allocations | Nexus project allocations]].&lt;br /&gt;
&lt;br /&gt;
===Home Directories===&lt;br /&gt;
{{Nfshomes}}&lt;br /&gt;
&lt;br /&gt;
===Scratch Directories===&lt;br /&gt;
Scratch data has no data protection including no snapshots and the data is not backed up. There are two types of scratch directories in the Vulcan compute infrastructure:&lt;br /&gt;
* Network scratch directory&lt;br /&gt;
* Local scratch directories&lt;br /&gt;
&lt;br /&gt;
====Network Scratch Directory====&lt;br /&gt;
You have 300GB of scratch storage available at &amp;lt;code&amp;gt;/vulcanscratch/&amp;lt;username&amp;gt;&amp;lt;/code&amp;gt;.  &#039;&#039;&#039;It is not backed up or protected in any way.&#039;&#039;&#039;  This directory is &#039;&#039;&#039;automounted&#039;&#039;&#039; so you will need to &amp;lt;code&amp;gt;cd&amp;lt;/code&amp;gt; into the directory or request/specify a fully qualified file path to access this.&lt;br /&gt;
&lt;br /&gt;
You may request a temporary increase of up to 500GB total space for a maximum of 120 days without any faculty approval by [[HelpDesk | contacting staff]].  Once the temporary increase period is over, you will be contacted and given a one-week window of opportunity to clean and secure your data before staff will forcibly remove data to get your space back under 300GB.  If you need space beyond 500GB or for longer than 120 days, you will need faculty approval and/or a project directory.&lt;br /&gt;
&lt;br /&gt;
This file system is available on all submission and computational nodes within the cluster.&lt;br /&gt;
&lt;br /&gt;
====Local Scratch Directories====&lt;br /&gt;
Each computational node that you can schedule compute jobs on has one or more local scratch directories.  These are always named &amp;lt;code&amp;gt;/scratch0&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;/scratch1&amp;lt;/code&amp;gt;, etc.  These are almost always more performant than any other storage available to the job.  However, you must stage their data within the confine of their job and stage the data out before the end of their job.&lt;br /&gt;
&lt;br /&gt;
These local scratch directories have a tmpwatch job which will &#039;&#039;&#039;delete unaccessed data after 90 days&#039;&#039;&#039;, scheduled via maintenance jobs to run once a month at 1am.  Different nodes will run the maintenance jobs on different days of the month to ensure the cluster is still highly available at all times.  Please make sure you secure any data you write to these directories at the end of your job.&lt;br /&gt;
&lt;br /&gt;
===Datasets===&lt;br /&gt;
We have read-only dataset storage available at &amp;lt;code&amp;gt;/fs/vulcan-datasets&amp;lt;/code&amp;gt;.  If there are datasets that you would like to see curated and made available, please see [[Datasets | this page]].&lt;br /&gt;
&lt;br /&gt;
The list of Vulcan datasets we currently host can be viewed [https://info.umiacs.umd.edu/datasets/list/?q=Vulcan here].&lt;br /&gt;
&lt;br /&gt;
===Project Storage===&lt;br /&gt;
Users within the Vulcan compute infrastructure can request project based allocations for up to 10TB for up to 180 days by [[HelpDesk | contacting staff]] with approval from the Vulcan faculty manager (Dr. Shrivastava).  These allocations will be available from &amp;lt;code&amp;gt;/fs/vulcan-projects&amp;lt;/code&amp;gt; under a name that you provide when you request the allocation.  Near the end of the allocation period, staff will contact you and ask if you would like to renew the allocation for up to another 180 days (requires re-approval from Dr. Shrivastava).&lt;br /&gt;
* If you are no longer in need of the storage allocation, you will need to relocate all desired data within two weeks of the end of the allocation period.  Staff will then remove the allocation.&lt;br /&gt;
* If you do not respond to staff&#039;s request by the end of the allocation period, staff will make the allocation temporarily inaccessible.&lt;br /&gt;
** If you do respond asking for renewal but the original faculty approver does not respond within two weeks of the end of the allocation period, staff will also make the allocation temporarily inaccessible.&lt;br /&gt;
** If one month from the end of the allocation period is reached without both you and the faculty approver responding, staff will remove the allocation.&lt;br /&gt;
&lt;br /&gt;
Project storage is fully protected.  It has [[Snapshots | snapshots]] enabled and is [[NightlyBackups | backed up nightly]].&lt;br /&gt;
&lt;br /&gt;
===Object Storage===&lt;br /&gt;
All Vulcan users can request project allocations in the [https://obj.umiacs.umd.edu/obj/help UMIACS Object Store]. Please [[HelpDesk | contact staff]] with a short project name and the amount of storage you will need to get started.&lt;br /&gt;
&lt;br /&gt;
To access this storage, you&#039;ll need to use a [[S3Clients | S3 client]] or our [[UMobj]] command line utilities.&lt;br /&gt;
&lt;br /&gt;
An example on how to use the umobj command line utilities can be found [[UMobj/Example | here]].  A full set of documentation for the utilities can be found on the [https://gitlab.umiacs.umd.edu/staff/umobj/blob/master/README.md#umobj umobj Gitlab page].&lt;/div&gt;</summary>
		<author><name>Mbaney</name></author>
	</entry>
	<entry>
		<id>https://wiki.umiacs.umd.edu/umiacs/index.php?title=Nexus/Vulcan&amp;diff=13246</id>
		<title>Nexus/Vulcan</title>
		<link rel="alternate" type="text/html" href="https://wiki.umiacs.umd.edu/umiacs/index.php?title=Nexus/Vulcan&amp;diff=13246"/>
		<updated>2026-04-27T13:09:24Z</updated>

		<summary type="html">&lt;p&gt;Mbaney: /* Partitions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The compute nodes from Vulcan&#039;s previous standalone cluster have folded into [[Nexus]] as of the scheduled [[MonthlyMaintenanceWindow | maintenance window]] for August 2023 (Thursday 08/17/2023, 5-8pm).&lt;br /&gt;
&lt;br /&gt;
The Nexus cluster already has a large pool of compute resources made possible through college-level funding for UMIACS and CSD faculty. Details on common nodes already in the cluster (Tron partition) can be found [[Nexus/Tron | here]].&lt;br /&gt;
&lt;br /&gt;
Please [[HelpDesk | contact staff]] with any questions or concerns.&lt;br /&gt;
&lt;br /&gt;
==Usage==&lt;br /&gt;
You can [[SSH]] to &amp;lt;code&amp;gt;nexusvulcan.umiacs.umd.edu&amp;lt;/code&amp;gt; to log in to a submission node.&lt;br /&gt;
&lt;br /&gt;
If you store something in a local directory (/tmp, /scratch0) on one of the two submission nodes, you will need to connect to that same submission node to access it later. The actual submission nodes are:&lt;br /&gt;
* &amp;lt;code&amp;gt;nexusvulcan00.umiacs.umd.edu&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;nexusvulcan01.umiacs.umd.edu&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
All partitions, QoSes, and account names from the standalone Vulcan cluster have been moved over to Nexus. However, please note that &amp;lt;code&amp;gt;vulcan-&amp;lt;/code&amp;gt; is prepended to all of the values that were present in the standalone Vulcan cluster to distinguish them from existing values in Nexus. The lone exception is the base account that was named &amp;lt;code&amp;gt;vulcan&amp;lt;/code&amp;gt; in the standalone cluster (it is also named just &amp;lt;code&amp;gt;vulcan&amp;lt;/code&amp;gt; in Nexus).&lt;br /&gt;
&lt;br /&gt;
Here are some before/after examples of job submission with various parameters:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Standalone Vulcan cluster submission command&lt;br /&gt;
! Nexus cluster submission command&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;srun --partition=dpart --qos=medium --account=abhinav --gres=gpu:gtx1080ti:2 --pty bash&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;srun --partition=vulcan-dpart --qos=vulcan-medium --account=vulcan-abhinav --gres=gpu:gtx1080ti:2 --pty bash&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;srun --partition=cpu --qos=cpu --pty bash&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;srun --partition=vulcan-cpu --qos=vulcan-cpu --account=vulcan --pty bash&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;srun --partition=scavenger --qos=scavenger --account=vulcan --gres=gpu:4 --pty bash&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;lt;code&amp;gt;srun --partition=vulcan-scavenger --qos=vulcan-scavenger --account=vulcan --gres=gpu:4 --pty bash&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Vulcan users (exclusively) can schedule non-interruptible jobs on Vulcan nodes with any non-scavenger job parameters. Please note that the &amp;lt;code&amp;gt;vulcan-dpart&amp;lt;/code&amp;gt; partition has a &amp;lt;code&amp;gt;GrpTRES&amp;lt;/code&amp;gt; limit of 100% of the available cores/RAM on all vulcan## in aggregate nodes plus 50% of the available cores/RAM on legacy## nodes in aggregate, so your job may need to wait if all available cores/RAM (or GPUs) are in use. It also has a max submission limit of 500 jobs per user simultaneously so as to not overload the cluster. This is codified by the partition QoS named &#039;&#039;&#039;vulcan&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Please note that the Vulcan compute nodes are also in the institute-wide &amp;lt;code&amp;gt;scavenger&amp;lt;/code&amp;gt; partition in Nexus. Vulcan users still have scavenging priority over these nodes via the &amp;lt;code&amp;gt;vulcan-scavenger&amp;lt;/code&amp;gt; partition (i.e., all &amp;lt;code&amp;gt;vulcan-&amp;lt;/code&amp;gt; partition jobs (other than &amp;lt;code&amp;gt;vulcan-scavenger&amp;lt;/code&amp;gt;) can preempt both &amp;lt;code&amp;gt;vulcan-scavenger&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;scavenger&amp;lt;/code&amp;gt; partition jobs, and &amp;lt;code&amp;gt;vulcan-scavenger&amp;lt;/code&amp;gt; partition jobs can preempt &amp;lt;code&amp;gt;scavenger&amp;lt;/code&amp;gt; partition jobs).&lt;br /&gt;
&lt;br /&gt;
==Compute Nodes==&lt;br /&gt;
There are currently 46 [[Nexus/Vulcan/GPUs | GPU nodes]] available, named vulcan[00-45], running a mixture of NVIDIA RTX A6000, NVIDIA RTX A5000, NVIDIA RTX A4000, and a number of different older generation cards. There are also 4 CPU-only nodes available, named brigid[16-19].&lt;br /&gt;
&lt;br /&gt;
All nodes are scheduled with the [[SLURM]] resource manager.&lt;br /&gt;
&lt;br /&gt;
==Network==&lt;br /&gt;
The network infrastructure supporting the Vulcan partition consists of:&lt;br /&gt;
# One pair of network switches connected to each other via dual 100GbE links for redundancy, serving the following compute nodes:&lt;br /&gt;
#* brigid[16-17],vulcan[29-45]: Two 100GbE links per node, one to each switch in the pair (redundancy).&lt;br /&gt;
#* vulcan46: Four 100GbE links, two to each switch in the pair (redundancy and increased bandwidth).&lt;br /&gt;
# One pair of network switches connected to the above pair of switches through several sets of intermediary switches, and to each other via dual 10GbE links for redundancy. The immediate connection to these sets of intermediary switches is via two 40GbE links to a pair of them, one between the first two switches in each pair and one between the second two switches in each pair for redundancy. This pair serves the following compute nodes:&lt;br /&gt;
#* brigid[18-19],vulcan[00-28]: Two 10GbE links per node, one to each switch in the pair (redundancy).&lt;br /&gt;
&lt;br /&gt;
The fileserver hosting all Vulcan [[Nexus/Vulcan#Scratch_Directories | scratch]], [[Nexus/Vulcan#Project_Storage | project]], and [[Nexus/Vulcan#Datasets | dataset]] allocations first connects to a pair of intermediary switches and then the first pair of switches mentioned [[Nexus/Tron#Network | here (Tron page&#039;s network section)]]. It then connects to the first pair of switches mentioned on this page through a set of four (different) intermediary switches. The last hop from the four intermediary switches to the first pair of switches mentioned on this page is via 32 100GbE links, four from each switch in the set to each switch in the first pair mentioned on this page for redundancy and increased bandwidth.&lt;br /&gt;
&lt;br /&gt;
For a broader overview of the network infrastructure supporting the Nexus cluster, please see [[Nexus/Network]].&lt;br /&gt;
&lt;br /&gt;
==Partitions==&lt;br /&gt;
There are three partitions available to general Vulcan [[SLURM]] users.  You must specify a partition when submitting your job.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;vulcan-dpart&#039;&#039;&#039; - This is the default partition. Job allocations are guaranteed. Only nodes with GPUs from architectures older than NVIDIA&#039;s [https://www.nvidia.com/en-us/data-center/ampere-architecture/ Ampere architecture] are included in this partition.&lt;br /&gt;
* &#039;&#039;&#039;vulcan-scavenger&#039;&#039;&#039; - This is the alternate partition that allows jobs longer run times and more resources but is preemptable when jobs in other non-scavenger-named &amp;lt;code&amp;gt;vulcan-&amp;lt;/code&amp;gt; partitions are ready to be scheduled.&lt;br /&gt;
* &#039;&#039;&#039;vulcan-cpu&#039;&#039;&#039; - This partition is for CPU focused jobs. Job allocations are guaranteed.&lt;br /&gt;
&lt;br /&gt;
There are a few additional partitions available to subsets of Vulcan users based on specific requirements.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;vulcan-ampere&#039;&#039;&#039; - This partition contains nodes with GPUs from NVIDIA&#039;s [https://www.nvidia.com/en-us/data-center/ampere-architecture/ Ampere architecture] or a newer architecture. Job allocations are guaranteed. Please be aware of the following restrictions on this partition:&lt;br /&gt;
*: &#039;&#039;Time limit&#039;&#039;: there is a 4 hour time limit on interactive jobs in this partition. If you need to run longer jobs, you will need to modify your workflow into a job that can be submitted as a batch script.&lt;br /&gt;
*: &#039;&#039;CPU/memory per GPU limit&#039;&#039;: there is a limit of 4 CPUs and 48G memory maximum per GPU requested by a job. If you need to run jobs with more CPUs/memory, you will either need to request more GPUs in the job or use a different partition.&lt;br /&gt;
&lt;br /&gt;
: Submission is restricted to the Slurm [[#Accounts | accounts]] of the faculty who invested in these nodes:&lt;br /&gt;
:* Abhinav Shrivastava (vulcan-abhinav)&lt;br /&gt;
:* Jia-Bin Huang (vulcan-jbhuang)&lt;br /&gt;
:* Christopher Metzler (vulcan-metzler)&lt;br /&gt;
:* Ruoshi Liu (vulcan-ruoshi)&lt;br /&gt;
:* Matthias Zwicker (vulcan-zwicker)&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;vulcan-scavenger-multi&#039;&#039;&#039; - This partition allows multi-node jobs (up to 9 total nodes per job) and allows jobs more resources than the vulcan-scavenger partition, but only contains nodes with GTX 1080 Ti, TITAN Xp, and/or RTX 2080 Ti GPUs in them. As with vulcan-scavenger, it is preemptable when jobs in other non-scavenged-named &amp;lt;code&amp;gt;vulcan-&amp;lt;/code&amp;gt; partitions are ready to be scheduled.&lt;br /&gt;
*: Access to this partition is on a per-use basis. Please contact Abhinav Shrivastava if you would like to be granted access to this partition.&lt;br /&gt;
&lt;br /&gt;
There is one additional partition available solely to Dr. Ramani Duraiswami&#039;s sponsored accounts.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;vulcan-ramani&#039;&#039;&#039; - This partition is for exclusive priority access to Dr. Duraiswami&#039;s purchased GPU nodes. Job allocations are guaranteed.&lt;br /&gt;
&lt;br /&gt;
==Accounts==&lt;br /&gt;
Vulcan has a base SLURM account &amp;lt;code&amp;gt;vulcan&amp;lt;/code&amp;gt; which has a modest number of guaranteed billing resources available to all cluster users at any given time.  Other faculty that have invested in Vulcan compute infrastructure have an additional account provided to their sponsored accounts on the cluster.&lt;br /&gt;
&lt;br /&gt;
If you do not specify an account when submitting your job, you will receive the &#039;&#039;&#039;vulcan&#039;&#039;&#039; account.  If your faculty sponsor has their own account, it is recommended to use that account for job submission.&lt;br /&gt;
&lt;br /&gt;
The current faculty accounts are:&lt;br /&gt;
* vulcan-abhinav&lt;br /&gt;
* vulcan-djacobs&lt;br /&gt;
* vulcan-jbhuang&lt;br /&gt;
* vulcan-metzler&lt;br /&gt;
* vulcan-rama&lt;br /&gt;
* vulcan-ramani&lt;br /&gt;
* vulcan-yaser&lt;br /&gt;
* vulcan-zwicker&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sacctmgr show account format=account%20,description%30,organization%10&lt;br /&gt;
             Account                          Descr        Org&lt;br /&gt;
-------------------- ------------------------------ ----------&lt;br /&gt;
                 ...                            ...        ...&lt;br /&gt;
              vulcan                         vulcan     vulcan&lt;br /&gt;
      vulcan-abhinav   vulcan - abhinav shrivastava     vulcan&lt;br /&gt;
      vulcan-djacobs          vulcan - david jacobs     vulcan&lt;br /&gt;
      vulcan-jbhuang         vulcan - jia-bin huang     vulcan&lt;br /&gt;
      vulcan-metzler         vulcan - chris metzler     vulcan&lt;br /&gt;
         vulcan-rama        vulcan - rama chellappa     vulcan&lt;br /&gt;
       vulcan-ramani     vulcan - ramani duraiswami     vulcan&lt;br /&gt;
        vulcan-yaser          vulcan - yaser yacoob     vulcan&lt;br /&gt;
      vulcan-zwicker      vulcan - matthias zwicker     vulcan&lt;br /&gt;
                 ...                            ...        ...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Faculty can manage this list of users via our [https://intranet.umiacs.umd.edu/directory/secgroup/ Directory application] in the Security Groups section.  The security group that controls access has the prefix &amp;lt;code&amp;gt;vulcan_&amp;lt;/code&amp;gt; and then the faculty username.  It will also list &amp;lt;code&amp;gt;slurm://nexusctl.umiacs.umd.edu&amp;lt;/code&amp;gt; as the associated URI.&lt;br /&gt;
&lt;br /&gt;
You can check your account associations by running the &#039;&#039;&#039;show_assoc&#039;&#039;&#039; command to see the accounts you are associated with.  Please [[HelpDesk | contact staff]] and include your faculty member in the conversation if you do not see the appropriate association. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ show_assoc&lt;br /&gt;
      User          Account MaxJobs       GrpTRES                                                                              QOS&lt;br /&gt;
---------- ---------------- ------- ------------- --------------------------------------------------------------------------------&lt;br /&gt;
       ...              ...     ...                                                                                            ...&lt;br /&gt;
   abhinav           vulcan      48                                       vulcan-cpu,vulcan-default,vulcan-medium,vulcan-scavenger&lt;br /&gt;
   abhinav   vulcan-abhinav      48                           vulcan-cpu,vulcan-default,vulcan-high,vulcan-medium,vulcan-scavenger&lt;br /&gt;
       ...              ...     ...                                                                                            ...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can also see the total number of Track-able Resources (TRES) allowed for each account by running the following command. Please make sure you give the appropriate account that you are looking for. As shown below, there is a concurrent limit of 64 total GPUs for all users not in a contributing faculty group.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sacctmgr show assoc account=vulcan format=user,account,qos,grptres&lt;br /&gt;
      User    Account                  QOS       GrpTRES&lt;br /&gt;
---------- ---------- -------------------- -------------&lt;br /&gt;
               vulcan                        gres/gpu=64&lt;br /&gt;
                  ...                                ...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==QoS==&lt;br /&gt;
Vulcan currently has 3 QoS for the &#039;&#039;&#039;vulcan-dpart&#039;&#039;&#039; partition, 1 QoS for the &#039;&#039;&#039;vulcan-scavenger&#039;&#039;&#039; partition, and 1 QoS for the &#039;&#039;&#039;vulcan-cpu&#039;&#039;&#039; partition.  If you do not specify a QoS when submitting your job using the &amp;lt;code&amp;gt;--qos&amp;lt;/code&amp;gt; parameter, you will receive the &amp;lt;code&amp;gt;vulcan-default&amp;lt;/code&amp;gt; QoS assuming you are using a Vulcan account.&lt;br /&gt;
&lt;br /&gt;
The important part here is that in different QoS you can have a shorter/longer maximum wall time, a different total number of jobs running at once, and a different maximum number of track-able resources (TRES) for the job.  In the cml-scavenger QoS, one more constraint that you are restricted by is the total number of TRES per user (over multiple jobs).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ show_qos --all | grep vulcan&lt;br /&gt;
                     Name     MaxWall                        MaxTRES MaxJobsPU                      MaxTRESPU&lt;br /&gt;
------------------------- ----------- ------------------------------ --------- ------------------------------&lt;br /&gt;
...&lt;br /&gt;
               vulcan-cpu  2-00:00:00                cpu=1024,mem=4T         4                               &lt;br /&gt;
           vulcan-default  7-00:00:00       cpu=4,gres/gpu=1,mem=32G         2                               &lt;br /&gt;
            vulcan-exempt  7-00:00:00     cpu=32,gres/gpu=8,mem=256G         2                               &lt;br /&gt;
              vulcan-high  1-12:00:00     cpu=16,gres/gpu=4,mem=128G         2                               &lt;br /&gt;
         vulcan-high_long 14-00:00:00              cpu=32,gres/gpu=8         8                               &lt;br /&gt;
            vulcan-medium  3-00:00:00       cpu=8,gres/gpu=2,mem=64G         2                               &lt;br /&gt;
            vulcan-sailon  3-00:00:00     cpu=32,gres/gpu=8,mem=256G                              gres/gpu=48&lt;br /&gt;
         vulcan-scavenger  3-00:00:00     cpu=32,gres/gpu=8,mem=256G                                         &lt;br /&gt;
   vulcan-scavenger-multi  3-00:00:00   cpu=288,gres/gpu=72,mem=1152G                                        &lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ show_partition_qos --all | grep vulcan&lt;br /&gt;
                     Name MaxSubmitPU                      MaxTRESPU              GrpTRES&lt;br /&gt;
------------------------- ----------- ------------------------------ --------------------&lt;br /&gt;
...&lt;br /&gt;
                   vulcan         500                                 cpu=1760,mem=15824G&lt;br /&gt;
            vulcan-ampere         500                                                    &lt;br /&gt;
               vulcan-cpu         500                                                    &lt;br /&gt;
            vulcan-ramani         500                                                    &lt;br /&gt;
         vulcan-scavenger         500                                                    &lt;br /&gt;
   vulcan-scavenger-multi         500                                                    &lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Storage==&lt;br /&gt;
Vulcan has the following storage available.  Please also review UMIACS [[FilesystemDataStorage | Filesystem Data Storage]] policies including any volume that is labeled as scratch.&lt;br /&gt;
&lt;br /&gt;
Vulcan users can also request [[Nexus#Project_Allocations | Nexus project allocations]].&lt;br /&gt;
&lt;br /&gt;
===Home Directories===&lt;br /&gt;
{{Nfshomes}}&lt;br /&gt;
&lt;br /&gt;
===Scratch Directories===&lt;br /&gt;
Scratch data has no data protection including no snapshots and the data is not backed up. There are two types of scratch directories in the Vulcan compute infrastructure:&lt;br /&gt;
* Network scratch directory&lt;br /&gt;
* Local scratch directories&lt;br /&gt;
&lt;br /&gt;
====Network Scratch Directory====&lt;br /&gt;
You have 300GB of scratch storage available at &amp;lt;code&amp;gt;/vulcanscratch/&amp;lt;username&amp;gt;&amp;lt;/code&amp;gt;.  &#039;&#039;&#039;It is not backed up or protected in any way.&#039;&#039;&#039;  This directory is &#039;&#039;&#039;automounted&#039;&#039;&#039; so you will need to &amp;lt;code&amp;gt;cd&amp;lt;/code&amp;gt; into the directory or request/specify a fully qualified file path to access this.&lt;br /&gt;
&lt;br /&gt;
You may request a temporary increase of up to 500GB total space for a maximum of 120 days without any faculty approval by [[HelpDesk | contacting staff]].  Once the temporary increase period is over, you will be contacted and given a one-week window of opportunity to clean and secure your data before staff will forcibly remove data to get your space back under 300GB.  If you need space beyond 500GB or for longer than 120 days, you will need faculty approval and/or a project directory.&lt;br /&gt;
&lt;br /&gt;
This file system is available on all submission and computational nodes within the cluster.&lt;br /&gt;
&lt;br /&gt;
====Local Scratch Directories====&lt;br /&gt;
Each computational node that you can schedule compute jobs on has one or more local scratch directories.  These are always named &amp;lt;code&amp;gt;/scratch0&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;/scratch1&amp;lt;/code&amp;gt;, etc.  These are almost always more performant than any other storage available to the job.  However, you must stage their data within the confine of their job and stage the data out before the end of their job.&lt;br /&gt;
&lt;br /&gt;
These local scratch directories have a tmpwatch job which will &#039;&#039;&#039;delete unaccessed data after 90 days&#039;&#039;&#039;, scheduled via maintenance jobs to run once a month at 1am.  Different nodes will run the maintenance jobs on different days of the month to ensure the cluster is still highly available at all times.  Please make sure you secure any data you write to these directories at the end of your job.&lt;br /&gt;
&lt;br /&gt;
===Datasets===&lt;br /&gt;
We have read-only dataset storage available at &amp;lt;code&amp;gt;/fs/vulcan-datasets&amp;lt;/code&amp;gt;.  If there are datasets that you would like to see curated and made available, please see [[Datasets | this page]].&lt;br /&gt;
&lt;br /&gt;
The list of Vulcan datasets we currently host can be viewed [https://info.umiacs.umd.edu/datasets/list/?q=Vulcan here].&lt;br /&gt;
&lt;br /&gt;
===Project Storage===&lt;br /&gt;
Users within the Vulcan compute infrastructure can request project based allocations for up to 10TB for up to 180 days by [[HelpDesk | contacting staff]] with approval from the Vulcan faculty manager (Dr. Shrivastava).  These allocations will be available from &amp;lt;code&amp;gt;/fs/vulcan-projects&amp;lt;/code&amp;gt; under a name that you provide when you request the allocation.  Near the end of the allocation period, staff will contact you and ask if you would like to renew the allocation for up to another 180 days (requires re-approval from Dr. Shrivastava).&lt;br /&gt;
* If you are no longer in need of the storage allocation, you will need to relocate all desired data within two weeks of the end of the allocation period.  Staff will then remove the allocation.&lt;br /&gt;
* If you do not respond to staff&#039;s request by the end of the allocation period, staff will make the allocation temporarily inaccessible.&lt;br /&gt;
** If you do respond asking for renewal but the original faculty approver does not respond within two weeks of the end of the allocation period, staff will also make the allocation temporarily inaccessible.&lt;br /&gt;
** If one month from the end of the allocation period is reached without both you and the faculty approver responding, staff will remove the allocation.&lt;br /&gt;
&lt;br /&gt;
Project storage is fully protected.  It has [[Snapshots | snapshots]] enabled and is [[NightlyBackups | backed up nightly]].&lt;br /&gt;
&lt;br /&gt;
===Object Storage===&lt;br /&gt;
All Vulcan users can request project allocations in the [https://obj.umiacs.umd.edu/obj/help UMIACS Object Store]. Please [[HelpDesk | contact staff]] with a short project name and the amount of storage you will need to get started.&lt;br /&gt;
&lt;br /&gt;
To access this storage, you&#039;ll need to use a [[S3Clients | S3 client]] or our [[UMobj]] command line utilities.&lt;br /&gt;
&lt;br /&gt;
An example on how to use the umobj command line utilities can be found [[UMobj/Example | here]].  A full set of documentation for the utilities can be found on the [https://gitlab.umiacs.umd.edu/staff/umobj/blob/master/README.md#umobj umobj Gitlab page].&lt;/div&gt;</summary>
		<author><name>Mbaney</name></author>
	</entry>
	<entry>
		<id>https://wiki.umiacs.umd.edu/umiacs/index.php?title=AddingUMIACSCertificateAuthority&amp;diff=13245</id>
		<title>AddingUMIACSCertificateAuthority</title>
		<link rel="alternate" type="text/html" href="https://wiki.umiacs.umd.edu/umiacs/index.php?title=AddingUMIACSCertificateAuthority&amp;diff=13245"/>
		<updated>2026-04-24T19:52:50Z</updated>

		<summary type="html">&lt;p&gt;Mbaney: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Introduction===&lt;br /&gt;
&lt;br /&gt;
When you visit webpages encrypted with SSL, you may be presented with a warning about the site&#039;s security certificate not being trusted. These are normally important screens to pay attention to on the internet as a whole and UMIACS goes to great lengths to maintain a secure environment for our users.  There are rare times where we may use our own internal certificate authority (CA) instead of a third-party one with wider trust to issue a site&#039;s certificate, to keep costs down.  If you want to add this CA&#039;s root certificate ahead of time, follow these steps to import it based on your preferred web browser.&lt;br /&gt;
&lt;br /&gt;
===Windows===&lt;br /&gt;
&lt;br /&gt;
For most Windows browsers (Chrome, Firefox, Edge and Internet Explorer), certificate authorities are handled by Windows itself. These are the steps required to accept the certificate:&lt;br /&gt;
&lt;br /&gt;
* Click [https://wiki.umiacs.umd.edu/umiacs/images/7/7d/CA-cert.crt UMIACS Certificate Authority] to download the file.&lt;br /&gt;
* Open the file and click &amp;quot;Install Certificate&amp;quot;.&lt;br /&gt;
*; [[File:UMIACSCA1.png|alt=Screenshot of Windows menu highlighting the &amp;quot;Install Certificate&amp;quot; button]]]&lt;br /&gt;
* In the dialog box opened, click &amp;quot;Next&amp;quot;.&lt;br /&gt;
* Choose &amp;quot;Place all certificates in the following store&amp;quot;.&lt;br /&gt;
* Choose &amp;quot;Browse&amp;quot;, in the dialog box opened, Choose &amp;quot;Trusted Root Certification Authorities&amp;quot; and click &amp;quot;Ok&amp;quot;.&lt;br /&gt;
*; [[File:UMIACSCA2.png|alt=Screenshot of Windows highlighting indicated fields in instructions]]]&lt;br /&gt;
* Click &amp;quot;Next&amp;quot; and then &amp;quot;Finish&amp;quot;.&lt;br /&gt;
* If you get a Security Warning asking if you want to install this certificate, click &amp;quot;Yes&amp;quot;.&lt;br /&gt;
*; [[File:UMIACSCA3.png|alt=Screenshot of Windows highlighting indicated fields in instructions]]]&lt;br /&gt;
* You should receive a success message similar to the following:&lt;br /&gt;
*; [[File:UMIACSCA4.png|alt=Screenshot of expected success message in Windows]]&lt;br /&gt;
* You may need to restart your browser for the change to take effect.&lt;br /&gt;
&lt;br /&gt;
===Safari and Google Chrome (macOS)===&lt;br /&gt;
&lt;br /&gt;
For most macOS browsers (excluding Firefox), certificate authorities are handled by macOS itself. This process requires administrator access. If you do not have administrator access and you are using a UMIACS-supported Mac, please contact [[HelpDesk|Staff]]. Otherwise, here are the steps required to accept the certificate:&lt;br /&gt;
&lt;br /&gt;
* Click [https://wiki.umiacs.umd.edu/umiacs/images/7/7d/CA-cert.crt UMIACS Certificate Authority] to download the file.&lt;br /&gt;
* Open Keychain Access (Located in the Others group in Launchpad)&lt;br /&gt;
* Go to the Systems &amp;gt; Certificates&lt;br /&gt;
* Open the UMIACS Certificate Authority file by double-clicking it (should be located in your downloads folder).&lt;br /&gt;
* Enter your administrator password or use your fingerprint on the dialog box that appears.&lt;br /&gt;
[[Image:KeychainAcces1.png|500px|alt=Screenshot of MacOS menu displaying the dialog box requiring authentication]]&lt;br /&gt;
* Right-click the certificate that was just added and select the &amp;quot;Get Info&amp;quot; section.&lt;br /&gt;
[[Image:KeychainAccess2.png|500px|alt=Screenshot of MacOS showing the results of right clicking the certificate]]&lt;br /&gt;
* Select &amp;quot;Always Trust&amp;quot; option in the &amp;quot;When using this certificate&amp;quot; dropdown (&amp;quot;Trust&amp;quot; &amp;gt; &amp;quot;When using this certificate&amp;quot; &amp;gt; &amp;quot;Always Trust&amp;quot;)&lt;br /&gt;
* Close the certificate and keychain access window.&lt;br /&gt;
* Enter the administrator credentials to add this certificate for all users of the system&lt;br /&gt;
[[Image:KeychainAccess3.png|500px|alt=Screenshot of MacOS menu to enter administrator credentials]]&lt;br /&gt;
* You may need to restart your browser for the change to take effect.&lt;br /&gt;
&lt;br /&gt;
===Other Browsers (Unix)===&lt;br /&gt;
&lt;br /&gt;
If you are using a browser other than Firefox in Unix, the process is more complicated than the above methods and may depend on your particular Unix distribution. If you need assistance with this please contact [[HelpDesk|UMIACS Staff]].&lt;/div&gt;</summary>
		<author><name>Mbaney</name></author>
	</entry>
	<entry>
		<id>https://wiki.umiacs.umd.edu/umiacs/index.php?title=MonthlyMaintenanceWindow&amp;diff=13244</id>
		<title>MonthlyMaintenanceWindow</title>
		<link rel="alternate" type="text/html" href="https://wiki.umiacs.umd.edu/umiacs/index.php?title=MonthlyMaintenanceWindow&amp;diff=13244"/>
		<updated>2026-04-24T19:49:08Z</updated>

		<summary type="html">&lt;p&gt;Mbaney: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[HelpDesk | UMIACS staff]] takes a monthly maintenance window to patch and reboot all UMIACS-supported hosts and services.  This provides a way for staff to ensure security updates are installed and applied on the numerous different platforms and appliances that UMIACS runs.&lt;br /&gt;
&lt;br /&gt;
The window for each month is calculated by adding 9 days to [https://en.wikipedia.org/wiki/Patch_Tuesday Microsoft&#039;s Patch Tuesday] to allow for enough time to marshal patches released that month from Microsoft, Red Hat, Apple, and other OS and application vendors and have enough time to get systems prepared to reboot.  This translates to the window being on the &#039;&#039;&#039;Thursday that occurs between the 17th and the 23rd (inclusive)&#039;&#039;&#039; of each month.  The window lasts from &#039;&#039;&#039;5pm-8pm&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
[[Nexus]] will always have a reservation in place from 4:45pm-8pm on the day of the upcoming window to prevent jobs from being scheduled on compute nodes. The 15-minute addition before the start of the window is to allow jobs to fully end. Any job submitted before the reservation begins that has a time limit that would run into the reservation will be held until at least the end of the reservation - 8pm on the day of the window. This is to prevent issues with jobs failing to end properly causing delays in work we have scheduled during the window.&lt;br /&gt;
&lt;br /&gt;
A list of upcoming maintenance windows is as follows, with the next one in bold. Again, the window is on the &#039;&#039;&#039;Thursday that occurs between the 17th and the 23rd (inclusive)&#039;&#039;&#039; of each month, and lasts from &#039;&#039;&#039;5pm-8pm&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;May 21st 2026&#039;&#039;&#039;&lt;br /&gt;
* June 18th 2026&lt;br /&gt;
* July 23rd 2026&lt;br /&gt;
* August 20th 2026&lt;br /&gt;
* September 17th 2026&lt;br /&gt;
* October 22nd 2026&lt;br /&gt;
* November 19th 2026&lt;br /&gt;
* December 17th 2026&lt;br /&gt;
&lt;br /&gt;
==Archives==&lt;br /&gt;
* January 17th 2013 - BEGIN time of 8pm-12am for this window through February 20th 2020&lt;br /&gt;
* February 21st 2013&lt;br /&gt;
* March 21st 2013&lt;br /&gt;
* April 18th 2013&lt;br /&gt;
* May 23rd 2013&lt;br /&gt;
* June 20th 2013&lt;br /&gt;
* July 18th 2013&lt;br /&gt;
* August 22nd 2013&lt;br /&gt;
* September 19th 2013&lt;br /&gt;
* October 17th 2013&lt;br /&gt;
* December 19th 2013&lt;br /&gt;
* January 23rd 2014&lt;br /&gt;
* February 20th 2014&lt;br /&gt;
* March 20th 2014&lt;br /&gt;
* April 17th 2014&lt;br /&gt;
* May 22nd 2014&lt;br /&gt;
* June 19th 2014&lt;br /&gt;
* July 17th 2014&lt;br /&gt;
* August 21st 2014&lt;br /&gt;
* September 18th 2014&lt;br /&gt;
* October 23rd 2014&lt;br /&gt;
* November 20th 2014&lt;br /&gt;
* December 18th 2014&lt;br /&gt;
* January 22nd 2015&lt;br /&gt;
* February 19th 2015&lt;br /&gt;
* March 19th 2015&lt;br /&gt;
* May 21st 2015&lt;br /&gt;
* June 18th 2015&lt;br /&gt;
* July 23rd 2015&lt;br /&gt;
* August 20th 2015&lt;br /&gt;
* September 17th 2015&lt;br /&gt;
* October 22nd 2015&lt;br /&gt;
* November 19th 2015&lt;br /&gt;
* December 17th 2015&lt;br /&gt;
* January 21st 2016&lt;br /&gt;
* February 18th 2016&lt;br /&gt;
* March 12th 2016 (Adjusted date for AVW power outage)&lt;br /&gt;
* April 21st 2016&lt;br /&gt;
* May 19th 2016&lt;br /&gt;
* June 23rd 2016&lt;br /&gt;
* July 21st 2016&lt;br /&gt;
* August 18th 2016&lt;br /&gt;
* September 22nd 2016&lt;br /&gt;
* October 20th 2016&lt;br /&gt;
* November 17th 2016&lt;br /&gt;
* December 22nd 2016&lt;br /&gt;
* January 19th 2017&lt;br /&gt;
* February 23rd 2017&lt;br /&gt;
* March 23rd 2017&lt;br /&gt;
* April 20th 2017&lt;br /&gt;
* May 18th 2017&lt;br /&gt;
* June 22nd 2017&lt;br /&gt;
* July 20th 2017&lt;br /&gt;
* August 17th 2017&lt;br /&gt;
* September 21st 2017&lt;br /&gt;
* October 19th 2017&lt;br /&gt;
* December 21st 2017&lt;br /&gt;
* January 18th 2018&lt;br /&gt;
* February 22nd 2018&lt;br /&gt;
* March 22nd 2018&lt;br /&gt;
* April 19th 2018&lt;br /&gt;
* May 17th 2018&lt;br /&gt;
* June 21st 2018&lt;br /&gt;
* July 19th 2018&lt;br /&gt;
* August 23rd 2018&lt;br /&gt;
* September 20th 2018&lt;br /&gt;
* October 18th 2018&lt;br /&gt;
* December 20th 2018&lt;br /&gt;
* January 24th 2019&lt;br /&gt;
* February 21st 2019&lt;br /&gt;
* April 18th 2019&lt;br /&gt;
* May 23rd 2019&lt;br /&gt;
* June 20th 2019&lt;br /&gt;
* July 18th 2019&lt;br /&gt;
* August 22nd 2019&lt;br /&gt;
* September 19th 2019&lt;br /&gt;
* October 17th 2019&lt;br /&gt;
* November 21st 2019&lt;br /&gt;
* December 19th 2019&lt;br /&gt;
* January 23rd 2020&lt;br /&gt;
* February 20th 2020&lt;br /&gt;
* April 23rd 2020 - BEGIN time of 5pm-7pm for this window through August 19th 2021&lt;br /&gt;
* June 18th 2020&lt;br /&gt;
* July 23rd 2020&lt;br /&gt;
* August 20th 2020&lt;br /&gt;
* September 17th 2020&lt;br /&gt;
* October 22nd 2020&lt;br /&gt;
* November 19th 2020&lt;br /&gt;
* December 17th 2020&lt;br /&gt;
* January 21st 2021&lt;br /&gt;
* February 18th 2021&lt;br /&gt;
* March 25th 2021 (Adjusted date for extended Spring Break)&lt;br /&gt;
* April 22nd 2021&lt;br /&gt;
* May 20th 2021&lt;br /&gt;
* June 17th 2021&lt;br /&gt;
* July 22nd 2021&lt;br /&gt;
* August 19th 2021&lt;br /&gt;
* September 23rd 2021 - BEGIN time of 5pm-8pm for this window and all others below&lt;br /&gt;
* October 21st 2021&lt;br /&gt;
* November 18th 2021&lt;br /&gt;
* January 20th 2022&lt;br /&gt;
* February 17th 2022&lt;br /&gt;
* March 24th 2022 (Adjusted date for Spring Break)&lt;br /&gt;
* April 21st 2022&lt;br /&gt;
* May 19th 2022&lt;br /&gt;
* June 23rd 2022&lt;br /&gt;
* July 21st 2022&lt;br /&gt;
* August 18th 2022&lt;br /&gt;
* September 22nd 2022&lt;br /&gt;
* October 20th 2022&lt;br /&gt;
* November 17th 2022&lt;br /&gt;
* January 19th 2023&lt;br /&gt;
* February 23rd 2023&lt;br /&gt;
* April 20th 2023&lt;br /&gt;
* May 18th 2023&lt;br /&gt;
* June 22nd 2023&lt;br /&gt;
* July 20th 2023&lt;br /&gt;
* August 17th 2023&lt;br /&gt;
* September 21st 2023&lt;br /&gt;
* October 19th 2023&lt;br /&gt;
* December 20th 2023 (Adjusted date for early Winter Break)&lt;br /&gt;
* January 18th 2024&lt;br /&gt;
* February 22nd 2024&lt;br /&gt;
* March 21st 2024&lt;br /&gt;
* April 18th 2024&lt;br /&gt;
* May 23th 2024&lt;br /&gt;
* June 20th 2024&lt;br /&gt;
* July 18th 2024&lt;br /&gt;
* August 22nd 2024&lt;br /&gt;
* September 19th 2024&lt;br /&gt;
* October 17th 2024&lt;br /&gt;
* November 21st 2024&lt;br /&gt;
* December 19th 2024&lt;br /&gt;
* January 23rd 2025&lt;br /&gt;
* February 20th 2025&lt;br /&gt;
* March 20th 2025&lt;br /&gt;
* April 17th 2025&lt;br /&gt;
* May 22nd 2025&lt;br /&gt;
* June 19th 2025&lt;br /&gt;
* July 17th 2025&lt;br /&gt;
* August 21st 2025&lt;br /&gt;
* September 18th 2025&lt;br /&gt;
* October 23rd 2025&lt;br /&gt;
* November 20th 2025&lt;br /&gt;
* December 18th 2025&lt;br /&gt;
* January 22nd 2026&lt;br /&gt;
* February 19th 2026&lt;br /&gt;
* March 19th 2026&lt;br /&gt;
* April 23rd 2026&lt;/div&gt;</summary>
		<author><name>Mbaney</name></author>
	</entry>
	<entry>
		<id>https://wiki.umiacs.umd.edu/umiacs/index.php?title=BarracudaSpamFirewall&amp;diff=13243</id>
		<title>BarracudaSpamFirewall</title>
		<link rel="alternate" type="text/html" href="https://wiki.umiacs.umd.edu/umiacs/index.php?title=BarracudaSpamFirewall&amp;diff=13243"/>
		<updated>2026-04-23T18:08:45Z</updated>

		<summary type="html">&lt;p&gt;Mbaney: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Introduction===&lt;br /&gt;
UMIACS has deployed a system with two Barracuda Networks spam firewalls. This allows for enterprise level Virus and Spam scoring and filtering for our email architecture. You can log in to the system either of the two firewalls using your UMIACS email address (username@umiacs.umd.edu) and UMD passphrase:&lt;br /&gt;
*[https://bubs.umiacs.umd.edu bubs.umiacs.umd.edu]&lt;br /&gt;
*[https://pompom.umiacs.umd.edu pompom.umiacs.umd.edu]&lt;br /&gt;
&lt;br /&gt;
===Mail Flow Through Barracudas===&lt;br /&gt;
*The first time your mail flows through one of the Barracudas it will send you a mail with a new username and password. Subsequently you will receive every day (unless you configure otherwise) a mail at approx. 3:30pm EST from the Barracuda with your quarantine summary. &#039;&#039;&#039;Please note that auto log-in through the link provided in the summary does not work anymore due to security hardening on the Barracudas. Please use the links provided above to log in.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Scoring===&lt;br /&gt;
The Barracudas will score every message that passes through them and inject varying message headers based on that score.  You can then create email filters based on these headers to filter out messages that are tagged as spam by the Barracudas. See [[BarracudaSpamFirewall/Scoring]] for more details.&lt;br /&gt;
&lt;br /&gt;
===Quarantine===&lt;br /&gt;
*Mail that has been deemed as spam will be kept on the Barracudas in quarantine.  It will not be delivered to your mailbox unless you configure the Barracudas to do so.&lt;br /&gt;
*Your quarantine will be preserved for &#039;&#039;&#039;21 days&#039;&#039;&#039;. Individual mail messages are purged if they are still in the quarantine 22 days after they are first received.&lt;br /&gt;
*You can search your spam quarantine by following the steps [[BarracudaSpamFirewall/SearchingQuarantine | here]].&lt;br /&gt;
&lt;br /&gt;
===Quarantine Passthrough===&lt;br /&gt;
*If you wish to have the mail that would ordinarily be quarantined by Barracuda delivered to your mailbox instead you can configure this using the Barracuda web configuration.&lt;br /&gt;
*You can enable this functionality by following the steps [[BarracudaSpamFirewall/QuarantinePassthrough | here]].&lt;br /&gt;
&lt;br /&gt;
===Whitelists, Blacklists &amp;amp; Bayesian Filtering===&lt;br /&gt;
*You may also setup whitelists, blacklists, and Bayesian filtering options through the Preferences tab at the top of the Barracuda web portal.&lt;br /&gt;
&lt;br /&gt;
===More Information===&lt;br /&gt;
*For more information on how to use the Barracuda please download the user&#039;s guide:&lt;br /&gt;
&lt;br /&gt;
https://wiki.umiacs.umd.edu/umiacs/images/5/5a/Barracuda_usersguide.pdf&lt;/div&gt;</summary>
		<author><name>Mbaney</name></author>
	</entry>
	<entry>
		<id>https://wiki.umiacs.umd.edu/umiacs/index.php?title=Nexus/Submission_Node_Policy&amp;diff=13242</id>
		<title>Nexus/Submission Node Policy</title>
		<link rel="alternate" type="text/html" href="https://wiki.umiacs.umd.edu/umiacs/index.php?title=Nexus/Submission_Node_Policy&amp;diff=13242"/>
		<updated>2026-04-22T16:30:36Z</updated>

		<summary type="html">&lt;p&gt;Mbaney: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Submission nodes are intended for users to submit jobs to the Nexus cluster. User interactivity is critical here, and while some of these submission nodes have a decent amount of cores and memory, highly-intensive computational jobs should not be run on these nodes. We have minimal resource restrictions in place at the moment, but we may explore further CPU/memory restrictions in the future. For the time being, be a good neighbor!&lt;br /&gt;
&lt;br /&gt;
In general, we expect that users on these nodes do not use more than 1-2GB of memory at a time and do not sustain &amp;gt;=100% CPU usage (at least 1 core fully utilized) for extended periods of time. Utilizing more than 1 core is fine for bursty workloads, but sustained high CPU utilization can lead to issues with interactivity, and these issues can be drastically amplified if there is also memory contention on the node, as swapping memory requires CPU time.&lt;br /&gt;
&lt;br /&gt;
=Examples=&lt;br /&gt;
&lt;br /&gt;
==Appropriate submission node uses==&lt;br /&gt;
&lt;br /&gt;
* Job submission&lt;br /&gt;
* Using as a SSH jump host for other hosts&lt;br /&gt;
* Basic code editing in editors with minimal extensions (e.g. emacs, nano, vim, neovim without an LSP).&lt;br /&gt;
&lt;br /&gt;
==Appropriate submission node uses, with caveats==&lt;br /&gt;
&lt;br /&gt;
These kinds of workloads can be run on submission nodes, but if they are incorrectly configured, they can affect interactivity of the nodes. If we notice repeated behavior like this, we may reach out to you to ask about your environment and suggest ways to lower resource utilization.&lt;br /&gt;
&lt;br /&gt;
* IDEs can be fine, but keep in mind which extensions you install. Some extensions/behaviors may use more memory/CPU than you realize.&lt;br /&gt;
** We have some [[VS_Code|guidance for VS Code and its forks]].&lt;br /&gt;
* For smaller projects, code compilation can be fine. If a project takes longer than 30 seconds to compile, please ensure compilation is limited to a single thread, or consider compiling the code in a Slurm job on one of the dedicated CPU nodes (we suggest using the scavenger partition).&lt;br /&gt;
** Depending on a project&#039;s file structure, code compilation can be highly I/O dependent, which can also impact user interactivity.&lt;br /&gt;
* Setting up environments with user package managers (e.g. pip, npm, conda/mamba)&lt;br /&gt;
** The resource usage of package managers mostly depends on the specific packages being installed. Complex environments can take a while with package managers like conda/mamba due to dependency resolution. Other packages aren&#039;t actually binary releases but will instead compile projects transparently to the user. For these reasons, we suggest that non-trivial environments should be set up in a Slurm job (we suggest using the scavenger partition).&lt;br /&gt;
* Running lightweight programs to interact with Slurm jobs currently running on the cluster.&lt;br /&gt;
&lt;br /&gt;
==Inappropriate submission node uses==&lt;br /&gt;
&lt;br /&gt;
If tech staff notices processes with the following behavior and node interactivity is affected, &amp;lt;b&amp;gt;we may kill these processes&amp;lt;/b&amp;gt;. If a user repeatedly causes issues, further action may be taken on their account.&lt;br /&gt;
&lt;br /&gt;
* Compiling large projects using all threads on a submission node.&lt;br /&gt;
* Running nontrivial computation requiring significant CPU and/or memory resources.&lt;br /&gt;
&lt;br /&gt;
=Advice for monitoring/reducing CPU/memory utilization=&lt;br /&gt;
&lt;br /&gt;
Here is some general guidance for tracking your resource utilization on a node, as well as some practices you can follow to slightly reduce CPU usage of certain tasks.&lt;br /&gt;
&lt;br /&gt;
* `top`&lt;br /&gt;
** By default, `top` sorts by %CPU, but you can sort by %MEM by pressing &amp;quot;M&amp;quot; (Shift + &amp;quot;m&amp;quot;).&lt;br /&gt;
** You can limit it to show only processes from your user by starting it with `-u $USER`&lt;br /&gt;
** VIRT memory usage doesn&#039;t mean too much, as oftentimes programs will request way more memory than they actually need, and the kernel may not actually give them this memory until it is actually required. RSS memory is the actual amount of memory used by a process at a given point. If there is no suffix, the reported value is in KB.&lt;br /&gt;
* /sys/fs/cgroup/memory/user.slice/user-$UID_NUMBER.slice/memory.usage_in_bytes&lt;br /&gt;
** This is the current combined memory usage of all processes running under your user.&lt;/div&gt;</summary>
		<author><name>Mbaney</name></author>
	</entry>
	<entry>
		<id>https://wiki.umiacs.umd.edu/umiacs/index.php?title=Nexus/GPUs&amp;diff=13236</id>
		<title>Nexus/GPUs</title>
		<link rel="alternate" type="text/html" href="https://wiki.umiacs.umd.edu/umiacs/index.php?title=Nexus/GPUs&amp;diff=13236"/>
		<updated>2026-04-17T19:21:30Z</updated>

		<summary type="html">&lt;p&gt;Mbaney: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;There are several different types of [https://www.nvidia.com/en-us/ NVIDIA] GPUs in the [[Nexus]] cluster that are available to be scheduled. They are listed below in order of newest to oldest architecture, and then alphanumerically by name.&lt;br /&gt;
&lt;br /&gt;
The exact quantities of GPUs per type are not listed here since these numbers may change frequently due to additions to or removals from the cluster or during compute node troubleshooting. To see which compute nodes have which GPUs and in what quantities, use the &amp;lt;code&amp;gt;show_nodes&amp;lt;/code&amp;gt; command on a submission or compute node. The quantities are listed under the &amp;lt;tt&amp;gt;GRES&amp;lt;/tt&amp;gt; column.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Name&lt;br /&gt;
! GRES string ([[SLURM]])&lt;br /&gt;
! [https://www.nvidia.com/en-us/technologies Architecture]&lt;br /&gt;
! [https://developer.nvidia.com/cuda-toolkit CUDA] Cores&lt;br /&gt;
! Memory Amount and Type&lt;br /&gt;
! Memory Bandwidth&lt;br /&gt;
! FP32 Performance (TFLOPS)&lt;br /&gt;
! [https://developer.nvidia.com/blog/accelerating-ai-training-with-tf32-tensor-cores/ TF32] Performance ([https://developer.nvidia.com/blog/accelerating-inference-with-sparsity-using-ampere-and-tensorrt Dense / Sparse TOPS])&lt;br /&gt;
|-&lt;br /&gt;
| L40S&lt;br /&gt;
| &amp;lt;code&amp;gt;l40s&amp;lt;/code&amp;gt;&lt;br /&gt;
| Ada Lovelace&lt;br /&gt;
| 18176&lt;br /&gt;
| 48GB GDDR6&lt;br /&gt;
| 864GB/s&lt;br /&gt;
| 91.6&lt;br /&gt;
| 183/366&lt;br /&gt;
|-&lt;br /&gt;
| RTX 6000 Ada Generation&lt;br /&gt;
| &amp;lt;code&amp;gt;rtx6000ada&amp;lt;/code&amp;gt;&lt;br /&gt;
| Ada Lovelace&lt;br /&gt;
| 18176&lt;br /&gt;
| 48GB GDDR6&lt;br /&gt;
| 960GB/s&lt;br /&gt;
| 91.1&lt;br /&gt;
| 182.1/364.2&lt;br /&gt;
|-&lt;br /&gt;
| H100 NVLink [0]&lt;br /&gt;
| &amp;lt;code&amp;gt;h100-nvl&amp;lt;/code&amp;gt;&lt;br /&gt;
| Hopper&lt;br /&gt;
| 33792&lt;br /&gt;
| 188GB HBM3&lt;br /&gt;
| 7.87TB/s&lt;br /&gt;
| 133.8&lt;br /&gt;
| not officially published/1671&lt;br /&gt;
|-&lt;br /&gt;
| H100 SXM&lt;br /&gt;
| &amp;lt;code&amp;gt;h100-sxm&amp;lt;/code&amp;gt;&lt;br /&gt;
| Hopper&lt;br /&gt;
| 16896&lt;br /&gt;
| 80GB HBM3&lt;br /&gt;
| 3.35TB/s&lt;br /&gt;
| 66.9&lt;br /&gt;
| not officially published/989&lt;br /&gt;
|-&lt;br /&gt;
| H200 SXM&lt;br /&gt;
| &amp;lt;code&amp;gt;h200-sxm&amp;lt;/code&amp;gt;&lt;br /&gt;
| Hopper&lt;br /&gt;
| 16896&lt;br /&gt;
| 141GB HBM3e&lt;br /&gt;
| 4.89TB/s&lt;br /&gt;
| 66.9&lt;br /&gt;
| not officially published/989&lt;br /&gt;
|-&lt;br /&gt;
| A100 PCIe 80GB&lt;br /&gt;
| &amp;lt;code&amp;gt;a100&amp;lt;/code&amp;gt;&lt;br /&gt;
| Ampere&lt;br /&gt;
| 6912&lt;br /&gt;
| 80GB HBM2e&lt;br /&gt;
| 1.94TB/s&lt;br /&gt;
| 19.5&lt;br /&gt;
| 156/312&lt;br /&gt;
|-&lt;br /&gt;
| A100 SXM 80GB&lt;br /&gt;
| &amp;lt;code&amp;gt;a100&amp;lt;/code&amp;gt;&lt;br /&gt;
| Ampere&lt;br /&gt;
| 6912&lt;br /&gt;
| 80GB HBM2e&lt;br /&gt;
| 2.04TB/s&lt;br /&gt;
| 19.5&lt;br /&gt;
| 156/312&lt;br /&gt;
|-&lt;br /&gt;
| GeForce RTX 3070&lt;br /&gt;
| &amp;lt;code&amp;gt;rtx3070&amp;lt;/code&amp;gt;&lt;br /&gt;
| Ampere&lt;br /&gt;
| 5888&lt;br /&gt;
| 8GB GDDR6&lt;br /&gt;
| 448GB/s&lt;br /&gt;
| 20.3&lt;br /&gt;
| 20.3/40.6&lt;br /&gt;
|-&lt;br /&gt;
| GeForce RTX 3090&lt;br /&gt;
| &amp;lt;code&amp;gt;rtx3090&amp;lt;/code&amp;gt;&lt;br /&gt;
| Ampere&lt;br /&gt;
| 10496&lt;br /&gt;
| 24GB GDDR6X&lt;br /&gt;
| 936GB/s&lt;br /&gt;
| 35.6&lt;br /&gt;
| 35.6/71&lt;br /&gt;
|-&lt;br /&gt;
| RTX A4000&lt;br /&gt;
| &amp;lt;code&amp;gt;rtxa4000&amp;lt;/code&amp;gt;&lt;br /&gt;
| Ampere&lt;br /&gt;
| 6144&lt;br /&gt;
| 16GB GDDR6&lt;br /&gt;
| 448GB/s&lt;br /&gt;
| 19.2&lt;br /&gt;
| not officially published&lt;br /&gt;
|-&lt;br /&gt;
| RTX A5000&lt;br /&gt;
| &amp;lt;code&amp;gt;rtxa5000&amp;lt;/code&amp;gt;&lt;br /&gt;
| Ampere&lt;br /&gt;
| 8192&lt;br /&gt;
| 24GB GDDR6&lt;br /&gt;
| 768GB/s&lt;br /&gt;
| 27.8&lt;br /&gt;
| not officially published&lt;br /&gt;
|-&lt;br /&gt;
| RTX A6000&lt;br /&gt;
| &amp;lt;code&amp;gt;rtxa6000&amp;lt;/code&amp;gt;&lt;br /&gt;
| Ampere&lt;br /&gt;
| 10752&lt;br /&gt;
| 48GB GDDR6&lt;br /&gt;
| 768GB/s&lt;br /&gt;
| 38.7&lt;br /&gt;
| 77.4/154.8&lt;br /&gt;
|-&lt;br /&gt;
| GeForce RTX 2080 Ti&lt;br /&gt;
| &amp;lt;code&amp;gt;rtx2080ti&amp;lt;/code&amp;gt;&lt;br /&gt;
| Turing&lt;br /&gt;
| 4352&lt;br /&gt;
| 11GB GDDR5X&lt;br /&gt;
| 616GB/s&lt;br /&gt;
| 13.4&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| GeForce GTX 1080 Ti&lt;br /&gt;
| &amp;lt;code&amp;gt;gtx1080ti&amp;lt;/code&amp;gt;&lt;br /&gt;
| Pascal&lt;br /&gt;
| 3584&lt;br /&gt;
| 11GB GDDR5X&lt;br /&gt;
| 484GB/s&lt;br /&gt;
| 11.3&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| Quadro P6000&lt;br /&gt;
| &amp;lt;code&amp;gt;p6000&amp;lt;/code&amp;gt;&lt;br /&gt;
| Pascal&lt;br /&gt;
| 3840&lt;br /&gt;
| 24GB GDDR5X&lt;br /&gt;
| 432GB/s&lt;br /&gt;
| 12.6&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| Tesla P100&lt;br /&gt;
| &amp;lt;code&amp;gt;p100&amp;lt;/code&amp;gt;&lt;br /&gt;
| Pascal&lt;br /&gt;
| 3584&lt;br /&gt;
| 16GB CoWoS HBM2&lt;br /&gt;
| 732GB/s&lt;br /&gt;
| 9.3&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| TITAN X (Pascal)&lt;br /&gt;
| &amp;lt;code&amp;gt;titanxpascal&amp;lt;/code&amp;gt;&lt;br /&gt;
| Pascal&lt;br /&gt;
| 3584&lt;br /&gt;
| 12GB GDDR5X&lt;br /&gt;
| 480GB/s&lt;br /&gt;
| 11.0&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| TITAN Xp&lt;br /&gt;
| &amp;lt;code&amp;gt;titanxp&amp;lt;/code&amp;gt;&lt;br /&gt;
| Pascal&lt;br /&gt;
| 3840&lt;br /&gt;
| 12GB GDDR5X&lt;br /&gt;
| 548GB/s&lt;br /&gt;
| 12.1&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| GeForce GTX TITAN X&lt;br /&gt;
| &amp;lt;code&amp;gt;gtxtitanx&amp;lt;/code&amp;gt;&lt;br /&gt;
| Maxwell&lt;br /&gt;
| 3072&lt;br /&gt;
| 12GB GDDR5&lt;br /&gt;
| 336GB/s&lt;br /&gt;
| 6.7&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[0] - This GPU type is actually a pair of two physical cards connected over [https://www.nvidia.com/en-us/data-center/nvlink NVLink] bridges. NVIDIA&#039;s provided specifications for this GPU type are for one physical card; to get these specs, we have hence doubled NVIDIA&#039;s provided values.&lt;/div&gt;</summary>
		<author><name>Mbaney</name></author>
	</entry>
	<entry>
		<id>https://wiki.umiacs.umd.edu/umiacs/index.php?title=Windows_Patch_Management&amp;diff=13235</id>
		<title>Windows Patch Management</title>
		<link rel="alternate" type="text/html" href="https://wiki.umiacs.umd.edu/umiacs/index.php?title=Windows_Patch_Management&amp;diff=13235"/>
		<updated>2026-04-16T13:45:53Z</updated>

		<summary type="html">&lt;p&gt;Mbaney: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;UMIACS uses Windows&#039; built-in Windows Update mechanism to patch the Windows operating system, Windows drivers, and other Microsoft products that Microsoft uses Windows Update to push updates for, in tandem with a software distribution tool called [https://umd-dit.atlassian.net/wiki/spaces/DMS/pages/45285463/Patch+My+PC Patch My PC] that operates through the Division of IT&#039;s managed [https://umd-dit.atlassian.net/wiki/spaces/DMS/pages/45285467/Intune Intune] service to patch third party applications.&lt;br /&gt;
&lt;br /&gt;
Our previous patch management solution, Ivanti Endpoint Manager, may still have agent software installed on UMIACS-supported [[Windows]] desktops, however it operates only in &amp;quot;read-only&amp;quot; mode and does not perform actual patching anymore. It will be removed in the future.&lt;br /&gt;
&lt;br /&gt;
==Windows Update==&lt;br /&gt;
* &#039;&#039;&#039;Desktops&#039;&#039;&#039; will run updates available through Windows Update daily between 3am and 4am US Eastern.&lt;br /&gt;
* &#039;&#039;&#039;Laptops&#039;&#039;&#039; will run updates available through Windows Update at any time they are on and connected to the internet.&lt;br /&gt;
&lt;br /&gt;
The only updates available through Windows Update that should require computer restarts are Windows operating system monthly rollups, released on [https://en.wikipedia.org/wiki/Patch_Tuesday Microsoft&#039;s Patch Tuesday], and new [[WindowsServicing | feature updates]], when they are pushed by us annually.&lt;br /&gt;
&lt;br /&gt;
After a month&#039;s monthly rollup is installed on your computer, you will receive a notification stating that your machine needs to be restarted in the next 7 days. You can choose either to restart immediately or to schedule the restart. If you do not restart by the deadline, your computer will automatically restart no more than a day after the deadline is exceeded. During the month that a feature update is pushed, your computer may need to reboot twice.&lt;br /&gt;
&lt;br /&gt;
==Patch My PC==&lt;br /&gt;
Patches are deployed as they come out for the Patch My PC catalog. They should install automatically and require little to no input.&lt;/div&gt;</summary>
		<author><name>Mbaney</name></author>
	</entry>
	<entry>
		<id>https://wiki.umiacs.umd.edu/umiacs/index.php?title=Windows_Patch_Management&amp;diff=13234</id>
		<title>Windows Patch Management</title>
		<link rel="alternate" type="text/html" href="https://wiki.umiacs.umd.edu/umiacs/index.php?title=Windows_Patch_Management&amp;diff=13234"/>
		<updated>2026-04-16T13:45:08Z</updated>

		<summary type="html">&lt;p&gt;Mbaney: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;As of Fall 2025, UMIACS uses Windows&#039; built-in Windows Update mechanism to patch the Windows operating system, Windows drivers, and other Microsoft products that Microsoft uses Windows Update to push updates for, in tandem with a software distribution tool called [https://umd-dit.atlassian.net/wiki/spaces/DMS/pages/45285463/Patch+My+PC Patch My PC] that operates through the Division of IT&#039;s managed [https://umd-dit.atlassian.net/wiki/spaces/DMS/pages/45285467/Intune Intune] service to patch third party applications.&lt;br /&gt;
&lt;br /&gt;
Our previous patch management solution, Ivanti Endpoint Manager, may still have agent software installed on UMIACS-supported [[Windows]] desktops, however it operates only in &amp;quot;read-only&amp;quot; mode and does not perform actual patching anymore. It will be removed in the future.&lt;br /&gt;
&lt;br /&gt;
==Windows Update==&lt;br /&gt;
* &#039;&#039;&#039;Desktops&#039;&#039;&#039; will run updates available through Windows Update daily between 3am and 4am US Eastern.&lt;br /&gt;
* &#039;&#039;&#039;Laptops&#039;&#039;&#039; will run updates available through Windows Update at any time they are on and connected to the internet.&lt;br /&gt;
&lt;br /&gt;
The only updates available through Windows Update that should require computer restarts are Windows operating system monthly rollups, released on [https://en.wikipedia.org/wiki/Patch_Tuesday Microsoft&#039;s Patch Tuesday], and new [[WindowsServicing | feature updates]], when they are pushed by us annually. After a month&#039;s monthly rollup is installed on your computer, you will receive a notification stating that your machine needs to be restarted in the next 7 days. You can choose either to restart immediately or to schedule the restart. If you do not restart by the deadline, your computer will automatically restart no more than a day after the deadline is exceeded. During the month that a feature update is released, your computer may need to reboot twice.&lt;br /&gt;
&lt;br /&gt;
==Patch My PC==&lt;br /&gt;
Patches are deployed as they come out for the Patch My PC catalog. They should install automatically and require little to no input.&lt;/div&gt;</summary>
		<author><name>Mbaney</name></author>
	</entry>
	<entry>
		<id>https://wiki.umiacs.umd.edu/umiacs/index.php?title=WindowsServicing&amp;diff=13233</id>
		<title>WindowsServicing</title>
		<link rel="alternate" type="text/html" href="https://wiki.umiacs.umd.edu/umiacs/index.php?title=WindowsServicing&amp;diff=13233"/>
		<updated>2026-04-16T13:43:26Z</updated>

		<summary type="html">&lt;p&gt;Mbaney: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Windows]] periodically releases &amp;quot;feature updates&amp;quot; that are designed to bring a large set of new features to all machines that can run Windows. They are typically released annually by Microsoft.&lt;br /&gt;
&lt;br /&gt;
At UMIACS, we release these feature updates to be installed on all UMIACS-supported Windows desktops as well as Enterprise supported laptops and home machines via our [[Windows Patch Management]]. We typically release feature updates to be installed several months after Microsoft releases them to the general public to ensure that the targeted release is compatible with all software that we run.&lt;br /&gt;
&lt;br /&gt;
==Current Feature Updates at UMIACS==&lt;br /&gt;
The current feature updates we deploy at UMIACS are:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!OS Version&lt;br /&gt;
!Feature Update&lt;br /&gt;
|-&lt;br /&gt;
|Windows 11&lt;br /&gt;
|25H2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
We deployed the current Windows 11 feature update on April 15th, 2026. For a comprehensive list of what is new in this feature update, please see Microsoft&#039;s documentation:&lt;br /&gt;
* 11: https://learn.microsoft.com/en-us/windows/whats-new/whats-new-windows-11-version-25h2&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Windows 10 reached end of support on October 14th, 2025.&#039;&#039;&#039; If you still have a university-owned computer running Windows 10, please upgrade it to Windows 11 ASAP. Please [[HelpDesk | contact staff]] if help is needed.&lt;br /&gt;
&lt;br /&gt;
==Updating==&lt;br /&gt;
Our [[Windows Patch Management]] automatically installs feature updates when we release them to UMIACS-managed devices. You will receive a notification to restart to install the feature update in the same way that other patches are installed. Please see that page for more details.&lt;/div&gt;</summary>
		<author><name>Mbaney</name></author>
	</entry>
	<entry>
		<id>https://wiki.umiacs.umd.edu/umiacs/index.php?title=WindowsServicing&amp;diff=13232</id>
		<title>WindowsServicing</title>
		<link rel="alternate" type="text/html" href="https://wiki.umiacs.umd.edu/umiacs/index.php?title=WindowsServicing&amp;diff=13232"/>
		<updated>2026-04-16T13:19:33Z</updated>

		<summary type="html">&lt;p&gt;Mbaney: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Windows]] periodically releases &amp;quot;feature updates&amp;quot; that are designed to bring a large set of new features to all machines that can run Windows. They are typically released annually by Microsoft.&lt;br /&gt;
&lt;br /&gt;
At UMIACS, we release these feature updates to be installed on all UMIACS-supported Windows desktops as well as Enterprise supported laptops and home machines via our [[Windows Patch Management]]. We typically release feature updates to be installed several months after Microsoft releases them to the general public to ensure that the targeted release is compatible with all software that we run.&lt;br /&gt;
&lt;br /&gt;
==Current Feature Updates at UMIACS==&lt;br /&gt;
The current feature updates we deploy at UMIACS are:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!OS Version&lt;br /&gt;
!Feature Update&lt;br /&gt;
|-&lt;br /&gt;
|Windows 11&lt;br /&gt;
|25H2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
We deployed the current Windows 11 feature update on April 15th, 2026.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Windows 10 reached end of support on October 14th, 2025.&#039;&#039;&#039; If you still have a university-owned computer running Windows 10, please upgrade it to Windows 11 ASAP. Please [[HelpDesk | contact staff]] if help is needed.&lt;br /&gt;
&lt;br /&gt;
For a comprehensive list of what is new in this feature update, please see Microsoft&#039;s documentation:&lt;br /&gt;
* 11: https://learn.microsoft.com/en-us/windows/whats-new/whats-new-windows-11-version-25h2&lt;br /&gt;
&lt;br /&gt;
==Updating==&lt;br /&gt;
Our [[Windows Patch Management]] automatically installs feature updates when we release them to UMIACS-managed devices. You will receive a notification to restart to install the feature update in the same way that other patches are installed. Please see that page for more details.&lt;/div&gt;</summary>
		<author><name>Mbaney</name></author>
	</entry>
	<entry>
		<id>https://wiki.umiacs.umd.edu/umiacs/index.php?title=SLURM/Priority&amp;diff=13227</id>
		<title>SLURM/Priority</title>
		<link rel="alternate" type="text/html" href="https://wiki.umiacs.umd.edu/umiacs/index.php?title=SLURM/Priority&amp;diff=13227"/>
		<updated>2026-04-15T14:28:59Z</updated>

		<summary type="html">&lt;p&gt;Mbaney: /* Fair-share */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[SLURM]] at UMIACS is configured to prioritize jobs based on a number of factors, termed [https://slurm.schedmd.com/priority_multifactor.html multifactor priority] in SLURM. Each job submitted to the scheduler is assigned a priority value, which can be viewed in the output of &amp;lt;code&amp;gt;scontrol show job &amp;lt;jobid&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ scontrol show job 1&lt;br /&gt;
JobId=1 JobName=bash&lt;br /&gt;
   UserId=username(13337) GroupId=username(13337) MCS_label=N/A&lt;br /&gt;
   Priority=2000841 Nice=0 Account=nexus QOS=default&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Pending Jobs==&lt;br /&gt;
If the partition that you submit your job to cannot begin your job instantly due to no compute node(s) in the partition having the resources free to run it, your job will remain in the Pending state with the listed reason &amp;lt;tt&amp;gt;(Resources)&amp;lt;/tt&amp;gt;. If there is another job already pending with this reason in a partition, you submit a job to the same partition, and your job gets assigned a lower priority value than that pending job, your job will instead remain in the Pending state with reason &amp;lt;tt&amp;gt;(Priority)&amp;lt;/tt&amp;gt;. If there are multiple jobs pending and your job is not the highest priority job pending, the scheduler will only begin execution of your job if starting your job would not push the begin times for any higher priority jobs in the same partition further back.&lt;br /&gt;
&lt;br /&gt;
Lowering some combination of the resources you are requesting and/or the time limit may allow submitted jobs to start sooner (or instantly) during times where a partition is under resource pressure. The command &amp;lt;code&amp;gt;squeue -j &amp;lt;jobid&amp;gt; --start&amp;lt;/code&amp;gt; can be used to provide a time estimate for when your job will start, where &amp;lt;jobid&amp;gt; is the job ID you receive from either srun or sbatch. This time is subject to change depending on if other users&#039; jobs end sooner or more jobs get submitted.&lt;br /&gt;
&lt;br /&gt;
You can use the command alias &amp;lt;code&amp;gt;[[SLURM/JobSubmission#show_available_nodes | show_available_nodes]]&amp;lt;/code&amp;gt; with a variety of different submission arguments to get a better idea of what jobs may be able to begin sooner, but the output of this command alias is not definitive, for reasons mentioned in the footnotes on the page linked to.&lt;br /&gt;
&lt;br /&gt;
==Priority Factors==&lt;br /&gt;
The priority factors in use at UMIACS are, from most-heavily to least-heavily weighted:&lt;br /&gt;
* Partition job was submitted to&lt;br /&gt;
* Fair-share of resources within SLURM account&lt;br /&gt;
* Age of job, i.e., time spent waiting to run in the queue&lt;br /&gt;
* Association/SLURM account being used&lt;br /&gt;
* &amp;quot;Nice&amp;quot; value that job was submitted with&lt;br /&gt;
&lt;br /&gt;
===Partition===&lt;br /&gt;
The partitions whose names are or are prefixed with &amp;lt;code&amp;gt;scavenger&amp;lt;/code&amp;gt; on our clusters are always in a lower priority tier and always have lower priority factors for their jobs than all other partitions on that cluster. As mentioned in other UMIACS cluster-specific documentation, jobs submitted to these partitions are also [https://slurm.schedmd.com/preempt.html preemptable]. These two design choices give the partitions their names; jobs submitted to &amp;lt;code&amp;gt;scavenger&amp;lt;/code&amp;gt; named or prefixed partitions &amp;quot;scavenge&amp;quot; for available resources on the cluster rather than consume dedicated resources, and are interrupted by jobs asking to consume dedicated resources.&lt;br /&gt;
&lt;br /&gt;
On [[Nexus]], labs/centers may also have their own scavenger partitions, i.e., &amp;lt;code&amp;gt;&amp;lt;labname&amp;gt;-scavenger&amp;lt;/code&amp;gt;, if the faculty for the lab/center have decided upon some sort of limit on jobs, such as number of simultaneous jobs, number of actively consumed billing resources, etc., in their non-scavenger partitions. These lab/center scavenger partitions allow for more jobs to be run by members of that lab/center on that lab&#039;s/center&#039;s nodes only, but jobs on these partitions are preemptable by jobs in that lab&#039;s/center&#039;s non-scavenger partitions and/or account-specific partitions, if any account-specific partitions containing a given node exist. Jobs submitted to lab/center scavenger partitions will preempt jobs submitted to the institute-wide scavenger partitions (running on nodes that are also in those lab/center scavenger partitions).&lt;br /&gt;
&lt;br /&gt;
In decreasing order of priority (highest first), our priority tiers for partitions are:&lt;br /&gt;
# Priority access account-specific partitions&lt;br /&gt;
# Account-specific partitions&lt;br /&gt;
# Lab/center-specific and institute-wide non-&amp;quot;scavenger&amp;quot; named partitions&lt;br /&gt;
# Lab/center-specific &amp;quot;scavenger&amp;quot; named partitions&lt;br /&gt;
# Institute-wide &amp;quot;scavenger&amp;quot; named partitions&lt;br /&gt;
&lt;br /&gt;
A job in a specific priority tier will never have a higher priority value than any job in a higher priority tier. Corresponding to the above tiers, the priority values that you will see for jobs in each tier:&lt;br /&gt;
# &amp;gt;= 4000000&lt;br /&gt;
# 3000000 to 3999999&lt;br /&gt;
# 2000000 to 2999999&lt;br /&gt;
# 1000000 to 1999999&lt;br /&gt;
# &amp;lt; 1000000&lt;br /&gt;
&lt;br /&gt;
As such, &#039;&#039;&#039;jobs on specific nodes in some non-&amp;quot;scavenger&amp;quot; named partitions may also be subject to preemption&#039;&#039;&#039; based on these priority tiers. Generally speaking, though, most nodes are only in one partition in one of the first three (non-&amp;quot;scavenger&amp;quot;) priority tiers, and then in an institute-wide &amp;quot;scavenger&amp;quot; named partition, and a lab/center-specific &amp;quot;scavenger&amp;quot; named partition, if one exists for the lab/center that a given node is a part of.&lt;br /&gt;
&lt;br /&gt;
===Fair-share===&lt;br /&gt;
The more resources your jobs have already consumed within an account, the lower priority factor your future jobs will have when compared to other users&#039; jobs in the same account who have used fewer resources (so as to &amp;quot;fair-share&amp;quot; with other users). Additionally, if there are multiple accounts that can submit to a partition, and the sum of resources of all users&#039; jobs within account A is greater than the sum of resources of all users&#039; jobs within account B, the lower priority factor all future jobs from users in account A will have when compared to all future jobs from users in account B. (In other words, fair-share is hierarchical.)&lt;br /&gt;
&lt;br /&gt;
You can view the various fair-share statistics with the command &amp;lt;code&amp;gt;sshare -l&amp;lt;/code&amp;gt;. It will show your specific FairShare values (always between 0.0 and 1.0) within accounts that you have access to. You can also view other accounts&#039; Level Fairshare (LevelFS).&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Account                    User  RawShares  NormShares    RawUsage   NormUsage  EffectvUsage  FairShare    LevelFS                    GrpTRESMins                    TRESRunMins&lt;br /&gt;
-------------------- ---------- ---------- ----------- ----------- ----------- ------------- ---------- ---------- ------------------------------ ------------------------------&lt;br /&gt;
root                                          0.000000 68444174744                  1.000000                                                      cpu=4797787,mem=70530109515,e+&lt;br /&gt;
 cbcb                                    1    0.028571  4454658377    0.065046      0.065046              0.439246                                cpu=452139,mem=22276633804,en+&lt;br /&gt;
 class                                   1    0.028571   255617290    0.003733      0.003733              7.652841                                cpu=7021,mem=74554606,energy=+&lt;br /&gt;
 clip                                    1    0.028571  3057933838    0.044674      0.044674              0.639549                                cpu=33214,mem=2744443460,ener+&lt;br /&gt;
 cml                                     1    0.028571    66866114    0.000975      0.000975             29.299389                                cpu=1796,mem=29426756,energy=+&lt;br /&gt;
 gamma                                   1    0.028571  2609474948    0.038129      0.038129              0.749334                                cpu=34089,mem=360373862,energ+&lt;br /&gt;
 mbrc                                    1    0.028571    73411964    0.001073      0.001073             26.635560                                cpu=1195,mem=4896358,energy=0+&lt;br /&gt;
 mc2                                     1    0.028571     2682557    0.000039      0.000039            728.919551                                cpu=0,mem=0,energy=0,node=0,b+&lt;br /&gt;
 nexus                                   1    0.028571  5472794067    0.079964      0.079964              0.357302                                cpu=278464,mem=3250599000,ene+&lt;br /&gt;
  nexus                username          1    0.000835       69666    0.000001      0.000021   0.457407  37.435501                                cpu=0,mem=0,energy=0,node=0,b+&lt;br /&gt;
 oasis                                   1    0.028571      330030    0.000005      0.000005            5.9248e+03                                cpu=0,mem=0,energy=0,node=0,b+&lt;br /&gt;
 quics                                   1    0.028571           4    0.000000      0.000000            4.1683e+08                                cpu=0,mem=0,energy=0,node=0,b+&lt;br /&gt;
 scavenger                               1    0.028571 40888195964    0.597419      0.597419              0.047825                                cpu=3142204,mem=29902903931,e+&lt;br /&gt;
  scavenger            username          1    0.000835         171    0.000000      0.000000   0.033975 9.8885e+04                                cpu=0,mem=0,energy=0,node=0,b+&lt;br /&gt;
 vulcan                                  1    0.028571  1247236491    0.018224      0.018224              1.567761                                cpu=147273,mem=1161243818,ene+&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The actual resource billing weights for the three main resources (memory per GB, CPU cores, and number of GPUs if applicable) are per-partition and can be viewed in the &amp;lt;code&amp;gt;TRESBillingWeights&amp;lt;/code&amp;gt; line in the output of &amp;lt;code&amp;gt;scontrol show partition&amp;lt;/code&amp;gt;. The &amp;lt;code&amp;gt;billing&amp;lt;/code&amp;gt; value for a job is the sum of all resource weightings for resources the job has requested. This value is then multiplied by the amount of time a job has run in seconds to get the amount it contributes to the RawUsage for the association within the account it is running under.&lt;br /&gt;
&lt;br /&gt;
====Algorithm====&lt;br /&gt;
The algorithm we use for resource weightings differs depending on if there are any GPUs in a partition or not, and is as follows:&lt;br /&gt;
&lt;br /&gt;
=====GPU partitions=====&lt;br /&gt;
Each resource (memory/CPU/GPU) is given a weighting value such that their relative billings to each other within the partition are equal (33.33% each). Memory is typically always the most abundant resource by unit (weighting value of 1.0 per GB) and the CPU/GPU values are adjusted accordingly.&lt;br /&gt;
&lt;br /&gt;
Different GPU types may also be weighted differently within the GPU relative billing. A baseline GPU type is first chosen. All GPUs of that type and other types that have lower FP32 performance (in [https://en.wikipedia.org/wiki/FLOPS TFLOPS]) are given a weighting factor of 1.0. GPU types with higher FP32 performance than the baseline GPU are given a weighting factor calculated by dividing their FP32 performance by the baseline GPU&#039;s FP32 performance. The weighting values for each GPU type are then determined by normalizing the sum of all of GPU cards&#039; billing values multiplied by their weighting factors against the relative billing percentage for GPUs (33.33%).&lt;br /&gt;
&lt;br /&gt;
The current baseline GPU is the [https://www.nvidia.com/en-us/design-visualization/rtx-a4000/ NVIDIA RTX A4000].&lt;br /&gt;
&lt;br /&gt;
=====CPU-only partitions=====&lt;br /&gt;
Each resource (memory/CPU) is first given a weighting value such that their relative billings to each other within the partition are equal (50% each). Memory is typically always the most abundant resource by unit (weighting value of 1.0 per GB) and the CPU value is adjusted accordingly. The final CPU weight value is then divided by 10, which translates to roughly 90.9% of the billing weight being for memory and 9.1% being for CPU. The division of the CPU value is done so as to not affect accounts&#039; fair-share priority factors as much when running jobs in CPU-only partitions given the popularity of GPGPU computing.&lt;br /&gt;
&lt;br /&gt;
===Age===&lt;br /&gt;
The longer a job is eligible to run but cannot due to resources being unavailable or having a lower priority value than one or more other jobs, the higher the job&#039;s priority becomes as it continue to wait in the queue. This is the only priority modifier that can change a job&#039;s priority value once it has been submitted, and the priority modifier for this factor reaches its limit after 7 days.&lt;br /&gt;
&lt;br /&gt;
Jobs&#039; age priority factors on our clusters are recalculated every 5 minutes.&lt;br /&gt;
&lt;br /&gt;
===Association===&lt;br /&gt;
Some lab/center-specific SLURM accounts have priority values directly attached to them. Jobs run under these accounts gain this many extra points of priority.&lt;br /&gt;
&lt;br /&gt;
===Nice value===&lt;br /&gt;
This is a submission argument that you as the user can include when submitting your jobs to deprioritize them. Larger values will deprioritize jobs more, e.g.,&lt;br /&gt;
&amp;lt;pre&amp;gt;srun --pty --nice=2 bash&amp;lt;/pre&amp;gt;&lt;br /&gt;
will have lower priority than&lt;br /&gt;
&amp;lt;pre&amp;gt;srun --pty --nice=1 bash&amp;lt;/pre&amp;gt;&lt;br /&gt;
which will have lower priority than&lt;br /&gt;
&amp;lt;pre&amp;gt;srun --pty bash&amp;lt;/pre&amp;gt;&lt;br /&gt;
assuming all three jobs were submitted at the same time. You cannot use negative values for this argument.&lt;br /&gt;
&lt;br /&gt;
Because this value is absolute, if you want to use it, we would recommend using small numbers - one or two digits - only. Larger numbers may impact your job&#039;s ability to run at all as a result of the other factors at play.&lt;/div&gt;</summary>
		<author><name>Mbaney</name></author>
	</entry>
	<entry>
		<id>https://wiki.umiacs.umd.edu/umiacs/index.php?title=WindowsServicing&amp;diff=13226</id>
		<title>WindowsServicing</title>
		<link rel="alternate" type="text/html" href="https://wiki.umiacs.umd.edu/umiacs/index.php?title=WindowsServicing&amp;diff=13226"/>
		<updated>2026-04-15T14:10:28Z</updated>

		<summary type="html">&lt;p&gt;Mbaney: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Windows]] periodically releases &amp;quot;feature updates&amp;quot; that are designed to bring a large set of new features to all machines that can run Windows. They are typically released annually by Microsoft.&lt;br /&gt;
&lt;br /&gt;
At UMIACS, we release these feature updates to be installed on all UMIACS-supported Windows desktops as well as Enterprise supported laptops and home machines via our [[Windows Patch Management]]. We typically release feature updates to be installed several months after Microsoft releases them to the general public to ensure that the targeted release is compatible with all software that we run.&lt;br /&gt;
&lt;br /&gt;
==Current Feature Release at UMIACS==&lt;br /&gt;
The current feature releases we deploy at UMIACS are:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!OS Version&lt;br /&gt;
!Feature Release&lt;br /&gt;
|-&lt;br /&gt;
|Windows 11&lt;br /&gt;
|25H2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
We deployed the current Windows 11 feature release on April 15th, 2026.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Windows 10 reached end of support on October 14th, 2025.&#039;&#039;&#039; If you still have a university-owned computer running Windows 10, please upgrade it to Windows 11 ASAP. Please [[HelpDesk | contact staff]] if help is needed.&lt;br /&gt;
&lt;br /&gt;
For a comprehensive list of what is new in this feature update, please see Microsoft&#039;s documentation:&lt;br /&gt;
* 11: https://learn.microsoft.com/en-us/windows/whats-new/whats-new-windows-11-version-25h2&lt;br /&gt;
&lt;br /&gt;
==Updating==&lt;br /&gt;
Our [[Windows Patch Management]] automatically installs feature updates when we release them to UMIACS-managed devices. You will receive a notification to restart to install the feature update in the same way that other patches are installed. Please see that page for more details.&lt;/div&gt;</summary>
		<author><name>Mbaney</name></author>
	</entry>
	<entry>
		<id>https://wiki.umiacs.umd.edu/umiacs/index.php?title=SLURM/Priority&amp;diff=13225</id>
		<title>SLURM/Priority</title>
		<link rel="alternate" type="text/html" href="https://wiki.umiacs.umd.edu/umiacs/index.php?title=SLURM/Priority&amp;diff=13225"/>
		<updated>2026-04-15T13:10:43Z</updated>

		<summary type="html">&lt;p&gt;Mbaney: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[SLURM]] at UMIACS is configured to prioritize jobs based on a number of factors, termed [https://slurm.schedmd.com/priority_multifactor.html multifactor priority] in SLURM. Each job submitted to the scheduler is assigned a priority value, which can be viewed in the output of &amp;lt;code&amp;gt;scontrol show job &amp;lt;jobid&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ scontrol show job 1&lt;br /&gt;
JobId=1 JobName=bash&lt;br /&gt;
   UserId=username(13337) GroupId=username(13337) MCS_label=N/A&lt;br /&gt;
   Priority=2000841 Nice=0 Account=nexus QOS=default&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Pending Jobs==&lt;br /&gt;
If the partition that you submit your job to cannot begin your job instantly due to no compute node(s) in the partition having the resources free to run it, your job will remain in the Pending state with the listed reason &amp;lt;tt&amp;gt;(Resources)&amp;lt;/tt&amp;gt;. If there is another job already pending with this reason in a partition, you submit a job to the same partition, and your job gets assigned a lower priority value than that pending job, your job will instead remain in the Pending state with reason &amp;lt;tt&amp;gt;(Priority)&amp;lt;/tt&amp;gt;. If there are multiple jobs pending and your job is not the highest priority job pending, the scheduler will only begin execution of your job if starting your job would not push the begin times for any higher priority jobs in the same partition further back.&lt;br /&gt;
&lt;br /&gt;
Lowering some combination of the resources you are requesting and/or the time limit may allow submitted jobs to start sooner (or instantly) during times where a partition is under resource pressure. The command &amp;lt;code&amp;gt;squeue -j &amp;lt;jobid&amp;gt; --start&amp;lt;/code&amp;gt; can be used to provide a time estimate for when your job will start, where &amp;lt;jobid&amp;gt; is the job ID you receive from either srun or sbatch. This time is subject to change depending on if other users&#039; jobs end sooner or more jobs get submitted.&lt;br /&gt;
&lt;br /&gt;
You can use the command alias &amp;lt;code&amp;gt;[[SLURM/JobSubmission#show_available_nodes | show_available_nodes]]&amp;lt;/code&amp;gt; with a variety of different submission arguments to get a better idea of what jobs may be able to begin sooner, but the output of this command alias is not definitive, for reasons mentioned in the footnotes on the page linked to.&lt;br /&gt;
&lt;br /&gt;
==Priority Factors==&lt;br /&gt;
The priority factors in use at UMIACS are, from most-heavily to least-heavily weighted:&lt;br /&gt;
* Partition job was submitted to&lt;br /&gt;
* Fair-share of resources within SLURM account&lt;br /&gt;
* Age of job, i.e., time spent waiting to run in the queue&lt;br /&gt;
* Association/SLURM account being used&lt;br /&gt;
* &amp;quot;Nice&amp;quot; value that job was submitted with&lt;br /&gt;
&lt;br /&gt;
===Partition===&lt;br /&gt;
The partitions whose names are or are prefixed with &amp;lt;code&amp;gt;scavenger&amp;lt;/code&amp;gt; on our clusters are always in a lower priority tier and always have lower priority factors for their jobs than all other partitions on that cluster. As mentioned in other UMIACS cluster-specific documentation, jobs submitted to these partitions are also [https://slurm.schedmd.com/preempt.html preemptable]. These two design choices give the partitions their names; jobs submitted to &amp;lt;code&amp;gt;scavenger&amp;lt;/code&amp;gt; named or prefixed partitions &amp;quot;scavenge&amp;quot; for available resources on the cluster rather than consume dedicated resources, and are interrupted by jobs asking to consume dedicated resources.&lt;br /&gt;
&lt;br /&gt;
On [[Nexus]], labs/centers may also have their own scavenger partitions, i.e., &amp;lt;code&amp;gt;&amp;lt;labname&amp;gt;-scavenger&amp;lt;/code&amp;gt;, if the faculty for the lab/center have decided upon some sort of limit on jobs, such as number of simultaneous jobs, number of actively consumed billing resources, etc., in their non-scavenger partitions. These lab/center scavenger partitions allow for more jobs to be run by members of that lab/center on that lab&#039;s/center&#039;s nodes only, but jobs on these partitions are preemptable by jobs in that lab&#039;s/center&#039;s non-scavenger partitions and/or account-specific partitions, if any account-specific partitions containing a given node exist. Jobs submitted to lab/center scavenger partitions will preempt jobs submitted to the institute-wide scavenger partitions (running on nodes that are also in those lab/center scavenger partitions).&lt;br /&gt;
&lt;br /&gt;
In decreasing order of priority (highest first), our priority tiers for partitions are:&lt;br /&gt;
# Priority access account-specific partitions&lt;br /&gt;
# Account-specific partitions&lt;br /&gt;
# Lab/center-specific and institute-wide non-&amp;quot;scavenger&amp;quot; named partitions&lt;br /&gt;
# Lab/center-specific &amp;quot;scavenger&amp;quot; named partitions&lt;br /&gt;
# Institute-wide &amp;quot;scavenger&amp;quot; named partitions&lt;br /&gt;
&lt;br /&gt;
A job in a specific priority tier will never have a higher priority value than any job in a higher priority tier. Corresponding to the above tiers, the priority values that you will see for jobs in each tier:&lt;br /&gt;
# &amp;gt;= 4000000&lt;br /&gt;
# 3000000 to 3999999&lt;br /&gt;
# 2000000 to 2999999&lt;br /&gt;
# 1000000 to 1999999&lt;br /&gt;
# &amp;lt; 1000000&lt;br /&gt;
&lt;br /&gt;
As such, &#039;&#039;&#039;jobs on specific nodes in some non-&amp;quot;scavenger&amp;quot; named partitions may also be subject to preemption&#039;&#039;&#039; based on these priority tiers. Generally speaking, though, most nodes are only in one partition in one of the first three (non-&amp;quot;scavenger&amp;quot;) priority tiers, and then in an institute-wide &amp;quot;scavenger&amp;quot; named partition, and a lab/center-specific &amp;quot;scavenger&amp;quot; named partition, if one exists for the lab/center that a given node is a part of.&lt;br /&gt;
&lt;br /&gt;
===Fair-share===&lt;br /&gt;
The more resources your jobs have already consumed within an account, the lower priority factor your future jobs will have when compared to other users&#039; jobs in the same account who have used fewer resources (so as to &amp;quot;fair-share&amp;quot; with other users). Additionally, if there are multiple accounts that can submit to a partition, and the sum of resources of all users&#039; jobs within account A is greater than the sum of resources of all users&#039; jobs within account B, the lower priority factor all future jobs from users in account A will have when compared to all future jobs from users in account B. (In other words, fair-share is hierarchical.)&lt;br /&gt;
&lt;br /&gt;
You can view the various fair-share statistics with the command &amp;lt;code&amp;gt;sshare -l&amp;lt;/code&amp;gt;. It will show your specific FairShare values (always between 0.0 and 1.0) within accounts that you have access to. You can also view other accounts&#039; Level Fairshare (LevelFS).&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Account                    User  RawShares  NormShares    RawUsage   NormUsage  EffectvUsage  FairShare    LevelFS                    GrpTRESMins                    TRESRunMins&lt;br /&gt;
-------------------- ---------- ---------- ----------- ----------- ----------- ------------- ---------- ---------- ------------------------------ ------------------------------&lt;br /&gt;
root                                          0.000000 68444174744                  1.000000                                                      cpu=4797787,mem=70530109515,e+&lt;br /&gt;
 cbcb-heng                               1    0.028571  2041564795    0.029831      0.029831              0.957779                                cpu=107606,mem=2890646050,ene+&lt;br /&gt;
 cbcb                                    1    0.028571  4454658377    0.065046      0.065046              0.439246                                cpu=452139,mem=22276633804,en+&lt;br /&gt;
 class                                   1    0.028571   255617290    0.003733      0.003733              7.652841                                cpu=7021,mem=74554606,energy=+&lt;br /&gt;
 clip                                    1    0.028571  3057933838    0.044674      0.044674              0.639549                                cpu=33214,mem=2744443460,ener+&lt;br /&gt;
 cml-abhinav                             1    0.028571    39726437    0.000580      0.000580             49.220844                                cpu=0,mem=0,energy=0,node=0,b+&lt;br /&gt;
 cml-director                            1    0.028571   672692955    0.009829      0.009829              2.906778                                cpu=65977,mem=1080976998,ener+&lt;br /&gt;
 cml-furongh                             1    0.028571   765366431    0.011183      0.011183              2.554814                                cpu=78802,mem=1513011200,ener+&lt;br /&gt;
 cml-hajiagha                            1    0.028571    12397205    0.000181      0.000181            157.726572                                cpu=0,mem=0,energy=0,node=0,b+&lt;br /&gt;
 cml-ramani                              1    0.028571           0    0.000000      0.000000            1.3575e+11                                cpu=0,mem=0,energy=0,node=0,b+&lt;br /&gt;
 cml-scavenger                           1    0.028571  2564733604    0.037475      0.037475              0.762406                                cpu=370867,mem=3568986794,ene+&lt;br /&gt;
 cml-sfeizi                              1    0.028571    40715178    0.000595      0.000595             48.025548                                cpu=0,mem=0,energy=0,node=0,b+&lt;br /&gt;
 cml-tokekar                             1    0.028571    26458249    0.000387      0.000387             73.903937                                cpu=23240,mem=178488320,energ+&lt;br /&gt;
 cml-tomg                                1    0.028571       82800    0.000001      0.000001            2.3615e+04                                cpu=0,mem=0,energy=0,node=0,b+&lt;br /&gt;
 cml-wriva-high                          1    0.028571           0    0.000000      0.000000                   inf                                cpu=0,mem=0,energy=0,node=0,b+&lt;br /&gt;
 cml-wriva                               1    0.028571  1047428702    0.015305      0.015305              1.866828                                cpu=5366,mem=137386666,energy+&lt;br /&gt;
 cml                                     1    0.028571    66866114    0.000975      0.000975             29.299389                                cpu=1796,mem=29426756,energy=+&lt;br /&gt;
 csd-sarahwie                            1    0.028571   710055035    0.007034      0.007034              4.061956                                cpu=0,mem=0,energy=0,node=0,b+&lt;br /&gt;
 gamma                                   1    0.028571  2609474948    0.038129      0.038129              0.749334                                cpu=34089,mem=360373862,energ+&lt;br /&gt;
 mbrc                                    1    0.028571    73411964    0.001073      0.001073             26.635560                                cpu=1195,mem=4896358,energy=0+&lt;br /&gt;
 mc2                                     1    0.028571     2682557    0.000039      0.000039            728.919551                                cpu=0,mem=0,energy=0,node=0,b+&lt;br /&gt;
 nexus                                   1    0.028571  5472794067    0.079964      0.079964              0.357302                                cpu=278464,mem=3250599000,ene+&lt;br /&gt;
  nexus                username          1    0.000835       69666    0.000001      0.000021   0.457407  37.435501                                cpu=0,mem=0,energy=0,node=0,b+&lt;br /&gt;
 oasis                                   1    0.028571      330030    0.000005      0.000005            5.9248e+03                                cpu=0,mem=0,energy=0,node=0,b+&lt;br /&gt;
 quics                                   1    0.028571           4    0.000000      0.000000            4.1683e+08                                cpu=0,mem=0,energy=0,node=0,b+&lt;br /&gt;
 scavenger                               1    0.028571 40888195964    0.597419      0.597419              0.047825                                cpu=3142204,mem=29902903931,e+&lt;br /&gt;
  scavenger            username          1    0.000835         171    0.000000      0.000000   0.033975 9.8885e+04                                cpu=0,mem=0,energy=0,node=0,b+&lt;br /&gt;
 vulcan-abhinav                          1    0.028571  1742123078    0.025452      0.025452              1.122544                                cpu=26166,mem=781842841,energ+&lt;br /&gt;
 vulcan-djacobs                          1    0.028571      912637    0.000013      0.000013            2.1425e+03                                cpu=0,mem=0,energy=0,node=0,b+&lt;br /&gt;
 vulcan-jbhuang                          1    0.028571   283430750    0.004141      0.004141              6.898930                                cpu=172,mem=5661764,energy=0,+&lt;br /&gt;
 vulcan-metzler                          1    0.028571   262070179    0.003829      0.003829              7.461241                                cpu=0,mem=0,energy=0,node=0,b+&lt;br /&gt;
 vulcan-rama                             1    0.028571           0    0.000000      0.000000            1.6942e+14                                cpu=0,mem=0,energy=0,node=0,b+&lt;br /&gt;
 vulcan-ramani                           1    0.028571   681333557    0.009955      0.009955              2.869914                                cpu=22188,mem=568033280,energ+&lt;br /&gt;
 vulcan-yaser                            1    0.028571      397309    0.000006      0.000006            4.9215e+03                                cpu=0,mem=0,energy=0,node=0,b+&lt;br /&gt;
 vulcan-zwicker                          1    0.028571   133204932    0.001946      0.001946             14.679402                                cpu=0,mem=0,energy=0,node=0,b+&lt;br /&gt;
 vulcan                                  1    0.028571  1247236491    0.018224      0.018224              1.567761                                cpu=147273,mem=1161243818,ene+&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The actual resource billing weights for the three main resources (memory per GB, CPU cores, and number of GPUs if applicable) are per-partition and can be viewed in the &amp;lt;code&amp;gt;TRESBillingWeights&amp;lt;/code&amp;gt; line in the output of &amp;lt;code&amp;gt;scontrol show partition&amp;lt;/code&amp;gt;. The &amp;lt;code&amp;gt;billing&amp;lt;/code&amp;gt; value for a job is the sum of all resource weightings for resources the job has requested. This value is then multiplied by the amount of time a job has run in seconds to get the amount it contributes to the RawUsage for the association within the account it is running under.&lt;br /&gt;
&lt;br /&gt;
====Algorithm====&lt;br /&gt;
The algorithm we use for resource weightings differs depending on if there are any GPUs in a partition or not, and is as follows:&lt;br /&gt;
&lt;br /&gt;
=====GPU partitions=====&lt;br /&gt;
Each resource (memory/CPU/GPU) is given a weighting value such that their relative billings to each other within the partition are equal (33.33% each). Memory is typically always the most abundant resource by unit (weighting value of 1.0 per GB) and the CPU/GPU values are adjusted accordingly.&lt;br /&gt;
&lt;br /&gt;
Different GPU types may also be weighted differently within the GPU relative billing. A baseline GPU type is first chosen. All GPUs of that type and other types that have lower FP32 performance (in [https://en.wikipedia.org/wiki/FLOPS TFLOPS]) are given a weighting factor of 1.0. GPU types with higher FP32 performance than the baseline GPU are given a weighting factor calculated by dividing their FP32 performance by the baseline GPU&#039;s FP32 performance. The weighting values for each GPU type are then determined by normalizing the sum of all of GPU cards&#039; billing values multiplied by their weighting factors against the relative billing percentage for GPUs (33.33%).&lt;br /&gt;
&lt;br /&gt;
The current baseline GPU is the [https://www.nvidia.com/en-us/design-visualization/rtx-a4000/ NVIDIA RTX A4000].&lt;br /&gt;
&lt;br /&gt;
=====CPU-only partitions=====&lt;br /&gt;
Each resource (memory/CPU) is first given a weighting value such that their relative billings to each other within the partition are equal (50% each). Memory is typically always the most abundant resource by unit (weighting value of 1.0 per GB) and the CPU value is adjusted accordingly. The final CPU weight value is then divided by 10, which translates to roughly 90.9% of the billing weight being for memory and 9.1% being for CPU. The division of the CPU value is done so as to not affect accounts&#039; fair-share priority factors as much when running jobs in CPU-only partitions given the popularity of GPGPU computing.&lt;br /&gt;
&lt;br /&gt;
===Age===&lt;br /&gt;
The longer a job is eligible to run but cannot due to resources being unavailable or having a lower priority value than one or more other jobs, the higher the job&#039;s priority becomes as it continue to wait in the queue. This is the only priority modifier that can change a job&#039;s priority value once it has been submitted, and the priority modifier for this factor reaches its limit after 7 days.&lt;br /&gt;
&lt;br /&gt;
Jobs&#039; age priority factors on our clusters are recalculated every 5 minutes.&lt;br /&gt;
&lt;br /&gt;
===Association===&lt;br /&gt;
Some lab/center-specific SLURM accounts have priority values directly attached to them. Jobs run under these accounts gain this many extra points of priority.&lt;br /&gt;
&lt;br /&gt;
===Nice value===&lt;br /&gt;
This is a submission argument that you as the user can include when submitting your jobs to deprioritize them. Larger values will deprioritize jobs more, e.g.,&lt;br /&gt;
&amp;lt;pre&amp;gt;srun --pty --nice=2 bash&amp;lt;/pre&amp;gt;&lt;br /&gt;
will have lower priority than&lt;br /&gt;
&amp;lt;pre&amp;gt;srun --pty --nice=1 bash&amp;lt;/pre&amp;gt;&lt;br /&gt;
which will have lower priority than&lt;br /&gt;
&amp;lt;pre&amp;gt;srun --pty bash&amp;lt;/pre&amp;gt;&lt;br /&gt;
assuming all three jobs were submitted at the same time. You cannot use negative values for this argument.&lt;br /&gt;
&lt;br /&gt;
Because this value is absolute, if you want to use it, we would recommend using small numbers - one or two digits - only. Larger numbers may impact your job&#039;s ability to run at all as a result of the other factors at play.&lt;/div&gt;</summary>
		<author><name>Mbaney</name></author>
	</entry>
	<entry>
		<id>https://wiki.umiacs.umd.edu/umiacs/index.php?title=SLURM/Priority&amp;diff=13224</id>
		<title>SLURM/Priority</title>
		<link rel="alternate" type="text/html" href="https://wiki.umiacs.umd.edu/umiacs/index.php?title=SLURM/Priority&amp;diff=13224"/>
		<updated>2026-04-14T20:57:33Z</updated>

		<summary type="html">&lt;p&gt;Mbaney: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[SLURM]] at UMIACS is configured to prioritize jobs based on a number of factors, termed [https://slurm.schedmd.com/priority_multifactor.html multifactor priority] in SLURM. Each job submitted to the scheduler is assigned a priority value, which can be viewed in the output of &amp;lt;code&amp;gt;scontrol show job &amp;lt;jobid&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ scontrol show job 1&lt;br /&gt;
JobId=1 JobName=bash&lt;br /&gt;
   UserId=username(13337) GroupId=username(13337) MCS_label=N/A&lt;br /&gt;
   Priority=2000841 Nice=0 Account=nexus QOS=default&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Pending Jobs==&lt;br /&gt;
If the partition that you submit your job to cannot begin your job instantly due to no compute node(s) in the partition having the resources free to run it, your job will remain in the Pending state with the listed reason &amp;lt;tt&amp;gt;(Resources)&amp;lt;/tt&amp;gt;. If there is another job already pending with this reason in a partition, you submit a job to the same partition, and your job gets assigned a lower priority value than that pending job, your job will instead remain in the Pending state with reason &amp;lt;tt&amp;gt;(Priority)&amp;lt;/tt&amp;gt;. If there are multiple jobs pending and your job is not the highest priority job pending, the scheduler will only begin execution of your job if starting your job would not push the begin times for any higher priority jobs in the same partition further back.&lt;br /&gt;
&lt;br /&gt;
Lowering some combination of the resources you are requesting and/or the time limit may allow submitted jobs to run more quickly or instantly during times where a partition is under resource pressure. The command &amp;lt;code&amp;gt;squeue -j &amp;lt;jobid&amp;gt; --start&amp;lt;/code&amp;gt; can be used to provide a time estimate for when your job will start, where &amp;lt;jobid&amp;gt; is the job ID you receive from either srun or sbatch. This time is subject to change depending on if other users&#039; jobs end sooner or more jobs get submitted.&lt;br /&gt;
&lt;br /&gt;
You can use the command alias &amp;lt;code&amp;gt;[[SLURM/JobSubmission#show_available_nodes | show_available_nodes]]&amp;lt;/code&amp;gt; with a variety of different submission arguments to get a better idea of what jobs may be able to begin sooner, but the output of this command alias is not definitive, for reasons mentioned in the footnotes on the page linked to.&lt;br /&gt;
&lt;br /&gt;
==Priority Factors==&lt;br /&gt;
The priority factors in use at UMIACS are, from most-heavily to least-heavily weighted:&lt;br /&gt;
* Partition job was submitted to&lt;br /&gt;
* Fair-share of resources within SLURM account&lt;br /&gt;
* Age of job, i.e., time spent waiting to run in the queue&lt;br /&gt;
* Association/SLURM account being used&lt;br /&gt;
* &amp;quot;Nice&amp;quot; value that job was submitted with&lt;br /&gt;
&lt;br /&gt;
===Partition===&lt;br /&gt;
The partitions whose names are or are prefixed with &amp;lt;code&amp;gt;scavenger&amp;lt;/code&amp;gt; on our clusters are always in a lower priority tier and always have lower priority factors for their jobs than all other partitions on that cluster. As mentioned in other UMIACS cluster-specific documentation, jobs submitted to these partitions are also [https://slurm.schedmd.com/preempt.html preemptable]. These two design choices give the partitions their names; jobs submitted to &amp;lt;code&amp;gt;scavenger&amp;lt;/code&amp;gt; named or prefixed partitions &amp;quot;scavenge&amp;quot; for available resources on the cluster rather than consume dedicated resources, and are interrupted by jobs asking to consume dedicated resources.&lt;br /&gt;
&lt;br /&gt;
On [[Nexus]], labs/centers may also have their own scavenger partitions, i.e., &amp;lt;code&amp;gt;&amp;lt;labname&amp;gt;-scavenger&amp;lt;/code&amp;gt;, if the faculty for the lab/center have decided upon some sort of limit on jobs, such as number of simultaneous jobs, number of actively consumed billing resources, etc., in their non-scavenger partitions. These lab/center scavenger partitions allow for more jobs to be run by members of that lab/center on that lab&#039;s/center&#039;s nodes only, but jobs on these partitions are preemptable by jobs in that lab&#039;s/center&#039;s non-scavenger partitions and/or account-specific partitions, if any account-specific partitions containing a given node exist. Jobs submitted to lab/center scavenger partitions will preempt jobs submitted to the institute-wide scavenger partitions (running on nodes that are also in those lab/center scavenger partitions).&lt;br /&gt;
&lt;br /&gt;
In decreasing order of priority (highest first), our priority tiers for partitions are:&lt;br /&gt;
# Priority access account-specific partitions&lt;br /&gt;
# Account-specific partitions&lt;br /&gt;
# Lab/center-specific and institute-wide non-&amp;quot;scavenger&amp;quot; named partitions&lt;br /&gt;
# Lab/center-specific &amp;quot;scavenger&amp;quot; named partitions&lt;br /&gt;
# Institute-wide &amp;quot;scavenger&amp;quot; named partitions&lt;br /&gt;
&lt;br /&gt;
A job in a specific priority tier will never have a higher priority value than any job in a higher priority tier. Corresponding to the above tiers, the priority values that you will see for jobs in each tier:&lt;br /&gt;
# &amp;gt;= 4000000&lt;br /&gt;
# 3000000 to 3999999&lt;br /&gt;
# 2000000 to 2999999&lt;br /&gt;
# 1000000 to 1999999&lt;br /&gt;
# &amp;lt; 1000000&lt;br /&gt;
&lt;br /&gt;
As such, &#039;&#039;&#039;jobs on specific nodes in some non-&amp;quot;scavenger&amp;quot; named partitions may also be subject to preemption&#039;&#039;&#039; based on these priority tiers. Generally speaking, though, most nodes are only in one partition in one of the first three (non-&amp;quot;scavenger&amp;quot;) priority tiers, and then in an institute-wide &amp;quot;scavenger&amp;quot; named partition, and a lab/center-specific &amp;quot;scavenger&amp;quot; named partition, if one exists for the lab/center that a given node is a part of.&lt;br /&gt;
&lt;br /&gt;
===Fair-share===&lt;br /&gt;
The more resources your jobs have already consumed within an account, the lower priority factor your future jobs will have when compared to other users&#039; jobs in the same account who have used fewer resources (so as to &amp;quot;fair-share&amp;quot; with other users). Additionally, if there are multiple accounts that can submit to a partition, and the sum of resources of all users&#039; jobs within account A is greater than the sum of resources of all users&#039; jobs within account B, the lower priority factor all future jobs from users in account A will have when compared to all future jobs from users in account B. (In other words, fair-share is hierarchical.)&lt;br /&gt;
&lt;br /&gt;
You can view the various fair-share statistics with the command &amp;lt;code&amp;gt;sshare -l&amp;lt;/code&amp;gt;. It will show your specific FairShare values (always between 0.0 and 1.0) within accounts that you have access to. You can also view other accounts&#039; Level Fairshare (LevelFS).&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Account                    User  RawShares  NormShares    RawUsage   NormUsage  EffectvUsage  FairShare    LevelFS                    GrpTRESMins                    TRESRunMins&lt;br /&gt;
-------------------- ---------- ---------- ----------- ----------- ----------- ------------- ---------- ---------- ------------------------------ ------------------------------&lt;br /&gt;
root                                          0.000000 68444174744                  1.000000                                                      cpu=4797787,mem=70530109515,e+&lt;br /&gt;
 cbcb-heng                               1    0.028571  2041564795    0.029831      0.029831              0.957779                                cpu=107606,mem=2890646050,ene+&lt;br /&gt;
 cbcb                                    1    0.028571  4454658377    0.065046      0.065046              0.439246                                cpu=452139,mem=22276633804,en+&lt;br /&gt;
 class                                   1    0.028571   255617290    0.003733      0.003733              7.652841                                cpu=7021,mem=74554606,energy=+&lt;br /&gt;
 clip                                    1    0.028571  3057933838    0.044674      0.044674              0.639549                                cpu=33214,mem=2744443460,ener+&lt;br /&gt;
 cml-abhinav                             1    0.028571    39726437    0.000580      0.000580             49.220844                                cpu=0,mem=0,energy=0,node=0,b+&lt;br /&gt;
 cml-director                            1    0.028571   672692955    0.009829      0.009829              2.906778                                cpu=65977,mem=1080976998,ener+&lt;br /&gt;
 cml-furongh                             1    0.028571   765366431    0.011183      0.011183              2.554814                                cpu=78802,mem=1513011200,ener+&lt;br /&gt;
 cml-hajiagha                            1    0.028571    12397205    0.000181      0.000181            157.726572                                cpu=0,mem=0,energy=0,node=0,b+&lt;br /&gt;
 cml-ramani                              1    0.028571           0    0.000000      0.000000            1.3575e+11                                cpu=0,mem=0,energy=0,node=0,b+&lt;br /&gt;
 cml-scavenger                           1    0.028571  2564733604    0.037475      0.037475              0.762406                                cpu=370867,mem=3568986794,ene+&lt;br /&gt;
 cml-sfeizi                              1    0.028571    40715178    0.000595      0.000595             48.025548                                cpu=0,mem=0,energy=0,node=0,b+&lt;br /&gt;
 cml-tokekar                             1    0.028571    26458249    0.000387      0.000387             73.903937                                cpu=23240,mem=178488320,energ+&lt;br /&gt;
 cml-tomg                                1    0.028571       82800    0.000001      0.000001            2.3615e+04                                cpu=0,mem=0,energy=0,node=0,b+&lt;br /&gt;
 cml-wriva-high                          1    0.028571           0    0.000000      0.000000                   inf                                cpu=0,mem=0,energy=0,node=0,b+&lt;br /&gt;
 cml-wriva                               1    0.028571  1047428702    0.015305      0.015305              1.866828                                cpu=5366,mem=137386666,energy+&lt;br /&gt;
 cml                                     1    0.028571    66866114    0.000975      0.000975             29.299389                                cpu=1796,mem=29426756,energy=+&lt;br /&gt;
 csd-sarahwie                            1    0.028571   710055035    0.007034      0.007034              4.061956                                cpu=0,mem=0,energy=0,node=0,b+&lt;br /&gt;
 gamma                                   1    0.028571  2609474948    0.038129      0.038129              0.749334                                cpu=34089,mem=360373862,energ+&lt;br /&gt;
 mbrc                                    1    0.028571    73411964    0.001073      0.001073             26.635560                                cpu=1195,mem=4896358,energy=0+&lt;br /&gt;
 mc2                                     1    0.028571     2682557    0.000039      0.000039            728.919551                                cpu=0,mem=0,energy=0,node=0,b+&lt;br /&gt;
 nexus                                   1    0.028571  5472794067    0.079964      0.079964              0.357302                                cpu=278464,mem=3250599000,ene+&lt;br /&gt;
  nexus                username          1    0.000835       69666    0.000001      0.000021   0.457407  37.435501                                cpu=0,mem=0,energy=0,node=0,b+&lt;br /&gt;
 oasis                                   1    0.028571      330030    0.000005      0.000005            5.9248e+03                                cpu=0,mem=0,energy=0,node=0,b+&lt;br /&gt;
 quics                                   1    0.028571           4    0.000000      0.000000            4.1683e+08                                cpu=0,mem=0,energy=0,node=0,b+&lt;br /&gt;
 scavenger                               1    0.028571 40888195964    0.597419      0.597419              0.047825                                cpu=3142204,mem=29902903931,e+&lt;br /&gt;
  scavenger            username          1    0.000835         171    0.000000      0.000000   0.033975 9.8885e+04                                cpu=0,mem=0,energy=0,node=0,b+&lt;br /&gt;
 vulcan-abhinav                          1    0.028571  1742123078    0.025452      0.025452              1.122544                                cpu=26166,mem=781842841,energ+&lt;br /&gt;
 vulcan-djacobs                          1    0.028571      912637    0.000013      0.000013            2.1425e+03                                cpu=0,mem=0,energy=0,node=0,b+&lt;br /&gt;
 vulcan-jbhuang                          1    0.028571   283430750    0.004141      0.004141              6.898930                                cpu=172,mem=5661764,energy=0,+&lt;br /&gt;
 vulcan-metzler                          1    0.028571   262070179    0.003829      0.003829              7.461241                                cpu=0,mem=0,energy=0,node=0,b+&lt;br /&gt;
 vulcan-rama                             1    0.028571           0    0.000000      0.000000            1.6942e+14                                cpu=0,mem=0,energy=0,node=0,b+&lt;br /&gt;
 vulcan-ramani                           1    0.028571   681333557    0.009955      0.009955              2.869914                                cpu=22188,mem=568033280,energ+&lt;br /&gt;
 vulcan-yaser                            1    0.028571      397309    0.000006      0.000006            4.9215e+03                                cpu=0,mem=0,energy=0,node=0,b+&lt;br /&gt;
 vulcan-zwicker                          1    0.028571   133204932    0.001946      0.001946             14.679402                                cpu=0,mem=0,energy=0,node=0,b+&lt;br /&gt;
 vulcan                                  1    0.028571  1247236491    0.018224      0.018224              1.567761                                cpu=147273,mem=1161243818,ene+&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The actual resource billing weights for the three main resources (memory per GB, CPU cores, and number of GPUs if applicable) are per-partition and can be viewed in the &amp;lt;code&amp;gt;TRESBillingWeights&amp;lt;/code&amp;gt; line in the output of &amp;lt;code&amp;gt;scontrol show partition&amp;lt;/code&amp;gt;. The &amp;lt;code&amp;gt;billing&amp;lt;/code&amp;gt; value for a job is the sum of all resource weightings for resources the job has requested. This value is then multiplied by the amount of time a job has run in seconds to get the amount it contributes to the RawUsage for the association within the account it is running under.&lt;br /&gt;
&lt;br /&gt;
====Algorithm====&lt;br /&gt;
The algorithm we use for resource weightings differs depending on if there are any GPUs in a partition or not, and is as follows:&lt;br /&gt;
&lt;br /&gt;
=====GPU partitions=====&lt;br /&gt;
Each resource (memory/CPU/GPU) is given a weighting value such that their relative billings to each other within the partition are equal (33.33% each). Memory is typically always the most abundant resource by unit (weighting value of 1.0 per GB) and the CPU/GPU values are adjusted accordingly.&lt;br /&gt;
&lt;br /&gt;
Different GPU types may also be weighted differently within the GPU relative billing. A baseline GPU type is first chosen. All GPUs of that type and other types that have lower FP32 performance (in [https://en.wikipedia.org/wiki/FLOPS TFLOPS]) are given a weighting factor of 1.0. GPU types with higher FP32 performance than the baseline GPU are given a weighting factor calculated by dividing their FP32 performance by the baseline GPU&#039;s FP32 performance. The weighting values for each GPU type are then determined by normalizing the sum of all of GPU cards&#039; billing values multiplied by their weighting factors against the relative billing percentage for GPUs (33.33%).&lt;br /&gt;
&lt;br /&gt;
The current baseline GPU is the [https://www.nvidia.com/en-us/design-visualization/rtx-a4000/ NVIDIA RTX A4000].&lt;br /&gt;
&lt;br /&gt;
=====CPU-only partitions=====&lt;br /&gt;
Each resource (memory/CPU) is first given a weighting value such that their relative billings to each other within the partition are equal (50% each). Memory is typically always the most abundant resource by unit (weighting value of 1.0 per GB) and the CPU value is adjusted accordingly. The final CPU weight value is then divided by 10, which translates to roughly 90.9% of the billing weight being for memory and 9.1% being for CPU. The division of the CPU value is done so as to not affect accounts&#039; fair-share priority factors as much when running jobs in CPU-only partitions given the popularity of GPGPU computing.&lt;br /&gt;
&lt;br /&gt;
===Age===&lt;br /&gt;
The longer a job is eligible to run but cannot due to resources being unavailable or having a lower priority value than one or more other jobs, the higher the job&#039;s priority becomes as it continue to wait in the queue. This is the only priority modifier that can change a job&#039;s priority value once it has been submitted, and the priority modifier for this factor reaches its limit after 7 days.&lt;br /&gt;
&lt;br /&gt;
Jobs&#039; age priority factors on our clusters are recalculated every 5 minutes.&lt;br /&gt;
&lt;br /&gt;
===Association===&lt;br /&gt;
Some lab/center-specific SLURM accounts have priority values directly attached to them. Jobs run under these accounts gain this many extra points of priority.&lt;br /&gt;
&lt;br /&gt;
===Nice value===&lt;br /&gt;
This is a submission argument that you as the user can include when submitting your jobs to deprioritize them. Larger values will deprioritize jobs more, e.g.,&lt;br /&gt;
&amp;lt;pre&amp;gt;srun --pty --nice=2 bash&amp;lt;/pre&amp;gt;&lt;br /&gt;
will have lower priority than&lt;br /&gt;
&amp;lt;pre&amp;gt;srun --pty --nice=1 bash&amp;lt;/pre&amp;gt;&lt;br /&gt;
which will have lower priority than&lt;br /&gt;
&amp;lt;pre&amp;gt;srun --pty bash&amp;lt;/pre&amp;gt;&lt;br /&gt;
assuming all three jobs were submitted at the same time. You cannot use negative values for this argument.&lt;br /&gt;
&lt;br /&gt;
Because this value is absolute, if you want to use it, we would recommend using small numbers - one or two digits - only. Larger numbers may impact your job&#039;s ability to run at all as a result of the other factors at play.&lt;/div&gt;</summary>
		<author><name>Mbaney</name></author>
	</entry>
	<entry>
		<id>https://wiki.umiacs.umd.edu/umiacs/index.php?title=Security&amp;diff=13222</id>
		<title>Security</title>
		<link rel="alternate" type="text/html" href="https://wiki.umiacs.umd.edu/umiacs/index.php?title=Security&amp;diff=13222"/>
		<updated>2026-04-10T15:16:21Z</updated>

		<summary type="html">&lt;p&gt;Mbaney: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Security Info and Practices==&lt;br /&gt;
* [[CrowdStrike]]&lt;br /&gt;
* [[Phishing]]&lt;/div&gt;</summary>
		<author><name>Mbaney</name></author>
	</entry>
	<entry>
		<id>https://wiki.umiacs.umd.edu/umiacs/index.php?title=Malware/virus_removal&amp;diff=13221</id>
		<title>Malware/virus removal</title>
		<link rel="alternate" type="text/html" href="https://wiki.umiacs.umd.edu/umiacs/index.php?title=Malware/virus_removal&amp;diff=13221"/>
		<updated>2026-04-10T15:16:06Z</updated>

		<summary type="html">&lt;p&gt;Mbaney: Mbaney moved page Malware/virus removal to CrowdStrike&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[CrowdStrike]]&lt;/div&gt;</summary>
		<author><name>Mbaney</name></author>
	</entry>
	<entry>
		<id>https://wiki.umiacs.umd.edu/umiacs/index.php?title=CrowdStrike&amp;diff=13220</id>
		<title>CrowdStrike</title>
		<link rel="alternate" type="text/html" href="https://wiki.umiacs.umd.edu/umiacs/index.php?title=CrowdStrike&amp;diff=13220"/>
		<updated>2026-04-10T15:16:06Z</updated>

		<summary type="html">&lt;p&gt;Mbaney: Mbaney moved page Malware/virus removal to CrowdStrike&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;All UMIACS-supported machines have [https://itsupport.umd.edu/itsupport?id=kb_article_view&amp;amp;sysparm_article=KB0015939 CrowdStrike] installed on them as mandated by the Division of IT.&lt;/div&gt;</summary>
		<author><name>Mbaney</name></author>
	</entry>
	<entry>
		<id>https://wiki.umiacs.umd.edu/umiacs/index.php?title=CrowdStrike&amp;diff=13219</id>
		<title>CrowdStrike</title>
		<link rel="alternate" type="text/html" href="https://wiki.umiacs.umd.edu/umiacs/index.php?title=CrowdStrike&amp;diff=13219"/>
		<updated>2026-04-10T15:15:10Z</updated>

		<summary type="html">&lt;p&gt;Mbaney: Replaced content with &amp;quot;All UMIACS-supported machines have [https://itsupport.umd.edu/itsupport?id=kb_article_view&amp;amp;sysparm_article=KB0015939 CrowdStrike] installed on them as mandated by the Division of IT.&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;All UMIACS-supported machines have [https://itsupport.umd.edu/itsupport?id=kb_article_view&amp;amp;sysparm_article=KB0015939 CrowdStrike] installed on them as mandated by the Division of IT.&lt;/div&gt;</summary>
		<author><name>Mbaney</name></author>
	</entry>
	<entry>
		<id>https://wiki.umiacs.umd.edu/umiacs/index.php?title=Security&amp;diff=13218</id>
		<title>Security</title>
		<link rel="alternate" type="text/html" href="https://wiki.umiacs.umd.edu/umiacs/index.php?title=Security&amp;diff=13218"/>
		<updated>2026-04-10T15:14:50Z</updated>

		<summary type="html">&lt;p&gt;Mbaney: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Security Info and Practices==&lt;br /&gt;
* [[Phishing]]&lt;br /&gt;
* [[Malware/virus removal]]&lt;/div&gt;</summary>
		<author><name>Mbaney</name></author>
	</entry>
	<entry>
		<id>https://wiki.umiacs.umd.edu/umiacs/index.php?title=Services/Support&amp;diff=13217</id>
		<title>Services/Support</title>
		<link rel="alternate" type="text/html" href="https://wiki.umiacs.umd.edu/umiacs/index.php?title=Services/Support&amp;diff=13217"/>
		<updated>2026-04-10T15:12:14Z</updated>

		<summary type="html">&lt;p&gt;Mbaney: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[HelpDesk | UMIACS Technical Staff]] provides hardware and operating system (OS) support services for University-owned systems across its various labs and centers.  No support is provided for non-University-owned systems.&lt;br /&gt;
&lt;br /&gt;
==Hardware Services==&lt;br /&gt;
* In-warranty hardware diagnostic and replacement&lt;br /&gt;
* Hardware integration, i.e., physical installation of additional storage devices, RAM, GPUs, etc. for existing pre-assembled systems.  If you are assembling a system entirely from parts initially, it is your responsibility to assemble it.&lt;br /&gt;
&lt;br /&gt;
==Operating System Services==&lt;br /&gt;
* OS deployment and integration with other UMIACS [[Services]]&lt;br /&gt;
* Security updates&lt;br /&gt;
* [[Backups]]&lt;br /&gt;
* University-licensed software installation&lt;/div&gt;</summary>
		<author><name>Mbaney</name></author>
	</entry>
	<entry>
		<id>https://wiki.umiacs.umd.edu/umiacs/index.php?title=Services/Support&amp;diff=13216</id>
		<title>Services/Support</title>
		<link rel="alternate" type="text/html" href="https://wiki.umiacs.umd.edu/umiacs/index.php?title=Services/Support&amp;diff=13216"/>
		<updated>2026-04-10T15:08:46Z</updated>

		<summary type="html">&lt;p&gt;Mbaney: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[HelpDesk | UMIACS Technical Staff]] provides hardware and operating system (OS) support services for university-owned systems across its various labs and centers.  No support is provided for non-university-owned systems.&lt;br /&gt;
&lt;br /&gt;
==Hardware Services==&lt;br /&gt;
* In-warranty hardware diagnostic and replacement&lt;br /&gt;
* Hardware integration, i.e., physical installation of additional storage devices, RAM, GPUs, etc. for existing pre-assembled systems.  If you are assembling a system entirely from parts initially, it is your responsibility to assemble it.&lt;br /&gt;
&lt;br /&gt;
==Operating System Services==&lt;br /&gt;
* OS deployment and integration with other UMIACS [[Services]]&lt;br /&gt;
* Security updates&lt;br /&gt;
* [[Backups]]&lt;br /&gt;
* University-licensed software installation&lt;/div&gt;</summary>
		<author><name>Mbaney</name></author>
	</entry>
	<entry>
		<id>https://wiki.umiacs.umd.edu/umiacs/index.php?title=Services/Support&amp;diff=13215</id>
		<title>Services/Support</title>
		<link rel="alternate" type="text/html" href="https://wiki.umiacs.umd.edu/umiacs/index.php?title=Services/Support&amp;diff=13215"/>
		<updated>2026-04-10T15:08:16Z</updated>

		<summary type="html">&lt;p&gt;Mbaney: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[HelpDesk | UMIACS Technical Staff]] provides hardware and operating system (OS) support services for university-owned systems across its various labs and centers.  No support is provided for non-university-owned systems.&lt;br /&gt;
&lt;br /&gt;
==Hardware Services==&lt;br /&gt;
* In-warranty hardware diagnostic and replacement&lt;br /&gt;
* Hardware integration, i.e., physical installation of additional storage devices, RAM, GPUs, etc. for existing pre-assembled systems.  If you are assembling a system entirely from parts initially, it is your responsibility to assemble it.&lt;br /&gt;
&lt;br /&gt;
==Operating System Services==&lt;br /&gt;
* OS deployment and integration with other UMIACS [[Services]]&lt;br /&gt;
* Security updates&lt;br /&gt;
* [[Backups]]&lt;br /&gt;
* University-licensed software installation&lt;br /&gt;
&lt;br /&gt;
===Hardware Base Requirements===&lt;br /&gt;
In order for a system to qualify for these operating system services, it must meet these hardware base requirements:&lt;br /&gt;
* Business or professional model line from a tier one manufacturer, e.g., Dell, Apple, Lenovo, HP, Microsoft&lt;br /&gt;
* 3+ years OEM warranty/support, i.e., no refurbished equipment or third-party vendor warranties&lt;br /&gt;
* Readily available manufacturer diagnostic tools&lt;br /&gt;
* Readily available hardware drivers&lt;br /&gt;
&lt;br /&gt;
Other hardware may be considered on a case-by-case basis, subject to staff evaluation.  Systems assembled entirely from individual parts, i.e., the motherboard / CPU / RAM / GPU / PSU / storage / etc. were purchased separately, will never qualify, however.&lt;/div&gt;</summary>
		<author><name>Mbaney</name></author>
	</entry>
	<entry>
		<id>https://wiki.umiacs.umd.edu/umiacs/index.php?title=Matlab&amp;diff=13214</id>
		<title>Matlab</title>
		<link rel="alternate" type="text/html" href="https://wiki.umiacs.umd.edu/umiacs/index.php?title=Matlab&amp;diff=13214"/>
		<updated>2026-04-10T15:07:44Z</updated>

		<summary type="html">&lt;p&gt;Mbaney: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;UMIACS has institutional Matlab licenses through UMD that cover Linux, Windows, and macOS. To access them, you have to be using a University-owned computer. Please note that only Matlab versions R2020a and newer are supported by the University&#039;s license server.&lt;br /&gt;
&lt;br /&gt;
If you would like to install the institutional version of Matlab on a University-owned computer yourself, please [[HelpDesk | contact staff]] and we can provide you install media.&lt;br /&gt;
&lt;br /&gt;
==Linux==&lt;br /&gt;
[[Modules]] are the preferred way to interact with Matlab on UMIACS-supported Linux machines. The Modules page will provide information on adding Matlab into your environment and using it.&lt;br /&gt;
&lt;br /&gt;
==Windows==&lt;br /&gt;
Matlab is available to install through the Company Portal app on UMIACS-supported Windows machines. More details can be found [[Windows#Software | here]].&lt;br /&gt;
&lt;br /&gt;
==macOS==&lt;br /&gt;
Please [[HelpDesk | contact staff]] if you would like Matlab installed on a UMIACS-supported macOS machine.&lt;br /&gt;
&lt;br /&gt;
==License Information==&lt;br /&gt;
Campus has a limited number of seats for Matlab itself, as well as the various toolboxes, managed by a cluster of [https://www.mathworks.com/help/install/administer-network-licenses.html network license servers]. As such, you must have network connectivity to be able to use the University&#039;s licenses. When calling functions in a toolbox, Matlab will automatically check out a license for that toolbox, making it temporarily unavailable to other users. If, while attempting to use Matlab, you run into a license manager error stating that the maximum number of users for Matlab has been reached, this likely indicates that all of campus&#039; available licenses are in use. To check the number of licenses available for a specific toolbox, please see the below sections:&lt;br /&gt;
&lt;br /&gt;
===Toolbox Shortnames===&lt;br /&gt;
The toolbox names themselves don&#039;t always work with licensing commands; rather, Matlab has a set of shortnames which can be passed to these commands. The following are the valid shortnames:&lt;br /&gt;
&lt;br /&gt;
 Aerospace_Blockset   &lt;br /&gt;
 Aerospace_Toolbox&lt;br /&gt;
 Antenna_Toolbox  &lt;br /&gt;
 Bioinformatics_Toolbox  &lt;br /&gt;
 Communication_Blocks  &lt;br /&gt;
 Communication_Toolbox  &lt;br /&gt;
 Compiler  &lt;br /&gt;
 Control_Toolbox  &lt;br /&gt;
 Curve_Fitting_Toolbox  &lt;br /&gt;
 Data_Acq_Toolbox  &lt;br /&gt;
 Database_Toolbox  &lt;br /&gt;
 Datafeed_Toolbox  &lt;br /&gt;
 Distrib_Computing_Toolbox  &lt;br /&gt;
 Econometrics_Toolbox  &lt;br /&gt;
 Excel_Link  &lt;br /&gt;
 Fin_Derivatives_Toolbox&lt;br /&gt;
 Fin_Instruments_Toolbox  &lt;br /&gt;
 Financial_Toolbox  &lt;br /&gt;
 Fixed_Income_Toolbox  &lt;br /&gt;
 Fixed_Point_Toolbox&lt;br /&gt;
 Fuzzy_Toolbox &lt;br /&gt;
 GADS_Toolbox  &lt;br /&gt;
 Identification_Toolbox  &lt;br /&gt;
 Image_Acquisition_Toolbox  &lt;br /&gt;
 Image_Toolbox  &lt;br /&gt;
 Instr_Control_Toolbox  &lt;br /&gt;
 MAP_Toolbox  &lt;br /&gt;
 MATLAB  &lt;br /&gt;
 MATLAB_Builder_for_Java  &lt;br /&gt;
 MATLAB_Coder  &lt;br /&gt;
 MATLAB_Excel_Builder  &lt;br /&gt;
 MATLAB_Report_Gen  &lt;br /&gt;
 MPC_Toolbox  &lt;br /&gt;
 Neural_Network_Toolbox  &lt;br /&gt;
 Optimization_Toolbox&lt;br /&gt;
 OPC_Toolbox  &lt;br /&gt;
 PDE_Toolbox&lt;br /&gt;
 Phased_Array_System_Toolbox  &lt;br /&gt;
 Real-Time_Workshop  &lt;br /&gt;
 Robotics_System_Toolbox &lt;br /&gt;
 Robust_Toolbox&lt;br /&gt;
 RTW_Embedded_Coder&lt;br /&gt;
 Signal_Blocks  &lt;br /&gt;
 Signal_Toolbox&lt;br /&gt;
 SimEvents  &lt;br /&gt;
 SimMechanics  &lt;br /&gt;
 Simscape  &lt;br /&gt;
 SIMULINK  &lt;br /&gt;
 Simulink_Control_Design&lt;br /&gt;
 Simulink_Design_Optim  &lt;br /&gt;
 Stateflow  &lt;br /&gt;
 Stateflow_Coder  &lt;br /&gt;
 Statistics_Toolbox  &lt;br /&gt;
 Symbolic_Toolbox  &lt;br /&gt;
 Video_and_Image_Blockset  &lt;br /&gt;
 Virtual_Reality_Toolbox  &lt;br /&gt;
 Wavelet_Toolbox&lt;br /&gt;
&lt;br /&gt;
If you are having problems, feel free to contact [[HelpDesk | UMIACS Staff]], however please note that the Matlab license servers are hosted by campus&#039; Division of Information Technology.&lt;br /&gt;
&lt;br /&gt;
==Matlab Customizations==&lt;br /&gt;
You can tweak your Matlab experience using a file &amp;quot;startup.m&amp;quot;. If this file is present in the current working directory where you launch Matlab, it will be executed. You can perform a variety of tasks using this file. These include (but are not limited to) customizing the window environment, setting variables for later use, and enabling use of 3rd party toolboxes. Alternatively, you can use the userpath env variable to set a path other than the current working directory for startup and 3rd party toolbox locations. Please see the following links for more information:&lt;br /&gt;
&lt;br /&gt;
* [http://www.mathworks.com/help/matlab/ref/matlabrc.html Mathworks: Startup.m]&lt;br /&gt;
* [https://www.mathworks.com/help/matlab/ref/userpath.html Mathworks: Userpath function]&lt;/div&gt;</summary>
		<author><name>Mbaney</name></author>
	</entry>
	<entry>
		<id>https://wiki.umiacs.umd.edu/umiacs/index.php?title=Matlab&amp;diff=13213</id>
		<title>Matlab</title>
		<link rel="alternate" type="text/html" href="https://wiki.umiacs.umd.edu/umiacs/index.php?title=Matlab&amp;diff=13213"/>
		<updated>2026-04-10T15:07:14Z</updated>

		<summary type="html">&lt;p&gt;Mbaney: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;UMIACS has institutional Matlab licenses through UMD that cover Linux, Windows, and macOS. To access them, you have to be using a University owned computer. Please note that only Matlab versions R2020a and newer are supported by the University&#039;s license server.&lt;br /&gt;
&lt;br /&gt;
If you would like to install the institutional version of Matlab on a self-supported machine, please [[HelpDesk | contact staff]] and we can provide you install media.&lt;br /&gt;
&lt;br /&gt;
==Linux==&lt;br /&gt;
[[Modules]] are the preferred way to interact with Matlab on UMIACS-supported Linux machines. The Modules page will provide information on adding Matlab into your environment and using it.&lt;br /&gt;
&lt;br /&gt;
==Windows==&lt;br /&gt;
Matlab is available to install through the Company Portal app on UMIACS-supported Windows machines. More details can be found [[Windows#Software | here]].&lt;br /&gt;
&lt;br /&gt;
==macOS==&lt;br /&gt;
Please [[HelpDesk | contact staff]] if you would like Matlab installed on a UMIACS-supported macOS machine.&lt;br /&gt;
&lt;br /&gt;
==License Information==&lt;br /&gt;
Campus has a limited number of seats for Matlab itself, as well as the various toolboxes, managed by a cluster of [https://www.mathworks.com/help/install/administer-network-licenses.html network license servers]. As such, you must have network connectivity to be able to use the University&#039;s licenses. When calling functions in a toolbox, Matlab will automatically check out a license for that toolbox, making it temporarily unavailable to other users. If, while attempting to use Matlab, you run into a license manager error stating that the maximum number of users for Matlab has been reached, this likely indicates that all of campus&#039; available licenses are in use. To check the number of licenses available for a specific toolbox, please see the below sections:&lt;br /&gt;
&lt;br /&gt;
===Toolbox Shortnames===&lt;br /&gt;
The toolbox names themselves don&#039;t always work with licensing commands; rather, Matlab has a set of shortnames which can be passed to these commands. The following are the valid shortnames:&lt;br /&gt;
&lt;br /&gt;
 Aerospace_Blockset   &lt;br /&gt;
 Aerospace_Toolbox&lt;br /&gt;
 Antenna_Toolbox  &lt;br /&gt;
 Bioinformatics_Toolbox  &lt;br /&gt;
 Communication_Blocks  &lt;br /&gt;
 Communication_Toolbox  &lt;br /&gt;
 Compiler  &lt;br /&gt;
 Control_Toolbox  &lt;br /&gt;
 Curve_Fitting_Toolbox  &lt;br /&gt;
 Data_Acq_Toolbox  &lt;br /&gt;
 Database_Toolbox  &lt;br /&gt;
 Datafeed_Toolbox  &lt;br /&gt;
 Distrib_Computing_Toolbox  &lt;br /&gt;
 Econometrics_Toolbox  &lt;br /&gt;
 Excel_Link  &lt;br /&gt;
 Fin_Derivatives_Toolbox&lt;br /&gt;
 Fin_Instruments_Toolbox  &lt;br /&gt;
 Financial_Toolbox  &lt;br /&gt;
 Fixed_Income_Toolbox  &lt;br /&gt;
 Fixed_Point_Toolbox&lt;br /&gt;
 Fuzzy_Toolbox &lt;br /&gt;
 GADS_Toolbox  &lt;br /&gt;
 Identification_Toolbox  &lt;br /&gt;
 Image_Acquisition_Toolbox  &lt;br /&gt;
 Image_Toolbox  &lt;br /&gt;
 Instr_Control_Toolbox  &lt;br /&gt;
 MAP_Toolbox  &lt;br /&gt;
 MATLAB  &lt;br /&gt;
 MATLAB_Builder_for_Java  &lt;br /&gt;
 MATLAB_Coder  &lt;br /&gt;
 MATLAB_Excel_Builder  &lt;br /&gt;
 MATLAB_Report_Gen  &lt;br /&gt;
 MPC_Toolbox  &lt;br /&gt;
 Neural_Network_Toolbox  &lt;br /&gt;
 Optimization_Toolbox&lt;br /&gt;
 OPC_Toolbox  &lt;br /&gt;
 PDE_Toolbox&lt;br /&gt;
 Phased_Array_System_Toolbox  &lt;br /&gt;
 Real-Time_Workshop  &lt;br /&gt;
 Robotics_System_Toolbox &lt;br /&gt;
 Robust_Toolbox&lt;br /&gt;
 RTW_Embedded_Coder&lt;br /&gt;
 Signal_Blocks  &lt;br /&gt;
 Signal_Toolbox&lt;br /&gt;
 SimEvents  &lt;br /&gt;
 SimMechanics  &lt;br /&gt;
 Simscape  &lt;br /&gt;
 SIMULINK  &lt;br /&gt;
 Simulink_Control_Design&lt;br /&gt;
 Simulink_Design_Optim  &lt;br /&gt;
 Stateflow  &lt;br /&gt;
 Stateflow_Coder  &lt;br /&gt;
 Statistics_Toolbox  &lt;br /&gt;
 Symbolic_Toolbox  &lt;br /&gt;
 Video_and_Image_Blockset  &lt;br /&gt;
 Virtual_Reality_Toolbox  &lt;br /&gt;
 Wavelet_Toolbox&lt;br /&gt;
&lt;br /&gt;
If you are having problems, feel free to contact [[HelpDesk | UMIACS Staff]], however please note that the Matlab license servers are hosted by campus&#039; Division of Information Technology.&lt;br /&gt;
&lt;br /&gt;
==Matlab Customizations==&lt;br /&gt;
You can tweak your Matlab experience using a file &amp;quot;startup.m&amp;quot;. If this file is present in the current working directory where you launch Matlab, it will be executed. You can perform a variety of tasks using this file. These include (but are not limited to) customizing the window environment, setting variables for later use, and enabling use of 3rd party toolboxes. Alternatively, you can use the userpath env variable to set a path other than the current working directory for startup and 3rd party toolbox locations. Please see the following links for more information:&lt;br /&gt;
&lt;br /&gt;
* [http://www.mathworks.com/help/matlab/ref/matlabrc.html Mathworks: Startup.m]&lt;br /&gt;
* [https://www.mathworks.com/help/matlab/ref/userpath.html Mathworks: Userpath function]&lt;/div&gt;</summary>
		<author><name>Mbaney</name></author>
	</entry>
	<entry>
		<id>https://wiki.umiacs.umd.edu/umiacs/index.php?title=Mathematica&amp;diff=13212</id>
		<title>Mathematica</title>
		<link rel="alternate" type="text/html" href="https://wiki.umiacs.umd.edu/umiacs/index.php?title=Mathematica&amp;diff=13212"/>
		<updated>2026-04-10T15:05:42Z</updated>

		<summary type="html">&lt;p&gt;Mbaney: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Mathematica is freely available to all University-owned machines. &lt;br /&gt;
&lt;br /&gt;
On our UMIACS-supported Linux hosts, Mathematica can be accessed through our [[Modules]].&lt;br /&gt;
*The command &amp;lt;code&amp;gt;module add mathematica&amp;lt;/code&amp;gt; will add the default version of Mathematica to your Environment.&lt;br /&gt;
*To see the versions of Mathematica that are available use the command &amp;lt;code&amp;gt;module avail mathematica&amp;lt;/code&amp;gt;.&lt;br /&gt;
*To add a specific version of Mathematica to your Environment (i.e. Mathematica 12.0) use the command &amp;lt;code&amp;gt;module add mathematica/12.0&amp;lt;/code&amp;gt;&lt;br /&gt;
*Further information can be found on our [[Modules | Modules page]]. &lt;br /&gt;
&lt;br /&gt;
For UMIACS-supported Windows or macOS machines, please [[HelpDesk | contact staff]].&lt;br /&gt;
&lt;br /&gt;
==Activation==&lt;br /&gt;
There is no automated way to activate Mathematica across our domain. As a result, each computer will have to be registered once against our hosted license server. Any user can go through this process, and it should persist indefinitely so long as the computer is not reinstalled.&lt;br /&gt;
&lt;br /&gt;
* Upon being prompted, click &amp;quot;Other ways to activate&amp;quot; in the bottom row: &amp;lt;br&amp;gt;[[Image:math1.jpg| 500px| Mathematica 10 Activation Screen 1]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
* Click &amp;quot;Connect to a network license server&amp;quot;: &amp;lt;br&amp;gt;[[Image:math2.jpg| 500px| Mathematica 10 Activation Screen 2]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
* Enter &amp;quot;licserv.umiacs.umd.edu&amp;quot; as the license server. Click &amp;quot;Activate&amp;quot;:&amp;lt;br&amp;gt; [[Image:math3.jpg| 500px| Mathematica 10 Activation Screen 3]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
* Accept the terms, and click ok: &amp;lt;br&amp;gt;[[Image:math4.jpg| 500px| Mathematica 10 Activation Screen 4]]&lt;br /&gt;
* &amp;lt;b&amp;gt;Mathematica should now be activated on the computer.&amp;lt;/b&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mbaney</name></author>
	</entry>
	<entry>
		<id>https://wiki.umiacs.umd.edu/umiacs/index.php?title=Archives&amp;diff=13211</id>
		<title>Archives</title>
		<link rel="alternate" type="text/html" href="https://wiki.umiacs.umd.edu/umiacs/index.php?title=Archives&amp;diff=13211"/>
		<updated>2026-04-10T15:05:24Z</updated>

		<summary type="html">&lt;p&gt;Mbaney: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=UMIACS Archives=&lt;br /&gt;
UMIACS archives data for a period of 5 years.&lt;br /&gt;
&lt;br /&gt;
What we generally do archive:&lt;br /&gt;
&lt;br /&gt;
* persistent filesystem data from primary drives on UMIACS-supported machines (Windows/macOS only)&lt;br /&gt;
* data from accounts that are closed (metadata, [[NFShomes | network home directories]], [[GitLab]] repositories, etc.)&lt;br /&gt;
&lt;br /&gt;
What we generally do not archive:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;/tmp&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;/scratch&amp;lt;/code&amp;gt; directories (as discussed on our page about [[FilesystemDataStorage | filesystem data storage]])&lt;br /&gt;
* Temporary project directories&lt;br /&gt;
* External drives that were attached to a UMIACS-supported machine&lt;br /&gt;
* Data that migrated forward from one UMIACS-supported machine to a new UMIACS-supported machine&lt;br /&gt;
* Data that was handed off into the care of the end-user or PI via external drive&lt;br /&gt;
* Data from drives that failed and was not under backup protection (unavailable for us to archive)&lt;br /&gt;
* Any data from machines that are not UMIACS-supported&lt;/div&gt;</summary>
		<author><name>Mbaney</name></author>
	</entry>
	<entry>
		<id>https://wiki.umiacs.umd.edu/umiacs/index.php?title=UbuntuPrinting&amp;diff=13210</id>
		<title>UbuntuPrinting</title>
		<link rel="alternate" type="text/html" href="https://wiki.umiacs.umd.edu/umiacs/index.php?title=UbuntuPrinting&amp;diff=13210"/>
		<updated>2026-04-10T15:01:34Z</updated>

		<summary type="html">&lt;p&gt;Mbaney: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Overview==&lt;br /&gt;
Printing from your personally-owned Ubuntu laptop or desktop is supported.  If you are sitting at a UMIACS-supported Ubuntu desktop, please see our common UNIX/Linux printing documentation for [[CUPS]] instead.&lt;br /&gt;
&lt;br /&gt;
This documentation may not work for all versions of Ubuntu. If you run into any issues, please [[HelpDesk | contact staff]].&lt;br /&gt;
&lt;br /&gt;
===Printer Accessibility===&lt;br /&gt;
In order to print you &#039;&#039;&#039;need to be on the UMIACS internal network&#039;&#039;&#039;, either via a wired proxy drop or an [[SecureShellTunneling | SSH tunnel]].&lt;br /&gt;
&lt;br /&gt;
==Connecting to a printer==&lt;br /&gt;
In order for printing to function properly, you must complete &#039;&#039;&#039;ALL&#039;&#039;&#039; of the following steps:&lt;br /&gt;
# Open a web browser and go to &amp;lt;code&amp;gt;localhost:631&amp;lt;/code&amp;gt;. This will bring up the CUPS home page.&lt;br /&gt;
#: [[File:Cups_home_page_12-2024.png|700px|alt=&amp;quot;Screenshot of CUPS home page&amp;quot;]]&lt;br /&gt;
# At the top of the screen, select &#039;&#039;&#039;Administration&#039;&#039;&#039;. If you&#039;re given a login prompt, enter your username and password for the computer. Select the &#039;Add Printer&#039; button.&lt;br /&gt;
#: [[File:Cups_admin_page_12-2024.png|700px|alt=&amp;quot;Screenshot of CUPS Administration Page&amp;quot;]]&lt;br /&gt;
# Open a new tab in your web browser and navigate to https://print.umiacs.umd.edu/printers.&lt;br /&gt;
# Find the &#039;&#039;&#039;name&#039;&#039;&#039; of the printer that you wish to connect to. If you are unsure of which one to pick, see the [[PrinterQueueNaming | selecting a print queue]] page.&lt;br /&gt;
# Navigate back to the &#039;Add Printer&#039; page. Select the &#039;Internet Printing Protocol (ipp)&#039; radio button, then hit the &#039;Continue&#039; button.&lt;br /&gt;
#: [[File:Cups_ipp_radio_button_12-2024.png|450px|alt=&amp;quot;Screenshot of CUPS administration page with indicated selection&amp;quot;]]&lt;br /&gt;
# Next to the &#039;Connection:&#039; field, enter &amp;lt;code&amp;gt;ipp://print.umiacs.umd.edu:631/printers/&amp;lt;/code&amp;gt; with the name of the printer added at the end. For instance, to add cps432-3208 (color printer in IRB 3208), you would enter &amp;lt;code&amp;gt;ipp://print.umiacs.umd.edu:631/printers/cps432-3208&amp;lt;/code&amp;gt; in the field. Hit &#039;Continue&#039;.&lt;br /&gt;
#: [[File:Cups_connection_entry_12-2024.png|500px|alt=&amp;quot;Screenshot of CUPS administration page with indicated fields&amp;quot;]]&lt;br /&gt;
# Enter the printer &#039;&#039;&#039;name&#039;&#039;&#039; in the &#039;Name:&#039; field. It&#039;s recommended to enter useful information in the &#039;Description:&#039; and &#039;Location:&#039; fields, but it&#039;s not required. Keep &#039;Share This Printer&#039; unchecked. Hit &#039;Continue&#039;.&lt;br /&gt;
#: [[File:Cups_name_entry_12-2024.png|500px|alt=&amp;quot;Screenshot of CUPS administration page with indicated fields&amp;quot;]]&lt;br /&gt;
# In the &#039;Make:&#039; list, select the brand of the printer as noted in step 4, and click &#039;Continue&#039;.&lt;br /&gt;
#: [[File:Cups_make_selection_12-2024.png|400px|alt=&amp;quot;Screenshot of make options&amp;quot;]]&lt;br /&gt;
# In the &#039;Model:&#039; list, select the specific model of the printer as noted in step 4. Then click &#039;Add Printer&#039;.&lt;br /&gt;
#: [[File:Cups_model_selection_12-2024.png|500px|alt=&amp;quot;Screenshot of model options&amp;quot;]]&lt;br /&gt;
# The printer likely requires additional configuration. When adding the printer through the CUPS interface, it is added system-wide. It can be viewed and modified in the &#039;Printers&#039; menu of the Ubuntu settings, where in Ubuntu 24.04, there is a kebab menu for each printer added. In the kebab menu, select &#039;Printing Options&#039;. We recommend changing the printer options here instead of in the CUPS browser interface, though you can make changes there if you prefer.&lt;br /&gt;
#: [[File:Ubuntu_printer_options-12-2024.png|600px|alt=&amp;quot;Screenshot of Ubuntu printer options&amp;quot;]]&lt;br /&gt;
# In &#039;Page Setup&#039;, at minimum, change the media size to &#039;US Letter&#039;, unless you&#039;re specifically printing from a tray which doesn&#039;t use letter paper.  Change the &#039;Pages per side&#039;, &#039;Two-sided&#039;, and &#039;Orientation&#039; settings according to your preferences.&lt;br /&gt;
#: [[File:Ubuntu_page_setup_12-2024.png|600px|alt=&amp;quot;Screenshot of printer settings&amp;quot;]]&lt;br /&gt;
# The available settings depend on the printer you added.  For cps432-3208, there is an &#039;Installable Options&#039; menu. Use this to configure the trays according to the printer&#039;s tray configuration.&lt;br /&gt;
#: [[File:Ubuntu_tray_setup_12-2024.png|600px|alt=&amp;quot;Screenshot of installable options menu&amp;quot;]]&lt;br /&gt;
# Verify this process by printing a test page, which is the top left button in the &#039;Printing Options&#039; submenu in Ubuntu 24.04. You should get the default Ubuntu test page. If you just get a page with a string of text then the printer is not properly configured, and you should verify the settings.&lt;/div&gt;</summary>
		<author><name>Mbaney</name></author>
	</entry>
	<entry>
		<id>https://wiki.umiacs.umd.edu/umiacs/index.php?title=Printing&amp;diff=13209</id>
		<title>Printing</title>
		<link rel="alternate" type="text/html" href="https://wiki.umiacs.umd.edu/umiacs/index.php?title=Printing&amp;diff=13209"/>
		<updated>2026-04-10T15:01:20Z</updated>

		<summary type="html">&lt;p&gt;Mbaney: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Printing==&lt;br /&gt;
===OS-specific printing guides===&lt;br /&gt;
* [[WindowsPrinting | Windows Printing Guide]]&lt;br /&gt;
* [[OSXPrinting | macOS Printing Guide]]&lt;br /&gt;
* [[CUPS | Linux Printing Guide (RHEL and Ubuntu)]]&lt;br /&gt;
* [[UbuntuPrinting | Ubuntu Printing Guide for personally-owned devices]]&lt;br /&gt;
&lt;br /&gt;
To print to UMIACS-supported printers, you will need to be either within the UMIACS network border or connected to the [[VPN]].  Afterwards, follow the above instructions for your operating system.&lt;br /&gt;
&lt;br /&gt;
===Other Printing Pages===&lt;br /&gt;
* [[PrinterQueueNaming | Selecting A Print Queue (Color/Driver)]]&lt;br /&gt;
* [[UNIXPrinting | Legacy UNIX Printing Guide (Linux and Solaris)]]&lt;br /&gt;
* [[UMIACS Public Printers]]&lt;br /&gt;
* [[PrinterTroubleshooting | Printer troubleshooting]]&lt;/div&gt;</summary>
		<author><name>Mbaney</name></author>
	</entry>
</feed>