This Article 
 Bibliographic References 
 Add to: 
Implications of Executing Compression and Encryption Applications on General Purpose Processors
July 2005 (vol. 54 no. 7)
pp. 917-922
Compression and encryption applications are important components of modern multimedia workloads. These workloads are typically executed on Application Specific Integrated Circuits (ASICs), Application Specific Processors (ASPs), or General Purpose Processors (GPPs). GPPs are flexible and allow changes in the applications and algorithms better than ASICs and ASPs. However, executing these applications on GPPs is done at a high cost. In this paper, we analyze media compression and encryption applications from the perspective of executing them on a programmable general purpose processor versus ASPs. We select 12 programs from various types of compression and encryption applications. The instruction mix, data types of memory operations, and memory access workloads during the execution of these programs are analyzed. Most of these applications involve processing the data through execution phases (e.g., quantization, encoding, etc.) and temporary results are stored and retrieved between these phases. A metric called overhead memory-access bandwidth per input and output byte is defined to characterize the temporary storage and retrieval of data during execution. We observe that more than 90 percent of the memory accesses made by these programs are temporary data stores and loads arising from the general purpose nature of the execution platform. We also verify the robustness of the proposed metric on different experimental environments using various input data properties and compiler optimizations.

[1] D. Talla and L.K. John, “Cost-Effective Hardware Acceleration of Multimedia Applications,” Proc. IEEE Int'l Conf. Computer Design '01, pp. 415-424, 2001.
[2] J. Fritts, W. Wolf, and B. Liu, “Understanding Multimedia Application Characteristics for Designing Programmable Media Processors,” Proc. SPIE, vol. 3655, pp. 2-13, Jan. 1999.
[3] P. Ranganathan, S. Adve, and N. Jouppi, “Performance of Image and Video Processing with General-Purpose Processors and Media ISA Extensions,” Proc. 26th Int'l Symp. Computer Architecture (ISCA), pp. 124-135, May 1999.
[4] K. Diefendorff and P.K. Dubey, “How Multimedia Workloads Will Change Processor Design,” Computer, vol. 30, no. 9, pp. 43-45, Sept. 1997.
[5] D. Talla and L.K. John, “Execution Characteristics of Multimedia Applications on a Pentium II Processor,” Proc. IEEE Int'l Performance, Computing and Comm. Conf., 2000.
[6] C. Lee, M. Potkonjak, and W.H. Mangione-Smith, “MediaBench: A Tool for Evaluating and Synthesizing Multimedia and Communication Systems,” Proc. 30th MICRO, pp. 330-335, Dec. 1997.
[7] N.T. Slingerland and A.J. Smith, “Cache Performance for Multimedia Applications,” Proc. 15th IEEE Int'l Conf. Supercomputing, pp. 204-217, June 2001.
[8] L. Wu, C. Weaver, and T. Austin, “CryptoManiac: A Fast Flexible Architecture for Secure Communication,” Proc. 28th Ann. Int'l Symp. Computer Architecture, pp. 110-119, June 2001.
[9] H. Kim, A.K. Somani, and A. Tyagi, “A Reconfigurable Multi-Function Computing Cache Architecture,” IEEE Trans. Very Large Scale Integration Systems, pp. 509-523, Aug. 2001.
[10] N. Ranganathan and S. Henriques, “A Systolic VLSI Chip for Data Compression,” Proc. IEEE Int'l Symp. VLSI Design, Jan. 1991.
[11] M. Kovac and N. Ranganathan, “JAGUAR: A Fully Pipelined VLSI Architecture for JPEG Image Compression Standard,” Proc. IEEE, vol. 83, pp. 247-258, Feb. 1995.
[12] SPEC CPU2000,, 2000.
[13] T. Wolf and M. Franklin, “Commbench: A Telecommunications Benchmark for Network Processors,” Proc. Int'l Symp. Performance Analysis of Systems and Software (ISPASS), pp. 154-162, Apr. 2000.
[14] M.R. Guthaus, J.S. Ringenberg, D. Ernst, T.M. Austin, T. Mudge, and R.B. Brown, “MiBench: A Free, Commercially Representative Embedded Benchmark Suite,” Proc. Fourth Workshop Workload Characterization (WWC-4), pp. 3-14, Dec. 2001.
[15] R.F. Cmelik and D. Keppel, “Shade: A Fast Instruction-Set Simulator for Execution Profiling,” Technical Report SMLI TR-93-12, SUN Microsystems Inc., 1993.
[16] L. John, V. Reddy, P. Hulina, and L. Coraor, “Program Balance and Its Impact on High Performance RISC Architectures,” Proc. First Int'l Symp. High-Performance Computer Architecture (HPCA-1), pp. 370-379, 1995.
[17] D. Hammerstrom and E. Davidson, “Information Content of CPU Memory Referencing Behavior,” Proc. Fourth Int'l Symp. Computer Architecture, pp. 184-192, 1977.
[18] N. Ranganathan and S. Henriques, “High-Speed VLSI Designs for Lempel-Ziv-Based Data Compression,” IEEE Trans. Circuit and Systems, 1992.
[19] H.T. Kung, “Why Systolic Architectures,” Computer, 1982.
[20] R. Nagarajan, K. Sankaralingam, D. Burger, and S. Keckler, “A Design Space Evaluation of Grid Processor Architectures,” Proc. MICRO 2001, 2001.
[21] B.K. Lee and L. John, “Implications of Programmable General Purpose Processors for Compression/Encryption Applications,” Proc. IEEE 13th Int'l Conf. Application-Specific Systems, Architectures, and Processors, July 2002.

Index Terms:
Index Terms- Media compression, encoding, decoding, encryption, decryption, memory behavior, workload characterization, MediaZip benchmark, overhead memory bandwidth.
Byeong Kil Lee, Lizy Kurian John, "Implications of Executing Compression and Encryption Applications on General Purpose Processors," IEEE Transactions on Computers, vol. 54, no. 7, pp. 917-922, July 2005, doi:10.1109/TC.2005.121
Usage of this product signifies your acceptance of the Terms of Use.