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
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:
Idleinstead of destroying it immediately.Suggested instance states:
CreatingActiveIdleReclaimingDeletingError