ChengXiang Qi(齐呈祥)

kuangjux [at] outlook [dot] com

ChengXiang Qi

I am a first-year Master student in University of Chinese Academy of Sciences. My research interests lies in the AI compiler, OS and Virtualization.

Before coming to UCAS, I completed my undergrader at Tianjin University.

CV  /  GitHub  /  Zhihu

Education

  • University of Chinese Academy of Sciences

    Master of Engineering in Computer Technology

    Sep. 2023 - Present

  • Tianjin University

    Bachelor of Engineering in Computer Science and Technology

    Sep. 2019 - June. 2023

Experiences

R&D Intern in Tsinghua University(OS Laboratory)

May 2023 - July 2023

Mentors: Prof. Yu Chen, Dr. Yuekai Jia

  • Performance Improvement. Performed network performance benchmarking with tools like Apache Http Server and iperf, and developed benchmarking tools to evaluate the network card's raw socket send and receive capabilities. Made modifications to the Network Protocol Stack and its interface with Arceos to enhance network bandwidth.
  • NIC driver. Wrote a driver for the Intel 82599 network interface card with Rust programming language. Referred to DPDK for performance optimization and integrated it as a crate into Arceos. Run successfully real-world applications such as httpserver, iperf, and Redis on an AMD machines.
  • Type-2 hypervisor based arceos. Developed a type-2 hypervisor based on Arceos which be capable of booting Linux.

Projects

rCore-OS/arceos: An experimental modular OS written in Rust.
Arceos is a unikernel developed by the rCore-OS community at Tsinghua University.
  • I integrated hypercraft into arceos, enabling it to be launched as a type-2 hypervisor.
  • I added interrupt support to arceos and implemented IO interrupts based on virtio-net and virtio-blk.
  • I implemented ixgbe NIC driver for arceos and did performance optimizations in driver layer and network stack layer.
Star
xv6-rust: Reimplementation of xv6-riscv in the Rust language.

A Unix-like operating system implemented by pure rust. This project is a reimplementation of xv6-riscv. Besides, it do some optimizations to the origin system such as memory allocation and file system. This project also serves as the reference implementation for OSCOMP Project 4 You can find more information abot this project in documents.

Star
hypercraft: a VMM crate written in Rust.

Hypercraft is a VMM(Virtual Machine Monitor) crate written in Rust. Currently, hypercraft is integrated as a crate into rcore-os/arceos and can be launched as a type-2 hypervisor and be capable of booting Linux.

Star
hypocaust-2: A hardware-assisted virtualization RISC-V hypervisor using H extensions.

Hypocaust-2 implements SBI call processing, two-stage page table translation, interrupt emulation and forwarding and exception forwarding, passthrough or emulation of some peripherals. Currently hypocaust-2 can boot & run rCore-Tutorial-v3, rt-thread and mainline Linux, expecting to expande to multi-core & multi-guest.

Star
hypocaust: a S-mode trap and emulate type-1 hypervisor run on RISC-V machine.

Hypocaust implements privilege-level instruction emulation (CSR-related and SFECE VMA), construction of shadow page tables, synchronization of guest page tables and shadow page tables, forwarding of interrupts and exceptions, emulation of clocks and virtio block devices, and can currently run minikernel.

Star

Selected Awards

  • 2022 NSCSCC Thrid Prize in Team Competition
  • 2021 The Best Quality Prize of OSPP(only 5 in China a year)
  • 2021 OSCOMP Thrid Prize in Team Competition

Talks

Hypocasut: a RISC-V type-1 hypervisor written in Rust.

  • OS2ATC 2022, BeiJing, March 2023