Education
Sep, 2014 - Jun, 2017 | Stony Brook University |
Master of Science |
GPA 3.98
|
||
Sep, 2010 - Jun, 2014 | Fudan University |
Bachelor of Science |
|
Experiences
Sep, 2017 - Current | Hadean Supercomputing LTD |
Research Engineer |
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 |
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 |
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 |
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 |
I worked on improving the cloud platform used inside the company. My tasks included benchmarking and performance analysis and tuning. |
Selected Projects
Owner
|
||
C Python Other |
#compositor #xorg #linux #compton #x11 #xcompmgr #xcb | |
A lightweight compositor for X11. |
||
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] |
||
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] |
||
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 |
||
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. |
||
Contributor
|
||
D HTML Other |
#compiler #programming-language #native #fast #d #dlang #dmd #language | |
The D Programming Language compiler |
||
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 fundamentalsKnowledge of common network protocols. Knowledge of Linux networking internals. Ability to diagnose network problems. |
|
DebuggingAbility of troubleshooting complex problems using tools like gdb, rr, valgrind, sanitizers, strace, uprobe, ftrace, etc. |
|
Open source development processWell accustomed to the open source community, including contributing to open source projects, as well as managing my own ones. |
|
Performance analysisAbility of analyzing program performance with tools like tracing, profiling, hardware performance counters, etc. |
|
HDLKnowledge of Verilog and VHDL. Built a non-privileged mode only SPARCv8 processor as a course project. |
|
Programming LanguagesIn rough order of expertise: C, Rust, D, C++, Python, Javascript, Lua, Bash, Perl, SQL, VHDL, Verilog... |
|
Computer securityKnowledge 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
- Hadean | The Power & Scale Of Massively Distributed Computing. https://hadean.com/
- Abhishek Verma, Luis Pedrosa, Madhukar Korupolu, David Oppenheimer, Eric Tune, John Wilkes. 2015. Large-scale cluster management at Google with Borg. In Proceedings of the Tenth European Conference on Computer Systems - EuroSys '15, ACM Press. DOI:https://doi.org/10.1145/2741948.2741964
- Trinity - Microsoft Research. https://www.microsoft.com/en-us/research/project/trinity/
- Make RandR CreateLease requests with the correct crtc by yshui · Pull Request #29 · GPUOpen-Drivers/pal · GitHub. https://github.com/GPUOpen-Drivers/pal/pull/29
- Persistent L2ARC by gamanakis · Pull Request #9582 · openzfs/zfs · GitHub. https://github.com/openzfs/zfs/pull/9582
- 17943 – Wrong pointer arithmetic optimization. https://issues.dlang.org/show_bug.cgi?id=17943
- 19081 – Can't declare enum with UDA at statement level. https://issues.dlang.org/show_bug.cgi?id=19081
- fix issue 16499 - error message for 'in' expression by yshui · Pull Request #6140 · dlang/dmd · GitHub. https://github.com/dlang/dmd/pull/6140