Skip to content

Commit d836c44

Browse files
committed
Addressed comments
1 parent f021f0d commit d836c44

File tree

2 files changed

+16
-13
lines changed
  • keps/sig-scheduling

2 files changed

+16
-13
lines changed

keps/sig-scheduling/4815-dra-partitionable-devices/README.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -549,7 +549,7 @@ type DeviceCounterConsumption struct {
549549
Counters map[string]Counter
550550
}
551551
552-
// Counter describes a quantity associated with a device.
552+
// Counter describes a quantity that multiple devices consume when in use.
553553
type Counter struct {
554554
// Value defines how much of a certain device counter is available.
555555
//
@@ -1443,6 +1443,8 @@ Across all `Device` objects in a `ResourceSlice`, the following limits are enfor
14431443
The `ResourceSlice`-wide limits on fields within the `Device` object is used to allow users
14441444
to decide whether to have few devices with many properties or many devices with few properties.
14451445

1446+
With these changes, the worst-case ResourceSlice increases from 922,195 bytes to 1,107,864 bytes.
1447+
14461448

14471449
###### Will enabling / using this feature result in increasing time taken by any operations covered by existing SLIs/SLOs?
14481450

keps/sig-scheduling/5234-dra-resourceslice-mixins/README.md

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -149,9 +149,8 @@ scheduler when selecting devices for user requests in ResourceClaims.
149149

150150
With this KEP, DRA drivers can define metadata in mixins separately from specific
151151
devices and include them in a device by reference. This reduces the duplication
152-
in ResourceSlices and allows for more compact device definitions. It also enables
153-
defining devices with more attributes, capacities and consumed counters than without
154-
mixins. Mixins can also be used in counter sets.
152+
in ResourceSlices and allows for more compact device definitions. Mixins can
153+
also be used in counter sets.
155154

156155
## Motivation
157156

@@ -188,7 +187,7 @@ also limits the number of partitionable devices for a single physical device.
188187
users see the flattened device definitions. Mixins does make it harder to find
189188
the full definition for a specific device, so this might be added to the scope
190189
for Beta or GA.
191-
- Enable devices to have more than 32 attributes and capacities. Increasing this
190+
- Enable devices to have more than 32 attributes and capacities. Increasing this would
192191
have implications for the CEL cost functions, so we are not looking to increase
193192
the limits as part of this KEP.
194193

@@ -268,7 +267,7 @@ This will not negatively effect existing scheduling performance of existing
268267
ResourceSlice definitions, but DRA driver authors taking advantage of mixins should
269268
be made aware of possible performance effects due to this increased referential complexity.
270269

271-
This also demonstrates that DRA driver authors should consider performancer when they
270+
This also demonstrates that DRA driver authors should consider performance when they
272271
write drivers and decide how to structure devices into ResourceSlices and pools. Information
273272
and best-practices about how to write drivers are available in
274273
https://github.com/kubernetes-sigs/dra-example-driver and this will also include information
@@ -364,7 +363,7 @@ type DeviceMixin struct {
364363
//
365364
// The maximum number of attributes and capacities across all devices
366365
// and device mixins in a ResourceSlice is 4096. When flattened, the
367-
// total number of attributes and capacities for each device can not
366+
// total number of attributes and capacities for each device must not
368367
// exceed 32.
369368
//
370369
// +optional
@@ -379,7 +378,7 @@ type DeviceMixin struct {
379378
//
380379
// The maximum number of attributes and capacities across all devices
381380
// and device mixins in a ResourceSlice is 4096. When flattened, the
382-
// total number of attributes and capacities for each device can not
381+
// total number of attributes and capacities for each device must not
383382
// exceed 32.
384383
//
385384
// +optional
@@ -503,7 +502,7 @@ The ResourceSlice-wide limits will be:
503502
* Total number of counters is 256.
504503
* Total number of consumed counters is 2048 (so with the maximum number of devices, there can be 16 per device).
505504

506-
We will still enforce some per-slice limits:
505+
We will still enforce some per-field limits:
507506
* The number of mixins that can be referenced from each device, counter set or device counter consumption is 8.
508507
* The number of taints per device is 4.
509508

@@ -513,8 +512,10 @@ We will also enforce one limit on the flattened device:
513512

514513
The limits on the number of counters across counter sets, mixins and device counter consumption in 1.33 for the
515514
Partitionable Devices KEP will be removed, as those are still in alpha.
516-
The limit of 32 on the number of attributes and capacities per device will be removed over the next 2 releases (1.34 and 1.35) to
517-
preserve safe rollbacks.
515+
The current limit on the total number of attributes and capacities per device will be adjusted a bit to
516+
be enforced on the device with mixins applied, rather than just based on what is defined directly on a device. This
517+
doesn't change the current behavior since a device with more than 32 attributes/capacities defined directly
518+
on the device will always fail the updated validation rule.
518519

519520
With these limits, the worst-case size for a ResourceSlice increases from 1,107,864 bytes to 1,288,825 bytes.
520521

@@ -576,7 +577,7 @@ https://storage.googleapis.com/k8s-triage/index.html
576577
We expect no non-infra related flakes in the last month as a GA graduation criteria.
577578
-->
578579

579-
E2e tests will be added to verify that the mixins are properly flattened and
580+
E2e tests will be added to verify that the mixins are properly applied and
580581
used by the scheduler.
581582

582583
### Graduation Criteria
@@ -891,7 +892,7 @@ For each of them, fill in the following information by copying the below templat
891892
## Implementation History
892893

893894
- 1.33: first KEP revision as part of the Partitionable Devices KEP
894-
- 1.34: split out into a separate KEP and initial implementation.
895+
- 1.34: split out into a separate KEP
895896

896897
## Drawbacks
897898

0 commit comments

Comments
 (0)