Skip to content

Split the driver and retain only the individual mode #112

@ffromani

Description

@ffromani

We discussed on April 7, 2026 in both the "native resources in DRA" and then in SIG-Node weekly (slides).

The idea

We plan to split the grouped mode support and the memory integration and all the other enhancements we planned into a grouped-mode-only driver, and repurpose and consolidate this driver as individual-mode-only.

Essentially:
keep the existing DRA CPU driver codebase and target individual mode only

  • remove the grouped mode
  • featurewise, we are already done: polish, optimize, stabilize
  • while this is not a commitment or a promise, the release 1.0 GA of such a refocused driver is realistic by end of 2026

create a new dra-driver-cpumem (final name TBD) grouped mode only

  • remove the individual mode
  • merge the memory support
  • keep evolving with the ecosystem

Rationale

We currently have two very different resource representations packed in one driver.
We didn't set a goal about canonical resource representation, and different resource drivers (e.g. vendor-specific CPU drivers) can expose different resource representations. This variety brings flexibility and is almost universally seen as plus. The question is however if a single driver should expose very different resource representations.

Currently, the driver represents resources in “individual mode” and “grouped mode”, which are very different and incompatible representations. These two different modes are very different operational mode stitched together because the initial explorationatory and evolutionary nature of the project. This is unavoidable and actually fine, but we can now stop and review.

Two very different modes bundled together suggest unclear scope, and create unnecessary UX friction: "why should a driver expose so different resource models?" "which one is the best for me?" are very legit and very natural questions.

There's also a timeline consideration: featurewise, the individual mode is “done” bar stabilization.
If we keep the two modes together, it's harder to call GA or to distill clear GA criterias, because the grouped mode dilutes the GA potential; we can call a subset of features GA but this sidesteps the core tension.
In addition, the memory support composes badly with the individual mode, because memory is inherently pooled and anonymous; but the main argument stand even without considering the memory support.

Timeline

The initial idea is to split before 0.2.0 if consensus is reached, to minimize the disruption for early adopters. If we split, the sooner the better

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions