Abstract. In current multimedia applications like 3D graphical processing or games, the run-time memory management support has to allow real-time memory de/allocation, retrieving and data processing. The implementations of these algorithms for embedded platforms require high speed, low power and large data storage capacity. Due to the large hardware/software co-design space, high-level implementation cost estimates are required to avoid expensive design modifications late in the implementation. In this paper, we present an approach designed to do that. Based on memory accesses, normalised memory usage 1 and power estimates, the algorithm code is refined. Furthermore, optimal implementations for the dynamic data types involved can be selected with a considerable power contribution reduction.
In multimedia applications, run-time memory management support has to allow real-time memory de/allocation, retrieving and processing of data. Thus, its implementation must be designed to combine high speed, low power, large data storage capacity and a high memory bandwidth. In this paper, we assess the performance of our new system-level exploration methodology to optimise the memory management of typical multimedia applications in an extensively used 3D reconstruction image system [1, 2]. This methodology is based on an analysis of the number of memory accesses, normalised memory footprint 1 and energy estimations for the system studied. This results in an improvement of normalised memory footprint up to 44.2% and the estimated energy dissipation up to 22.6% over conventional static memory implementations in an optimised version of the driver application. Finally, our final version is able to scale perfectly the memory consumed in the system for a wide range of input parameters whereas the statically optimised version is unable to do this.
Abstract-Portable consumer devices are increasing more and more their capabilities and can now implement new multimedia algorithms that were resewed only for powerful workstations few years ago. Unfortunately, the original design characteristics of such algorithms do not often allow to port them directly to current embedded devices. These algorithms share complex and intensive dynamic memory use and actual embedded systems cannot provide efficient general-purpose memory management as it is needed. As a result, dynamic memory optimizations are a requirement when porting these applications. Within these optimizations, the refinement of the dynamically (de)allocated abstract data type implementations in the complex multimedia applications involved is one of the most important and difficult parts for an efficient mapping of the algorithms on low-power and high-speed embedded consumer devices. In this paper, we describe a high-level approach for modeling and refining complex data types wing abstract derived classes in C++. This approach enables the multimedia developer to compose, evaluate and refine complex data types in a conceptually straightforward way, without a time-consuming programming effort.I. INTRODUCTION Multimedia applications have experienced recently a very fast growth in their variety, complexity and functionality. This implies a high demand of memory and performance, which results in high cost and power consumption systems. These new algorithms (e.g. MPEG4) depend, with few exceptions, on Dynamic Memory (DM from now on) for their operations due to the inherent unpredictability of the input data, which heavily influences global performance and memory usage of these systems. In addition, energy has become a real issue in overall system design (both embedded and general-purpose) due to circuit reliability and packaging costs [12]. Thus, optimizations include three goals that cannot he seen independently: memory usage, power consumptions and performance.Since the DM subsystem heavily influences performance and is a very important source of power consumption and memory usage, system-level exploration mechanisms must he available at an early stage of the design flow for embedded systems. Unfortunately, general approaches do not exist presently at this level for the dynamic implementations of the Abstract Data Types (ADTs) involved, which are sets of data values and associated operations that are specified independently of any particular implementation [4]. This definition stresses more on the effects of operations than the language-specific implementation of the ADTs (or data type implementation).In the following, we will focus on the implementation of these dynamically (de)allocated abstract data types (or DDTs for short from now on). When DDTs are used in programs, they can be implemented by the developer in the most naive form (because the developer is more focussed on the algorithm itself) or in a manually optimized implementation where the number of implementation alternatives is defined by the experi...
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.
customersupport@researchsolutions.com
10624 S. Eastern Ave., Ste. A-614
Henderson, NV 89052, USA
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.
Copyright © 2025 scite LLC. All rights reserved.
Made with 💙 for researchers
Part of the Research Solutions Family.