ABHISHEK BHATTACHARJEE

Associate Professor of Computer Science

Yale University


he, him, his

abhishek [at] cs.yale.edu




I am an Associate Professor of Computer Science at Yale University, where I run the Systems Architecture Group. We study computer systems, with a focus on computer architectures and operating systems, for platforms ranging from data center servers to implantable brain computer interfaces. We are part of the Computer Systems Lab, and I am a Fellow of Grace Hopper College.

Much of our work has been on virtual memory, with contributions to translation contiguity, memory transistency, and GPU address translation. Our results have influenced real-world systems including coalesced TLBs, now in AMD's chips, and large page optimizations, now in Linux.

More recently, we have been building systems to help treat neurological disorders and advance the brain sciences. Our contributions include HALO, a flexible architecture for implantable brain-computer interfaces.

Before Yale CS, I was an Associate Professor at Rutgers CS, and a visiting CV Starr Fellow at Princeton's Neuroscience Institute. Even before that, I was a PhD student at Princeton, an undergraduate student at McGill, and grew up in NYC, India, Italy, Malta, Myanmar, and Bangladesh. Along the way, I've been hanging out with someone someone who prefers real architecture.

teaching & research

    Technical Monographs

  • PDF
    Architectural and Operating System Support for Virtual Memory
    Synthesis lecture monograph on introductory and more advanced virtual memory concepts
    We will work on a revision soon, so please share your suggested improvements
  • PDF
    Advanced Concepts on Address Translation

    Appendix L in "Computer Architecture: A Quantitative Approach" by Hennessy and Patterson


  • Selected Research

  • PDF
    Hardware-Software Co-Design for Brain-Computer Interfaces, ISCA '20
    HALO is a general-purpose brain implant chip for treating neurological disorders and studying the brain
    Check out a layout diagram of our HALO chip tape-out
  • PDF
    Mitosis: Transparently Self-Replicating Page-Tables for Large-Memory Machines, ASPLOS '20
    Check out VMware's blog post covering our work
    Our experimental kernel is available here
  • PDF
    Translation Ranger: Operating System Support for Contiguity-Aware TLBs, ISCA '19
    Check out our kernel here
    Check out the status of our Linux patchset
  • PDF
    Nimble Page Management for Tiered Memory Systems, ASPLOS '19
    Native transparent hugepage migration has been integrated into the Linux kernel
    Our experimental kernel is available here
  • PDF
    Generic System Calls for GPUs, ISCA '18
    Honorable mention, IEEE Micro's Top Picks in Computer Architecture
    Released under the Radeon Open Compute project for ultrascale computing
  • PDF
    LATR: Lazy Translation Coherence, ASPLOS '18
    Check out our kernel here
  • PDF
    Using Branch Predictors to Predict Brain Activity in Brain-Machine Implants, MICRO '17
    Honorable mention, IEEE Micro's Top Picks in Computer Architecture
  • PDF
    Translation-Triggered Prefetching, ASPLOS '17
    Best paper award nominee
    IEEE Micro's Top Picks in Computer Architecture
  • PDF
    COATCheck: Verifying Memory Ordering at the Hardware-OS Interface, ASPLOS '16
    IEEE Micro's Top Picks in Computer Architecture
    Our COATCheck tool is available here
  • PDF
    Large Pages and Lightweight Memory Management in Virtualized Environments: Can You Have it Both Ways?, MICRO '15
    Best paper award nominee
  • PDF
    Architectural Support for Address Translation on GPUs, ASPLOS '14
    IEEE Micro's Top Picks in Computer Architecture
  • PDF
    CoLT: Coalesced Large-Reach TLBs, MICRO '12
    Integrated in AMD chips, beginning with the Zen architecture

  • Teaching

  • INFO
    CPSC 323: Introduction to Systems Programming and Computer Organization
    Spring '20, Spring '21
  • INFO
    CPSC 436/536: The Hardware/Software Interface
    Fall '19
  • INFO
    CPSC 622: Advanced Operating Systems
    Spring '21
  • INFO
    CPSC 635: Topics on the Hardware/Software Interface
    Spring '19