Suppose you and a couple of friends who just met at a cocktail party want to build a scalable distributed application, at the level of Google or Facebook. Where do you start?
In this talk, I will present programming abstractions for building highly-distributed applications. I will start by presenting composable lightweight agents -- each agent is responsible for its own distributed state, can be configured (e.g., fault-tolerance, consistency) independently and communicates using stateless, RESTful interfaces. I will then talk about grouping operations using a fully-decentralized, scalable transactional protocol, and touch upon different trade-offs this design allows users to make. I will finish by explaining how we envision bringing these and other abstractions down at the OS level, forming a clean-slate distributed foundation upon which to build cloud applications
Nikos Vasilakis is Ph.D. candidate in Computer and Information Science at the University of Pennsylvania, advised by Jonathan M. Smith. His work focuses on distributed and operating systems, with an eye on scalability. In the past, he worked as a software engineer at VMWare and other institutions (TJU, RACTI) that blend development with a tablespoon of research.