Ph.D. Proposal by Sangho Lee

Event Details
  • Date/Time:
    • Tuesday November 11, 2014 - Wednesday November 12, 2014
      12:00 pm - 1:59 pm
  • Location: KACB 2100
  • Phone:
  • URL:
  • Email:
  • Fee(s):
  • Extras:
No contact information submitted.

Summary Sentence: Mitigating the performance impact of memory bloat

Full Summary: No summary paragraph submitted.

Title: Mitigating the performance impact of memory bloat


Sangho Lee

School of Computer Science

College of Computing

Georgia Institute of Technology


Date: November 11th, 2014 (Thursday)

Time: 1:00 PM - 3:00 PM (ET)

Location: KACB 2100




Dr. Santosh Pande (Advisor, School of Computer Science, Georgia Tech)

Dr. Alessandro Orso (School of Computer Science, Georgia Tech)

Dr. Karsten Schwan (School of Computer Science, Georgia Tech)

Dr. Hyesoon Kim (School of Computer Science, Georgia Tech)



Memory bloat is loosely defined as an excessive use of memory than is

necessary in an application. Due to the complexity of efficient memory

management, memory bloat is pervasive and is often neglected in favor of

lower application development time. Unfortunately, when the bloat

becomes severe, unwanted performance issues may occur.


In this proposal, we identify 3 pervasive causes of performance issues

due to memory bloat and present feedback-driven solutions for each.


First, memory bloat often manifests in the form of memory leaks. To

prevent the consequences of memory bloats, we first need to detect the

presence of memory leaks. We tackle this issue by augmenting a class of

dynamic memory leak detectors based on staleness tracking using a

machine learning framework. The proposed solution improves the accuracy

and utility of the detection technique by selecting good staleness

predicates for detecting memory leaks. Significant memory bloat savings

are incurred upon weeding out such memory leaks.


Second, memory bloat prevention mechanism in multi-threaded memory

allocators is another source of performance issues. When the bloat

prevention mechanism is frequently triggered unnecessarily as an

artifact of intensive memory allocations/deallocations, an application

may experience a suboptimal performance. To address this, we propose a

feedback-directed tuning mechanism for TCMalloc, a widely used memory

allocator for high performance systems. The proposed optimization

technique tunes the thread cache management mechanism in TCMalloc to the

memory allocation behavior of an application and reduces the management

cost of the internal data structures in TCMalloc. With the proposed

technique integrated into FDO in GCC, we observed up to 10% improvement in application performance.


Third, implicit memory management in managed languages such as Java is

inherently vulnerable to memory bloat as the detection and reclamation

of dead objects are performed lazily by garbage collectors. The

interruptions caused by frequent garbage collections can adversely

impact performance as well as timing properties of the applications. To

prevent the program slowdown due to excessive garbage collection

pressure, we propose a hybrid approach that identifies must-deallocation

sites of allocated objects using a static shape analysis and that

transforms an application to selectively recycle the dead objects using

a profile driven approach. With the technique, we observed a 4x

performance improvement on an application with a high garbage collection

pressure. Further improvements to object recycling framework and its

evaluation on timing properties are proposed as future work.


Additional Information

In Campus Calendar

Graduate Studies

Invited Audience
graduate students, PhD
  • Created By: Danielle Ramirez
  • Workflow Status: Published
  • Created On: Nov 6, 2014 - 12:17pm
  • Last Updated: Oct 7, 2016 - 10:10pm