Data Structure Health

Applications often have large runtime memory requirements. In some cases, large memory footprint helps accomplish an important functional, performance, or engineering requirement. A large cache, for example, may ameliorate a pernicious performance problem. In general, however, finding a good balance...

Full description

Saved in:
Bibliographic Details
Published in:Proceedings of the 5th International Workshop on Dynamic Analysis p. 2
Main Authors: Mitchell, Nick, Sevitsky, Gary, Kumanan, Palani, Schonberg, Edith
Format: Conference Proceeding
Language:English
Published: Washington, DC, USA IEEE Computer Society 20.05.2007
IEEE
Series:ACM Conferences
Subjects:
ISBN:9780769529639, 0769529631
Online Access:Get full text
Tags: Add Tag
No Tags, Be the first to tag this record!
Description
Summary:Applications often have large runtime memory requirements. In some cases, large memory footprint helps accomplish an important functional, performance, or engineering requirement. A large cache, for example, may ameliorate a pernicious performance problem. In general, however, finding a good balance between memory consumption and other requirements is quite challenging. To do so, the development team must distinguish effective from excessive use of memory: when is a data structure too big for its own good? We introduce health signatures to facilitate this balance. Using data from dozens of applications and benchmarks, we show that they provide concise and application-neutral summaries of footprint. We show how to use them to form value judgments about whether a design or implementation choice is good or bad. We demonstrate how to use health signatures to evaluate the asymptotic behavior of these choices, as input data size scales up. Finally, we show how being independent of any application eases comparison across disparate implementations.
Bibliography:SourceType-Conference Papers & Proceedings-1
ObjectType-Conference Paper-1
content type line 25
ISBN:9780769529639
0769529631
DOI:10.1109/WODA.2007.1