From 96d027acec93f5104d98903508ac63790c5cf0ee Mon Sep 17 00:00:00 2001 From: Eric Paulsen Date: Wed, 23 Jun 2021 12:22:50 -0500 Subject: [PATCH 1/4] add cpu provisioning docs --- .../workspace-management/cpu-provisioning.md | 22 +++++++++++++++++++ .../memory-overprovisioning.md | 8 +++---- manifest.json | 3 +++ 3 files changed, 29 insertions(+), 4 deletions(-) create mode 100644 admin/workspace-management/cpu-provisioning.md diff --git a/admin/workspace-management/cpu-provisioning.md b/admin/workspace-management/cpu-provisioning.md new file mode 100644 index 000000000..dd4142b5c --- /dev/null +++ b/admin/workspace-management/cpu-provisioning.md @@ -0,0 +1,22 @@ +--- +title: CPU provisioning +description: Learn how to provision more workspaces on a single node +--- + +Coder allows you to set CPU provisioning ratios for each of your organizations. By +changing this ratio, you can schedule more virtual CPUs requested by the workspaces +onto a single node CPU. + +For example, with a CPU provisioning ratio of 8:1, a workspace with 4 vCPUs would +only have 0.5 physical CPUs reserved on the underlying node. This results in cost +savings as compute resources are conserved for less compute-intensive operations, +and reserved for more bursty workloads, such as building and compiling code. + +## Changing the CPU provisioning rate + +1. Go to **Manage** > **Organizations** and select your organization. +1. At the top of your organization page, click **Actions** > **Edit**. Scroll + down to **CPU Provisioning Rate** and set the maximum ratio +1. Click **Update**. + +![Set memory overprovisioning ratios](../../assets/admin/set-memory-ratios.png) \ No newline at end of file diff --git a/admin/workspace-management/memory-overprovisioning.md b/admin/workspace-management/memory-overprovisioning.md index c49d11e54..c893c34cf 100644 --- a/admin/workspace-management/memory-overprovisioning.md +++ b/admin/workspace-management/memory-overprovisioning.md @@ -1,13 +1,13 @@ --- -title: "Memory overprovisioning" -description: Learn how to overprovision memory requests from workspaces. +title: "Memory provisioning" +description: Learn how to provision memory requests from workspaces. --- -Coder allows you to set memory overprovisioning ratios for each of your +Coder allows you to set memory provisioning ratios for each of your organizations. By changing this ratio, you can change the number of workspaces that fit onto a single Kubernetes node. -## Step 1: Enabling memory overprovisioning +## Step 1: Enabling memory provisioning A site admin/manager must complete these steps: diff --git a/manifest.json b/manifest.json index 97bf42005..ca9822eb0 100644 --- a/manifest.json +++ b/manifest.json @@ -196,6 +196,9 @@ { "path": "./admin/workspace-management/memory-overprovisioning.md" }, + { + "path": "./admin/workspace-management/cpu-provisioning.md" + }, { "path": "./admin/workspace-management/shutdown.md" }, From cfbcb0d5b535c1a2cbc735083fad279c2ee229da Mon Sep 17 00:00:00 2001 From: Eric Paulsen Date: Wed, 23 Jun 2021 12:25:43 -0500 Subject: [PATCH 2/4] lint --- admin/workspace-management/cpu-provisioning.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/admin/workspace-management/cpu-provisioning.md b/admin/workspace-management/cpu-provisioning.md index dd4142b5c..652bbd4d8 100644 --- a/admin/workspace-management/cpu-provisioning.md +++ b/admin/workspace-management/cpu-provisioning.md @@ -19,4 +19,4 @@ and reserved for more bursty workloads, such as building and compiling code. down to **CPU Provisioning Rate** and set the maximum ratio 1. Click **Update**. -![Set memory overprovisioning ratios](../../assets/admin/set-memory-ratios.png) \ No newline at end of file +![Set memory overprovisioning ratios](../../assets/admin/set-memory-ratios.png) From c611ad2ae0431d901712305b2c9e0ce280d48283 Mon Sep 17 00:00:00 2001 From: Katie Horne Date: Wed, 23 Jun 2021 14:01:56 -0500 Subject: [PATCH 3/4] Edit text and add screenshot --- .../workspace-management/cpu-provisioning.md | 25 ++++++++++-------- assets/admin/cpu-provisioning-ratios.png | Bin 0 -> 59450 bytes 2 files changed, 14 insertions(+), 11 deletions(-) create mode 100644 assets/admin/cpu-provisioning-ratios.png diff --git a/admin/workspace-management/cpu-provisioning.md b/admin/workspace-management/cpu-provisioning.md index 652bbd4d8..a1de4f53f 100644 --- a/admin/workspace-management/cpu-provisioning.md +++ b/admin/workspace-management/cpu-provisioning.md @@ -1,22 +1,25 @@ --- title: CPU provisioning -description: Learn how to provision more workspaces on a single node +description: Learn how to set the CPU provisioning +ratio. --- -Coder allows you to set CPU provisioning ratios for each of your organizations. By -changing this ratio, you can schedule more virtual CPUs requested by the workspaces -onto a single node CPU. +Coder allows you to set the CPU provisioning ratio for each of your +organizations. The CPU provisioning ratio configures workspaces with a +guaranteed minimum capacity, while enabling them to use available capacity for +improved performance. The guaranteed minimum capacity is equivalent to the total +CPUs provisioned for a workspace divided by the provisioning ratio. -For example, with a CPU provisioning ratio of 8:1, a workspace with 4 vCPUs would -only have 0.5 physical CPUs reserved on the underlying node. This results in cost -savings as compute resources are conserved for less compute-intensive operations, -and reserved for more bursty workloads, such as building and compiling code. +For example, let's say that you set a CPU provisioning ratio of 8:1. A workspace +with 4 virtual CPUs (vCPUs) would only have 0.5 physical CPUs reserved on the +underlying node. However, the workspace could use additional resources available +for more intensive processes (e.g., building or compiling code). -## Changing the CPU provisioning rate +## Changing the CPU provisioning ratio 1. Go to **Manage** > **Organizations** and select your organization. 1. At the top of your organization page, click **Actions** > **Edit**. Scroll - down to **CPU Provisioning Rate** and set the maximum ratio + down to **CPU Provisioning Rate** and set the maximum ratio. 1. Click **Update**. -![Set memory overprovisioning ratios](../../assets/admin/set-memory-ratios.png) +![Set CPU provisioning ratios](../../assets/admin/cpu-provisioning-ratios.png) diff --git a/assets/admin/cpu-provisioning-ratios.png b/assets/admin/cpu-provisioning-ratios.png new file mode 100644 index 0000000000000000000000000000000000000000..ad7a03d10132e92d449cc7678c3cbaaf29ce00ec GIT binary patch literal 59450 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 literal 0 HcmV?d00001 From 531d0d06365289e16b18d2b7e769820e1a8a3e44 Mon Sep 17 00:00:00 2001 From: Katie Horne Date: Wed, 23 Jun 2021 15:26:02 -0500 Subject: [PATCH 4/4] Update example --- admin/workspace-management/cpu-provisioning.md | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/admin/workspace-management/cpu-provisioning.md b/admin/workspace-management/cpu-provisioning.md index a1de4f53f..22aacbbec 100644 --- a/admin/workspace-management/cpu-provisioning.md +++ b/admin/workspace-management/cpu-provisioning.md @@ -10,10 +10,9 @@ guaranteed minimum capacity, while enabling them to use available capacity for improved performance. The guaranteed minimum capacity is equivalent to the total CPUs provisioned for a workspace divided by the provisioning ratio. -For example, let's say that you set a CPU provisioning ratio of 8:1. A workspace -with 4 virtual CPUs (vCPUs) would only have 0.5 physical CPUs reserved on the -underlying node. However, the workspace could use additional resources available -for more intensive processes (e.g., building or compiling code). +For example, let's say that you set a CPU provisioning ratio of 8:1. If a user +creates a workspace with 4 CPUs, then Coder will reserve 0.5 CPUs on the +underlying node, with a maximum limit of 4 CPUs. ## Changing the CPU provisioning ratio