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

Working Draft
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 with increasingly higher link speed. 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 over network traffic, with different query keys, based on the coupon collector technique.

Working Draft
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.

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)
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.
  • [ICNP'18] Efficient Measurement on Programmable Switches Using Probabilistic Recirculation. 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++.