The Sonar research group studies the interaction of operating systems and hardware, including devices and new processor/memory technologies.

Reinventing Drivers

  • Device Drivers
  • Carburizer
  • Driver Study
  • SymDrive

    Device drivers are a major source of complexity, unreliability, and cost for modern operating systems. As evidence, drivers account for the majority of system crashes: Microsoft reports that 89% of Windows XP crashes are caused by device drivers, and Linux driver code had up to seven times the bug density of other kernel code. The objective of my research is to improve device drivers by (1) reducing the complexity and cost of implementing device drivers, (2) improving the fault tolerance of device drivers, and (3) improving the performance of device drivers on modern hardware and software architectures.

    Solid-State Storage

  • New Memory Technology
  • FlashTier
  • FlashVM
  • Mnemosyne

    New storage technologies such as Phase-Change Memory (PCM or PCRam), Memristors, and flash promise to change how programs and operating systems interact with storage. Our research focuses on new uses for these technologies outside traditional file storage.

    Dynamic Processors

    Coming soon!

    Transactional Memory

  • xCalls
  • LogTM

    Transactional memory promises to simplify multhreaded programming by removing the need to associate a lock with each piece of shared data. Instead, programmers specify transactions, which forces a set of statements to execute atomically.

    One of the key problems faced by transactional memory systems is virtualization and the operating system: how can you virtualize hardware support for transactional memory, so that transactions can co-exist with paging and context switching? Also, how can you provide unbounded length transactions in the presence of limited-size hardware structures? Finally, how do system calls and I/O operate in the presence of transctions?

    Virtual Machines

  • Live migration
  • On-demand Virtualization (comign soon!)