Skip to content

Enhance Dynamic MIG: Optimize the MIG instance lifecycle with lazy reclamation #2834

Description

@FouoF

Currently, destroying a MIG GI/CI pair immediately after a Pod releases it may cause unnecessary overhead when a subsequent workload requests the same profile.

Introduce a lazy reclamation mechanism:

  • Mark a released MIG instance as Idle instead of destroying it immediately.
  • Reuse an idle instance when a new request matches its profile and placement.
  • Destroy or reconfigure idle instances only when they prevent a new profile from being allocated.
  • Optionally enforce per-GPU cache limits to avoid retaining too many idle instances.
  • Restore the actual MIG state from NVML after a component restart and reconcile it with active Pod allocations.
  • Bind the CDI specification lifecycle to the MIG instance lifecycle rather than to an individual Pod lifecycle.

Suggested instance states:

  • Creating
  • Active
  • Idle
  • Reclaiming
  • Deleting
  • Error

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions