Skip to Main Content
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. We analyze 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.