GGrantIndex
← Search

CSR: Small: Elastic and Robust Cloud Programming

$485,504FY2016CSENSF

Purdue University, West Lafayette IN

Investigators

Abstract

The emergence of cloud computing is undoubtedly one of the major paradigm shifts of the last decade in information technology, and one with substantial economic impact. Indeed, the ability to rent computing resources on a need basis (as opposed to acquiring and managing infrastructure provisioned for peak work loads that may occur only rarely) supports many businesses of different kinds and sizes. However, while cloud infrastructures allow computing resources to be allocated and released very dynamically, developing software that leverages this potential to automatically adjust its usage of resources to its workload (e.g., the number of client connections) and performance goals at runtime is a hard task for software engineers. The goal of this project is thus to provide programmers support in the form of a programming model and runtime environment for developing such elastic applications. Devising such a generic programming model is however very challenging as it must reconcile simplicity (for programmers) with scalability (by facilitating parallelism and distribution) and robustness (by handling partial failures). Unfortunately, these properties may conflict. This project addresses the challenges through the following contributions. (1) Programming model and language: a novel object-oriented programming model variant called Atomic Events and Ownership Network (AEON) is proposed. AEON combines a simplified object model to reason about units of application state with a novel type of multiple ownership to streamline interaction between these units, and a novel notion of events for atomic client-server interaction. (2) Distributed runtime environment: a highly scalable and decentralized runtime environment for AEON is implemented, with support for dynamically adding and removing computational units, as well as for supporting the restructuring of their relationships without hampering consistency or conversely stalling progress. Heuristics to efficiently (re-)partition AEON applications are also proposed. (3) Resource management and fault tolerance: a resource management framework is leveraged for facilitating the mapping between application units and underlying resources; it is augmented to provide a notion of dependable resources achieving fault tolerance. (4) Evaluation: the developed support is evaluated on a wide variety of applications and across different cloud infrastructures. All developments are based on open-source software.

View original record on NSF Award Search →