Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
7597a57
begin creating the FAQ for what arbiter2 is, remove commented out cod…
b-reyes Jan 8, 2026
ca6a91d
modify items in the arbiter penalty table and expand on Arbiter2 FAQ
b-reyes Jan 12, 2026
7a8d6cc
add an arbiter flowchart to make the process more understandable
b-reyes Jan 17, 2026
96aebfc
fix arbiter flowchart logic
b-reyes Jan 17, 2026
da1db6f
add a logical step asking if you went below the threshold as the badn…
b-reyes Jan 17, 2026
239fc71
add penalty occurances increase to arbiter flow chart
b-reyes Jan 17, 2026
3a422ac
fix logic in arbiter graph and begin working on the arbiter table
b-reyes Jan 22, 2026
13e23af
rearrange Arbiter2 FAQ
b-reyes Jan 22, 2026
597eb6d
fill in all of the descriptions for the different terms
b-reyes Jan 22, 2026
5d6540d
modify the arbiter flowchart so that the penalty occurences items are…
b-reyes Jan 22, 2026
34157bb
Finish revising FAQ content, put term table and flow chart in dropdow…
b-reyes Jan 23, 2026
6da2a16
modify CPU note
b-reyes Jan 23, 2026
5ec32fe
add a sentence in the beginning paragraph explaining what happens onc…
b-reyes Jan 23, 2026
34e6e25
Apply suggestions by Mike to intro paragraph
b-reyes Jan 26, 2026
c50cb76
apply login node suggestion by Mike
b-reyes Jan 26, 2026
ebaa21f
apply important admonition changes by Mike
b-reyes Jan 26, 2026
9ae5b40
Apply changes proposed by mike in note admonition
b-reyes Jan 26, 2026
d0b3c30
remove in-depth information on arbiter (including the term table and …
b-reyes Jan 26, 2026
653db3f
remove in-depth info and refine the left over content, modify table s…
b-reyes Jan 27, 2026
30f6806
modify table so it states maximum user resource allocation for CPUs a…
b-reyes Jan 27, 2026
f49d8c9
Merge branch 'main' into arbiter-faq
b-reyes Jan 27, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions docs/_static/custom.css
Original file line number Diff line number Diff line change
Expand Up @@ -92,6 +92,10 @@ html[data-theme=light] .graph#doc-flowchart .node text {
fill: black;
}

html[data-theme=light] .graph#doc-flowchart .edge text {
fill: black;
}

.bd-content .sd-tab-set .sd-tab-content {
padding: 1.5rem;
}
Expand Down
24 changes: 24 additions & 0 deletions docs/getting_started/faq.md
Original file line number Diff line number Diff line change
Expand Up @@ -144,6 +144,30 @@ re-enroll by visiting <https://duo.colorado.edu>. If that did not resolve your i

## General High Performance Computing

### What is Arbiter2?
::::{dropdown} Show
:icon: note

