Share this page
Share this page E-mail this page Print this page RSS feeds
Home > People > Vijayan Prabhakaran
Vijayan Prabhakaran

RESEARCHER
.

 

Bio

I’m a researcher at the Microsoft Research, Silicon Valley. My research interests span the broad area of Operating Systems, specifically focusing on file and storage systems. In my past life, I was a graduate student at the Computer Sciences Department of the University of Wisconsin, Madison where I did my doctorate under the guidance of Prof. Andrea C. Arpaci-Dusseau and Prof. Remzi H. Arpaci-Dusseau.

Research

My recent research interests revolve around solid state devices (SSDs). We evaluated the design tradeoffs in building an SSD to understand how they affect the application performance and device lifetime [usenix'08]. We have built an SSD simulator by extending the DiskSim simulator (from CMU) with an SSD module. The simulator has options to evaluate different SSD designs and cleaning/wear-leveling algorithms. We evaluated various designs using traces from both real-world workloads and file system benchmarks. In summary, we find that the performance and lifetime of an SSD depends on a variety of factors: complexity of firmware (i.e., the specific algorithm that runs on the firmware), types of flash packages, interconnection, and workloads. The simulator is available for download.

I lead the "Transactional Flash" project, where we propose a richer, transactional interface for an SSD. Certain characteristics of an SSD such as fast random access and copy-on-write semantics make it a suitable medium to support the transactional features. An important contribution of this work is a novel cyclic commit protocol, which ensures atomicity of transactions without using additional commit block writes. More details about this work is available our recent paper [osdi'08].

In the summer of 2008, we wanted to understand if traditional assumptions made at the higher level software stack (e.g., file systems) still hold under SSDs. The results of our study will appear as a short paper [usenix'09].

I'm interested in the reliability aspects of file and storage systems as well. We are currently examining techniques for automatic recovery from data structure corruptions, specifically from file system's perspective. Current file system checkers often do a poor job of recovering from corruptions; they are often heuristics-based, ad-hoc, and local. In Crystal, we are casting the problem of recovery as a global optimization problem that searches across various repairs to find a set of least-cost repairs that satisfy all the data structure invariants. You can read about this methodology in our upcoming paper [hotdep'09]. In the past, I have worked on understanding how file systems handle I/O failures and what can one do to improve their reliability in the context of IRON File Systems and IO Shepherd [sosp'05, sosp'07] .

I'm a member of the Flashlight project.

Publications