logo

Paper@SIGMOD'26

A paper by Arash (Mohammad) Khalaji, Trevor Brown and...

(2026-05-31)

Paper@PPoPP'26

A paper by Guy Coccimiglio, Trevor Brown and Srivatsan Ravi...

(2026-01-31)

Paper@SPAA'25

A paper by Guy Coccimiglio, Trevor Brown and Srivatsan Ravi...

(2025-07-28)

Research Program

Portrait of Trevor Brown

Led by Dr. Trevor Brown, the UW Multicore Lab tackles the question: how can large multicore systems be programmed easily, correctly and efficiently?

Multicore computing is rapidly becoming ubiquitous. Large systems with dozens or hundreds of processors are deployed by virtually all companies that provide Internet and cloud services. However, the "dark art" of multicore programming remains notoriously difficult. There is an immediate need for techniques to simplify this task, and to empower programmers to harness the full computational power of large scale systems with increasingly non-uniform memory architectures (NUMAs), and growing heterogeneity in computing resources.

At the UW multicore lab, our research focuses on the development of efficient methodologies, libraries and systems software for all computing scales, from single-socket systems with uniform memory architectures, to multi-socket NUMA systems, to geo-replicated distributed systems.

Active research areas include:
  • Database indexing, storage and persistence
  • Distributed data structures (RDMA)
  • NUMA-aware data structures, memory allocation and reclamation
  • Lock-free synchronization, new synchronization techniques
  • Transactional memory (Software/Intel/POWER/ARM)
  • Automatic data structure parallelization and partitioning
  • [Mostly phasing out] Non-volatile memory 3DXPoint/NVRAM

Lab Workflow

We work on large scale servers (256 / 192 / 144 / 8x32 threads) running Linux. Personal workstations run Ubuntu/Windows/Mac (up to preference). Version control for code and research papers is via Github/Gitlab. Lab project management and communication is done via MS Teams. Projects are implemented primarily in C++ (GCC, Clang), typically using VSCode. Big Codex/Claude fans (Trevor averages a billion tokens/week). Performance investigations via custom tooling, Perftools and PAPI. Specialty hardware: RDMA via 10x 100GBe ConnectX6 networked boxes, RTX Pro 6000 MAX Q and RTX 3080 GPUs. Many B100s via Compute-Canada access.

We are committed to open-access, and to the integration of our research into the open source community, for the benefit of all. So, some of our effort is invested in understanding and integrating code into well-known open source projects.

We accommodates both solo- and highly-collaborative work styles, with opportunities to work alongside other students within the lab, and with students and professors from several other labs.

Potential Students

Are you excited by the idea of computing on hundreds of cores?

Are you a hacker interested in becoming a master of systems backed by principled theory?

Are you a theoretical wizard who doesn't mind getting your hands dirty and working on real systems?

I'm looking to accept domestic MMath or PhD students, or international PhD students, for Sept 2028, and possibly for Sept 2027. Send Trevor an email at trevor(.)brown(@)uwaterloo(.)ca. Include your CV and a short paragraph about why you'd like to join the UW Multicore Lab.

Graduated students

  • Sean Ovens, Postdoc 2025; At Hexagon AB.
  • Ajay Singh, PhD 2024; Professor at IIT Johdpur.
  • Gautam Pathak, MMath 2023; At ARM.
  • Daewoo Kim, MMath 2023; In PhD program.
  • Anubhav Srivastava, MMath 2021; At OpenAI.
  • Gaetano Coccimiglio, MMath 2021; In PhD program.
  • William Sigouin, MMath 2020; At Workiva.
University of Waterloo main gate
University of Waterloo campus
Interpolation search tree data structure
C++ and ASM snippets
VTune performance optimization
8-node Intel cluster