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.
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.
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.
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.
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.
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.
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.
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.
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.Slides
- [SIGCOMM'20] BeauCoup: Answering Many Network Traffic Queries, One Memory Update at a Time. Xiaoqi Chen, Shir Landau-Feibish, Mark Braverman, Jennifer Rexford
- [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
- 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
I mostly use Python in my research project. I enjoy writing in Go and C++ as well.