community icon indicating copy to clipboard operation
community copied to clipboard

instancetype: Extend `PreferSpread`

Open lyarwood opened this issue 10 months ago • 1 comments

/cc @0xFelix /cc @fabiand /cc @vladikr

What this PR does / why we need it:

The preferSpread preferredCPUTopology was introduced with KubeVirt v1.1 and allows for vCPUs provided by an instance type to be spread across guest visible sockets and cores using a configurable ratio that defaults to 2.

This design proposal aims to extend this implementation by introducing new configurables within a preference to control how vCPUs are spread with the goal of allowing vCPUs to also be spread to threads.

Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged): Fixes #

Special notes for your reviewer:

This supersedes the original Allow custom guest CPU topologies within instancetypes proposal given insight from a few downstream teams around their need for SMT within the guest OS for their workloads. While this proposal doesn't guarantee performant SMT aligned threads within the guest it at least allows us to express that threads will be present through the existing instance type and preference API paradigms.

Checklist

This checklist is not enforcing, but it's a reminder of items that could be relevant to every PR. Approvers are expected to review this list.

Release note:

NONE

lyarwood avatar Apr 18 '24 16:04 lyarwood

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: Once this PR has been reviewed and has the lgtm label, please assign alonakaplan for approval. For more information see the Kubernetes Code Review Process.

The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment Approvers can cancel approval by writing /approve cancel in a comment

kubevirt-bot avatar Apr 18 '24 16:04 kubevirt-bot

@vladikr would you mind approving this as the implementation has already landed?

lyarwood avatar Jun 06 '24 17:06 lyarwood

/approve

aburdenthehand avatar Jun 21 '24 10:06 aburdenthehand

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: aburdenthehand

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment Approvers can cancel approval by writing /approve cancel in a comment

kubevirt-bot avatar Jun 21 '24 10:06 kubevirt-bot