Abstract-The information about the run-time behavior of software applications is crucial for enabling system level optimizations for embedded systems. This embedded Software Metadata information is especially important today, because several complex multi-threaded applications are mapped on the memory of a single embedded system. Each thread is triggered at run-time by different input events that can not be predicted at design-time. New methods and tools are needed to automatically profile and analyze the dynamic data access behavior of simultaneously executing threads in order to enable memory data transfer optimizations. In this paper, we propose such a method and tool which extract the necessary Software Metadata information to enable these data transfer optimizations at the system level. We assess the effectiveness of our approach with the results for five real-life software applications using seven real-life run-time input traces.
The design exploration procedure of DSP systems using simulation tools is a time-consuming process, even for low complexity applications. The main goal of the design methodology introduced in this paper is to provide fast and accurate estimates of the number of (-micro) instructions and the instruction cache miss rate of DSP applications implemented on a programmable embedded platform, during the early design phases. Specific information is extracted from both the high-level code description (C code) of the DSP application considered and its corresponding assembly code, without carrying out any kind of simulation. The proposed methodology requires only a single execution of the application in a general-purpose processor and uses only the assembly code of the targeted embedded processor. In order to automate the estimation procedure, a new software tool, which implements the proposed methodology, has been developed. Using nine real-life applications from different domains of the DSP field, it has been proved that with the proposed methodology the number of instructions and the miss rate of instruction cache can be estimated with high accuracy (>95%). Furthermore, the required time cost is much smaller (orders of magnitude) than the simulation-based approaches.
The modern applications to be implemented in portable devices usually contain complex dynamic data structures. The selection of the dynamic data type (DDT) combination of the application affects the performance and the energy consumption of the memory subsystem. Thus, DDT exploration is used to perform trade-offs between design factors, such as performance and energy consumption. The above trade-offs should be taken into account, when designing the application. Choosing an improper DDT, may have negative impact at the total amount of memory needed to execute the program. Also, it affects the number of total memory accesses, thus taking up valuable resources from the embedded device that can cause performance issues and high energy consumption. Therefore, a systematic exploration that assists the designer to select the optimal data structure implementation for each application given the design constraints is needed. This optimization process is called DDT exploration and is an important part of the tools used to perform efficient Dynamic Memory Management [1] and optimal memory assignment and memory access scheduling. The size of the DDT affects the amount of data transferred, using DMA/DNA, through the interconnect resources and in between the memory hierarchy [4].The work presented here is related to [2], where a DDT exploration methodology, named Matisse profiling tool, was presented. This methodology and the corresponding tool have several limitations, such as low flexibility and limited DDT support that do not allow the implementation of the methodology to applications with complicated dynamic behavior. In this paper, we introduce a DDT exploration methodology based on a new DDT Library tool. Using the new DDT Library, the exploration methodology is enchanted and can be applied in a wide range of application domains.The new Library is designed following a completely different approach compared with the Matisse. It introduces the concept of Abstract Data Types (ADTs), which is an abstraction layer between the application and its data. The ADT layer enables the modular and hierarchical design of the new DDT Library. Additionally, the fact that the Library is designed in a modular way enables its extensibility and supports much more complex DDTs. It also provides a GUI environment for performing the DDT exploration. A *This work was partially supported by MORPHEUS project (IST-4-027342) which is funded by EC. qualitative comparison between Matisse profiling tool and the new Library is presented in Table I.The methodology we introduce is supported by the new TABLE I. MATISSE AND NEW LIBRARY QUALITATIVE COMPARISONLibrary and consists of two steps. The first one is the DDT exploration, where all the selected DDT combinations are evaluated. The second step is the Pareto optimal exploration, where the optimal DDT implementations are selected, according to the design constraints. The new methodology not only extends the range of applications in which DDT exploration can be performed, but can also lead to more efficien...
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
Copyright © 2024 scite LLC. All rights reserved.
Made with 💙 for researchers
Part of the Research Solutions Family.