Valinor Measurement Framework


What causes the network traffic to emerge from hosts in bursts?

♦ Is burstiness an scale-invariant property of traffic? (Does the traffic retain its burstiness across a wide range of timescales, or do the microbursts become smooth at coarse timescales?)

♦ Are canonical burst countermeasures such as TCP pacing and packet scheduling effective in curtailing bursts?

Our study attempts to find an answer for above questions.


Valinor framework offers visibility into traffic burstiness over a wide span of timescales (nanosecond- to second-scale) at multiple vantage points by capturing timestamp and metadata information for incoming/outgoing packets in the network.

Valinor consists of four components:

  1. Valinor-N: Valinor's programmable data plane based on Tofino architecture. Valinor generates timestamp packets for every incoming packet and sends them to a user-defined port for offline/online analysis.
  2. Valinor-H: Valinor's eBPF program that connects to tc hook in Linux operating system. Valinor-H uses a userspace control plane to retrieve the timestamps for egress packets and stores the entries in a Redis database.
  3. Valinor-C: Is a DPDK-based packet processing software that is the endpoint for Valinor-N's timestamp packets. Valinor-C also uses Redis to store the collected timestamp entries for packets
  4. Valinor-O: Consists of various scripts for processing timestamp entries.

Example deployment scenario:

Deployment scenario


Congestion Control Variants

TCP congestion control variants use different signals to detect congestion in the network. This results in significantly different buffer utilization patterns. Valinor-N can capture the dynamics of switch buffer utilization at microsecond granularity.

Linux qdiscs in the presense of NIC offloading and scheduling

Linux offers a modular platform for implementing various packet scheduling paradigms, called queueing disciplines or in short, qdiscs. However, are these software elements effecting in shaping the traffic when NIC segmentation offloading and lulti-ring scheduling functions are active?

We compare two Linux qdiscs, fq and pfifo_fast under four configurations. Our results suggest that low layers of the network stack compromise the traffic shaping efforts of the software packet schedulers:

no TSO - single ring
TSO - single ring
no TSO - multi ring
TSO - multi ring

More interesting results on impact of TCP pacing, Linux qdiscs, and process scheduling on packet bursts can be found in our published paper.

Artifacts and Further Reading

The publication can be access at NSDI '23 website.

The super repository containing Valinor artifacts can be found here!.

Please email the authors with your questions and ideas on improving Valinor.