[Arbiter2](https://github.com/chpc-uofu/arbiter2) is a tool created by the University of Utah that enables monitoring of non-compute node resources for undesirable behavior. For an in-depth explanation of how Arbiter2 works, please see the official paper ["Arbiter: Dynamically Limiting Resource Consumption on Login Nodes"](https://dl.acm.org/doi/10.1145/3332186.3333043). In the context of Arbiter2, "undesirable behavior" refers to processes that consume substantial CPU or memory (RAM) resources on low resource hosts, such as CURC's [login nodes](../compute/node-types.md#login-nodes). If Arbiter2 flags a user's process(es) as undesirable behavior, the user's account will be placed into a penalty state. Once in a penalty state, the amount of CPU and memory resources available to the user on the host will be reduced and the user will be sent a no-reply warning email. Examples of processes that can consume substantial resources include installing/compiling/running software applications and manipulating large files (e.g. compressing, uncompressing, and/or moving files). For a list of all hosts that Arbiter2 is deployed on, see the `Host` column in the table below.

```{important}
- A user's penalty state will be the same across all of the login nodes. This means that if your account is placed in a penalty state on one login node, it will be in the same penalty state on the other login nodes.
- Where and how Arbiter2 is deployed may change over time. This is due to adjustments we may need to make so that Arbiter2 fits the needs of the system and users. Please refer to this FAQ for the most up-to-date information.
- Once a user's processes consume more than the allotted amount of CPU resources, their processes will be automatically throttled.
- If a user's processes use more memory than they are allotted, the processes will be automatically killed.
```

`````{admonition} Attention
:class: danger
Please note that the maximum values listed are intended to support intermittent spikes in demand for resources, not sustained usage. These hosts are a shared resource, so please be considerate of others and use the compute nodes whenever possible.
`````
```{eval-rst}
.. raw:: html
:file: ./faq_html/arbiter_penalty_table.html
```

::::

### How can I add users to a Linux group?
::::{dropdown} Show
:icon: note
Expand Down
109 changes: 109 additions & 0 deletions docs/getting_started/faq_html/arbiter_penalty_table.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,109 @@
<style>

/* Light theme variables */
html[data-theme="light"] {
--header-color: #91bff0;
--color-data-integrity: #dfdddd;
--color-data-limits: #f2f2f2;
--color-data-access: #dfdddd;
--color-data-transfer: #f2f2f2;
--color-data-compression: #dfdddd;
--border-color: black;
--text-color: black;
--header-border-weight: 2px;
--border-weight: 2px;
}

/* Dark theme variables */
html[data-theme="dark"] {
--header-color: var(--pst-color-surface);
--color-data-integrity: var(--pst-color-on-background);
--color-data-limits: var(--pst-color-surface);
--color-data-access: var(--pst-color-on-background);
--color-data-transfer: var(--pst-color-surface);
--color-data-compression: var(--pst-color-on-background);
--border-color: #CFB87C;
--text-color: white;
--header-border-weight: 0.1px;
--border-weight: 0.1px;
}


.arbiter-table {
border-collapse: collapse;
width: 90%;
font-family: sans-serif;
/* Reapply necessary styles explicitly: */
border: 1px solid #ccc;
}

.arbiter-table th {
background-color: var(--header-color); /* light blue for headers */
border: var(--header-border-weight) solid var(--border-color);
padding: 8px;
font-size: 22px;
color: var(--text-color);
}

.arbiter-table tr.category-login-nodes td {
background-color: var(--color-data-integrity);
border: var(--border-weight) solid var(--border-color);
padding: 8px;
text-align: left;
color: var(--text-color);
font-size: 18px;
}

.arbiter-table td.tier-cell {
text-align: center !important;
}

/* Status Badges */
.badge {
display: inline-block;
padding: 2px 8px;
border-radius: 12px;
font-size: 11px;
font-weight: bold;
}
.normal { background: #dafbe1; color: black; border: 1px solid #bc8; }
.p1 { background: #fff8c5; color: black; border: 1px solid #ee0; }
.p2 { background: #fbac77; color: black; border: 1px solid #ff6600; }
.p3 { background: #ffebe9; color: black; border: 1px solid #f99; }

</style>

<table class="arbiter-table">
<thead>
<tr style="text-align: center;">
<th rowspan="2">Host</th>
<th rowspan="2">Penalty State</th>
<th rowspan="2">Maximum User<br>Resource Allocation</th>
<th rowspan="2">Duration of Penalty</th>
</tr>
</thead>
<tbody>
<!-- Data Integrity -->
<tr class="category-login-nodes">
<td rowspan="6">login nodes</td>
<td class="tier-cell"><span class="badge normal">normal</span></td>
<td class="tier-cell">4 CPU cores<br>4 GB of RAM</td>
<td class="tier-cell">N/A</td>
</tr>
<tr class="category-login-nodes">
<td class="tier-cell"><span class="badge p1">penalty1</span></td>
<td class="tier-cell">3.2 CPU cores<br>3.2 GB of RAM </td>
<td class="tier-cell">30 minutes</td>
</tr>
<tr class="category-login-nodes">
<td class="tier-cell"><span class="badge p2">penalty2</span></td>
<td class="tier-cell">2 CPU cores<br>2 GB of RAM</td>
<td class="tier-cell">1 hour</td>
</tr>
<tr class="category-login-nodes">
<td class="tier-cell"><span class="badge p3">penalty3</span></td>
<td class="tier-cell">1.2 CPU cores<br>1.2 GB of RAM</td>
<td class="tier-cell">2 hours</td>
</tr>
</tbody>
</table>
24 changes: 0 additions & 24 deletions docs/petalibrary/images_and_html/pl_tier_table.html
Original file line number Diff line number Diff line change
Expand Up @@ -9,30 +9,6 @@
}

/* Light theme variables */
/* html[data-theme="light"] {
--header-color: #91bff0;
--color-data-integrity: #f2f2f2;
--color-data-limits: #dfdddd;;
--color-data-access: #adabab;
--color-data-transfer: #908f8f;
--color-data-compression: #656464;
--border-color: black;
--text-color: black;
--header-border-weight: 2px;
--border-weight: 2px;
} */
/* html[data-theme="light"] {
--header-color: #91bff0;
--color-data-integrity: #f2f2f2;
--color-data-limits: #dfdddd;
--color-data-access: #f2f2f2;
--color-data-transfer: #dfdddd;
--color-data-compression: #f2f2f2;
--border-color: black;
--text-color: black;
--header-border-weight: 2px;
--border-weight: 2px;
} */
html[data-theme="light"] {
--header-color: #91bff0;
--color-data-integrity: #dfdddd;
Expand Down
151 changes: 151 additions & 0 deletions graphviz_flowcharts/generated_images/arbiter_flowchart.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.