diff --git a/docs/_static/custom.css b/docs/_static/custom.css index ad896f80..f882bc2c 100644 --- a/docs/_static/custom.css +++ b/docs/_static/custom.css @@ -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; } diff --git a/docs/getting_started/faq.md b/docs/getting_started/faq.md index 7c7ca684..a59ed518 100644 --- a/docs/getting_started/faq.md +++ b/docs/getting_started/faq.md @@ -144,6 +144,30 @@ re-enroll by visiting . 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 diff --git a/docs/getting_started/faq_html/arbiter_penalty_table.html b/docs/getting_started/faq_html/arbiter_penalty_table.html new file mode 100644 index 00000000..fdd15322 --- /dev/null +++ b/docs/getting_started/faq_html/arbiter_penalty_table.html @@ -0,0 +1,109 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
HostPenalty StateMaximum User
Resource Allocation
Duration of Penalty
diff --git a/docs/petalibrary/images_and_html/pl_tier_table.html b/docs/petalibrary/images_and_html/pl_tier_table.html index 9ea0ac4b..0808375c 100644 --- a/docs/petalibrary/images_and_html/pl_tier_table.html +++ b/docs/petalibrary/images_and_html/pl_tier_table.html @@ -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; diff --git a/graphviz_flowcharts/generated_images/arbiter_flowchart.svg b/graphviz_flowcharts/generated_images/arbiter_flowchart.svg new file mode 100644 index 00000000..ef275040 --- /dev/null +++ b/graphviz_flowcharts/generated_images/arbiter_flowchart.svg @@ -0,0 +1,151 @@ + + + + + + + +If penalty occurrences > 0, +start penalty occurrences timer; + at zero, reduce penalty occurrences +by 1, repeating until zero. + + + + +Badness reduces + + + + +Usage thresholds +exceeded? + + + + + + + + + +Below usage +thresholds? + + + + + +Yes + + + + +Badness accumulates + + + + + +  No + + + + +normal state + + + + + + + + + + + + + + + +  No + + + + + +Yes + + + + + + + + + +Has badness +reached 100? + + + + + + + + + + +No   + + + + +Warning email sent, penalty +occurrences increases by 1, + penalty state assigned, +and resources throttled + + + + + +Yes   + + + + +Has the penalty +duration ended? + + + + + +Yes   + + + + +Penalty duration +timer counts down + + + + + + No + + + + + + + + + + + + + \ No newline at end of file