Abstract:
Identifying performance bottlenecks is important for microarchitects and application developers to produce high performance microprocessor designs and application softwar...Show MoreMetadata
Abstract:
Identifying performance bottlenecks is important for microarchitects and application developers to produce high performance microprocessor designs and application software. Many techniques are used for this purpose, including simulation, software profiling and hardware event counters. Recently long-term program behavior has been getting more attention from researchers because of its potential applications in system-level, as well as program-level optimizations. In this paper, we study performance bottlenecks from a long-term program behavior viewpoint by classifying dynamic program execution into bottleneck phases -the portions of execution that have similar performance bottlenecks. We propose an event counter based performance model that can accurately estimate the performance cost for critical system events. Based on this model, we propose the bottleneck vector as the basis of long-term performance bottleneck analysis and a runtime bottleneck phase tracking scheme. In addition, three bottleneck phase prediction schemes are studied. Finally, we present an application of our performance bottleneck analysis model -an adaptive value predictor, which improves average performance by 7% when compared to the original value predictor design.
Published in: 2006 International Conference on Computer Design
Date of Conference: 01-04 October 2006
Date Added to IEEE Xplore: 12 November 2007
ISBN Information:
Print ISSN: 1063-6404