Xi’an Jiaotong University, Xi’an, China Sep 2015 - May 2019
Bachelor in Computer Science and Technology
University of California, San Diego, La Jolla, CA Feb 2017 - June 2017
Exchange Student in Computer Science and Engineering
Brown University, Providence, RI Aug 2019 - Present
Master of Science in Computer Science
Ministry of Education Key Lab for Intelligent Networks and Network Security Xi’an China
Project: Programming Network Stack for Middleboxes with Rubik
Designed Rubik, a domain-specific language for the middlebox stack, which decreases coding efforts for building a TCP/IP stack by two orders of magnitude (e.g.from 20,000 lines to 300 lines).
Prototyped the compiler of Rubik and built various realistic cases using Rubik language, including 12 reusable protocol parsers, 4 network stacks, and 3 open-source middleboxes.
Conducted optimizations in the IR and the backend of the compiler for improving the processing throughput, e.g., the TCP/IP stack built on Rubik outperformed state-of-the-art by 23%.
Second Author of this work, which has been submitted to NSDI 2020
Brown Systems Research Group Brown University, Providence, RI
Advised by Prof. Theophilus Benson Aug 2019 - Present
Current Project: Researching on in-network compute’s scalability and management in large data centers.
- Analyze and model the data dependency and consistency for register access and modifications
- Design algorithms for decomposing and merging P4 programs.
- Optimize the placement of micro P4 programs based on constraints, traffic pattern and network topology.
Highlighted Course Project
Flash Chip Interface Controller Based on Verilog and C Feb - Jun 2018
- Developed a system using verilog and C for deploying JFFS2 file system on a flash chip.
- Debugged hardware program with oscilloscope in bus frequency of 50KHz.
- Read through 10+ files of Linux kernel code to apply Linux MTD interface.
File Compression Software Sep - Nov 2016
- Designed a new header format to record the structure of Huffman coding tree.
- Implemented compression algorithm and GUI with 2000 lines of C++ code.
- Improved the compression performance from 4mins to 10s for a 40MB file by leveraging a hash table.
- Programming Languages: C = Python > C++ > MATLAB > SQL
- Familiar with systems development tools: terminal, ssh, gcc, make, mininet, docker, etc.