Zixuan Wang

Graduate Research Assistant
  • Computer Science and Engineering
  • University of California, San Diego

About

I am Zixuan Wang (王子轩), a Ph.D. candidate at University of California San Diego. I'm working with Prof. Jishen Zhao, and my research is mainly on memory systems. I'm also working with Prof. Steven Swanson at NVSL Lab, UCSD.

My research spans computer architecture and operating system (IEEE Micro TopPicks'21, MICRO'20, ArXiV'19), machine learning (HPCA'22, ATC'21), programming language/library (ATC'21), and security (USENIX Security'23).

I've worked in the industry on system and security projects. At Google 2021, I worked on the UEFI and AMD SEV/SEV-ES support for the Linux KVM-unit-tests framework, the first such contribution to the Linux KVM community. At Meta 2022, I worked on the initial confidential virtual machine platform by initiating and developing the system and software supports, and this work was highlighted at Meta's Annual Security Summit. Previously at SK Hynix 2019, I worked on the early evaluation of GEN-Z and CXL prototypes, and this work was then published at HPCA 2022 conference.

I'm also actively contributing to open-source projects. I have contributed 19 patches to the Linux KVM community. I developed and am maintaining multiple open-source projects on GitHub. These projects have received more than 2673 stars and impacted more than 200,000 users (180K + 20K + ...).

I got my Bachelor's degree from Zhejiang University, China, where I worked with Prof. Wenzhi Chen and Prof. Qingsong Shi on architecture and operating system at Computer Architecture Lab.

I will be on the job market 2023-2024

Some fun facts:

  • I take photos (my photo gallery).
  • My radio call sign is KN6TTT.
  • Here's Inu, my kitten, and his Instagram.
  • I have a Guinness Record.
  • I play table tennis and badminton.
  • I learned snow skiing back at my hometown.
  • I learned surfing at UCSD.
  • I play games on PC, Switch, PS4, and PS5.
  • I have a 3D Printer.
  • I have a rack in my closet.
  • I'm learning guitar.
  • I'm a fan of Sony products.
  • I have a compound bow.
  • I'm practicing for bow hunting.
  • I ride a Kawasaki Ninja 400 motorcycle.

Experience

Graduate Research Assistant

University of California, San Diego
2018 - present

I'm working in STABLE Lab and NVSL Lab, doing research on arch and system design for memory, recent works include:

  • NVLeak: an off-chip memory architecture reverse engineering and covert/side channel attack framework.
  • COARSE: a disaggregated memory system for distributed deep learning training.
  • Ayudante: a learning-based persistent memory automatic programming framework.
  • LENS: a profiler that discovers NVRAM DIMM micro-architecture design.
  • VANS: a cycle-level NVRAM simulator that matches the real products' performance.

Software Engineering Intern

Google
2023 June - 2023 Sept

Working on confidential virtual machines.

Student Researcher

Meta
2022 Sept - 2023 Jan

Deploied confidential virtual machine platform in Meta.

Software Engineering Intern

Meta
2022 June - 2022 Sept

Initiated and developed confidential virtual machine platform in Meta.

Software Engineering Intern

Google
2021 June - 2021 Sept

I developed UEFI and AMD SEV/SEV-ES supports for KVM-Unit-Tests. Patch sets are posted to the KVM mailing list. I received two peer bonuces during this internship.

Research Intern

SOLAB, SK hynix America
2019 June - 2019Sept

We evaluated the performance of the GEN-Z memory prototype and enabled GPU direct access to GEN-Z memory.

Undergraduate Research Assistant

Zhejiang University, China
2015 - 2018

I worked in Computer Architecture Lab, did research on operating system and computer architecture:

  • We developed ZJUNIX operating system from scratch, and ran it on ZJU-SoC, which is a self-implemented MIPS SoC on FPGA.
  • We also developed an FPGA accelerator for High-Frequency Trading.
  • Another cool project is Portable Modulized 3D Bioprinter, which earned the Outstanding Prize in Challenge Cup.

Publication

Conference & Journal

NVLeak: Off-Chip Side-Channel Attacks via Non-Volatile Memory Systems

USENIX Security'23
Zixuan Wang, Mohammadkazem Taram, Daniel Moghimi, Steven Swanson, Dean Tullsen, Jishen Zhao

Enabling Efficient Large-Scale Deep Learning Training with Cache Coherent Disaggregated Memory Systems

HPCA'22
Zixuan Wang, Joonseop Sim, Euicheol Lim, Jishen Zhao

Ayudante: A Deep Reinforcement Learning Approach to Assist Persistent Memory Programming

ATC'21
Hanxian Huang, Zixuan Wang, Juno Kim, Steven Swanson, Jishen Zhao

Characterizing and Modeling Non-Volatile Memory Systems

IEEE Micro TopPicks'21
Zixuan Wang, Xiao Liu, Jian Yang, Theodore Michailidis, Steven Swanson, Jishen Zhao
Preprint & Workshop

Characterizing WebAssembly Performance in the Era of Serverless Computing

ISSTA'23 SRC
Jamshed Ashurov, Zixuan Wang, Jishen Zhao

COLA: Characterizing and Optimizing the Tail Latency for Safe Level-4 Autonomous Vehicle Systems

ArXiV'23
Haolan Liu, Zixuan Wang, Jishen Zhao

Enabling Fast Recovery for Autonomous Vehicle Systems with Linux Container Checkpointing

SOSP'21 SRC
Maximilian Apodaca, Shengye Wang, Zixuan Wang, Jishen Zhao

Basic Performance Measurements of the Intel Optane DC Persistent Memory Module

ArXiV'19
Joseph Izraelevitz, Jian Yang, Lu Zhang, Juno Kim, Xiao Liu, Amirsaman Memaripour, Yun Joon Soh, Zixuan Wang, Yi Xu, Subramanya R Dulloor, Jishen Zhao, Steven Swanson

Reliable and Flexible Large Scale Memory Network

NVMW'19
Zixuan Wang, Xiao Liu, Jongryool Kim, Hokyoon Lee, Jishen Zhao

Service

Committee

University of California, San Diego
  • Submission Chair @ MICRO 2020
  • Shadow TPC @ EuroSys 2023

Submission Chair

MICRO 2021
2021 Mar - 2023 July

I served as submission co-chair for MICRO 2021, worked with program chairs to manage submissions and organize the TPC meeting. I also open-sourced MightyPC, a toolkit I built to manage conference submissions.

Invited Talk

NVLeak: Off-Chip Side-Channel Attacks via Non-Volatile Memory Systems

  • USENIX Security'23
  • NVMW'23

Enabling Efficient Large-Scale Deep Learning Training with Cache Coherent Disaggregated Memory Systems

  • HPCA'22
  • SK hynix Inc.
  • Micron Inc.
  • Higgs Co.
  • Alibaba Inc.
  • Intel Co.
  • FoMR
  • IBM Research

Characterizing and Modeling Non-Volatile Memory Systems

  • MICRO'20
  • TECHCON'20
  • NVMW'21
  • FoMR

Teaching

CSE 141: Introduction to Computer Architecture

UC San Diego
Teaching Assistant, 2021

Hardware-Based Computer System Comprehensive Practice

Zhejiang university
Teaching Assistant, 2018

Help students to develop their own SoC (on FPGA) to support their OS.

Operating System

Zhejiang university
Teaching Assistant, 2017

Help students to develop their own operating system from scratch.

Project

KVM-unit-tests under UEFI and AMD SEV/SEV-ES

Sep. 2021
Started as my 2021 Google summer internship project, now occasional contributions in my spare time.
  • C
  • x86 Assembly
  • x86 Bootstrap
  • KVM
  • SeaBIOS
  • UEFI
  • AMD SEV
  • AMD SEV-ES
  • GNU Toolchain
  • Linker Script

We are one of the first to build UEFI and AMD SEV/SEV-ES support in KVM-unit-tests, a widely-adopted KVM testing framework:

  • Implement UEFI support as an alternative to the existing SeaBIOS+Multiboot solution.
  • Implement AMD SEV and SEV-ES support

Source code:

LENS: A Low-Level NVRAM Profiler

Sep. 2020
MICRO 2020 paper: Characterizing and Modeling Non-Volatile Memory Systems.
  • C
  • Linux Kernel
  • x86 Assembly

We build the first profiler that can discover the non-volatile memory on-DIMM micro-architecture.

  • LENS runs in Linux kernel space.
  • Micro-benchamrks are written in x86 assembly.
  • LENS discovers the complex micro-architecture design of NVRAM DIMM products.
  • Source code

VANS: A Validated NVRAM Simulator

Sep. 2020
MICRO 2020 paper: Characterizing and Modeling Non-Volatile Memory Systems.
  • C++ 17
  • Python
  • R
  • Cycle Accurate Simulation

We build a cycle-level NVRAM simulator and validate its performance with Intel Optane Persistent Memory, the first commercially available NVRAM product.

  • VANS takes advantage of modern C++ features to simplify the code and increase the simulation performance.
  • VANS performance matches the real NVRAM products.
  • Automated testing for VANS precision.
  • Source code

GPU Direct Access to Cache Coherent Off-Chip Memory

Sep. 2019
Work done during SK Hynix internship
  • FPGA
  • GPU
  • Linux
  • GEN-Z
  • CXL

We evaluated the GEN-Z memory prototype, and developed a framework for GPU to directly access GEN-Z memory through PCIe.

  • cuDF library runs 16x faster compared to indirect access through CPU.

FPGA Accelerated High-Frequency Trading

Sep. 2018
Deployed in production environment.
  • FGPA
  • Linux
  • Userspace IO
  • MIPS Assembly

An FPGA accelerator for high-frequency trading. We offload the decision procedure to FPGA, and forward incoming network data directly to FPGA. In this way, trading data doesn't go through NIC, PCIe, CPU, Main Memory to make a decision.

  • Use FPGA to accelerate network response and decision making.
  • Use 10-Gigabit Ethernet for communication between FPGA and PC.

QEMU micro:bit emulator

May. 2018
A micro:bit emulator based on QEMU.
  • C
  • ARM Assembly
  • ARM Mbed OS
  • Bootloader
  • QEMU

micro:bit is a development board for students' programming training. It has an ARM Cortex-M0 processor, as well as many peripherals. But micro:bit developers need an emulator to help them debug the low-level code, so we made it on QEMU.

Develop:

  • Implement Cortex-M0 features from QEMU's original Cortex-M3 emulator.
  • Implement peripheral emulators, e.g., LED matrix, timer, clock generator, random number generator, etc.
  • Organize CPU Virtual Address Space with regard to micro:bit's spec.
  • Disassemble and reverse engineered micro:bit's Bootloader.
  • Go through ARM Mbed OS to make sure hardware emulation is correct.
  • Debug with QEMU and remote GDB, at assembly code level.

Result:

  • It can run unmodified micro:bit example code written in C, Python, or JavaScript.
  • Outstanding graduation thesis of the computer science department, Zhejiang University, 2018.
  • Source code

ZJUNIX Operating System

Apr. 2017
An OS built from scratch, running on self-designed SoC.
  • Open Source
  • OS Design
  • Bootloader
  • C
  • MIPS Assembly
  • Linker Script

A self-designed OS from the groud up, running on self-designed SoC or QEMU. We also implement the corresponding bootloader. This project serves as a sample for OS courses at Zhejiang University.

  • Bootloader to load a kernel from filesystem.
  • Interrupt and exception.
  • Buddy + Slab memory management.
  • Process scheduling.
  • Userspace programs: shell, ls, ps...
  • FAT and ext2 filesystem.

ZJU-SoC

Dec. 2016
An SoC built from scratch using FPGA
  • Open Source
  • FPGA
  • Verilog
  • CPU Design
  • Periperal Design

An SoC built from scratch. It can run ZJUNIX as well as Arduino programs. This project serves as a sample for OS courses and Computer Hardware System courses in Zhejiang University.

  • Self-implemented 5 stage pipeline MIPS32 CPU on FPGA, 93 instructions, 2 level cache.
  • With 512M DDR3, VGA, PS2, SD controller.
  • Capable of running ZJUNIX Operating System.
  • Capable of running Arduino programs, with our implementation of Arduino library.
  • Teamwork with two other undergraduate students.

Portable 3D Bioprinter

Dec. 2016
Printing tissue directly on wounds; It fits in a 28-inch travel case.
  • Image Processing
  • Mechanical Design
  • Real-time System

A portable modulized 3D bioprinter that prints tissue directly on wounds. The whole device fits in a 28-inch travel suitcase and can be assembled in several minutes.

  • Demo Video
  • Using FPGA accelerated edge detector to fulfill the real-time computing.
  • Utility model patent, 201720246090.1
  • The outstanding prize of Challenge Cup, Zhejiang Province.
  • Top 10 Academic Projects, Zhejiang University, 2017
  • Teamwork with 8 other undergraduates.

FPGA Accelerated Fluid Simulation

Aug. 2016
An FPGA acceleration of PCISPH fluid simulation.
  • Graphics Engine
  • FPGA
  • FPGA for calculation, PC for rendering.
  • FPGA communicates with PC through Ethernet.
  • The second prize of Digilent Design Contest, 2017 China

Project For Fun

VS Code LinkerScript

Aug. 2018
The first GNU linker script highlight extension for VS Code, based on TmLanguage.
  • VS Code Extension
  • Yaml
  • Linker Script

ZJU Thesis

May. 2018
LaTeX template for Zhejiang University graduate design and thesis.
  • LaTeX
  • LaTeX template, widely used by students at Zhejiang University
  • Recommended by School of Undergraduates.
  • GitHub Repo
  • Total GitHub stars: 1968

Makefile Templates

July 2017
Makefile templates for C/C++ projects.
  • Makefile

Chinese Input Method in MIPS

July 2016
A Chinese IM written in pure MIPS assembly.
  • MIPS Assembly
  • Keyboard Interrupt
  • VGA Display
  • A Chinese pinyin IM written in pure MIPS assembly, ~2000 lines of code.
  • It captures keyboard input, decodes English characters into pinyin, then queries the GB2312 database to find a corresponding Chinese character.
  • Demo picture. (The code is lost, though.)

Tiger Language Compiler

May. 2017
A simple compiler for Tiger, a functional programming language.
  • Bison
  • Flex
  • C++ 11/14
  • GitHub Repo
  • Lexical analysis
  • Syntax analysis
  • Abstract syntax tree
  • Intermediate code generator

Education

  • PhD candidate in CS
    UC San Diego
    2018 - Present
  • BS in CS
    Zhejiang University
    2014 - 2018
  • Awards

    • IEEE Micro Top Picks
      Annually awarded to 10~12 best computer architecture papers published in the past year, 2021
    • Google Peer Bonus
      Awarded by peer Googlers recognizing my excellent work. Got two peer bonuses during my summer internship, Google, 2021
    • Outstanding Grad Thesis
      Outstanding graduation thesis among cs department, Zhejiang University, 2018
    • He-Zhi-Jun Fellowship
      Top 10 outstanding students among cs department, including grad and undergrad students, Zhejiang University, 2017
    • Outstanding Prize
      Top 10 academic projects, Challenge Cup, National Undergraduate Curricular Academic Science and Technology Works Competition, Zhejiang Province China, 2017
    • Award for Academic Excellence
      Top 1% student in academic achievements among cs department, Zhejiang University, 2017
    • Top 10 Academic Projects
      Our portable modulized 3D bioprinter won top 10 academic projects prize, Zhejiang University, 2017
    • DDC 2nd Prize
      Digilent Design Contest, China, 2017
    • 3rd Prize
      Advanced Computer Architecture Undergraduate Innovation Competition, CCF China, 2016

    Skills

    Programming Language

    • C/C++
    • Python
    • R
    • x86/ARM/MIPS Assembly
    • Go
    • Java
    • Java Script
    • Verilog
    • CUDA

    Technologies

    • Linux Kernel
    • KVM
    • Persistent Memroy
    • AMD SEV/SEV-ES/SEV-SNP
    • UEFI
    • SeaBIOS
    • Virtualization
    • Microarchitecture Security
    • QEMU
    • GEM5
    • FPGA
    • MIPS Arch
    • ARM Mbed OS
    • MongoDB
    • InfluxDB
    • Grafana
    • Tensorflow

    Skills

    • Performance Profiling
    • x86 Bootstrapping
    • Microarchitecture Reverse Engineering
    • Side/Covert Channel Attack
    • Trusted Execution