32 Vassar St, G980
Cambridge, MA 02139
email: my last name at gmail
Note: I've graduated! This page is here for posterity. New site: nehanarula.org.
I'm a PhD student in PDOS, the Parallel and Distributed Operating Systems group at MIT, advised by Robert Morris and Eddie Kohler. My research interests are in distributed systems, particularly having to do with consistency and performance. I'm graduating soon and looking for opportunities in industry. Here is my CV.
I worked for Google as a Software Engineer on Native Client, Blobstore, a system for efficiently storing and serving terabytes of large binary objects, and Froogle.
I blog here to reflect on academia, systems research, the future of technology, and myself. I'm also on Twitter and Facebook, and these are the tools I use to work.
I run a distributed systems reading group at MIT. We write up notes about the papers we read here.
Conference PublicationsPhase Reconciliation for Contended In-Memory Transactions. Neha Narula, Cody Cutler, Eddie Kohler, and Robert Morris. In Proceedings of the 11th USENIX Symposium on Operating Systems Design and Implementation (OSDI 2014), Broomfield, CO October 2014.
Easy Freshness with Pequod Cache Joins. Bryan Kate, Eddie Kohler, Michael Kester, Neha Narula, Yandong Mao, and Robert Morris. In Proceedings of the 7th USENIX Symposium on Networks Systems Design and Implementation (NSDI 2014), Seattle, WA April 2014.
Executing Web Application Queries on a Partitioned Database. Neha Narula and Robert Morris. USENIX Conference on Web Application Development (WebApps 2012), Boston, MA June 2012.
Intrusion Recovery for Database-backed Web Applications. Ramesh Chandra, Taesoo Kim, Meelap Shah, Neha Narula, and Nickolai Zeldovich. In Proceedings of the 23rd ACM Symposium on Operating Systems Principles (SOSP 2011), Cascais, Portugal, October 2011.
Privacy-Preserving Browser-Side Scripting With BFlow. Alex Yip, Neha Narula, Max Krohn, Robert Morris. In Proceedings of the ACM Eurosys Conference (Eurosys 2009). Nuremberg, Germany, April 2009.
Native Client: A Sandbox for Portable, Untrusted x86 Native Code. Bennet Yee, David Sehr, Gregory Dardyk, J. Bradley Chen, Robert Muth, Tavis Ormandy, Shiki Okasaka, Neha Narula, and Nicholas Fullagar. In proceedings of the IEEE Symposium on Security and Privacy. Oakland, CA 2009. Best Paper Award.
Read/Write Based Fast-Path Transformation for FCFS Mutual Exclusion. Prasad Jayanti, Srdjan Petrovic, Neha Narula. In Proceedings of the Conference on Current Trends in Theory and Practice of Computer Science (SOFSEM). Springer 2005.
OtherParallel Execution for Conflicting Transactions. Neha Narula, PhD Thesis, 2015.
A Multi-core Database is not a Distributed System. Neha Narula. Abstract in the Conference on Innovative Database Research (CIDR 2015), Asilomar, CA January 2015.
Distributed Query Execution on a Replicated and Partitioned Database. Neha Narula, Master's Thesis, 2010.
Designing a Toolkit for Distributed Storage in Web Applications. Neha Narula and Robert Morris. Poster at SOSP 2009. Big Sky, Montana, October 2009.
Eliminating Complex Synchronization Instructions in the Contention-Free Case for Mutual Exclusion Algorithms. Neha Narula, Undergraduate Honors Thesis, 2003.
Splitting and Replicating Data For Fast Transactions - Don't Give Up On Serializability Just Yet! CRAFT. Budapest, Hungary. April 24, 2015.
The Scalable Commutativity Rule. Papers We Love NYC. New York, NY. April 1, 2015. [slides, video]
Phase Reconciliation for Contended In-Memory Transactions. RICON. Las Vegas, NV. October 29, 2014. [slides, video]
Phase Reconciliation for Contended In-Memory Transactions. OSDI. Broomfield, CO. October 5, 2014. [slides, video]
Phase Reconciliation for Contended In-Memory Transactions. MIT IAP Cloud Workshop. Cambridge, MA. September 26, 2014. [slides]
Consensus and Consistency: Why Should I Care? Berlin Buzzwords. Berlin, Germany. May 25, 2014. [slides, video]
Sharding and Scaling Your Database. Future of WebApps. London, UK. October 25, 2013.
The Good, the Bad, and the Ugly (of Caching). All Your Base. Oxford, UK. October 18, 2013. [slides, video]
Smarter Caching With Pequod. RICON East. New York, NY. May 13, 2013. [slides, video]
Sharding and Scaling Your Database. Future Insights Live. Las Vegas, NV. May 1, 2013. [slides]
Executing Queries on a Sharded Database. Strange Loop. St. Louis, MO. September 25, 2012. [slides, video]
Executing Web Application Queries on a Partitioned Database. USENIX Webapps. Boston, MA. June 13, 2012. [video]
Doppel. Doppel is an in-memory multicore transactional database designed to improve performance on workloads with many conflicting transactions. Doppel uses a technique called phase reconciliation; we take advantage of commutativity and executing transactions in explicit phases in order to increase concurrency. Doppel provides a dramatic performance improvement on highly conflicting workloads.
Pequod. Pequod is an in-memory distributed caching layer which can automatically materialize and update the results of simple joins. It simplifies programs which manually perform incremental updates to cached objects, like Twitter timelines.
Dixie. Dixie is a SQL query planner, optimizer, and executor which issues SQL queries written for one database over a database sharded and replicated over multiple servers. Dixie focuses on increasing inter-query parallel speedup and throughput by involving as few servers as possible in each query.
Projects and Writings
Grad school advice. I wrote a post on applying for the NSF and a post on what kinds of questions to ask when you're visiting prospective graduate schools.
Reddit AMA. We did a Reddit AMA on being PhD students at MIT CSAIL. It made it to the Reddit front page and got over 4500 comments. We then wrote an article for Wired about the experience, and it was covered in Wonkette, The Dish, Business Insider, and BostonInno. Alexis Ohanian interviewed us about it for his podcast, Upvoted
Hearsay House. We designed and executed an art installation for the Reykjavik Arts Festival in May 2012. Hearsay House takes the narrative of a seminal meeting between Ronald Reagan and Mikhail Gorbachev in 1986, and subverts it to tell many different interesting stories. Visitors are invited to engage and participate in sensor setups in the Hofdi House. The data from that engagement is then transformed and visualized in the Reykjavik Arts Museum.
Hyperlinker. Hyperlinker is a tool for authors to modify the way they use hyperlinks in their text. Hyperlinker uses attributes in link tags to auto-generate information about the links, and lets the user toggle links on and off. Hyperlinker was inspired by reading lots of annoying blog posts where people link indiscriminately in ways that are hard to understand, and was done as a final project for MAS.S61.
Tubely. How do you decide what to watch when you get together with friends? Tubely aims to solve this problem using novel recommendation algorithms based on combining the preferences of individuals watching together in a group. We implemented Tubely as an interface to keep track of shows you're interested in, create playlists, get recommendations based on mood, and more. This was a final project for MAS.571.