Experience
Microsoft
Distributed Software Engineer
Apr 2022 - Present
Huawei
Virtualization Software Engineer
Jul 2018 - Apr 2022
- Work on Virtualization team of 2012 Laboratory.
- I was responsible for feature developing, problem solving, and performance tuning of hypervisor based on KVM and QEMU.
Projects
QEMU hot-replace
- QEMU hot-replace is a technology which can promptly upgrade QEMU without interrupting customer VMs.
- I was responsible for developing the framework via fork+exec, serialization/ deserialization of device status and management of VM life cycle via PIPE.
Support enable/disable CPU features for AArch64
- The feature adds support to enable/disable CPU features for guests so that the cloud provides can expose a uniform set of features for a group of guests on systems with different ARM CPUs.
- I was responsible for developing code to allow userspace to modify a value of ID registers in KVM. I was also responsible for configuring ID registers and writing them to KVM.
A-Tune
- A-Tune is an OS tuning engine powered by AI. A-Tune uses AI technologies to enable the OS to understand services, simplify IT system tuning, and maximize application performance.
- I was responsible for tuning performance of Hadoop, Spark, SPECJbb2015, and Dubbo so that the performance of those were improved by 30%, 30%, 40%, and 10%. I was also responsible for refactoring of the module of data collecting and parsing to improve the scalability and configurability.
Support DBM of stage-2 for AArch64
- Dirty page logging is important for pre-copy model migration. AArch64 only support software way currently by marking all pages write-protected, which is inefficient because writing to memory in guest will trap to KVM.
- I was responsible for developing hardware dirty page logging via DBM bit of stage-2 pgtable. Comparing to software dirty page logging, the number of traps decreases 30%~80% during migration when using hardware dirty page logging.
Contributions to community
Education
Bsc. Computer Science and Technology
Zhejiang UniversitySep 2014 - Jun 2018
Skills
- Programming Languages
- C/C++PythonBashHaskell
- Developer Tools
- VimGit
- Systems
- Linux