Power Consumption Profiling for Programmable Network Devices
draft-pythia-bmwg-programmable-power-profiling-00
This document is an Internet-Draft (I-D).
Anyone may submit an I-D to the IETF.
This I-D is not endorsed by the IETF and has no formal standing in the
IETF standards process.
| Document | Type | Active Internet-Draft (individual) | |
|---|---|---|---|
| Authors | Xiang Chen , Longlong Zhu , Linying Zheng | ||
| Last updated | 2026-07-27 | ||
| RFC stream | (None) | ||
| Intended RFC status | (None) | ||
| Formats | |||
| Stream | Stream state | (No stream defined) | |
| Consensus boilerplate | Unknown | ||
| RFC Editor Note | (None) | ||
| IESG | IESG state | I-D Exists | |
| Telechat date | (None) | ||
| Responsible AD | (None) | ||
| Send notices to | (None) |
draft-pythia-bmwg-programmable-power-profiling-00
Benchmarking Methodology Working Group X. Chen
Internet-Draft L. Zhu
Intended status: Informational L. Zheng
Expires: 28 January 2027 Zhejiang University
27 July 2026
Power Consumption Profiling for Programmable Network Devices
draft-pythia-bmwg-programmable-power-profiling-00
Abstract
A programmable network device can execute different packet-processing
programs on the same hardware. Device-level power measurements show
the total input power but do not explain the power associated with a
program's parser, match-action tables, and stateful or stateless
actions. Models designed for fixed-function switches do not directly
describe these program-dependent operations.
This document describes a power profiling methodology for
programmable network devices. The methodology decomposes packet
processing into functional components, uses controlled calibration
programs to derive target-specific parameters, and estimates the
power of a data-plane program from its processing features and
traffic. It also specifies validation and reporting requirements
that distinguish direct measurements from model-derived estimates.
The methodology is based on implementation experience with an ASIC
programmable switch and an FPGA-based programmable switch.
Status of This Memo
This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet-
Drafts is at https://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
This Internet-Draft will expire on 28 January 2027.
Chen, et al. Expires 28 January 2027 [Page 1]
Internet-Draft Programmable Power Profiling July 2026
Copyright Notice
Copyright (c) 2026 IETF Trust and the persons identified as the
document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents (https://trustee.ietf.org/
license-info) in effect on the date of publication of this document.
Please review these documents carefully, as they describe your rights
and restrictions with respect to this document. Code Components
extracted from this document must include Revised BSD License text as
described in Section 4.e of the Trust Legal Provisions and are
provided without warranty as described in the Revised BSD License.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Requirements Language . . . . . . . . . . . . . . . . . . . . 3
3. Scope and Non-Goals . . . . . . . . . . . . . . . . . . . . . 3
4. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4
5. Profiling Framework . . . . . . . . . . . . . . . . . . . . . 4
6. Functional Power Model . . . . . . . . . . . . . . . . . . . 5
6.1. Basic Power . . . . . . . . . . . . . . . . . . . . . . . 5
6.2. Packet-Processing Power . . . . . . . . . . . . . . . . . 6
6.3. Traffic, Packet Size, and Repeated Processing . . . . . . 6
7. Parameter Profiling and Calibration . . . . . . . . . . . . . 7
7.1. Calibration Program Design . . . . . . . . . . . . . . . 7
7.2. Power Data Collection . . . . . . . . . . . . . . . . . . 7
7.3. Parameter Derivation . . . . . . . . . . . . . . . . . . 8
8. Program Profiling and Power Estimation . . . . . . . . . . . 8
9. Model Validation . . . . . . . . . . . . . . . . . . . . . . 9
10. Comparing Data-Plane Programs . . . . . . . . . . . . . . . . 9
11. From One Device to a Network . . . . . . . . . . . . . . . . 10
12. Reporting Summary . . . . . . . . . . . . . . . . . . . . . . 10
13. Implementation Experience . . . . . . . . . . . . . . . . . . 11
14. Applicability and Limitations . . . . . . . . . . . . . . . . 12
15. Security Considerations . . . . . . . . . . . . . . . . . . . 12
16. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 12
17. Normative References . . . . . . . . . . . . . . . . . . . . 12
18. Informative References . . . . . . . . . . . . . . . . . . . 13
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 13
Chen, et al. Expires 28 January 2027 [Page 2]
Internet-Draft Programmable Power Profiling July 2026
1. Introduction
In-network computing moves functions such as aggregation,
measurement, caching, classification, and security processing into
programmable network devices. The power used by these functions is
relevant when selecting a program, comparing program versions, or
estimating the power cost of deploying a function across many
devices.
An external power meter can measure the total input power of a
device. Repeating that measurement for every program and
configuration is costly, and a total value does not identify which
packet-processing operations account for a difference. Existing
models for fixed-function switches commonly use external variables
such as port configuration and traffic load. Those variables remain
important, but they do not describe custom parsing, matching, and
action logic.
This document describes a component-oriented profiling methodology.
It first builds a general functional model of programmable packet
processing. It then uses controlled calibration programs and power
data to derive parameters for a specific target. Once calibrated and
validated, the target-specific model can estimate the power of other
programs within the validated range.
The methodology does not standardize one device's parameters or
require disclosure of proprietary pipeline placement. It
standardizes the functional decomposition, calibration process,
validation conditions, and information needed to interpret a result.
2. Requirements Language
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
"OPTIONAL" in this document are to be interpreted as described in BCP
14 [RFC2119] [RFC8174] when, and only when, they appear in all
capitals, as shown here.
3. Scope and Non-Goals
This document applies to devices whose packet-processing behavior is
defined in whole or in part by a loadable or compiled data-plane
program. The primary model is a reconfigurable match-action pipeline
[RMT], but the procedure can be adapted to another architecture when
its processing functions can be mapped to the components in
Section 6.
The methodology supports:
Chen, et al. Expires 28 January 2027 [Page 3]
Internet-Draft Programmable Power Profiling July 2026
* profiling one program on one target;
* comparing programs or program versions on the same target;
* identifying packet-processing features associated with a power
difference; and
* estimating program-level power after target-specific calibration.
This document does not prescribe an energy-efficiency target, an
acceptance threshold, a data-plane language, a compiler, or a single
regression model. It does not assert that parameters obtained from
one device, compiler, or firmware version apply to another. It also
does not replace a direct measurement when a benchmark requires
directly measured input power.
4. Terminology
Target: The programmable device, architecture, and toolchain
combination for which a power model is calibrated.
Data-plane program: The source, intermediate, or compiled artifact
that defines the packet-processing behavior loaded on the target.
Calibration program: A controlled data-plane program constructed to
expose the power behavior of one processing component or candidate
factor.
Reference program: A documented program that provides the baseline
packet-processing behavior for a calibration or comparison.
Direct measurement: A power value measured for the target under the
stated program and traffic condition using an external power
meter.
Tool-derived power value: A power value produced by an
implementation or design tool, such as an FPGA post-implementation
power report, rather than by an external meter.
Model-derived estimate: A value calculated by a calibrated power
model for a program and traffic condition.
5. Profiling Framework
The profiling workflow has three stages:
1. Construct a general functional power model by decomposing the
target's packet-processing path.
Chen, et al. Expires 28 January 2027 [Page 4]
Internet-Draft Programmable Power Profiling July 2026
2. Run calibration programs, collect power data, identify
influential factors, and derive parameters for the target.
3. Extract the corresponding features of a query program and use the
target-specific model to estimate its power.
The first stage is architecture-oriented. It identifies functions
that are common across a class of programmable devices. The second
stage is device-specific because the contribution of a function
depends on the hardware, compiler, firmware, and implementation. The
third stage is valid only inside the range covered by calibration and
validation.
Calibration requires power data for a limited set of programs. A
query does not require a new direct measurement unless the estimate
is being validated or the program lies outside the validated range.
This distinction is the source of the method's lower measurement
cost, but it also makes accurate reporting of the model boundary
necessary.
6. Functional Power Model
The total power of a target under a program and traffic condition is
represented as:
P_total = P_basic + P_operation
P_basic represents the power needed for the device's basic operation.
P_operation represents the additional packet-processing activity of
the loaded program. This is a functional decomposition. It does not
imply that the physical hardware blocks are isolated or that every
term is independently additive.
6.1. Basic Power
Basic power can be decomposed as:
P_basic = P_idle + P_port + P_forwarding
P_idle is the target's baseline power after startup. P_port
represents the contribution associated with connected and enabled
ports. P_forwarding represents basic packet forwarding under the
stated traffic condition. The report MUST identify the chassis,
enabled and connected ports, interface types, and basic forwarding
program used to derive these terms.
Chen, et al. Expires 28 January 2027 [Page 5]
Internet-Draft Programmable Power Profiling July 2026
6.2. Packet-Processing Power
For a match-action pipeline, operational power is organized as:
P_operation = P_parser + P_match + P_action
P_parser includes parsing and deparsing. Candidate explanatory
variables include parsed header widths, the number and sequence of
headers, and packet rate.
P_match represents the execution of match-action tables. Candidate
variables include match kind, key fields or key width, configured
rule capacity, populated rule count, number of tables, and packet
rate.
P_action represents operations executed after a match. The model
distinguishes stateful operations, such as register access, from
stateless operations, such as field assignment or arithmetic.
Candidate variables include operation category, operation count,
operand width, number of tables executing the operation, and packet
rate.
A calibration experiment MUST determine which candidate factors have
a measurable effect on its target. A factor MUST NOT be retained in
the target-specific model solely because it appears in the general
functional model.
6.3. Traffic, Packet Size, and Repeated Processing
Packet-processing work depends on the number of packets as well as
the number of bits. A profile MUST report both packet rate and bit
rate, together with the packet-size distribution. At a fixed bit
rate, smaller packets increase the packet rate and can therefore
increase the number of parser, table, and action executions.
Recirculation causes a packet to traverse the pipeline again. If
each recirculated pass performs processing equivalent to an external
packet, an effective packet rate can be expressed as:
r_effective = r_external * (1 + k)
Here, k is the number of recirculations per packet or a traffic-
weighted average when packets have different recirculation counts.
If later passes execute a different path, the passes MUST be
described separately rather than represented only by r_effective.
Resubmit, cloning, and multicast SHOULD be reported when they change
the amount of packet processing.
Chen, et al. Expires 28 January 2027 [Page 6]
Internet-Draft Programmable Power Profiling July 2026
7. Parameter Profiling and Calibration
7.1. Calibration Program Design
A calibration program SHOULD isolate one candidate factor while
holding unrelated factors constant. A calibration set begins with a
reference program and adds a series of programs or configurations
that vary a controlled parameter.
Examples include varying:
* connected and enabled ports;
* packet rate at fixed packet size and processing behavior;
* parsed header width or header count;
* match kind, rule count, or table count;
* stateful reads and writes;
* stateless assignment or arithmetic operations; and
* the number of recirculations or processing passes.
A generated program MUST be checked to confirm that the compiler did
not remove the operation under test. The report SHOULD record
compiler resource output when it is available. If varying one source
construct changes placement or other resources, that interaction MUST
be reported.
7.2. Power Data Collection
For a deployed hardware target, each calibration point MUST use an
external power meter. The report MUST state the meter type and
accuracy, target and toolchain versions, environmental condition,
stabilization interval, measurement interval, averaging method, and
number of repetitions.
For a target that is not available as a measurable hardware
implementation, a design-tool power report MAY be used for model
development. Such a value MUST be labeled tool-derived and MUST NOT
be presented as an external input-power measurement.
Chen, et al. Expires 28 January 2027 [Page 7]
Internet-Draft Programmable Power Profiling July 2026
The calibration program, port state, table population, state
initialization, traffic, and any control-plane updates during the
measurement MUST be recorded. The packet-processing result SHOULD be
checked so that a low-power value caused by unintended drops or a
failed program is not accepted as a valid calibration point.
7.3. Parameter Derivation
For each candidate factor, the profiler compares the power values
obtained while that factor is varied. A target-specific relationship
can be linear, range-based, logarithmic, or another form supported by
the calibration data. This document does not prescribe the fitting
method.
When a factor produces no stable measurable difference over the
calibrated range, the target-specific model SHOULD omit that factor
or represent it as an uncertainty term. When the effect of two
factors cannot be separated, the model SHOULD use a joint term rather
than claiming independent component contributions.
Every parameter set MUST be versioned and bound to the target,
toolchain, calibration programs, traffic range, and measurement or
tool-derived power-data source used to obtain it.
8. Program Profiling and Power Estimation
To profile a query program, the profiler extracts the program
features used by the target-specific model. These features can come
from program analysis, compiler output, run-time configuration, or a
combination of them.
The query record MUST include:
* program identifier and version;
* compiler, target, options, SDK, firmware, and runtime versions;
* parser, match-table, stateful-action, and stateless-action
features required by the model;
* configured and populated table state;
* packet rate, bit rate, packet-size distribution, and repeated
processing; and
* the parameter-set version used for the estimate.
Chen, et al. Expires 28 January 2027 [Page 8]
Internet-Draft Programmable Power Profiling July 2026
The estimated total power MUST be labeled model-derived. A profiler
MAY additionally report a basic-power term and operational terms, but
it MUST state whether those terms are measured, independently
calibrated, or inferred from a combined model.
If the query program contains a feature or traffic condition outside
the calibration range, the result MUST be labeled an extrapolation.
A new calibration or direct measurement is RECOMMENDED instead of
extrapolation when the omitted feature can activate a different
hardware resource or execution path.
9. Model Validation
A target-specific model MUST be validated using programs or
configurations that were not used to derive its parameters.
Validation programs SHOULD cover different combinations of parser,
table, register, action, and traffic features within the intended
operating range.
The validation report MUST provide:
* the calibration and validation program sets;
* the directly measured or tool-derived value and the estimate for
each validation case;
* the error definition;
* a central error value and the worst observed error;
* the validated ranges for traffic and program features; and
* known interactions or target limitations.
A model MUST be revalidated after a change to the hardware target,
compiler behavior, firmware, or another part of the toolchain that
can alter pipeline mapping or power behavior.
10. Comparing Data-Plane Programs
Two programs can be compared directly on the same target by keeping
the chassis, ports, toolchain, environment, traffic, table state,
stabilization interval, and measurement method unchanged. If P_A and
P_B are direct power measurements, the program-associated difference
is:
Delta_P(A,B) = P_B - P_A
Chen, et al. Expires 28 January 2027 [Page 9]
Internet-Draft Programmable Power Profiling July 2026
The report MUST include P_A and P_B as well as Delta_P(A,B). If the
programs implement different functions or produce different
forwarding results, the report MUST describe the difference and MUST
NOT present Delta_P(A,B) as an efficiency comparison for equivalent
behavior.
A component model can help explain the difference, but a model-
derived attribution MUST be reported separately from the direct
difference.
11. From One Device to a Network
For a single device, the program and the local traffic condition are
sufficient inputs to a target-specific model. For a network of
programmable devices, traffic distribution and forwarding paths also
affect power because they determine the packet rate processed by each
device.
A network-level estimate MUST identify the program and traffic rate
at each device. It MUST also state whether links, transceivers, and
other devices outside the programmable targets are included.
Applying one device's model to every device is valid only when their
targets, toolchains, configurations, and validated operating ranges
are equivalent.
This document does not specify a routing or traffic-engineering
algorithm. It only records that network-level profiling requires the
traffic distribution and forwarding strategy in addition to the per-
device program model.
12. Reporting Summary
+============+==================================+
| Group | Required information |
+============+==================================+
| Target | Device, architecture, compiler, |
| | SDK, firmware, runtime |
+------------+----------------------------------+
| Program | Identifier, version, function, |
| | compiled artifact |
+------------+----------------------------------+
| Basic | Idle state, ports, interfaces, |
| state | basic forwarding |
+------------+----------------------------------+
| Parser | Headers, widths, count or depth |
| | used by the model |
+------------+----------------------------------+
| Match | Match kinds, keys, rules, |
Chen, et al. Expires 28 January 2027 [Page 10]
Internet-Draft Programmable Power Profiling July 2026
| | tables, populated state |
+------------+----------------------------------+
| Action | Stateful and stateless |
| | operations used by the model |
+------------+----------------------------------+
| Traffic | Packet rate, bit rate, sizes, |
| | recirculation or other passes |
+------------+----------------------------------+
| Power data | Direct measurement or tool- |
| | derived source and procedure |
+------------+----------------------------------+
| Model | Parameter version, calibration |
| | set and range |
+------------+----------------------------------+
| Validation | Cases, measured or tool-derived |
| | values, estimates, errors |
+------------+----------------------------------+
| Result | Direct, tool-derived, estimated, |
| | or extrapolated label |
+------------+----------------------------------+
Table 1: Power Profiling Report
13. Implementation Experience
The methodology is based on an implementation named Pythia. Pythia
constructs an RMT-oriented power model and uses calibration programs
to derive parameters for a target.
On an Intel Tofino programmable switch, Pythia used an external
wattmeter for calibration. It examined the effects of port state,
basic forwarding, parser configuration, match-action tables, stateful
and stateless actions, traffic rate, packet size, and recirculation.
In that implementation, packet rate was the dominant run-time factor;
several program-structure factors had only a small measurable effect
on the evaluated target.
The Tofino model was evaluated with 14 real-world data-plane programs
covering different numbers of headers, match-action tables,
registers, and action executions. For those experiments, the power
range estimated by the model was reported to be within five percent
of the direct measurement.
Pythia was also adapted to an FPGA-based programmable switch. That
evaluation focused on matching because of the available
implementation resources and considered match kind, rule count, and
table count. Its power values came from post-implementation reports
generated by the FPGA design tool, not from an external power meter.
Chen, et al. Expires 28 January 2027 [Page 11]
Internet-Draft Programmable Power Profiling July 2026
These results support the feasibility of target-specific, component-
oriented profiling. They do not establish a universal model form or
accuracy guarantee. In particular, the Tofino findings about traffic
rate and the FPGA findings about matching MUST NOT be assumed for
another target without calibration and validation.
14. Applicability and Limitations
The functional model maps directly to RMT-like pipelines. A non-RMT
target requires a justified mapping between its execution model and
the components in Section 6. If such a mapping is not available, the
profiler SHOULD define a target-specific decomposition rather than
forcing the target into parser, match, and action terms.
Compiler placement, shared resources, standby power, memory
technology, clocking, and thermal control can hide or couple
component effects. A functional term is therefore an explanatory
model term, not necessarily the power of a physically isolated block.
A model can reduce repeated measurement cost only after the target
has been calibrated. It does not eliminate the need for direct
measurements during calibration and validation, and it does not make
unlike targets automatically comparable.
15. Security Considerations
Profiling SHOULD be performed in an isolated laboratory environment.
Calibration programs can exhaust table or stateful memory, create
high packet-processing load, or introduce a recirculation loop. A
tester SHOULD validate each program at a limited rate before applying
the full traffic condition and SHOULD retain a way to stop traffic or
unload the program.
Program source, compiler output, resource reports, and pipeline
placement can contain proprietary information. A report MAY use
coarse feature categories, but it MUST state which information is
withheld so that readers can assess the limit on reproducibility.
16. IANA Considerations
This document has no IANA actions.
17. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997,
<https://www.rfc-editor.org/info/rfc2119>.
Chen, et al. Expires 28 January 2027 [Page 12]
Internet-Draft Programmable Power Profiling July 2026
[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
May 2017, <https://www.rfc-editor.org/info/rfc8174>.
18. Informative References
[RMT] Bosshart, P., Gibb, G., Kim, H., Varghese, G., McKeown,
N., Izzard, M., Mujica, F., and M. Horowitz, "Forwarding
Metamorphosis: Fast Programmable Match-Action Processing
in Hardware for SDN", DOI 10.1145/2486001.2486011, August
2013, <https://doi.org/10.1145/2486001.2486011>.
Authors' Addresses
Xiang Chen
Zhejiang University
Hangzhou
Zhejiang,
China
Email: wasdnsxchen@gmail.com
Longlong Zhu
Zhejiang University
Hangzhou
Zhejiang,
China
Email: pocofo@foxmail.com
Linying Zheng
Zhejiang University
Hangzhou
Zhejiang,
China
Email: zhenglinying0106@gmail.com
Chen, et al. Expires 28 January 2027 [Page 13]