From c957ac37344ac61d6d405c7c80556d135cbc2279 Mon Sep 17 00:00:00 2001 From: Benedikt Rollik Date: Fri, 18 Apr 2025 15:20:26 +0200 Subject: [PATCH 1/8] feat(ins): add doc shared vs dedicated cpu --- menu/navigation.json | 4 + .../choosing-instance-type.mdx | 1 + .../choosing-shared-vs-dedicated-cpus.mdx | 84 +++++++++++++++++++ 3 files changed, 89 insertions(+) create mode 100644 pages/instances/reference-content/choosing-shared-vs-dedicated-cpus.mdx diff --git a/menu/navigation.json b/menu/navigation.json index e347a21d35..3c605045e2 100644 --- a/menu/navigation.json +++ b/menu/navigation.json @@ -1650,6 +1650,10 @@ "label": "Choosing an Instance type", "slug": "choosing-instance-type" }, + { + "label": "Choosing bewteen shared or dedicated CPUs", + "slug": "choosing-shared-vs-dedicated-cpus" + }, { "label": "Instances datasheet", "slug": "instances-datasheet" diff --git a/pages/instances/reference-content/choosing-instance-type.mdx b/pages/instances/reference-content/choosing-instance-type.mdx index 7d06564938..0188acf28e 100644 --- a/pages/instances/reference-content/choosing-instance-type.mdx +++ b/pages/instances/reference-content/choosing-instance-type.mdx @@ -9,6 +9,7 @@ categories: - compute dates: validation: 2025-02-17 + posted: 2023-02-20 tags: instance, type, stardust, range, vcpu, hyperthread, core, ram, bandwidth, dedicated, shared, memory, hypervisor, vm, storage, dev1, play2, gp1, pro2, ent1, gpu, arm, learning, development, production, production-optimized, cost-optimized, memory-optimized, storage-optimized --- diff --git a/pages/instances/reference-content/choosing-shared-vs-dedicated-cpus.mdx b/pages/instances/reference-content/choosing-shared-vs-dedicated-cpus.mdx new file mode 100644 index 0000000000..a3575f67e9 --- /dev/null +++ b/pages/instances/reference-content/choosing-shared-vs-dedicated-cpus.mdx @@ -0,0 +1,84 @@ +--- +meta: + title: Choosing bewteen shared or dedicated CPUs + description: Find out how to choose on shared or dedicated CPUs depending on your workloads. +content: + h1: Choosing bewteen shared or dedicated CPUs + paragraph: Find out how to choose on shared or dedicated CPUs depending on your workloads. +categories: + - compute +dates: + validation: 2025-04-18 + posted: 2025-04-18 +tags: instance, type, stardust, range, vcpu, hyperthread, core, ram, bandwidth, dedicated, shared, memory, hypervisor, vm, storage, dev1, play2, gp1, pro2, ent1, gpu, arm, learning, development, production, production-optimized, cost-optimized, memory-optimized, storage-optimized +--- + +When deploying a Scaleway Instance, selecting the appropriate CPU provisioning is key for optimizing performance and cost. + +Two types of CPU provisioning are available for Instances: **shared** and **dedicated** CPUs. + +## Comparison of shared and dedicated CPU Instances + +| Feature | Shared CPU | Dedicated CPU | +|---------------------------------|----------------------------------------------------------|----------------------------------------------------------------| +| Performance consistency | Variable – depends on other workloads on the host | High – consistent and predictable performance | +| Cost | Lower | Higher | +| Use case | Dev/test environments, low-traffic apps | Production apps, high-performance workloads | +| CPU access | Shared with other instances | Exclusive access to physical cores | +| Best for | Personal blogs or forums, staging environments | CI/CD, eCommerce, gaming, ML workloads | +| Resource contention risk | Possible during peak usage | None | +| Latency sensitivity | Not suitable for latency-sensitive apps | Ideal for latency-critical applications | + +## Shared CPU Instances +Shared CPU Instances, including [Learning](/instances/reference-content/learning/) and [Cost-Optimized](/instances/reference-content/cost-optimized/), are cost-effective virtual machines in which CPU resources are shared among multiple Instances. +This means multiple virtual CPU cores are allocated to these Instances, but the physical CPU cores available on the hypervisors' hardware are shared among them. +As a result, Instances share physical CPU time, and during peak demand from other Instances on the same host, your workloads might temporarily slow down due to CPU contention (also known as "CPU steal"). + +### Typical use cases include +- Development and staging environments +- Low to medium-traffic websites +- Personal blogs and forums +- Applications tolerant to occasional performance variability +- Worker nodes in container orchestration clusters such as Kubernetes +- Experimental or proof-of-concept projects +- Small-scale applications with limited traffic + +### Summary +- Shared CPU Instances provide an affordable solution for non-critical workloads. +- CPU performance is less predictable and may fluctuate depending on neighboring workloads ("noisy neighbours"). +- During peak usage, your workloads might experience temporary slowdowns due to CPU steal. + +## Dedicated CPU Instances +Dedicated CPU Instances, including [Production-Optimized](/instances/reference-content/production-optimized/) and [Workload-Optimized](/instances/reference-content/workload-optimized/), provide exclusive access to physical CPU cores. +This ensures consistent and predictable performance at all times. Dedicated CPU Instances are perfect for applications that require high CPU utilization and low latency. + +### Typical use cases include +- Production applications with high CPU demands +- eCommerce platforms and business-critical services +- Game servers requiring low latency +- CI/CD pipelines +- Audio and video transcoding +- Machine learning and scientific computing +- Real-time data processing and analytics +- High-traffic websites and applications + +### Summary +- Dedicated CPU allocation ensures consistent and predictable performance. +- No risk of performance degradation due to neighboring workloads. +- Dedicated CPU Instances are more expensive than shared CPU Instances, but offer guaranteed CPU performance. + +## Choosing the best configuration + +Choose **shared CPU** Instances if: + +- You're running non-critical or experimental workloads +- Budget is a priority over performance consistency + +Choose **dedicated CPU** Instances if: + +- Your application requires stable, predictable CPU performance +- You are in a production environment with strict performance requirements + +Consider your needs and workload requirements to choose the best CPU provisioning option for your Scaleway Instance. + +For more details about available instance types, refer to [Choosing the best Scaleway Instance type for your workload](/instances/reference-content/choosing-instance-type/). From f13ff0ad55fb154f1715a2aedbc06cfb9f7a4dde Mon Sep 17 00:00:00 2001 From: Benedikt Rollik Date: Fri, 18 Apr 2025 15:31:48 +0200 Subject: [PATCH 2/8] feat(ins): update wording --- .../choosing-shared-vs-dedicated-cpus.mdx | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/pages/instances/reference-content/choosing-shared-vs-dedicated-cpus.mdx b/pages/instances/reference-content/choosing-shared-vs-dedicated-cpus.mdx index a3575f67e9..a7fa6c208f 100644 --- a/pages/instances/reference-content/choosing-shared-vs-dedicated-cpus.mdx +++ b/pages/instances/reference-content/choosing-shared-vs-dedicated-cpus.mdx @@ -10,12 +10,15 @@ categories: dates: validation: 2025-04-18 posted: 2025-04-18 -tags: instance, type, stardust, range, vcpu, hyperthread, core, ram, bandwidth, dedicated, shared, memory, hypervisor, vm, storage, dev1, play2, gp1, pro2, ent1, gpu, arm, learning, development, production, production-optimized, cost-optimized, memory-optimized, storage-optimized +tags: instance, cpu, vcpu, shared, dedicated --- When deploying a Scaleway Instance, selecting the appropriate CPU provisioning is key for optimizing performance and cost. -Two types of CPU provisioning are available for Instances: **shared** and **dedicated** CPUs. +All Instances are deployed on large, powerful physical servers powered by the latest datacenter-grade CPUs. A hypervisor splits the large physical machine into smaller virtual units on these machines. +The hypervisor manages the allocation and scheduling of physical resources such as CPU or RAM. While RAM is always allocated dedicated per Instance, two types of CPU provisioning are available: **shared** and **dedicated** CPUs. + +Understanding the difference between these two techniques is key to making an informed decision about the best Instance for your application. ## Comparison of shared and dedicated CPU Instances @@ -45,7 +48,7 @@ As a result, Instances share physical CPU time, and during peak demand from othe ### Summary - Shared CPU Instances provide an affordable solution for non-critical workloads. -- CPU performance is less predictable and may fluctuate depending on neighboring workloads ("noisy neighbours"). +- CPU performance is less predictable and may fluctuate depending on neighboring workloads ("noisy neighbors"). - During peak usage, your workloads might experience temporary slowdowns due to CPU steal. ## Dedicated CPU Instances @@ -65,7 +68,7 @@ This ensures consistent and predictable performance at all times. Dedicated CPU ### Summary - Dedicated CPU allocation ensures consistent and predictable performance. - No risk of performance degradation due to neighboring workloads. -- Dedicated CPU Instances are more expensive than shared CPU Instances, but offer guaranteed CPU performance. +- Dedicated CPU Instances are more expensive than shared CPU Instances but offer guaranteed CPU performance. ## Choosing the best configuration From cd0833290dad154ae5e19143420bed6c3488e0be Mon Sep 17 00:00:00 2001 From: Benedikt Rollik Date: Fri, 18 Apr 2025 15:32:45 +0200 Subject: [PATCH 3/8] feat(ins): fix typo --- .../reference-content/choosing-shared-vs-dedicated-cpus.mdx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pages/instances/reference-content/choosing-shared-vs-dedicated-cpus.mdx b/pages/instances/reference-content/choosing-shared-vs-dedicated-cpus.mdx index a7fa6c208f..644651fcf5 100644 --- a/pages/instances/reference-content/choosing-shared-vs-dedicated-cpus.mdx +++ b/pages/instances/reference-content/choosing-shared-vs-dedicated-cpus.mdx @@ -1,10 +1,10 @@ --- meta: title: Choosing bewteen shared or dedicated CPUs - description: Find out how to choose on shared or dedicated CPUs depending on your workloads. + description: Find out how to choose between shared or dedicated CPUs depending on your workloads. content: h1: Choosing bewteen shared or dedicated CPUs - paragraph: Find out how to choose on shared or dedicated CPUs depending on your workloads. + paragraph: Find out how to choose between shared or dedicated CPUs depending on your workloads. categories: - compute dates: From d00ee5983e2c8c5922fb306c0d2a20a5dbd5bd63 Mon Sep 17 00:00:00 2001 From: Benedikt Rollik Date: Fri, 18 Apr 2025 15:46:46 +0200 Subject: [PATCH 4/8] fix(ins): update wording --- .../choosing-shared-vs-dedicated-cpus.mdx | 38 +++++++++---------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/pages/instances/reference-content/choosing-shared-vs-dedicated-cpus.mdx b/pages/instances/reference-content/choosing-shared-vs-dedicated-cpus.mdx index 644651fcf5..dede4f7497 100644 --- a/pages/instances/reference-content/choosing-shared-vs-dedicated-cpus.mdx +++ b/pages/instances/reference-content/choosing-shared-vs-dedicated-cpus.mdx @@ -1,10 +1,10 @@ --- meta: - title: Choosing bewteen shared or dedicated CPUs - description: Find out how to choose between shared or dedicated CPUs depending on your workloads. + title: Choosing bewteen shared or dedicated vCPUs + description: Find out how to choose between shared or dedicated vCPUs depending on your workloads. content: - h1: Choosing bewteen shared or dedicated CPUs - paragraph: Find out how to choose between shared or dedicated CPUs depending on your workloads. + h1: Choosing bewteen shared or dedicated vCPUs + paragraph: Find out how to choose between shared or dedicated vCPUs depending on your workloads. categories: - compute dates: @@ -16,24 +16,24 @@ tags: instance, cpu, vcpu, shared, dedicated When deploying a Scaleway Instance, selecting the appropriate CPU provisioning is key for optimizing performance and cost. All Instances are deployed on large, powerful physical servers powered by the latest datacenter-grade CPUs. A hypervisor splits the large physical machine into smaller virtual units on these machines. -The hypervisor manages the allocation and scheduling of physical resources such as CPU or RAM. While RAM is always allocated dedicated per Instance, two types of CPU provisioning are available: **shared** and **dedicated** CPUs. +The hypervisor manages the allocation and scheduling of physical resources such as CPU or RAM. While RAM is always allocated dedicated per Instance, two types of CPU provisioning are available: **shared** and **dedicated** vCPUs. Understanding the difference between these two techniques is key to making an informed decision about the best Instance for your application. -## Comparison of shared and dedicated CPU Instances +## Comparison of shared and dedicated vCPU Instances -| Feature | Shared CPU | Dedicated CPU | +| Feature | Shared vCPU | Dedicated vCPU | |---------------------------------|----------------------------------------------------------|----------------------------------------------------------------| | Performance consistency | Variable – depends on other workloads on the host | High – consistent and predictable performance | | Cost | Lower | Higher | | Use case | Dev/test environments, low-traffic apps | Production apps, high-performance workloads | -| CPU access | Shared with other instances | Exclusive access to physical cores | +| CPU access | Shared with other Instances | Exclusive access to physical cores | | Best for | Personal blogs or forums, staging environments | CI/CD, eCommerce, gaming, ML workloads | | Resource contention risk | Possible during peak usage | None | | Latency sensitivity | Not suitable for latency-sensitive apps | Ideal for latency-critical applications | -## Shared CPU Instances -Shared CPU Instances, including [Learning](/instances/reference-content/learning/) and [Cost-Optimized](/instances/reference-content/cost-optimized/), are cost-effective virtual machines in which CPU resources are shared among multiple Instances. +## Shared vCPU Instances +Shared vCPU Instances, including [Learning](/instances/reference-content/learning/) and [Cost-Optimized](/instances/reference-content/cost-optimized/), are cost-effective virtual machines in which CPU resources are shared among multiple Instances. This means multiple virtual CPU cores are allocated to these Instances, but the physical CPU cores available on the hypervisors' hardware are shared among them. As a result, Instances share physical CPU time, and during peak demand from other Instances on the same host, your workloads might temporarily slow down due to CPU contention (also known as "CPU steal"). @@ -47,13 +47,13 @@ As a result, Instances share physical CPU time, and during peak demand from othe - Small-scale applications with limited traffic ### Summary -- Shared CPU Instances provide an affordable solution for non-critical workloads. +- Shared vCPU Instances provide an affordable solution for non-critical workloads. - CPU performance is less predictable and may fluctuate depending on neighboring workloads ("noisy neighbors"). - During peak usage, your workloads might experience temporary slowdowns due to CPU steal. -## Dedicated CPU Instances -Dedicated CPU Instances, including [Production-Optimized](/instances/reference-content/production-optimized/) and [Workload-Optimized](/instances/reference-content/workload-optimized/), provide exclusive access to physical CPU cores. -This ensures consistent and predictable performance at all times. Dedicated CPU Instances are perfect for applications that require high CPU utilization and low latency. +## Dedicated vCPU Instances +Dedicated vCPU Instances, including [Production-Optimized](/instances/reference-content/production-optimized/) and [Workload-Optimized](/instances/reference-content/workload-optimized/), provide exclusive access to physical CPU cores. +This ensures consistent and predictable performance at all times. Dedicated vCPU Instances are perfect for applications that require high CPU utilization and low latency. ### Typical use cases include - Production applications with high CPU demands @@ -66,22 +66,22 @@ This ensures consistent and predictable performance at all times. Dedicated CPU - High-traffic websites and applications ### Summary -- Dedicated CPU allocation ensures consistent and predictable performance. +- Dedicated vCPU allocation ensures consistent and predictable performance. - No risk of performance degradation due to neighboring workloads. -- Dedicated CPU Instances are more expensive than shared CPU Instances but offer guaranteed CPU performance. +- Dedicated vCPU Instances are more expensive than shared vCPU Instances but offer guaranteed CPU performance. ## Choosing the best configuration -Choose **shared CPU** Instances if: +Choose **shared vCPU** Instances if: - You're running non-critical or experimental workloads - Budget is a priority over performance consistency -Choose **dedicated CPU** Instances if: +Choose **dedicated vCPU** Instances if: - Your application requires stable, predictable CPU performance - You are in a production environment with strict performance requirements -Consider your needs and workload requirements to choose the best CPU provisioning option for your Scaleway Instance. +Consider your needs and workload requirements to choose the best vCPU provisioning option for your Scaleway Instance. For more details about available instance types, refer to [Choosing the best Scaleway Instance type for your workload](/instances/reference-content/choosing-instance-type/). From e5a4385bc958f30a496a773e416970d12d8eb89b Mon Sep 17 00:00:00 2001 From: Benedikt Rollik Date: Tue, 22 Apr 2025 09:44:48 +0200 Subject: [PATCH 5/8] Apply suggestions from code review Co-authored-by: Jessica <113192637+jcirinosclwy@users.noreply.github.com> --- .../choosing-shared-vs-dedicated-cpus.mdx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pages/instances/reference-content/choosing-shared-vs-dedicated-cpus.mdx b/pages/instances/reference-content/choosing-shared-vs-dedicated-cpus.mdx index dede4f7497..afc1f3b8f1 100644 --- a/pages/instances/reference-content/choosing-shared-vs-dedicated-cpus.mdx +++ b/pages/instances/reference-content/choosing-shared-vs-dedicated-cpus.mdx @@ -1,9 +1,9 @@ --- meta: - title: Choosing bewteen shared or dedicated vCPUs + title: Choosing between shared or dedicated vCPUs description: Find out how to choose between shared or dedicated vCPUs depending on your workloads. content: - h1: Choosing bewteen shared or dedicated vCPUs + h1: Choosing between shared or dedicated vCPUs paragraph: Find out how to choose between shared or dedicated vCPUs depending on your workloads. categories: - compute @@ -37,7 +37,7 @@ Shared vCPU Instances, including [Learning](/instances/reference-content/learnin This means multiple virtual CPU cores are allocated to these Instances, but the physical CPU cores available on the hypervisors' hardware are shared among them. As a result, Instances share physical CPU time, and during peak demand from other Instances on the same host, your workloads might temporarily slow down due to CPU contention (also known as "CPU steal"). -### Typical use cases include +### Typical use cases - Development and staging environments - Low to medium-traffic websites - Personal blogs and forums @@ -55,7 +55,7 @@ As a result, Instances share physical CPU time, and during peak demand from othe Dedicated vCPU Instances, including [Production-Optimized](/instances/reference-content/production-optimized/) and [Workload-Optimized](/instances/reference-content/workload-optimized/), provide exclusive access to physical CPU cores. This ensures consistent and predictable performance at all times. Dedicated vCPU Instances are perfect for applications that require high CPU utilization and low latency. -### Typical use cases include +### Typical use cases - Production applications with high CPU demands - eCommerce platforms and business-critical services - Game servers requiring low latency From f1bfad586ca8ff69da82841e95ca390355fbbfb1 Mon Sep 17 00:00:00 2001 From: Benedikt Rollik Date: Tue, 22 Apr 2025 10:16:10 +0200 Subject: [PATCH 6/8] Update pages/instances/reference-content/choosing-shared-vs-dedicated-cpus.mdx MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Néda <87707325+nerda-codes@users.noreply.github.com> --- .../reference-content/choosing-shared-vs-dedicated-cpus.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pages/instances/reference-content/choosing-shared-vs-dedicated-cpus.mdx b/pages/instances/reference-content/choosing-shared-vs-dedicated-cpus.mdx index afc1f3b8f1..35e5779380 100644 --- a/pages/instances/reference-content/choosing-shared-vs-dedicated-cpus.mdx +++ b/pages/instances/reference-content/choosing-shared-vs-dedicated-cpus.mdx @@ -74,7 +74,7 @@ This ensures consistent and predictable performance at all times. Dedicated vCPU Choose **shared vCPU** Instances if: -- You're running non-critical or experimental workloads +- You are running non-critical or experimental workloads - Budget is a priority over performance consistency Choose **dedicated vCPU** Instances if: From 0d52f73563c5831a36293f454e2aa09076ebba6c Mon Sep 17 00:00:00 2001 From: Benedikt Rollik Date: Wed, 23 Apr 2025 11:16:05 +0200 Subject: [PATCH 7/8] docs(ins): update wording --- .../reference-content/choosing-shared-vs-dedicated-cpus.mdx | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pages/instances/reference-content/choosing-shared-vs-dedicated-cpus.mdx b/pages/instances/reference-content/choosing-shared-vs-dedicated-cpus.mdx index 35e5779380..dc530f09c7 100644 --- a/pages/instances/reference-content/choosing-shared-vs-dedicated-cpus.mdx +++ b/pages/instances/reference-content/choosing-shared-vs-dedicated-cpus.mdx @@ -27,7 +27,7 @@ Understanding the difference between these two techniques is key to making an in | Performance consistency | Variable – depends on other workloads on the host | High – consistent and predictable performance | | Cost | Lower | Higher | | Use case | Dev/test environments, low-traffic apps | Production apps, high-performance workloads | -| CPU access | Shared with other Instances | Exclusive access to physical cores | +| CPU access | Split with other Instances | Exclusive access to physical cores | | Best for | Personal blogs or forums, staging environments | CI/CD, eCommerce, gaming, ML workloads | | Resource contention risk | Possible during peak usage | None | | Latency sensitivity | Not suitable for latency-sensitive apps | Ideal for latency-critical applications | @@ -36,9 +36,11 @@ Understanding the difference between these two techniques is key to making an in Shared vCPU Instances, including [Learning](/instances/reference-content/learning/) and [Cost-Optimized](/instances/reference-content/cost-optimized/), are cost-effective virtual machines in which CPU resources are shared among multiple Instances. This means multiple virtual CPU cores are allocated to these Instances, but the physical CPU cores available on the hypervisors' hardware are shared among them. As a result, Instances share physical CPU time, and during peak demand from other Instances on the same host, your workloads might temporarily slow down due to CPU contention (also known as "CPU steal"). +While physical CPU threads are shared between Instances, vCPUs are dedicated to each Instance, and no data can be shared or accessed between Instances through this setup. ### Typical use cases - Development and staging environments +- Small and non critical production environments - Low to medium-traffic websites - Personal blogs and forums - Applications tolerant to occasional performance variability From e4419ee334001e387a37a2711dac3aff095491c3 Mon Sep 17 00:00:00 2001 From: Benedikt Rollik Date: Wed, 23 Apr 2025 12:59:01 +0200 Subject: [PATCH 8/8] Update pages/instances/reference-content/choosing-shared-vs-dedicated-cpus.mdx --- .../reference-content/choosing-shared-vs-dedicated-cpus.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pages/instances/reference-content/choosing-shared-vs-dedicated-cpus.mdx b/pages/instances/reference-content/choosing-shared-vs-dedicated-cpus.mdx index dc530f09c7..12d55ce15c 100644 --- a/pages/instances/reference-content/choosing-shared-vs-dedicated-cpus.mdx +++ b/pages/instances/reference-content/choosing-shared-vs-dedicated-cpus.mdx @@ -26,7 +26,7 @@ Understanding the difference between these two techniques is key to making an in |---------------------------------|----------------------------------------------------------|----------------------------------------------------------------| | Performance consistency | Variable – depends on other workloads on the host | High – consistent and predictable performance | | Cost | Lower | Higher | -| Use case | Dev/test environments, low-traffic apps | Production apps, high-performance workloads | +| Use case | General workloads, low-traffic apps | Production apps, high-performance workloads | | CPU access | Split with other Instances | Exclusive access to physical cores | | Best for | Personal blogs or forums, staging environments | CI/CD, eCommerce, gaming, ML workloads | | Resource contention risk | Possible during peak usage | None |