Designing and implementing robust and high-performance distributed systems remains a challenging, tedious, and error-prone task. Building correct systems is difficult because of the asynchronous, heterogeneous, failure-prone and adversarial environments these systems are subject to. Tracking the source of performance problems often reduces to searching for a needle in a haystack: among millions of individual message transmissions, algorithmic decisions, and a large number of participating nodes, which network link, computer, or low-level algorithm results in performance degradations?

This research aims to create a programming environment for building distributed systems, that includes (1) programmings language that make the structure of the system explicit in a manner that allows the compilation of readable high-level descriptions into high-performance implementations, and (2) tools that can exploit the explicit structure to perform automatic system level analyses that will help developers locate, understand and fix behavioral anomalies in deployed systems. By increasing our understanding of which aspects of the development process are automatable, this research will show the high-level aspects where human creativity needs to be focused, without paying the price of performance penalties. This research can lead to the availability of novel architectures and services as an increasing developer population is empowered to design and build these systems

Agency
National Science Foundation (NSF)
Institute
Division of Computer and Network Systems (CNS)
Type
Standard Grant (Standard)
Application #
0720802
Program Officer
Mohamed G. Gouda
Project Start
Project End
Budget Start
2007-09-01
Budget End
2011-08-31
Support Year
Fiscal Year
2007
Total Cost
$400,000
Indirect Cost
Name
University of California San Diego
Department
Type
DUNS #
City
La Jolla
State
CA
Country
United States
Zip Code
92093