Xiaoqi Chen

A curious and inquiring mind.

I'm Xiaoqi, a fourth year PhD student at Department of Computer Science, Princeton University, advised by Prof. Jennifer Rexford. Before joining Princeton, I received my Bachelor's degree from Yao Class, Institute for Interdisciplinary Information Sciences, Tsinghua University.

I aspire to bridge theoretical insights in streaming algorithms with practical innovations in measuring real-world networks. My research primarily focuses on designing and building efficient data-plane algorithms for network measurements and beyond.


Research Projects

BeauCoup: run multiple traffic queries simultaneously

We identify limited memory access, instead of limited memory space, as the most critical resource constraint for running multiple network measurement algorithm on programmable switches.
By using Coupon Collectors, BeauCoup supports running multiple distinct counting queries simultaneously, while only making a small constant number of memory accesses per packet.
Furthermore, unlike earlier work, BeauCoup supports updating traffic queries on-the-fly without re-compiling P4 code, by separating query parameters from data-plane logic. Queries can be updated via installing TCAM rules only, minimizing network downtime.

Paper (SIGCOMM'20) Slides P4 Code
ConQuest: flow-level microburst analysis

Microburst is a phenomenon where bursty ingress traffic fills up a switch's queuing buffer rapidly, causing high latency, jitter, and in the worse case, packet drops. Due to its short timescale, conventional monitoring methods based on packet sampling or aggregated statistics provide very little insights about the dynamics or the cause of microbursts.
ConQuest analyzes each individual network flow's contribution to queuing in real time, using a round-robin snapshots data strucutre running in the programmable data plane. After identifying the very bursty flows that caused microbursts, ConQuest further supports suppressing these bursty flows to surgically mitigate microbursts, protecting other flows. We also propose a novel tapping-based setup to analyze queuing in legacy, non-programmable switches.
We have used ConQuest to perform fine-grained queuing analysis in two real-world deployments: at Princeton University's campus network, as well as in AT&T's carrier network.

Featured in APNIC Blog and P4.org Blog!

Paper (CoNEXT'19) Slides P4 Code
PRECISION: Heavy-hitter detection in programmable data plane

To run at Terabits-per-second line rate in programmable data plane, measurement algorithms must follow a restrictive programming model, with constraints on memory size and access.
We modified the Space-Saving algorithm to adapt to these hardware constraints, to track Heavy Hitters (network flows with the largest volume) in the data plane. By recirculating a small fraction of packets probabilistically, we greatly simplify our algorithm's memory access pattern. Our algorithm still achieves comparable accuracy to algorithms in an unrestricted programming model.
In our paper, we also summarized the programming model constraints into three easy-to-follow rules for designing future measurement algorithms.

Paper (ToN) Slides P4 Code
AROMA: Routing-oblivious packet and flow sampling

Traditional traffic sampling and analysis methods require precise routing information to de-duplicate measurements collected from multiple vantage points. However, network administrators may not have complete or accurate knowledge of how every packet is routed.
By using random hash functions, we build a routing-agnostic network measurement framework that sample flows and packets from multiple vantage points across the network. The samples can subsequently be used to perform various network-wide analysis.

Paper (IFIP Networking'20)
Measuring TCP RTT in data plane using multi-stage hash tables

We measure packet-level round trip time by matching a TCP packet with its corresponding acknowledgement. We buuild multi-stage hash tables to reduce the effect of hash collisions when using hash tables in the data plane, and allows table entries to "lazily expire" by deleting them upon hash collisions.
Compared with prior work that only looks at handshake packets, our work produces multiple RTT samples per flow, which helps capturing changing network condition for long-running TCP flows such as video streaming.

Paper (SPIN'20 workshop) Slides P4 Code
Implementing AES on programmable switches

Cryptogrphy is an important building block for implementing privacy and security applications in programmable data plane. We implement the standardized and widely-used AES encryption on the Barefoot Tofino high-throughput programmable switch, using the Scrambled Lookup Tables optimization.
We observe that traditional AES implementations are often optimized for embedded devices that lacks memory space, yet switches have moderate memory size. By building many lookup tables, we trade memory space overhead for shorter execution pipeline length.

Paper (SPIN'20 workshop) Slides P4 Code
DumbNet: Stateless Data Center Networking

We proposed and implemented a stateless, source-routing based network, with "Dumb" switches that maintain no state and only perform push-label switching.
We demonstrated it is still viable and efficient to bootstrap and maintain the network using host-based control plane. The network can achieve adequate performance and better fail-over compared with naive Ethernet.

Paper (EuroSys'18)
Campus Network as a P4 testbed

Our university campus network faces the same operational challenges as any other carrier or data center network, making it an ideal local testbed for networking research projects. We collaborate with Princeton University's campus network operator to apply various P4-based network measurement and optimization tools in the campus network, gathering granular data about the network's performance, as well as validating the research prototypes in a production-grade setting.


Selected Publication

See my full publication list at Google Scholar.

Community Service

  • Reviewer, IEEE/ACM Transactions on Networking (ToN)
  • Reviewer, Journal of Network and Computer Applications (JNCA)
  • External Reviewer, IEEE INFOCOM 2020
  • Technical Program Committee, ACM/IEEE IPSN 2016 Demo session


  • I love playing badminton and soccer, and I played in the IIIS varsity soccer team at Tsinghua's interdepartmental league.
    I enjoy other sports as well, including tennis, table tennis, basketball, swimming and climbing.
  • Did you know []*[]=0 and []+[]=""? I write javascript for fun! I also used it for web development in many personal projects, including this webpage.
    I mostly use Python in my research project. I enjoy writing in Go and C++ as well.