Table of Contents
Education
Australian National University (2021-, Canberra, ACT, Australia)
- Doctor of Philosophy in Computer Science
- Received Australian Government Research Training Program (AGRTP) International Fee Offset and Stipend Scholarship
- Advisers: Steve Blackburn (Google DeepMind; ANU), Mike Bond (OSU), Martin Maas (Google DeepMind)
Australian National University (2017-2020, Canberra, ACT, Australia)
- Bachelor of Philosophy-Science (Honours)
- First Class Honours, University Medal
- Major: Computer Science, Minor: Mathematics
- Advisers: Steve Blackburn, Mike Bond (OSU)
- See here for my thesis
- Received ANU Honours Scholarship (15 on offer each year)
Research and Industry Experience
Australian National University (2017-, Canberra, ACT, Australia)
- Research Assistant, Programming Languages and Systems Lab
- I work on the MMTk project, supervised by Steve Blackburn. I am one of the main authors of the Rust rewrite of MMTk. In addition to the MMTk core port, I also work on the MMTk performance evaluation infrastructure, and the MMTk/OpenJDK RISC-V port.
- I’m the sysadmin of a cluster of machines for high-fidelity performance measurements of software systems.
- I previously worked on the Mu Micro Virtual Machine project, supervised by Steve Blackburn and Tony Hosking. I continued the work of building a Mu backend for the RPython JIT compiler.
Google Research (2022, Pyrmont, NSW, Australia)
- Student Researcher, Brain Systems and Programming Languages Research Team
- Mentored by Qian Ge, and Martin Maas. I also work with Hans Boehm, and Lokesh Gidra from the Android Team.
- I work on understanding the energy and memory overheads of garbage collection (GC) on Android. Develop performance analysis tools using Perfetto and eBPF.
Twitter (2020-2021, Canberra, ACT, Australia)
- Reliability Engineer Intern, Infrastructure Optimization and Performance (IOP) team
- Mentored by Xi Yang and Yao Yue
- I work on understanding and optimizing the OpenJDK command line parameters across the company to reduce the resource usage in core services, including ads prediction and ads selection, with a particular focus on garbage collection.
Microsoft Research (2020, Canberra, ACT, Australia)
- Contractor, Parasail Team, Research in Software Engineering (RiSE) group
- Supervised by Todd Mytkowicz
- Continuing my internship work
Microsoft Research (2019-2020, Redmond, WA, USA)
- Research Intern, Parasail Team, Research in Software Engineering (RiSE) group
- Mentored by Todd Mytkowicz
- I built SCCL (Synthesized Collective Communication Library) for machine learning efficiency in distributed training. SCCL improves on GPU vendor libraries by exploiting GPU topologies in the datacenter, and syntheizing optimal implementations of MPI-style collective operations. It’s written up here.
Publications
Peer-Reviewed Conference Papers
Rethinking Java Performance Analysis (working title). Stephen M. Blackburn, Zixian Cai, Rui Chen, Xi Yang, John Zhang, John Zigman. Architectural Support for Programming Languages and Operating Systems (ASPLOS), 2025. To appear. artifact
Improving Garbage Collection Observability with Performance Tracing. Claire Huang, Stephen M. Blackburn, Zixian Cai. International Conference on Managed Programming Languages & Runtimes (MPLR), 2023. pdf doi code
Distilling the Real Cost of Production Garbage Collectors. Zixian Cai, Stephen M. Blackburn, Michael D. Bond, Martin Maas. International Symposium on Performance Analysis of Systems and Software (ISPASS), 2022. pdf doi code video
Understanding and Utilizing Hardware Transactional Memory Capacity. Zixian Cai, Stephen M. Blackburn, Michael D. Bond. International Symposium on Memory Management (ISMM), 2021. pdf doi code video
Synthesizing Optimal Collective Algorithms. Zixian Cai, Zhengyang Liu, Saeed Maleki, Madan Musuvathi, Todd Mytkowicz, Jacob Nelson, Olli Saarikivi. Principles and Practice of Parallel Programming (PPoPP), 2021. Best Paper Award. pdf doi code (SCCL) code (MSCCL) video
Technical Reports
Activity Recognition in Videos with Segmented Streams. Zixian Cai. ANU SCNC2103, 2019. Supervised by Stephen Gould. pdf doi
Verification of Concurrent Data Structures with TLA. Zixian Cai. ANU SCNC2102, 2018. Supervised by Michael Norrish. pdf doi
Power Consumption of Instruction Encodings on Cortex-M4. Zixian Cai. ANU COMP2300 ASE, 2018. Supervised by Ben Swift. pdf doi
Have Your Cake and Eat It? Productive Parallel Programming via Chapel’s High-level Constructs. Zixian Cai. ANU SCNC2101, 2018. Supervised by Josh Milthorpe. pdf doi
Theses
Concurrent Copying Garbage Collection with Hardware Transactional Memory. Zixian Cai. Bachelor of Philosophy (Honours) - Science, Australian National University, 2020. Advised by Steve Blackburn and Mike Bond (OSU). pdf doi
Awards
PPoPP Best Paper Award (2021)
ANU University Medal (2020)
ANU Chancellor’s Letter of Commendation (2017, 2018, 2019, 2020)
ANU Burton and Garran Hall Distinguished Scholar Award (2017, 2018, 2019)
Teaching Experience
ANU COMP3710, Computer Microarchitecture
- in 2021 Semester 2
- Teaching Assistant
- Course Convener: Shoaib Akram
ANU COMP3703, Software Security
- in 2021 Semester 1
- Teaching Assistant
- Course Convener: Alwen Tiu
ANU COMP3710, Compiler Design and Implementation
- in 2020 Semester 1
- Teaching Assistant
- Course Convener: Tony Hosking
- Lecturer: Ben L. Titzer
- Received ANU CECS 2020 Remote Teaching and Student Experience Awards Notable Mention for exceptional adaptation to remote delivery of course material
Students
Alex Mirrlees-Black. Pointer Identification Using Run-Time Taint Tracking. ANU undergraduate project course (2024 Semester 1). Co-supervised with Steve Blackburn, and Stephen Kell (King’s College London).
Zheyuan Chen (University of California, Santa Cruz). Adding ARMv8 support to MMTk/OpenJDK. Open Source Promotion Plan (2023 Q3). Mentor.
Claire Huang. Debugging GC Performance Problems with eBPF Tools. ANU undergraduate project course (2022 Semester 2). Primary supervisor, co-supervised with Steve Blackburn.
Service
Conferences
Programming Language Design and Implementation (PLDI), 2024. Organizing Committee, Video Co-Chair.
Programming Language Design and Implementation (PLDI), 2023. Organizing Committee, Video Co-Chair.
Programming Language Design and Implementation (PLDI), 2023. Artifact Evaluation Committee.
Architectural Support for Programming Languages and Operating Systems (ASPLOS), 2023. Artifact Evaluation Committee.
Systems, Programming, Languages, and Applications: Software for Humanity (SPLASH), 2022. Organizing Committee, Video Co-Chair.
Programming Languages Design and Implementation (PLDI), 2022. Artifact Evaluation Committee.
Architectural Support for Programming Languages and Operating Systems (ASPLOS), 2022. Artifact Evaluation Committee.
Systems, Programming, Languages, and Applications: Software for Humanity (SPLASH), 2021. Streaming Operator.
- Monitoring the video streaming and providing technical support during mirrored sessions
Systems, Programming, Languages, and Applications: Software for Humanity (SPLASH), 2020. Student Volunteer.
- Helping with the streaming of the first edition of virtual SPLASH
- See Alex Potanin’s blog post on how we made SPLASH accessible to people in different timezones
University
ANU PhB Student Mentoring Program, 2019. Mentor.
ANU School of Computing HDR Student Representative, 2024.
Talks
Trashy Inflation: How Garbage Collectors Are Getting Worse, and How We Can Fix It. Zixian Cai. Sydney Area Programming Languages INterest Group (SAPLING), 2023. video pdf
Distilling the Real Cost of Production Garbage Collectors. Zixian Cai. International Symposium on Performance Analysis of Systems and Software (ISPASS), 2022. video
Understanding and Utilizing Hardware Transactional Memory Capacity. Zixian Cai. International Symposium on Memory Management (ISMM), 2021. video
Activity Recognition in Videos with Segmented Streams. Zixian Cai. ANU PhB Symposium, 2019 for SCNC2103.
Portable Memory Management Toolkit in Rust. Zixian Cai, Brenda Wang, Pavel Zakopaylo. Sydney Area Programming Languages INterest Group (SAPLING), 2018.
Have Your Cake and Eat It? Productive Parallel Programming via Chapel’s High-level Constructs. Zixian Cai. ANU PhB Symposium, 2018 for SCNC2101.
Micro Virtual Machines. Zixian Cai. ANU PhB Mini Symposium, 2018.
Mu for Dynamic Languages: Retargeting the RPython JIT to a Micro Virtual Machine. Zixian Cai. Sydney Area Programming Languages INterest Group (SAPLING), 2017. pdf