dra: support derived attributes in structured allocator
Plumb the DRADerivedAttributes feature gate to the scheduler and the experimental structured allocator, and implement runtime evaluation and request-scoped caching of CEL-derived virtual attributes. Specifically: - Update the `allocator` struct to maintain a request-scoped cache of evaluated derived attributes (`derivedAttributesCache`), preventing leakage or interference when different requests/subrequests define conflicting CEL expressions for the same virtual attribute name. - Implement unified attribute resolution in `lookupAttribute` that first resolves and caches derived attributes via CEL compilation and evaluation, falling back to static physical attributes on failure or absence. - Refactor the `constraint` interface (`add` and `remove` methods) to receive the full `requestData` context, enabling constraints to leverage the allocator's unified request-aware attribute lookup. - Plumb the `DRADerivedAttributes` feature gate through the scheduler's feature framework down to the allocator. - Add allocator test cases covering cross-request hardware alignment (e.g. mapping `numa` and `numaNode` to a virtual shared numa node), attribute shadowing/overriding, and CEL evaluation error handling.
G
Gaurav Ghildiyal committed
f2b64488feabd3d7230c809cc8caf8bebba37f6a
Parent: a94cc46