Work at SourceForge, help us to make it a better place! We have an immediate need for a Support Technician in our San Francisco or Denver office.

Close

#42 Resurrector--A Tunable Object Lifetime Profiling Technique for Optimizing Real-World Programs

open
nobody
None
1
2013-08-22
2013-08-01
Harry Xu
No

Modern object-oriented applications commonly suffer from severe performance problems that need to be optimized away for increased efficiency and user satisfaction. Many existing optimization techniques (such as object pooling and pretenuring) require precise identification of object lifetimes. However, it is particularly challenging to obtain object lifetimes both precisely and efficiently: precise profiling techniques such as Merlin introduce several hundred times slowdown even for small programs while efficient approximation
techniques often sacrifice precision and produce less useful lifetime information. This paper presents a tunable profiling technique, called Resurrector, that explores the middle ground between high precision and high efficiency to find the precision-efficiency sweetspot for various liveness-based optimization techniques. Our evaluation shows that Resurrector is both more precise and more efficient than the GC-based approximation, and it is orders-of-magnitude faster than Merlin. To demonstrate Resurrector’s usefulness, we have developed client analyses to find allocation sites that create large data structures with disjoint lifetimes. By inspecting program source code and reusing data structures created from these allocation sites, we have achieved significant performance gains. We have also improved the precision of an existing optimization technique using the lifetime information collected by Resurrector.

1 Attachments

Discussion

  • Harry Xu
    Harry Xu
    2013-08-01

    This is a tool called Resurrector that profiles object lifetime information based on JikesRVM. For details, please read our paper

    "Resurrector: A Tunable Object Lifetime Profiling Tool for Optimizing Real-World Programs", OOPSLA'13.

    http://www.ics.uci.edu/~guoqingx/papers/xu-oopsla13.pdf

     
    Last edit: Harry Xu 2013-08-01
  • Harry Xu
    Harry Xu
    2013-08-22

    This material is based upon work supported by the
    National Science Foundation under grant CNS-1321179.