Paper summary
Avoid repeating container packet-processing work
Remembering recent forwarding decisions can leave more CPU time for an IoT application.
Container networking repeatedly performs routing, header and filtering operations for packets from the same connection. SCON targets that work inside the Linux networking stack while keeping the existing application interface.
Reuse decisions along an express path
A regular path processes a new connection and records its decisions in a per-container table. An express path reuses those decisions for later packets, while retaining required per-packet checks. A flusher removes expired entries and refreshes state when TCP connections restart.
View full-size figureMeasure CPU use and TCP throughput
The Linux 5.10 implementation is evaluated with HTTP, MQTT and TCP/UDP microbenchmarks. In the single-core TCP tests with 32-byte to 1-KB messages, SCON reduces SoftIRQ CPU use by 19% on average and raises throughput by 20% relative to the ordinary container.
| Metric | Average change |
|---|---|
| SoftIRQ CPU use | 19% lower |
| Throughput | 20% higher |
Key takeaways
- Packets from one connection often repeat the same decisions. Remembered routing and filtering results create an express path through container networking.
- The useful unit of reuse has a lifetime. Expiration and restart handling keep remembered decisions tied to the connection for which they were made.