Title: Type-Aware Programming Models for Distributed Applications
Advisors: Luis Ceze and Mark Oskin
Supervisory Committee: Luis Ceze (co-Chair), Mark Oskin (co-Chair), Eric Klavins (GSR, EE), and Dan Ports
Abstract: Modern applications are distributed: from the simplest interactive web applications to social networks with massive datacenters around the world. In order to scale services and handle turbulent internet traffic, developers of distributed applications constantly balance fundamental tradeoffs between parallelism and locality, replication and synchronization, consistency and availability. Many layers of abstraction allow the complex ecosystem of servers, databases, and caches to operate independently but prevent them from optimizing for the needs of individual applications. Developers need systems that can help make those tradeoffs, but systems need to know more about the application first.