energy: the operating point, the residual, and alignment with network-layer identities #86
2 changed files with 106 additions and 0 deletions
|
|
@ -165,3 +165,86 @@ as though it were the second.
|
||||||
The gap between them is the whole of *who says so*, and it is orthogonal to
|
The gap between them is the whole of *who says so*, and it is orthogonal to
|
||||||
everything §3 makes checkable: a perfectly reproducible reconstruction signed by
|
everything §3 makes checkable: a perfectly reproducible reconstruction signed by
|
||||||
nobody in particular is still a claim from nobody in particular.
|
nobody in particular is still a claim from nobody in particular.
|
||||||
|
|
||||||
|
## 7. The operating point, and why a joule figure alone is not enough
|
||||||
|
|
||||||
|
### 7.1 Degradation-blindness
|
||||||
|
|
||||||
|
A receipt that records the joules a decode spent, and nothing about how much work
|
||||||
|
it was asked to do, is **degradation-blind**. A sink can always spend fewer joules
|
||||||
|
by decoding worse, and a figure that cannot distinguish *efficient* from
|
||||||
|
*degraded* rewards the wrong behaviour precisely where the number is meant to
|
||||||
|
carry weight.
|
||||||
|
|
||||||
|
This is not hypothetical. ISO/IEC 23001-11 carries decoding-operation-reduction
|
||||||
|
metadata whose purpose is to make a decoder do less; the sender requests a
|
||||||
|
reduction, and the receipt as specified today records only what was spent.
|
||||||
|
`energy-measurement.md` §5's recomputable-work-unit rule blocks the substitution
|
||||||
|
at the byte-exact tier, but not at `entropy-consistency`, and not for the
|
||||||
|
conventional codecs WAI already carries.
|
||||||
|
|
||||||
|
The rules below make the operating point part of the claim, so the joule figure
|
||||||
|
is scored against something rather than merely reported.
|
||||||
|
|
||||||
|
### 7.2 Request, commitment, delivery
|
||||||
|
|
||||||
|
Where a sender requests an operating point and a receiver acts on it, the receipt
|
||||||
|
**MUST** seal all three of:
|
||||||
|
|
||||||
|
| field | meaning |
|
||||||
|
|---|---|
|
||||||
|
| `op_requested` | the operating point the sender asked for |
|
||||||
|
| `op_committed` | the operating point the receiver said it would use |
|
||||||
|
| `op_delivered` | the operating point actually used |
|
||||||
|
|
||||||
|
An operating point is a class-scoped descriptor — frame rate, spatial resolution,
|
||||||
|
a complexity target — and this extension does not define its vocabulary. What it
|
||||||
|
fixes is that the three are **distinct fields**, because the interesting cases are
|
||||||
|
exactly the ones where they differ.
|
||||||
|
|
||||||
|
- A receipt **MUST NOT** carry `op_delivered` alone. A delivered figure with
|
||||||
|
nothing to score it against is the degradation-blind case §7.1 describes.
|
||||||
|
- `op_committed` **MUST** be recorded as what the receiver stated, even where it
|
||||||
|
differs from the request. A commitment that silently becomes the request is not
|
||||||
|
a commitment.
|
||||||
|
- Where `op_delivered` differs from `op_committed`, the receipt **MUST** record
|
||||||
|
both and **MUST NOT** claim the commitment was met.
|
||||||
|
- A sink that honoured an operation-reduction request **MUST NOT** claim
|
||||||
|
`decode-equivalence` for the result — see [determinism-tiers](determinism-tiers.md)
|
||||||
|
§2, *What a tier covers*.
|
||||||
|
|
||||||
|
This converts a recorded number into a number measured against a promise. Neither
|
||||||
|
the prescriptive standards nor the measurement standards provide that pair: one
|
||||||
|
says what should be spent, the other what was, and nobody scores the second
|
||||||
|
against the first.
|
||||||
|
|
||||||
|
### 7.3 The residual
|
||||||
|
|
||||||
|
When a declared complexity or operating-point descriptor and a measured energy
|
||||||
|
binding both cover the same reconstruction, the receipt **MUST** carry the
|
||||||
|
**residual** — the signed difference between the energy the descriptor implies
|
||||||
|
and the energy measured.
|
||||||
|
|
||||||
|
- The residual **MUST** be computed over the same work unit as the measurement
|
||||||
|
(`energy-measurement.md` §5), or it compares two different things and means
|
||||||
|
nothing.
|
||||||
|
- A residual **MUST NOT** be reported without the acquisition class of the
|
||||||
|
measured term. A residual against an `Estimator` figure is a difference between
|
||||||
|
two predictions.
|
||||||
|
- An implementation **MUST NOT** suppress a residual because it is large. The
|
||||||
|
large ones are the informative ones; suppression converts a falsifiable claim
|
||||||
|
into an unfalsifiable one.
|
||||||
|
|
||||||
|
The residual is what makes the predictive half checkable. A complexity descriptor
|
||||||
|
is a prediction about energy, and until something records what actually happened
|
||||||
|
against it, the prediction is never wrong. This closes that loop in the artifact
|
||||||
|
rather than in a report.
|
||||||
|
|
||||||
|
### 7.4 Companion capability
|
||||||
|
|
||||||
|
Green-metadata semantics are registered the way
|
||||||
|
[`wai.meta.hdr10plus`](../research/media-codec-registry.md) and `wai.meta.dovi`
|
||||||
|
are: the capability names the descriptor class — complexity metrics, quality
|
||||||
|
recovery, display adaptation — and the sink supplies the decoder. **No carriage
|
||||||
|
is adopted**: ISOBMFF and DASH carriage of green metadata is somebody else's
|
||||||
|
layer, and WAI naming a descriptor does not make WAI responsible for moving it.
|
||||||
|
|
|
||||||
|
|
@ -59,6 +59,29 @@ documenting them, and returns *no rate at all* — never `0` — when unmetered,
|
||||||
because a zero reads as "this work was free", which is a stronger and false
|
because a zero reads as "this work was free", which is a stronger and false
|
||||||
claim than "nobody measured".
|
claim than "nobody measured".
|
||||||
|
|
||||||
|
### 2.1 Relationship to network-layer energy identities
|
||||||
|
|
||||||
|
The three classes above are WAI's own vocabulary, and they are coarser than the
|
||||||
|
graded `data-source-accuracy` identity hierarchy an adopted IETF GREEN
|
||||||
|
working-group draft defines for device and sub-component energy. That hierarchy
|
||||||
|
is the network layer's answer to the same question this section asks: *how was
|
||||||
|
this number obtained?*
|
||||||
|
|
||||||
|
- An implementation that also reports under a network-layer energy model
|
||||||
|
**SHOULD** derive its acquisition class from that model's identity rather than
|
||||||
|
assigning one independently, and **MUST** state which identity it derived from.
|
||||||
|
Two vocabularies for one property, assigned separately, will disagree.
|
||||||
|
- A derivation **MUST NOT** improve the class. Where a network-layer identity
|
||||||
|
maps ambiguously, the **weaker** WAI class applies.
|
||||||
|
- An implementation **MUST** declare the tolerance its acquisition class implies.
|
||||||
|
A class without a tolerance is a label; the point of grading provenance is to
|
||||||
|
say how much the figure can be leaned on, and that requires a number.
|
||||||
|
|
||||||
|
WAI does not adopt the network-layer model, and this section does not restate it.
|
||||||
|
The scopes differ — that model is device- and sub-component-scoped, WAI's figures
|
||||||
|
are per-object — and conflating them would breach §4's attribution rules. What is
|
||||||
|
required is that the two do not contradict each other about the same measurement.
|
||||||
|
|
||||||
## 3. The reference protocol: bracketed marginal measurement
|
## 3. The reference protocol: bracketed marginal measurement
|
||||||
|
|
||||||
On-die energy counters report the draw of a whole package or SoC, not of one
|
On-die energy counters report the draw of a whole package or SoC, not of one
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue