z-logo
open-access-imgOpen Access
MEMTRACE: A Memory, Performance and Energy Profiler Targeting RISC-Based Embedded Systems for Data-Intensive Applications
Author(s) -
Heiko Hübert
Publication year - 2009
Publication title -
depositonce
Language(s) - English
Resource type - Dissertations/theses
DOI - 10.14279/depositonce-2175
Subject(s) - computer science , embedded system , computer architecture , operating system
The design of embedded hardware/software systems is often subject to strict requirements concerning various aspects, including real time performance, energy consumption and die area. Especially for data-intensive applications, such as multimedia systems, the number of memory accesses is a dominant factor for these aspects. In order to meet the requirements and design a well-adapted system, it is necessary both to optimize the software and to design an adequate hardware architecture. For complex applications, this design space exploration can be difficult and requires in-depth analysis of the application and its implementation alternatives. This calls for profiling tools, which aid the designer in the design, optimization and scheduling of hardware and software. Numerous tools exist for this purpose, and performance profiling solutions especially have been available for decades. Memory and energy profiling for embedded systems have become major issues within the last 10 years. However, the existing tools either cover only parts of the required profiling results or the statistics are not at the required level of detail. Some of the tools provide results only for the entire application and not at a source-code function level. This restricts the optimization potential, as the cause of a performance loss cannot be localized. Other tools suffer from a restricted level of accuracy. Results are based on generic processor architectures or taken with a low sample rate, or the tools apply source code instrumentation. Available profiling mechanisms with high accuracy suffer from long simulation times. This makes a comprehensive system analysis unfeasible. This work presents a novel profiling methodology, which combines fast, accurate and comprehensive profiling in order to overcome the restrictions of the aforementioned techniques. The work describes the developed technique and its implementation as the MEMTRACE profiling tool. The trade-off between a decent simulation time and a sufficient level of accuracy is reached by using a tracing-based profiling approach that applies cycle-accurate simulators. In order to target a broad range of processors, a well-defined interface is established for interconnection with the processor simulator. Thus any cycle-accurate model can be used, as long as it provides access to basic runtime information such as the program counter, cycle counter and memory busses. The profiler is independent of the application’s source code, which leads to higher accuracy as compared to instrumentation-based tools. METRACE delivers cycle-accurate profiling results on a C function or even source code line level. The results include clock cycles, various memory access statistics and energy consumption estimates for embedded RISC-based processors. In addition to these results, the tool generates numerous statistics tailored to the specific optimization techniques that have been developed in this work. A focus is placed on memory access optimization, since for dataintensive applications, this aspect offers a high potential for increasing system efficiency. Additionally to software analysis, the profiler supports an examination of bus-based systems, for example those composed of a processor, memory devices and coprocessors. For this purpose the coprocessors are represented by abstract but cycle-accurate models and MEMTRACE has been extended by detailed bus analysis features. An instruction-accurate power consumption model has been developed for a sample processor and incorporated into the profiler for energy estimation. Two case studies are presented, which show how the applicability of the profiler and the optimization techniques has been proven in the design of hardware/software systems for data-intensive applications.

The content you want is available to Zendy users.

Already have an account? Click here to sign in.
Having issues? You can contact us here
Accelerating Research

Address

John Eccles House
Robert Robinson Avenue,
Oxford Science Park, Oxford
OX4 4GP, United Kingdom