Table of Contents
Education
Australian National University (2021-, Canberra, ACT, Australia)
- Doctor of Philosophy in Computer Science
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
Twitter (2020-, Canberra, ACT, Australia)
- Reliability Engineer, Infrastructure Optimization and Performance (IOP) team
- Mentored by Xi Yang and Yao Yue
- I work on understanding and optimizing the JVM usage at Twitter, with a particular focus on garbage collection.
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 port of MMTk, making MMTk available to more runtimes than Jikes RVM.
- 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.
Microsoft Research (2020, Canberra, ACT, Australia)
- Contractor, Research in Software Engineering (RiSE) group
- Supervised by Todd Mytkowicz
- Continuing my internship work
Microsoft Research (2019-2020, Redmond, WA, USA)
- Research Intern, Research in Software Engineering (RiSE) group
- Mentored by Todd Mytkowicz
- I worked on SCCL (Synthesized Collective Communication Library). I built a compiler for MPI-style collective operations, lowering a high level specification into efficient CUDA code. It’s written up here.
Publications
Conference Papers
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
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
Awards
ANU University Medal (2020)
ANU Chancellor’s Letter of Commendation (2017, 2018, 2019)
ANU Burton and Garran Hall Distinguished Scholar Award (2017, 2018, 2019)
Teaching Experience
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
Service
SPLASH Student Volunteer (2020)
- 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
Talks
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 and Pavel Zakopaylo. 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. SAPLING, 2017.