Skip to content

DRA: ResourceSlice Mixins #5234

Open
Open
@mortent

Description

@mortent

Enhancement Description

DRA requires that drivers publish all available devices on a node/cluster in ResourceSlice objects. There are scenarios where the number of devices can be pretty large and each device might have a relatively large amount of metadata associated with it, primarily in the form of Attributes or Capacity. This has a few consequences:

  • Several of the devices might have similar metadata, resulting in a lot of duplication between the published devices.
  • The size of the data required to specify each device reduces the number of devices that can be defined in a single ResourceSlice without hitting the Kubernetes size limit.

The latter can be addressed by splitting the devices across multiple ResourceSlices within a single pool, but that isn't always an option. In particular, DRA currently doesn't allow sharing counters across ResourceSlices.

Mixins provides a way to define shared metadata for devices or counter sets separately from devices and then include them by reference. This enables less duplication of information in ResourceSlices and smaller footprint for each device in terms of size.

This was originally part of #4815, but missed the 1.33 deadline, so this functionality is being split out into a separate KEP.

  • One-line enhancement description (can be used as a release note): Enable Devices and CounterSets in DRA ResourceSlices to include attributes, capacity and consumed counters by referencing mixins.
  • Kubernetes Enhancement Proposal: TBD
  • Discussion Link: DRA: Add support for partitionable devices #4815
  • Primary contact (assignee): @mortent @klueska
  • Responsible SIGs: Scheduling, Node
  • Enhancement target (which target equals to which milestone):
    • Alpha release target (x.y): 1.34
    • Beta release target (x.y): 1.35
    • Stable release target (x.y): 1.36
  • Alpha
    • KEP (k/enhancements) update PR(s):
    • Code (k/k) update PR(s):
    • Docs (k/website) update PR(s):

Please keep this description up to date. This will help the Enhancement Team to track the evolution of the enhancement efficiently.

Metadata

Metadata

Assignees

No one assigned

    Labels

    sig/nodeCategorizes an issue or PR as relevant to SIG Node.sig/schedulingCategorizes an issue or PR as relevant to SIG Scheduling.wg/device-managementCategorizes an issue or PR as relevant to WG Device Management.

    Type

    No type

    Projects

    Status

    🔖 Ready

    Status

    Needs Triage

    Status

    No status

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions