Continuous object access profiling and optimizations to overcome the memory wall and bloat

Future microprocessors will have more serious memory wall problems since they will include more cores and threads in each chip. Similarly, future applications will have more serious memory bloat problems since they are more often written using object-oriented languages and reusable frameworks. To ov...

Full description

Bibliographic Details
Published in:ACM SIGARCH Computer Architecture News
Main Authors: Odaira, Rei, Nakatani, Toshio
Format: Article in Journal/Newspaper
Language:English
Published: Association for Computing Machinery (ACM) 2012
Subjects:
Online Access:http://dx.doi.org/10.1145/2189750.2150993
https://dl.acm.org/doi/pdf/10.1145/2189750.2150993
id cracm:10.1145/2189750.2150993
record_format openpolar
spelling cracm:10.1145/2189750.2150993 2024-06-02T08:15:14+00:00 Continuous object access profiling and optimizations to overcome the memory wall and bloat Odaira, Rei Nakatani, Toshio 2012 http://dx.doi.org/10.1145/2189750.2150993 https://dl.acm.org/doi/pdf/10.1145/2189750.2150993 en eng Association for Computing Machinery (ACM) ACM SIGARCH Computer Architecture News volume 40, issue 1, page 147-158 ISSN 0163-5964 journal-article 2012 cracm https://doi.org/10.1145/2189750.2150993 2024-05-07T12:57:41Z Future microprocessors will have more serious memory wall problems since they will include more cores and threads in each chip. Similarly, future applications will have more serious memory bloat problems since they are more often written using object-oriented languages and reusable frameworks. To overcome such problems, the language runtime environments must accurately and efficiently profile how programs access objects. We propose Barrier Profiler, a low-overhead object access profiler using a memory-protection-based approach called pointer barrierization and adaptive overhead reduction techniques. Unlike previous memory-protection-based techniques, pointer barrierization offers per-object protection by converting all of the pointers to a given object to corresponding barrier pointers that point to protected pages. Barrier Profiler achieves low overhead by not causing signals at object accesses that are unrelated to the needed profiles, based on profile feedback and a compiler analysis. Our experimental results showed Barrier Profiler provided sufficiently accurate profiles with 1.3% on average and at most 3.4% performance overhead for allocation-intensive benchmarks, while previous code-instrumentation-based techniques suffered from 9.2% on average and at most 12.6% overhead. The low overhead allows Barrier Profiler to be run continuously on production systems. Using Barrier Profiler, we implemented two new online optimizations to compress write-only character arrays and to adjust the initial sizes of mostly non-accessed arrays. They resulted in speed-ups of up to 8.6% and 36%, respectively. Article in Journal/Newspaper The Pointers ACM Publications (Association for Computing Machinery) ACM SIGARCH Computer Architecture News 40 1 147 158
institution Open Polar
collection ACM Publications (Association for Computing Machinery)
op_collection_id cracm
language English
description Future microprocessors will have more serious memory wall problems since they will include more cores and threads in each chip. Similarly, future applications will have more serious memory bloat problems since they are more often written using object-oriented languages and reusable frameworks. To overcome such problems, the language runtime environments must accurately and efficiently profile how programs access objects. We propose Barrier Profiler, a low-overhead object access profiler using a memory-protection-based approach called pointer barrierization and adaptive overhead reduction techniques. Unlike previous memory-protection-based techniques, pointer barrierization offers per-object protection by converting all of the pointers to a given object to corresponding barrier pointers that point to protected pages. Barrier Profiler achieves low overhead by not causing signals at object accesses that are unrelated to the needed profiles, based on profile feedback and a compiler analysis. Our experimental results showed Barrier Profiler provided sufficiently accurate profiles with 1.3% on average and at most 3.4% performance overhead for allocation-intensive benchmarks, while previous code-instrumentation-based techniques suffered from 9.2% on average and at most 12.6% overhead. The low overhead allows Barrier Profiler to be run continuously on production systems. Using Barrier Profiler, we implemented two new online optimizations to compress write-only character arrays and to adjust the initial sizes of mostly non-accessed arrays. They resulted in speed-ups of up to 8.6% and 36%, respectively.
format Article in Journal/Newspaper
author Odaira, Rei
Nakatani, Toshio
spellingShingle Odaira, Rei
Nakatani, Toshio
Continuous object access profiling and optimizations to overcome the memory wall and bloat
author_facet Odaira, Rei
Nakatani, Toshio
author_sort Odaira, Rei
title Continuous object access profiling and optimizations to overcome the memory wall and bloat
title_short Continuous object access profiling and optimizations to overcome the memory wall and bloat
title_full Continuous object access profiling and optimizations to overcome the memory wall and bloat
title_fullStr Continuous object access profiling and optimizations to overcome the memory wall and bloat
title_full_unstemmed Continuous object access profiling and optimizations to overcome the memory wall and bloat
title_sort continuous object access profiling and optimizations to overcome the memory wall and bloat
publisher Association for Computing Machinery (ACM)
publishDate 2012
url http://dx.doi.org/10.1145/2189750.2150993
https://dl.acm.org/doi/pdf/10.1145/2189750.2150993
genre The Pointers
genre_facet The Pointers
op_source ACM SIGARCH Computer Architecture News
volume 40, issue 1, page 147-158
ISSN 0163-5964
op_doi https://doi.org/10.1145/2189750.2150993
container_title ACM SIGARCH Computer Architecture News
container_volume 40
container_issue 1
container_start_page 147
op_container_end_page 158
_version_ 1800739341980401664