A programming framework to ease development of tightly-coupled cloud applications

Wei-Chiu Chuang, Purdue University

Abstract

Cloud application development is currently for professionals only. To make the cloud more accessible, cloud applications should ideally be easy to develop so that virtually anyone can develop their own cloud applications. However, they are difficult to develop, because they are essentially distributed systems, where the concurrent operations may take place, and reasoning about the behavior of concurrent operations to ensure correctness is not trivial. Additionally, programmers must consider failure handling, scalability, consistency, modularity, elasticity. A programming model approach to ease the development is to let programmers write code in sequential semantics, and then use a runtime system to transform the sequential code into parallel operations. One well known example is Hadoop: the programmers write MapReduce tasks which appear sequential, and the Hadoop runtime system executes the tasks in a parallel fashion on multiple nodes. Its runtime system also enables automatic failure recovery. However, Hadoop and many similar frameworks are designed for data parallel computation. When it comes to more general distributed systems, which usually have some mutable state shared by concurrent operations, these frameworks become useless. This dissertation describes a new programming framework that not only offers simple sequential semantics, but also provides distributed applications with desirable properties, including elasticity, failure handling, scalability, consistency and modularity.

Degree

Ph.D.

Advisors

Xu, Purdue University.

Subject Area

Computer science

Off-Campus Purdue Users:
To access this dissertation, please log in to our
proxy server
.

Share

COinS