Nearly twenty years after the launch of AWS, it remains difficult for most developers to harness the enormous potential of the cloud. Yet we've seen quite a lot of progress in our fundamental research understanding of what it takes to program autoscaling, predictable software. In this talk I lay out an emerging agenda at Berkeley for a new generation of cloud programming research aimed at bringing research ideas to programmers in an evolutionary fashion. Key to our approach is a separation of distributed programs into a PACT of four facets: Program semantics, Availablity, Consistency and Targets of optimization. We propose to migrate developers gradually to PACT programming by lifting familiar code into our more declarative level of abstraction. We then propose a multi-stage compiler that emits human-readable code at each stage that can be hand-tuned by developers seeking more control. Our agenda raises numerous research challenges across multiple areas including language design, query optimization, transactions, distributed consistency, compilers and program synthesis. Joint work with Alvin Cheung, Natacha Crooks and Matthew Milano
Joseph M. Hellerstein is the Jim Gray Professor of Computer Science at the University of California, Berkeley, whose work focuses on data-centric systems and the way they drive computing. He is an ACM Fellow, an Alfred P. Sloan Research Fellow and the recipient of three ACM-SIGMOD "Test of Time" awards for his research. Fortune Magazine has included him in their list of 50 smartest people in technology , and MIT's Technology Review magazine included his work on cloud programming in their TR10 list of the 10 technologies "most likely to change our world".