Patterns of memory inefficiency

35Citations
Citations of this article
23Readers
Mendeley users who have this article in their library.
Get full text

Abstract

Large applications often suffer from excessive memory consumption. The nature of these heaps, their scale and complex interconnections, makes it difficult to find the low hanging fruit. Techniques relying on dominance or allocation tracking fail to account for sharing, and overwhelm users with small details. More fundamentally, a programmer still needs to know whether high levels of consumption are too high. We present a solution that discovers a small set of high-impact memory problems, by detecting patterns within a heap. Patterns are expressed over a novel ContainerOrContained relation, which overcomes challenges of reuse, delegation, sharing; it induces equivalence classes of objects, based on how they participate in a hierarchy of data structures. We present results on 34 applications, and case studies for nine of these. We demonstrate that eleven patterns cover most memory problems, and that users need inspect only a small number of pattern occurrences to reap large benefits. © 2011 Springer-Verlag Berlin Heidelberg.

Cite

CITATION STYLE

APA

Chis, A. E., Mitchell, N., Schonberg, E., Sevitsky, G., O’Sullivan, P., Parsons, T., & Murphy, J. (2011). Patterns of memory inefficiency. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 6813 LNCS, pp. 383–407). https://doi.org/10.1007/978-3-642-22655-7_18

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free