{"430281":{"#nid":"430281","#data":{"type":"event","title":"PhD Defense by Sangho Lee","body":[{"value":"\u003Cp\u003EPh.D. Defense of Dissertation Announcement\u003C\/p\u003E\u003Cp\u003ETitle: \u003Cstrong\u003EMitigating the performance impact of memory bloat\u003C\/strong\u003E\u003C\/p\u003E\u003Cp\u003E\u0026nbsp;\u003C\/p\u003E\u003Cp\u003E\u003Cstrong\u003ESangho Lee\u003C\/strong\u003E\u003C\/p\u003E\u003Cp\u003EPh.D. Candidate\u003C\/p\u003E\u003Cp\u003ESchool of Computer Science\u003C\/p\u003E\u003Cp\u003ECollege of Computing\u003C\/p\u003E\u003Cp\u003EGeorgia Institute of Technology\u003C\/p\u003E\u003Cp\u003E\u0026nbsp;\u003C\/p\u003E\u003Cp\u003E\u003Cstrong\u003EDate: August 10, 2015 (Monday)\u003C\/strong\u003E\u003C\/p\u003E\u003Cp\u003ETime: 12:00 PM - 2:00 PM (ET)\u003C\/p\u003E\u003Cp\u003E\u003Cstrong\u003ELocation: KACB 2108\u003C\/strong\u003E\u003C\/p\u003E\u003Cp\u003E\u0026nbsp;\u003C\/p\u003E\u003Cp\u003ECommittee:\u003C\/p\u003E\u003Cp\u003E------------\u003C\/p\u003E\u003Cp\u003EDr. Santosh Pande (Advisor, School of Computer Science, Georgia Tech)\u003C\/p\u003E\u003Cp\u003EDr. Alessandro Orso (School of Computer Science, Georgia Tech)\u003C\/p\u003E\u003Cp\u003EDr. Karsten Schwan (School of Computer Science, Georgia Tech)\u003C\/p\u003E\u003Cp\u003EDr. Hyesoon Kim (School of Computer Science, Georgia Tech)\u003C\/p\u003E\u003Cp\u003EDr. Sudhakar Yalamanchili (School of Electrical and Computer Engineering, Georgia Tech)\u003C\/p\u003E\u003Cp\u003E\u0026nbsp;\u003C\/p\u003E\u003Cp\u003EAbstract:\u003C\/p\u003E\u003Cp\u003EMemory bloat is loosely defined as an excessive use of memory than is necessary in an application. Due to the complexity of efficient memory management that developers have to deal with, memory bloat is pervasive and is often neglected in favor of lower application development cost. Unfortunately, when the bloat becomes severe, unwanted performance issues may occur due to its impact on memory management mechanisms and memory layout.\u003C\/p\u003E\u003Cp\u003E\u0026nbsp;\u003C\/p\u003E\u003Cp\u003EIn light of this, this dissertation identifies 3 pervasive causes of performance issues due to memory bloat and present feedback-driven solutions for each.\u003C\/p\u003E\u003Cp\u003E\u0026nbsp;\u003C\/p\u003E\u003Cp\u003EFirst, in certain languages like C\/C++, applications have to manually manage memory in terms of allocation and deallocation. When users forget to free an allocated memory (due to a bug), this leads to a form of memory bloat known as memory leak. Presence of memory leaks causes gradual exhaustion of system memory and eventually leads to serious performance degradation of production systems.\u0026nbsp; To prevent the obvious consequences of memory leaks, we present a memory leak detection framework that relies on object behavior introspection.\u0026nbsp; Our framework models behavioral changes of hypothetically leaked objects in terms of their staleness and coexistence patterns among the allocated objects. With the introspective memory leak detection framework, we observed significant memory bloat savings upon weeding out discovered memory leaks.\u003C\/p\u003E\u003Cp\u003E\u0026nbsp;\u003C\/p\u003E\u003Cp\u003ESecond, 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 present a feedback-directed tuning mechanism for TCMalloc, a widely used memory allocator for high performance systems. Our 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.\u003C\/p\u003E\u003Cp\u003E\u0026nbsp;\u003C\/p\u003E\u003Cp\u003EThird, in some languages like Java, memory is automatically managed through garbage collection. Memory bloat in Java applications occurs due to performance unconscious designs and implementations. When an application uses an excessive amount of memory by creating too many objects than is\u003C\/p\u003E\u003Cp\u003Enecessary, negative performance impact such as high garbage collection overhead may arise.\u0026nbsp; To address this issue, we present an object recycle\u003C\/p\u003E\u003Cp\u003Eoptimization technique for Java applications.\u0026nbsp; Our technique uses a static analysis to figure out safe-deallocation sites of objects and uses a dynamic profiling to select allocation sites for code transformation. With the optimization technique, We observed up to 10% improvement in application performance on DaCapo 2006 benchmark applications.\u003C\/p\u003E\u003Cp\u003E\u0026nbsp;\u003C\/p\u003E\u003Cp\u003EIn summary, this dissertation comprehensively analyzes and proposes solutions to the problem of memory bloat in both manual and automated memory managed systems.\u003C\/p\u003E\u003Cp\u003E \u003C\/p\u003E","summary":null,"format":"limited_html"}],"field_subtitle":"","field_summary":"","field_summary_sentence":[{"value":"Mitigating the performance impact of memory bloat"}],"uid":"27707","created_gmt":"2015-08-03 09:04:15","changed_gmt":"2016-10-08 02:12:41","author":"Tatianna Richardson","boilerplate_text":"","field_publication":"","field_article_url":"","field_event_time":{"event_time_start":"2015-08-10T13:00:00-04:00","event_time_end":"2015-08-10T15:00:00-04:00","event_time_end_last":"2015-08-10T15:00:00-04:00","gmt_time_start":"2015-08-10 17:00:00","gmt_time_end":"2015-08-10 19:00:00","gmt_time_end_last":"2015-08-10 19:00:00","rrule":null,"timezone":"America\/New_York"},"extras":[],"groups":[{"id":"221981","name":"Graduate Studies"}],"categories":[],"keywords":[{"id":"100811","name":"Phd Defense"}],"core_research_areas":[],"news_room_topics":[],"event_categories":[{"id":"1788","name":"Other\/Miscellaneous"}],"invited_audience":[{"id":"78771","name":"Public"}],"affiliations":[],"classification":[],"areas_of_expertise":[],"news_and_recent_appearances":[],"phone":[],"contact":[],"email":[],"slides":[],"orientation":[],"userdata":""}}}