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...
Published in: | ACM SIGPLAN Notices |
---|---|
Main Authors: | , |
Format: | Article in Journal/Newspaper |
Language: | English |
Published: |
Association for Computing Machinery (ACM)
2012
|
Subjects: | |
Online Access: | http://dx.doi.org/10.1145/2248487.2150993 https://dl.acm.org/doi/pdf/10.1145/2248487.2150993 |
id |
cracm:10.1145/2248487.2150993 |
---|---|
record_format |
openpolar |
spelling |
cracm:10.1145/2248487.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/2248487.2150993 https://dl.acm.org/doi/pdf/10.1145/2248487.2150993 en eng Association for Computing Machinery (ACM) http://www.acm.org/publications/policies/copyright_policy#Background ACM SIGPLAN Notices volume 47, issue 4, page 147-158 ISSN 0362-1340 1558-1160 journal-article 2012 cracm https://doi.org/10.1145/2248487.2150993 2024-05-07T13:00:17Z 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 SIGPLAN Notices 47 4 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/2248487.2150993 https://dl.acm.org/doi/pdf/10.1145/2248487.2150993 |
genre |
The Pointers |
genre_facet |
The Pointers |
op_source |
ACM SIGPLAN Notices volume 47, issue 4, page 147-158 ISSN 0362-1340 1558-1160 |
op_rights |
http://www.acm.org/publications/policies/copyright_policy#Background |
op_doi |
https://doi.org/10.1145/2248487.2150993 |
container_title |
ACM SIGPLAN Notices |
container_volume |
47 |
container_issue |
4 |
container_start_page |
147 |
op_container_end_page |
158 |
_version_ |
1800739342570749952 |