ATOM: a system for building customized program analysis tools
PLDI '94 Proceedings of the ACM SIGPLAN 1994 conference on Programming language design and implementation
Digital Technical Journal
The measured performance of personal computer operating systems
ACM Transactions on Computer Systems (TOCS) - Special issue on operating system principles
Optimizing the data cache performance of a software MPEG-2 video decoder
MULTIMEDIA '97 Proceedings of the fifth ACM international conference on Multimedia
MediaBench: a tool for evaluating and synthesizing multimedia and communicatons systems
MICRO 30 Proceedings of the 30th annual ACM/IEEE international symposium on Microarchitecture
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
Evaluating MMX technology using DSP and multimedia applications
MICRO 31 Proceedings of the 31st annual ACM/IEEE international symposium on Microarchitecture
Performance of image and video processing with general-purpose processors and media ISA extensions
ISCA '99 Proceedings of the 26th annual international symposium on Computer architecture
Proceedings of the 27th annual international symposium on Computer architecture
Reconfigurable caches and their application to media processing
Proceedings of the 27th annual international symposium on Computer architecture
Cache performance for multimedia applications
ICS '01 Proceedings of the 15th international conference on Supercomputing
A study of memory system performance of multimedia applications
Proceedings of the 2001 ACM SIGMETRICS international conference on Measurement and modeling of computer systems
A Tutorial on MPEG/Audio Compression
IEEE MultiMedia
Design and Characterization of the Berkeley Multimedia Workload
Design and Characterization of the Berkeley Multimedia Workload
Proceedings of the 4th ACM international conference on Embedded software
An effective cache replacement algorithm in transcoding-enabled proxies
The Journal of Supercomputing
Predictable Performance in SMT Processors: Synergy between the OS and SMTs
IEEE Transactions on Computers
A Study of Architectural Optimization Methods in Bioinformatics Applications
International Journal of High Performance Computing Applications
A small data cache for multimedia-oriented embedded systems
Journal of Systems Architecture: the EUROMICRO Journal
Analysis of memory access optimization for motion compensation frames in MPEG-4
SOC'09 Proceedings of the 11th international conference on System-on-chip
Optimizing off-chip memory access costs in low power MPEG-4 decoder
Proceedings of the 3rd International Conference on Information and Communication Systems
Hi-index | 14.98 |
Abstract--Multimedia applications are fast becoming one of the dominating workloads for modern computer systems. Since these applications normally have large data sets and seem to have little data-reuse, a commonly held belief is that they have poor memory behavior compared to traditional programs and that current cache architectures cannot handle them well. It is therefore important to quantitatively characterize the memory behavior of these applications in order to provide insights for future design and research of memory systems. However, very few results on this topic have been published. This paper analyzes the cache behavior of a group of representative multimedia applications. These programs include a subset of the popular MediaBench suite and several large multimedia programs running on the Linux, Windows 98, and TruUnix operating systems. We performed extensive measurement and trace-driven simulation experiments. We then compared the memory utilization of these programs to that of the SPEC2000 applications. We found that multimedia applications actually have better cache behavior than SPEC2000 programs. The following three factors contribute to the high cache hit rates of multimedia applications: First, most multimedia applications apply block-partitioning algorithms to the input data and work on small blocks of data that easily fit in the cache. Second, within these blocks, there is significant data reuse as well as spatial locality. Third, a large number of references generated by multimedia applications are to their internal data structures, which are relatively small and can easily fit in reasonably sized caches.