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