Affiliation:
1. University of Rochester, Rochester, New York
Abstract
Profiling can accurately analyze program behavior for select data inputs. We show that profiling can also predict program locality for inputs other than profiled ones. Here locality is defined by the distance of data reuse. Studying whole-program data reuse may reveal global patterns not apparent in short-distance reuses or local control flow. However, the analysis must meet two requirements to be useful. The first is efficiency. It needs to analyze all accesses to all data elements in full-size benchmarks and to measure distance of any length and in any required precision. The second is predication. Based on a few training runs, it needs to classify patterns as regular and irregular and, for regular ones, it should predict their (changing) behavior for other inputs. In this paper, we show that these goals are attainable through three techniques: approximate analysis of reuse distance (originally called LRU stack distance), pattern recognition, and distance-based sampling. When tested on 15 integer and floating-point programs from SPEC and other benchmark suites, our techniques predict with on average 94% accuracy for data inputs up to hundreds times larger than the training inputs. Based on these results, the paper discusses possible uses of this analysis.
Publisher
Association for Computing Machinery (ACM)
Subject
Computer Graphics and Computer-Aided Design,Software
Cited by
91 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. CBANA: A Lightweight, Efficient, and Flexible Cache Behavior Analysis Framework;IEEE Transactions on Computers;2024-09
2. Supporting Trusted Virtual Machines with Hardware-Based Secure Remote Memory;Proceedings of the 2024 ACM SIGPLAN International Symposium on Memory Management;2024-06-20
3. TAO: Re-Thinking DL-based Microarchitecture Simulation;Proceedings of the ACM on Measurement and Analysis of Computing Systems;2024-05-21
4. GMT: GPU Orchestrated Memory Tiering for the Big Data Era;Proceedings of the 29th ACM International Conference on Architectural Support for Programming Languages and Operating Systems, Volume 3;2024-04-27
5. Beacons: An End-to-End Compiler Framework for Predicting and Utilizing Dynamic Loop Characteristics;Proceedings of the ACM on Programming Languages;2023-10-16