On the prediction of Java']Java object lifetimes

被引:12
|
作者
Inoue, Hajime
Stefanovic, Darko
Forrest, Stephanie
机构
[1] Carleton Univ, Sch Comp Sci, Ottawa, ON K1S 5B6, Canada
[2] Univ New Mexico, Dept Comp Sci, Albuquerque, NM 87131 USA
基金
美国国家科学基金会;
关键词
object lifetimes; workload characterization; pretenuring; object-oriented programming languages; garbage collection; program behavior;
D O I
10.1109/TC.2006.107
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
Accurately predicting object lifetimes is important for improving memory management systems. Current garbage collectors make relatively coarse-grained predictions ( e. g., "short-lived" versus "long-lived") and rely on application- independent heuristics related to the local characteristics of an allocation. This paper introduces a prediction method which is fully precise and makes its predictions based on application- specific training rather than application- independent heuristics. By "fully precise" we mean that the granularity of predictions is equal to the smallest unit of allocation. The method described here is the first to combine high precision and efficiency in a single lifetime predictor. Fully precise prediction enables us, for the first time, to study zero-lifetime objects. The paper reports results showing that zero-lifetime objects comprise a significant fraction of object allocations in benchmark programs for the Java programming language and that they are correlated with their allocation context ( the call stack and allocation site). Beyond zero-lifetime objects, the paper reports results on predicting longer lived objects, where, in some cases, it is possible to predict the lifetime of objects based on their allocation context ( the call stack and allocation site) well. For the SPEC benchmark programs, the number of dynamically allocated objects whose call sites have accurate predictors ranges from 0.2 percent to 61 percent. This method could potentially improve the performance of garbage collectors. The paper proposes a death- ordered collector (DOC) and analyzes its implementation overheads and its best possible performance. The study shows how memory performance could be enhanced using the extra information provided by fully precise prediction.
引用
收藏
页码:880 / 892
页数:13
相关论文
共 50 条
  • [1] Object lifetimes in Java']Java Card
    Oestreicher, M
    Krishna, K
    PROCEEDINGS OF THE USENIX WORKSHOP ON SMARTCARD TECHNOLOGY (SMARTCARD '99), 1999, : 129 - 137
  • [2] Object models and Java']Java
    Chauvet, JM
    Lerman, M
    DR DOBBS JOURNAL, 1997, 22 (12): : 20 - &
  • [3] Efficient object serialization in Java']Java
    Opyrchal, L
    Prakash, A
    19TH IEEE INTERNATIONAL CONFERENCE ON DISTRIBUTED COMPUTING SYSTEMS WORKSHOP, PROCEEDINGS, 1999, : 96 - 101
  • [4] On object initialization in the Java']Java bytecode
    Doyon, S
    Debbabi, M
    COMPUTER COMMUNICATIONS, 2000, 23 (17) : 1594 - 1605
  • [5] Efficient object querying for Java']Java
    Willis, Darren
    Pearce, David J.
    Noble, James
    ECOOP 2006 - OBJECT-ORIENTED PROGRAMMING, PROCEEDINGS, 2006, 4067 : 28 - 49
  • [6] Java']Java Learning Object Ontology
    Lee, MC
    Yen, D
    Wang, TI
    5th IEEE International Conference on Advanced Learning Technologies, Proceedings, 2005, : 538 - 542
  • [7] CORBA, Java']Java, and the Object Web
    Orfali, R
    Harkey, D
    Edwards, J
    BYTE, 1997, 22 (10): : 95 - &
  • [8] Dynamic object viewers for Java']Java
    Cross, James H., II
    Hendrix, T. Dean
    Barowski, Larry A.
    Jain, Jhilmil
    30TH ANNUAL INTERNATIONAL COMPUTER SOFTWARE AND APPLICATIONS CONFERENCE, VOL 2, SHORT PAPERS/WORKSHOPS/FAST ABSTRACTS/DOCTORAL SYMPOSIUM, PROCEEDINGS, 2006, : 374 - +
  • [9] A Study of Java']Java Object Demographics
    Jones, Richard
    Ryder, Chris
    ISMM'08: PROCEEDINGS OF THE 2008 INTERNATIONAL SYMPOSIUM ON MEMORY MANAGEMENT, 2008, : 121 - 130
  • [10] On the object of ''Java']Java - Pemberton,J
    Steedly, MM
    AMERICAN ETHNOLOGIST, 1996, 23 (01) : 197 - 198