Abstract
High processing speed is required to support computation intensive applications. Cache memory is used to improve processing speed by reducing the speed gap between the fast processing core and slow main memory. However, the problem of adopting cache into computing systems is twofold: cache is power hungry (that challenges energy constraints) and cache introduces execution time unpredictability (that challenges supporting real-time multimedia applications). Recently published articles suggest that using cache locking improves predictability. However, increased cache activities due to aggressive cache locking make the system consume more energy and become less efficient. In this paper, we investigate the impact of cache parameters and cache locking on power consumption and performance for real-time multimedia applications running on low-power devices. In this work, we consider Intel Pentium-like single-processor and Xeon-like multicore architectures, both with two-level cache memory hierarchy, using three popular multimedia applications: MPEG-4 (the global video coding standard), H.264/AVC (the network friendly video coding standard), and recently introduced H.265/HEVC (for improved video quality and data compression ratio). Experimental results show that cache locking mechanism added to an optimized cache memory structure is very promising to increase the performance/power ratio of low-power systems running multimedia applications. According to the simulation results, performance can be improved by decreasing cache miss rate down to 36 % and the total power consumption can be saved up to 33 %. It is also observed that H.265/HEVC has significant performance advantage over H.264/AVC (and MPEG-4) for smaller caches.
Similar content being viewed by others
References
Ahmed RE (2006) Energy-Aware Cache Coherence Protocol for Chip-Multiprocessors. In the Canadian Conference on Electrical and Computer Engineering (CCECE’06), pp. 82–85
Asaduzzaman A (2012) A Power-Aware Cache Organization Effective for Real-Time Distributed and Embedded Systems. J Comput (JCP)
Asaduzzaman A, Sibai FN, et al. (2011) An effective dynamic way cache locking scheme to improve the predictability of power-aware real-time embedded systems. ICECS-2011, Beirut, Lebanon
Balfour J, Dally WJ, et al. (2008) An Energy-Efficient Processor Architecture for Embedded Systems. In IEEE Computer Architecture Letters, Vol. 7, No. 1
Brown E (2012) Quad-core SoC supports Android 4.0, 3840 × 1080 video resolution. URL: linuxdevices.com. 2012-01-04
Cachegrind - a cache profiler from Valgrind. (Accessed in 2012) URL: http://valgrind.kde.org/index.html
Campoy AM, Tamura E, Saez S, Rodriguez F, Busquets Mataix JV (2005) On Using Locking Caches in Embedded Real-Time Systems. ICESS-05, LNCS 3820, pp. 150–159
Certner O, Li Z, Palatin P, Temam O, Arzel F, Drach N (2008) A practical approach for reconciling high and predictable performance in non-regular parallel. Design, automation and test in Europe (DATE’08)
Chase J, Pretty C (2002) Efficient Algorithms for MPEG-4 Video Decoding. In TechOnLine. University of Canterbury, New Zealand
Ely S (1995) MPEG video coding—a simple introduction. In EBU Technical Review Winter
FFmpeg – A very fast video and audio converter. (Accessed in 2012) URL: http://ffmpeg.sourceforge.net/ ffmpeg-doc.html#SEC1
Gepner P, Kowalik MF (2006) Multi-Core Processors: New Way to Achieve High System Performance. In the Proceedings of the International Symposium on Parallel Computing in Electrical Engineering (PARELEC’06), pp. 9–13
Givargis T, Vahid F, Henkel J (2005) Fast Cache and Bus Power Estimation for Parameterized System-on-a-Chip Design. ACM DATE
Grigoriadou M, Toula M, Kanidis E (2003) Design and evaluation of a cache memory simulation program. IEEE Conf
isovideo software package. (Accessed in 2012) URL: http://www.isovideo.com/
Janapsatya A, Ignjatovic A, Parameswaran S (2006) Finding Optimal L1 Cache Configuration for Embedded Systems. In the Proceedings of the 2006 conference on Asia South Pacific design automation, pp. 796–801
Jerraya A, Tenhunen H, Wolf W (2005) Multiprocessor Systems-on-Chips. In IEEE Computer Society, pp. 36–40
JM-RS (96) – H.264/AVC Reference Software. (Accessed in 2012) URL: http://iphome.hhi.de/suehring/tml/download/
Koenen R, Pereira F, Chiariglione L (2002) MPEG-4: Context and Objectives. Invited paper for the Special Issue on MPEG-4 of the Image Communication Journal
Koopman PJ (1996) Embedded System Design Issues (the Rest of the Story). In Proceedings of the International Conference on Computer Design (ICCD’96)
Li Y, Henkel J (1998) A framework for estimating and minimizing energy dissipation of embedded HW/SW systems. In Proc. 35th Design Automation Conf., pp.188–194
Maxiaguine A, Liu Y, Chakraborty S, Ooi W (2004) Identifying “representative” workloads in designing MpSoC platforms for media processing. In 2nd Workshop on Embedded Systems for R-T Multimedia, pp. 41–46
Molnos AM, Mesman B, et al. (2003) Data Cache Optimization in Multimedia Applications. In Proceedings of the 14th Annual Workshop on Circuits, Systems and Signal Processing, pp. 529–532, The Netherlands
MPEG-4: The container for digital media. (Accessed in 2012) apple.com/quicktime/technologies/MPEG-4/
Naz A, Kavi K, Rezaei M, Li W (2006) Making a case for split data caches for embedded applications. ACM SIGARCH Comput Archit News 34(1):19–26
Nebel W (2004) System-Level Power Optimization. In IEEE/DSD-04
Nosetti L, Solomon C, Macii E (1999) Analysis of Memory Accesses in Embedded Systems. In The 6th IEEE International Conference on Electronics, Circuits and Systems, pp. 1783–1786
Panda P, Kjeldsberg P et al (2001) Data and memory optimization techniques for embedded systems. ACM Trans Des Autom Electron Syst 8(2):149–206
Puaut I (2006) Cache Analysis Vs Static Cache Locking for Schedulability Analysis in Multitasking Real-Time Systems. http://citeseer.ist.psu.edu/534615.html
Richardson I. H.264/MPEG-4 Part 10: Overview. (Accessed in 2012) URL: www.vcodex.com
Robertson J, Gala K (2006) Instruction and Data Cache Locking on the e300 Processor Core. Freescale Semiconductor
Schaphorst R (1999) Videoconferencing and videotelephony—techonology and standards. In Artech House, Norwood, MA, 2nd ed
Slingerland N, Smith A (2002) Design and characterization of the Berkeley multimedia workload, Multimedia Systems. In Springer-Verlag, pp. 315–327
Slingerland N, Smith A (Accessed in 2012) Cache Performance for Multimedia Applications. In Portal ACM, portal.acm.org/ft_gateway.cfm?id=377833&type=pdf
Soderquist P, Leeser M (1997) Optimizing the Data Cache Performance of a Software MPEG-2 Video Decoder. In ACM Multimedia 97 – Electronic Proceedings, Seattle, WA
Soryani M, Sharifi M, Rezvani MH (2007) Performance evaluation of cache memory organizations in embedded systems. The Fourth International Conference on Information Technology: New Generations (ITNG’07), pp.1045–1050
Sullivan GJ, Ohm JR, Han WJ, Wiegand T (2012) Overview of the High Efficiency Video Coding (HEVC) Standard (pdf). IEEE Trans. on Circuits and Systems for Video Technology. Retrieved 2012-09-14
Tang W, Gupta R, and Nicolau A (2002) Power Savings in Embedded Processors through Decode Filter Cache. In Proceedings of Design, Automation and Test in Europe Conference and Exhibition (DATE’02), pp.1–6
Uncompressed YUV4MPEG format used by the mjpegtools project. (Accessed in 2012) URL: http://media.xiph.org/video/derf/
VisualSim – system-level simulator. (Accessed in 2012) URL: www.mirabilisdesign.com
Wiegand T, Sullivan GJ, Bjontegaard G, Luthra A (2003) Overview of the H.264/AVC Video Coding Standard. In IEEE Transactions on Circuits and Systems for Video Technology
Wolf W (2005) Multimedia applications of multiprocessor systems-on-chips. IEEE DATE’05 Proc
Wolf W, Kandemir M (2003) Memory system optimization of embedded software. Proc IEEE 91(1):165–182
Wu Z, Tokumitsu M, Hatanaka T (2004) The Development of MPEG-4-AVC/H.264, the Next Generation Moving Picture Coding Technology. In Issue 200 Vol.71 No.4, Oki Technical Review
Zhang C, Vahid F, Lysecky R (2004) A self-tuning cache architecture for embedded systems. ACM Trans Embed Comput Syst 3(2):407–425
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Asaduzzaman, A., Gunasekara, G.H. Power and performance analysis of multimedia applications running on low-power devices by cache modeling. Multimed Tools Appl 72, 207–230 (2014). https://doi.org/10.1007/s11042-012-1350-3
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11042-012-1350-3