Skip to main content
Back to timeline
arXivSource publication:

Switches filter sensor streams in the forwarding path: multiplierless binDCT lifts in-network classification MCC from 0.35 to 0.42

Synopsis

A binDCT block transform runs directly on a programmable switch, filtering noisy sensor streams on the forwarding path before in-network machine learning, which raises switch-side classification MCC from 0.35 to 0.42 and matches the server-side value.

Source-provided article image: Towards Signal Processing In Networks: Multiplierless Block Transforms in Data Plane
Figure 1 · arXiv

Interpretation

Signal processing moves onto the forwarding path of a programmable switch, so raw sensor streams no longer have to reach an edge or cloud server before being processed. Denoising, subband decomposition, and dimensionality reduction were previously performed on edge or cloud servers, with raw streams traversing the whole network and server load scaling with the number of sensors. On an Intel Tofino2, the implementation compiles with Open P4 Studio under the pipeline-stage, packet-header-vector, and TCAM constraints, so it can process at line rate.

The block transform is rewritten as a cascade of operations that use only additions, subtractions, and bit shifts, sidestepping the switch's lack of general multiplication. A direct dense matrix-vector implementation needs multiplications, while the reconfigurable match table pipeline offers only a limited number of stages, limited per-stage arithmetic, and restricted cross-stage data dependencies. A lifting-based lattice structure expresses filtering as elementary lifting steps, and binDCT approximates rotation coefficients with dyadic fractions, so the eight-point binDCT uses only 30 additions and 13 bit shifts; the signal-flow graph is then partitioned across pipeline stages with at most two live temporary values per stage.

Masking transform coefficients on the switch side offsets the classification loss caused by integer quantization. Without filtering, the switch-side MCC is 0.35, below the server-side 0.41, partly because input quantization error propagates through the binDCT. On the Wafer semiconductor-manufacturing sensor dataset, evaluated on BMv2 with Planter's Encode-Based mapping, filtering brings MCC to 0.42, matching the server-side value.

Perspective

The implementation targets the programmable-switch data plane, processes sensor time series, and is evaluated on the Wafer semiconductor-manufacturing dataset, with the classification task reformulated as per-packet classification. It suits readers interested in in-network computing, programmable data planes, and in-network machine learning. The text lists extension to IIR filters as a future direction.

The switch side uses integer arithmetic while the server side uses floating point, so the two differ in arithmetic; without filtering, the switch-side MCC is below the server side, a gap partly attributed to input quantization error propagating through the binDCT. After filtering, MCC matches the server side, but that conclusion comes from evaluation on the Wafer dataset. Extending to IIR filters requires a stateful ALU that supports a fused read-shift-add-write operation, which current Tofino-style stateful ALUs do not support.