I am an Assistant Professor in the Department of Computer Science at the University of British Columbia. Previously, I was a Postdoctoral Researcher at the MIT Computer Science and Artificial Intelligence Laboratory (CSAIL) working with Julian Shun. My research interests are in developing theoretically and practically efficient algorithms for multicore machines.

I recieved my Ph.D. from Carnegie Mellon University, where I was advised by Guy Blelloch. Before that, I did my undergraduate studies at the University of Toronto, where I was mentored by Faith Ellen and Toniann Pitassi.

I am currently looking for self-motivated MSc/PhD students interested in working on parallel and concurrent algorithms, with a mix of theory and practice.

Teaching

  • CPSC 320 2025W2: Intermediate Algorithm Design and Analysis

PhD Thesis

  • General Techniques for Efficient Concurrent Data Structures [pdf]
    Yuanhao Wei
    Carnegie Mellon University, 2023
    Principles of Distributed Computing Doctoral Dissertation Award

Publications

  1. Aggregating Funnels for Faster Fetch&Add and Queues
    Younghun Roh, Yuanhao Wei, Eric Ruppert, Panagiota Fatourou, Siddhartha Jayanti, Julian Shun [arXiv]
    Symposium on Principles and Practice of Parallel Programming (to appear in PPoPP’25)
  2. VERLIB: Concurrent Versioned Pointers
    Guy E. Blelloch, Yuanhao Wei. [paper]
    Symposium on Principles and Practice of Parallel Programming (PPoPP’24)
  3. Practically and Theoretically Efficient Garbage Collection for Multiversioning
    Yuanhao Wei, Guy E. Blelloch, Panagiota Fatourou, Eric Ruppert. [paper]
    Symposium on Principles and Practice of Parallel Programming (PPoPP’23)
  4. Turning Manual Concurrent Memory Reclamation into Automatic Reference Counting
    Daniel Anderson, Guy E. Blelloch and Yuanhao Wei. [paper]
    International Conference on Programming Language Design and Implementation (PLDI’22)
  5. Lock-free Locks: Revisited
    Naama Ben-David, Guy E. Blelloch, Yuanhao Wei. [paper] [video]
    Symposium on Principles and Practice of Parallel Programming (PPoPP’22)
    Best Paper Award
  6. FliT: A Library for Simple and Efficient Persistent Algorithms
    Yuanhao Wei, Naama Ben-David, Michal Friedman, Guy E. Blelloch and Erez Petrank. [paper] [video]
    Symposium on Principles and Practice of Parallel Programming (PPoPP’22)
  7. Space and Time Bounded Multiversion Garbage Collection
    Naama Ben-David, Guy E. Blelloch, Panagiota Fatourou, Eric Ruppert, Yihan Sun, Yuanhao Wei. [paper] [video]
    34th International Symposium on Distributed Computing (DISC’21), pp 12:(1-20).
  8. Concurrent Deferred Reference Counting for Non-garbage-collected Languages
    Daniel Anderson, Guy E. Blelloch and Yuanhao Wei. [paper] [video]
    42st ACM SIGPLAN International Conference on Programming Language Design and Implementation (PLDI’21), pp 526-541.
  9. Constant-Time Snapshots with Applications to Concurrent Data Structures
    Yuanhao Wei, Naama Ben-David, Guy E. Blelloch, Panagiota Fatourou, Eric Ruppert, Yihan Sun. [paper] [video]
    26th Symposium on Principles and Practice of Parallel Programming (PPoPP’21), pp 31-46.
  10. LL/SC and Atomic Copy: Constant Time, Space Efficient Implementations Using Only Pointer-Width CAS
    Guy E. Blelloch and Yuanhao Wei. [Paper] [Full Version]
    34th International Symposium on Distributed Computing (DISC’20), pp 5:(1-17).
  11. NVTraverse: in NVRAM data structures, the destination is more important than the journey
    Michal Friedman, Naama Ben-David, Yuanhao Wei, Guy E. Blelloch and Erez Petrank. [Paper] [Full Version]
    41st ACM SIGPLAN International Conference on Programming Language Design and Implementation (PLDI’20), pp 377–392.
  12. Step-optimal Implementations of Large Single-Writer Registers
    Tian Ze Chen and Yuanhao Wei. [Paper]
    Theoretical Computer Science Volumes 826–827 (TCS’20), pp 40-50.
  13. Short Proofs Are Hard to Find
    Ian Mertz, Toniann Pitassi and Yuanhao Wei. [Paper]
    46th International Colloquium on Automata, Languages, and Programming (ICALP’19), 84:(1-16).
  14. Multiversion Concurrency with Bounded Delay and Precise Garbage Collection
    Naama Ben-David, Guy E. Blelloch, Yihan Sun and Yuanhao Wei. [Paper] [Full Version]
    31st ACM Symposium on Parallelism in Algorithms and Architectures (SPAA’19), pp 241-252.
  15. Delay-Free Concurrency on Faulty Persistent Memory
    Naama Ben-David, Guy E. Blelloch, Michal Friedman and Yuanhao Wei [Paper] [Full Version]
    31st ACM Symposium on Parallelism in Algorithms and Architectures (SPAA’19), pp 253-264.

Short Papers and Tutorials

  1. Brief Announcement: Concurrent Fixed-Size Allocation and Free in Constant Time
    *Guy E. Blelloch and Yuanhao Wei. [Paper] [Full Version]
    34th International Symposium on Distributed Computing (DISC’20), pp 51:(1-3).
  2. Tutorial: Abstractions and Algorithms for Efficiently Programming NVRAMs
    Naama Ben-David, Guy Blelloch, Laxman Dhulipala, Michal Friedman, Yuanhao Wei, Yan Gu and Charles McGuffey
    25th Symposium on Principles and Practice of Parallel Programming (PPoPP’20).
  3. Making Concurrent Algorithms Detectable: poster
    *Naama Ben-David, Guy E. Blelloch, Michal Friedman and Yuanhao Wei [paper]
    24th Symposium on Principles and Practice of Parallel Programming (PPoPP’19), pp 419–420.