I am an Assistant Professor in the Computer Science Department at Carnegie Mellon University. My research interest is in database management systems, specifically main memory systems, non-relational systems (NoSQL), transaction processing systems (NewSQL), and large-scale data analytics. At CMU, I am a member of the Database Group and the Parallel Data Laboratory. My work is also in collaboration with the Intel Science and Technology Center for Big Data.
I am looking for one new Ph.D. student to start in Fall 2015. Applications from students that are proficient at turntablism will be given preferential consideration. All admitted Ph.D. students receive graduate fellowships from the department. Please see the SCS admissions page for information on how to apply.
Note: If you email me to ask whether you can get in, I may or may not respond depending on how busy I am at that time. I usually tell people why I probably would not admit them. If you use the word "big data" in your email, I will definitely not respond. In general, I am looking for students that are good at building systems from scratch. Telling me that you used Hadoop in a class project does not count.
The onset of non-volatile memory (NVM) devices will require us to rethink the dichotomy between memory and durable storage. These devices promise to overcome the disparity between processor performance and DRAM storage capacity limits that encumber data-centric applications. As part of the Big Data ISTC, we are studying NVMs to understand their performance characteristics in the context of big data systems and build the groundwork for new DBMS architectures. [More Info]
We are developing an in-memory, distributed stream processing engine that is integrated with a front-end, OLTP database system. The goal of the S-Store project is to deploy continous query workloads in the front-end system without degrading the performance of the regular OLTP workload. We are also exploring the meaning of transactional semantics (e.g., consistency, isolation) in a streaming environment.
OLTP-Bench is an extensible "batteries included" DBMS benchmarking testbed with over a dozen workloads that all differ in complexity and system demands. The key contributions of the project are its ease of use and extensibility, support for tight control of transaction mixtures, request rates, and access distributions over time, as well as the ability to support all major DBMSs. [More Info]