Xiaoqi Chen

A curious and inquiring mind.

I'm Xiaoqi, a third 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 Institute for Interdisciplinary Information Sciences, Tsinghua University.

In a nutshell, my research is running network measurements using programmable data plane. My interest also includes data center networking, sketches, and network science.


Research Projects

Routing-oblivious packet and flow sampling in the data plane

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 and de-duplicate automatically. The samples can subsequently be used to perform various network-wide analysis.

To appear in IFIP Networking 2020.   Working Draft
Approximate distinct counting under limited memory access per packet

We identify limited memory access, instead of limited memory space, as the most critical resource constraint for running network measurement algorithm on programmable switches. Thus, we propose a new streaming model that restricts the number of accessed memory locations per packet processed.
Under this model, we designed an algorithm to simultaneously run many approximate distinct counting queries with different query keys, that performs strictly no more than one memory access per packet.

To appear in SIGCOMM 2020.   Working Draft
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.

Queuing analysis and microburst mitigation using programmable switces

A bursty ingress traffic will cause a switch to quickly run out of queuing buffer, a phenomenon named "microburst". Due to the short timescale, conventional monitoring methods can only report that microbursts existed, giving network operators little insight.
With the help of emerging programmable data plane, we can now identify the very flow that caused microburst, and perform surgical mitigation to deliver higher application performance.
We also proposed a novel setup to use programmable switches to analyze and debug queuing anomaly in legacy switches, and had resolved a packet dropping issue in Princeton's campus network using such setup.

Our work is featured in APNIC Blog!

Slides Paper (CoNEXT'19)
Heavy-hitter detection in programmable data plane

Programmable Switches promise high throughput, at the cost of rather restrictive programming model.
We modified Space-Saving algorithm to adapt to the hardware constraints while tracking Heavy Hitters, or the largest flows in the network. By recirculating packets with a small probability, we greatly simplify our algorithm's memory access. Our algorithm still achieves comparable accuracy to algorithms in unrestricted programming model.

Slides Paper (ICNP'18) Paper (Transactions on Networking)
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)

Selected Publication

  • [EuroSys'18] DumbNet: a smart data center network fabric with dumb switches. Yiran Li, Da Wei, Xiaoqi Chen, Ziheng Song, Ruihan Wu, Yuxing Li, Xin Jin, Wei Xu.
  • [ToN] Designing Heavy-Hitter Detection Algorithms for Programmable Switches. Ran Ben-Basat, Xiaoqi Chen, Gil Einziger, Ori Rottenstreich
  • [CoNEXT'19] Fine-Grained Queue Measurement in the Data Plane. Xiaoqi Chen, Shir Landau Feibish, Yaron Koral, Jennifer Rexford, Ori Rottenstreich, Steven A Monetti, Tzuu-Yi Wang
See my full publication list at Google Scholar (includes non-SDN research).


  • 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.
    I mostly use Python in my research project. I enjoy writing in other languages too, including Go and C++.