This project seeks to improve the performance of a wide verity of memory-constrained object-oriented applications by automatically recycling objects. Large-scale, object-oriented software commonly suffers from systemic performance problems, due to inefficiencies inherent in an object-oriented language as well as commonly-adopted design and implementation principles. These problems are becoming increasingly critical as object-oriented languages are used in systems that typically have small memory space and computation power, such as mobile devices. In such systems, memory inefficiencies inherent in an object-oriented language can lead to severe performance degradation and reduced scalability. Evidence suggests that excessive object creation is a major source of inefficiencies in memory-constrained object-oriented applications. Object recycling reduces this object creation overhead. Recycling is achieved by designing and implementing runtime system support that can cache objects upon their creation, detect unreachable objects from the cache, and reuse both instances and data content of dead objects.

Modern life relies increasingly on memory-constrained systems such as smartphones, tablets, and data-analytical tools. This project provides an immediate performance benefit for such memory-constrained systems, thereby leading to improved quality, usability, and user satisfaction. In addition, the research represents a first step in a new direction for the research community to explore, and may provoke further interests in automating, other important (currently manually-enforced) optimizations. The impact of the research is extended by a strategy of open-source licensing and distribution of the resulting software through the OpenJDK and Android communities. The educational component of this project includes creation of new course materials, recruitment of undergraduate students and students from under-represented groups, and education of local programmers on how to develop highly-efficient memory-constrained applications.

Agency
National Science Foundation (NSF)
Institute
Division of Computer and Network Systems (CNS)
Type
Standard Grant (Standard)
Application #
1321179
Program Officer
Marilyn McClure
Project Start
Project End
Budget Start
2013-10-01
Budget End
2016-09-30
Support Year
Fiscal Year
2013
Total Cost
$381,599
Indirect Cost
Name
University of California Irvine
Department
Type
DUNS #
City
Irvine
State
CA
Country
United States
Zip Code
92697