View Web
Version

Education

Sep, 2014 - Jun, 2017

Stony Brook University

Master of Science
Computer Science New York, United States
GPA
3.98
Sep, 2010 - Jun, 2014

Fudan University

Bachelor of Science
Computer Science Shanghai, China

Experiences

Sep, 2017 - Current

Hadean Supercomputing LTD

Research Engineer
London, England, United Kingdom

As a company1, we build distributed platforms which our clients can use to easily build massively distributed programs. For me, I research, design and implement essential components of the distributed platform.

May, 2017 - Aug, 2017

Google, LLC

Intern
Mountain View, California, United States

During this internship my mentor and I laid the groundwork for a distributed profiling and performance monitoring system. It works together with Google's distributed task management system2 to do on-demand profiling of tasks.

May, 2015 - Aug, 2015

SanDisk

Intern
Milpitas, California, United States

For this internship, I worked with a team from Fusion-io, a cutting edge storage device company acquired by SanDisk. I developed a persistent memory manager for byte-addressable non-volatile memory systems, with the help of my team and mentor.

Jan, 2014 - Mar, 2014

Microsoft Research Asia

Intern
Beijing, China

I joined the Trinity distributed graph system team3, and researched on topics like adding a backing storage to the then completely in-memory system.

Jul, 2013 - Nov, 2013

eBay Inc.

Intern
Shanghai, China

I worked on improving the cloud platform used inside the company. My tasks included benchmarking and performance analysis and tuning.

Selected Projects

picom

1386 121
Owner
C
Python
Other
#compositor #xorg #linux #compton #x11 #xcompmgr #xcb

A lightweight compositor for X11.

deai

81 0
Owner
C
Other
#linux-desktop #desktop-automation #scripting

A desktop scripting tool. It exposes an API to desktop components for scripting languages, so the user can use scripts to perform common desktop tasks. Such as handling keybindings, setting up monitors, mount removable storages and so on.

protoplasm

[archived]
Owner
Python
#compiler #codegen #mips #programming-language #code-optimization

Final project of my Compiler course. An optimizing compiler for a toy language. Parsing, backend optimization and codegen all implemented in Python.

SadOS

[archived]
Owner
C
Forth
C++
Other
#kernel #operating-system #micro-kernel #filesystem

Final project of my Operating System course. A micro-kernel supporting process isolation, memory management and IPC; with disk drivers and file systems implemented in user space. Not fully functional due to time constraints.

Contributor
C++
Other
 

AMDVLK Platform Abstraction Library

Contributions
1 commit 336 ++ 17 --

Fixes for EXT_acquire_xlib_display.4

openzfs/zfs

5869 1209
Contributor
C
Shell
Python
Other
#openzfs #system-software #file-system

OpenZFS on Linux and FreeBSD

Contributions
11 commits 328 ++ 6 --

Porting features5 from illumos. Compatibility fixes for new kernel versions.

dlang/dmd

2298 525
Contributor
D
HTML
Other
#compiler #programming-language #native #fast #d #dlang #dmd #language

The D Programming Language compiler

Contributions
5 commits 104 ++ 10 --

Fixing mis-compilation.6 Fixing parser bugs.7 Improving the quality of diagnostics messages.8

Contributor
Rust
Other
#async-std #rust #async #async-await #async-rust

Async version of the Rust standard library

Contributions
5 commits 80 ++ 60 --

Bug fixes

Additional Skills

 

Network fundamentals

Knowledge of common network protocols. Knowledge of Linux networking internals. Ability to diagnose network problems.
 

Debugging

Ability of troubleshooting complex problems using tools like gdb, rr, valgrind, sanitizers, strace, uprobe, ftrace, etc.
 

Open source development process

Well accustomed to the open source community, including contributing to open source projects, as well as managing my own ones.
 

Performance analysis

Ability of analyzing program performance with tools like tracing, profiling, hardware performance counters, etc.
 

HDL

Knowledge of Verilog and VHDL. Built a non-privileged mode only SPARCv8 processor as a course project.
 

Programming Languages

In rough order of expertise: C, Rust, D, C++, Python, Javascript, Lua, Bash, Perl, SQL, VHDL, Verilog...
 

Computer security

Knowledge of common types vulnerabilities, and their mitigation practices.

Publications

2019
Varun Agrawal, Mina Abbasi Dinani, Yuxuan Shui, Michael Ferdman, Nima Honarmand. 2019. Massively Parallel Server Processors. In IEEE Computer Architecture Letters, Institute of Electrical and Electronics Engineers (IEEE). DOI:https://doi.org/10.1109/lca.2019.2911287
2015
Jing Zhou, Yuxuan Shui, Shengwen Peng, Xuhui Li, Hiroshi Mamitsuka, Shanfeng Zhu. 2015. MeSHSim: An R/Bioconductor package for measuring semantic similarity over MeSH headings and MEDLINE documents. In Journal of Bioinformatics and Computational Biology, World Scientific Pub Co Pte Lt. DOI:https://doi.org/10.1142/s0219720015420020

References