| | This Article | |
| |
| |
| | Share | |
| |
| |
| | Bibliographic References | |
| |
| |
| | Add to: | |
| |
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
| |
| | Search | |
| |
| |
| | |
An Analysis of Cache Performance of Multimedia Applications
January 2004 (vol. 53 no. 1)
pp. 20-38
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.
[1] 20 S. Sohoni, Z. Xu, R. Min, and Y. Hu, A Study of Memory System Performance of Multimedia Applications Proc. ACM Joint Int'l Conf. Measurement&Modeling of Computer Systems (SIGMETRICS 2001), pp. 206-215, June 2001.[2] P. Ranganathan, S. Adve, and N. Jouppi, “Performance of Image and Video Processing with General-Purpose Processors and Media ISA Extensions,” Proc. 26th Ann. Int'l Symp. Computer Architecture, pp. 124-135, 1999.[3] K. Diefendorff and R. Dubey, “How Multimedia Workloads Will Change Processor Design,” Computer, vol. 30, no. 9, pp. 43-45, Sept. 1997.[4] R. Lee and M. Smith, “Media Processing: A New Design Target,” IEEE Micro, pp. 6-9, Aug. 1996.[5] C. Lee, M. Potkonjak, and W.H. Mangione-Smith, MediaBench: A Tool For Evaluating and Synthesizing Multimedia and Communications Systems Proc. 30th Ann. IEEE/ACM Int'l Symp. Microarchitecture, pp. 330-335, 1997.[6] T.M. Conte, P.K. Dubey, M.D. Jennings, R.B. Lee, A. Peleg, S. Rathnam, M. Schlansker, P. Song, and A. Wolfe, “Challenges to Combining General-Purpose and Multimedia Processors,” Computer, vol. 30, no. 12, pp. 33-37, Dec. 1997.[7] P. Ranganathan, S. Adve, and N.P. Jouppi, Reconfigurable Caches and Their Application to Media Processing Proc. 27th Int'l Symp. Computer Architecture (ISCA), pp. 214-224, June 2000.[8] S. Rixner, W.J. Dally, U.J. Kapasi, P. Mattson, and J.D. Owens, Memory Access Scheduling Proc. 27th Ann. Int'l Symp. Computer Architecture (ISCA '00), pp. 128-138, June 2000.[9] I. Kuroda and T. Nishitani, “Multimedia Processors,” Proc. IEEE, vol. 86, no. 6, pp. 1203-1221, June 1998.[10] L. Barroso, K. Gharachorloo, and E. Bugnion, "Memory System Characterization of Commercial Workloads," Proc. 25th Int'l Symp. Computer Architecture, June 1998, pp. 3-14.[11] D.C. Lee et al., "Execution Characteristics of Desktop Applications on Windows NT," Proc. 25th Ann. Int'l Symp. Computer Architecture (ISCA 98), IEEE CS Press, 1998, pp. 27-38.[12] A. Peleg and U. Weiser, “MMX Technology Extension to the Intel Architecture,” IEEE Micro, vol. 16, no. 4, pp. 42-50, Aug. 1996.[13] R. Bhargava, L.K. John, B.L. Evans, and R. Radhakrishnan, “Evaluating MMX Technology Using DSP and Multimedia Applications,” Proc. IEEE Symp. Microarchitecture, pp. 37-46, Dec. 1998.[14] D. Talla and L.K. John, Execution Characteristics of Multimedia Applications on a Pentium II Processor Proc. 18th IEEE Int'l Performance, Computing, and Comm. Conf. (IPCCC '99), pp. 516-524, Feb. 1999.[15] P. Soderquist and M. Leeser, Optimizing the Data Cache Performance of a Software MPEG-2 Video Decoder Proc. Fifth ACM Int'l Multimedia Conf. (Multimedia '97), pp. 291-301, Nov. 1997.[16] N.T. Slingerland and A.J. Smith, Cache Performance for Multimedia Applications Proc. 15th IEEE Int'l Conf. Supercomputing (ICS '01), pp. 204-217, June 2001.[17] N.T. Slingerland and A.J. Smith, Design and Characterization of the Berkeley Multimedia Workload Technical Report CSD-00-1122, Dept. of Electrical Eng. and Computer Sciences, Univ. of California, Berkeley, 2000.[18] A. Srivastava and A. Eustace, ATOM: A System for Building Customized Program Analysis Tools Proc. Conf. Programming Language Design and Implementation (PLDI '94), pp. 196-205, June 1994.[19] M. Hill, Dinero III A Uniprocessor Cache Simulator http://www.cs.wisc.edu/~laruswarts.html, 2003.[20] E.E. Johnson and J. Ha, “PDATS: Lossless Address Trace Compression for Reducing File Size and Access Time,” Proc. IEEE Int'l Phoenix Conf. Computers and Comm., pp. 213-219, May 1994.[21] D. Heller, Rabbit: A Performance Counters Library for Intel Processors and Linux http://www.scl.ameslab.gov/Projects/ Rabbit index.html, 2003.[22] Intel Corp., P6 Family Processor Performance Measurement Utility for Windows NT http://developer.intel.com/software/idap/ resources/technical_collateral/pentiumii p6perfnt.htm, 1997.[23] J.B. Chen, Y. Endo, K. Chan, D. Mazières, A. Dias, M.I. Seltzer, and M.D. Smith, The Measured Performance of Personal Computer Operating Systems ACM Trans. Computer Systems, vol. 14, pp. 3-40, Feb. 1996.[24] Sillicon Graphics Inc., The Mesa 3D Graphics Library http:/www.mesa3d.org, 2003.[25] D.Y. Pan, Digital Audio Compression Digital Technical J. Digital Equipment Corporation, vol. 5, no. 2, pp. 28-40, 1993.[26] M.D. Schroeder, JPEG Compression Algorithm and Associated Data Structures http://www.cs.und.edu/~mschroedindex. html , 2003.[27] E.H. Adelson and E.P. Simoncelli, Subband Image Coding with Three-Tap Pyramids Proc. Picture Coding Symp., Mar. 1990.[28] E.P. Simoncelli and E.H. Adelson, Subband Image Coding with Hexagonal Quadrature Mirror Filters Proc. Picture Coding Symp., Mar. 1990.[29] P.S. Miriam, Cache-Sensitive Architectural Optimizations for MPEG-2 Video Decoding Technical Report ECE-CEG-98-003, Dept. of Electrical and Computer Eng., Northeastern Univ., Jan. 1998.[30] D. Pan, "A Tutorial on MPEG/Audio Compression," IEEE MultiMedia, Vol. 2, No. 2, Summer 1995, pp. 60-74.
Index Terms:
Multimedia applications, cache performance, memory systems, TLB.
Citation:
Zhiyong Xu, Sohum Sohoni, Rui Min, Yiming Hu, "An Analysis of Cache Performance of Multimedia Applications," IEEE Transactions on Computers, vol. 53, no. 1, pp. 20-38, Jan. 2004, doi:10.1109/TC.2004.1255788