Data cache performance of supercomputer applications
Proceedings of the 1990 ACM/IEEE conference on Supercomputing
ATOM: a system for building customized program analysis tools
PLDI '94 Proceedings of the ACM SIGPLAN 1994 conference on Programming language design and implementation
Contrasting characteristics and cache performance of technical and multi-user commercial workloads
ASPLOS VI Proceedings of the sixth international conference on Architectural support for programming languages and operating systems
Memory system characterization of commercial workloads
Proceedings of the 25th annual international symposium on Computer architecture
Execution characteristics of desktop applications on Windows NT
Proceedings of the 25th annual international symposium on Computer architecture
Cache performance for selected SPEC CPU2000 benchmarks
ACM SIGARCH Computer Architecture News
The Memory Performance of DSS Commercial Workloads in Shared-Memory Multiprocessors
HPCA '97 Proceedings of the 3rd IEEE Symposium on High-Performance Computer Architecture
Memory System Behavior of Java-Based Middleware
HPCA '03 Proceedings of the 9th International Symposium on High-Performance Computer Architecture
MDL: A Language And Compiler For Dynamic Program Instrumentation
PACT '97 Proceedings of the 1997 International Conference on Parallel Architectures and Compilation Techniques
Characterization of Java/sup TM/ application server workloads
WWC '01 Proceedings of the Workload Characterization, 2001. WWC-4. 2001 IEEE International Workshop
Hi-index | 0.00 |
As the speeds of microprocessors continue to follow Moore's law, memory speeds keep lagging farther behind so as to make the "memory wall" more and more distinct. In order for a processor architect to be able to evaluate the right micro-architectural features for the design, a study of the memory behavior of the applications becomes essential. In this paper we present a new metric termed "memory pressure" that can be used to analyze the application's behavior and quantify the demand an application places on the memory subsystem. Memory pressure is characterized by four metrics: (1) value-computation-to-use delay, (2)condition-resolution-to-use delay, (3) address-computation-to-use delay, and (4) value-load-to-use delay. It acts as an indicator of the opportunity that caching, prefetching, speculative loads or other DRAM latency hiding techniques can provide to improve the performance of the application. We have analyzed a few synthetic benchmarks as well as a few scientific applications and have been able to identify the benefit of caches and prefetch techniques for these benchmarks. As we demonstrate in this paper, quantifying the memory pressure not only provides insight into which architectural features a designer should evaluate for optimal performance, but also provides tangible hints to the software designer to make changes to the application -- algorithmic and structural -- to improve the performance.