We're building new languages for safely programming with shared mutable objects. In our work, threads can freely exchange mutable objects and manipulate state concurrently---with no possibility of a destructive data race.
The Hydro Project at UC Berkeley is developing cloud-native programming models that allow anyone to develop scalable and reslilient distributed applications that take full advantage of the elasticity of cloud infrastructure. Our research spans across databases, distributed systems, and programming languages to deliver a modern, end-to-end stack for cloud programming.
Morphic is an experimental pure functional programming language designed to achieve performance competitive with imperative systems languages like C++ and Rust.
My dissertation is now available [here](/files/thesis.pdf)
Presenting MixT, our language for sanely mixing distinct consistency levels within a single transaction. Now in Tech Report form!
Gallifrey is a new programming language for distributed wide-area applications. Gallifrey programs share state via replication, granting fast access to data without introducing mandatory synchronization points, all while maintaining sequential consistency by default. Gallifrey aims to be easy-to-use, requiring a minimal annotation overhead atop an otherwise Java-like language.
Distributed Languages frequently either fail to capture replication, or insist in high-latency lockstep state machine replication. Storage systems which avoid both pitfalls often do so by weakening consistency. We try to rein in weak consistency and capture replication and concurrency, all while constructively avoiding races and allowing safe, loosely-synchronized replication.
Derecho is a new framework for building replicated, fault-tolerant distributed systems within a datacenter. It provides a best-in-class consistent multicast abstraction, and is easy to use via user-defined replicated objects and RPC.