Table of Contents
Fetching ...

A parallel evolutionary algorithm to optimize dynamic memory managers in embedded systems

José L. Risco-Martín, David Atienza, J. Manuel Colmenar, Oscar Garnica

TL;DR

The paper tackles the challenge of optimizing dynamic memory management for embedded multimedia systems by introducing a parallel grammatical-evolutionary (GE) framework that automatically designs custom DMMs. It combines grammatical evolution with a DEVS/SOA-based master–worker parallelization to explore a large space of Atomic Dynamic Memory Managers (ADMs) and evaluates candidates using a fast DMM simulator that measures performance, memory usage, and energy. The approach achieves substantial speedups (up to ~86×) and significant improvements in solution quality (≈36% on average) over state-of-the-art baselines, enabling faster generation of energy-efficient, high-performance memory managers for real-world applications like VDrift and Physics3D. This work demonstrates a scalable design-space exploration method for embedded memory subsystems, with potential impact on how developers optimize DMMs for multimedia and other memory-constrained domains.

Abstract

For the last thirty years, several Dynamic Memory Managers (DMMs) have been proposed. Such DMMs include first fit, best fit, segregated fit and buddy systems. Since the performance, memory usage and energy consumption of each DMM differs, software engineers often face difficult choices in selecting the most suitable approach for their applications. This issue has special impact in the field of portable consumer embedded systems, that must execute a limited amount of multimedia applications (e.g., 3D games, video players and signal processing software, etc.), demanding high performance and extensive memory usage at a low energy consumption. Recently, we have developed a novel methodology based on genetic programming to automatically design custom DMMs, optimizing performance, memory usage and energy consumption. However, although this process is automatic and faster than state-of-the-art optimizations, it demands intensive computation, resulting in a time consuming process. Thus, parallel processing can be very useful to enable to explore more solutions spending the same time, as well as to implement new algorithms. In this paper we present a novel parallel evolutionary algorithm for DMMs optimization in embedded systems, based on the Discrete Event Specification (DEVS) formalism over a Service Oriented Architecture (SOA) framework. Parallelism significantly improves the performance of the sequential exploration algorithm. On the one hand, when the number of generations are the same in both approaches, our parallel optimization framework is able to reach a speed-up of 86.40x when compared with other state-of-the-art approaches. On the other, it improves the global quality (i.e., level of performance, low memory usage and low energy consumption) of the final DMM obtained in a 36.36% with respect to two well-known general-purpose DMMs and two state-of-the-art optimization methodologies.

A parallel evolutionary algorithm to optimize dynamic memory managers in embedded systems

TL;DR

The paper tackles the challenge of optimizing dynamic memory management for embedded multimedia systems by introducing a parallel grammatical-evolutionary (GE) framework that automatically designs custom DMMs. It combines grammatical evolution with a DEVS/SOA-based master–worker parallelization to explore a large space of Atomic Dynamic Memory Managers (ADMs) and evaluates candidates using a fast DMM simulator that measures performance, memory usage, and energy. The approach achieves substantial speedups (up to ~86×) and significant improvements in solution quality (≈36% on average) over state-of-the-art baselines, enabling faster generation of energy-efficient, high-performance memory managers for real-world applications like VDrift and Physics3D. This work demonstrates a scalable design-space exploration method for embedded memory subsystems, with potential impact on how developers optimize DMMs for multimedia and other memory-constrained domains.

Abstract

For the last thirty years, several Dynamic Memory Managers (DMMs) have been proposed. Such DMMs include first fit, best fit, segregated fit and buddy systems. Since the performance, memory usage and energy consumption of each DMM differs, software engineers often face difficult choices in selecting the most suitable approach for their applications. This issue has special impact in the field of portable consumer embedded systems, that must execute a limited amount of multimedia applications (e.g., 3D games, video players and signal processing software, etc.), demanding high performance and extensive memory usage at a low energy consumption. Recently, we have developed a novel methodology based on genetic programming to automatically design custom DMMs, optimizing performance, memory usage and energy consumption. However, although this process is automatic and faster than state-of-the-art optimizations, it demands intensive computation, resulting in a time consuming process. Thus, parallel processing can be very useful to enable to explore more solutions spending the same time, as well as to implement new algorithms. In this paper we present a novel parallel evolutionary algorithm for DMMs optimization in embedded systems, based on the Discrete Event Specification (DEVS) formalism over a Service Oriented Architecture (SOA) framework. Parallelism significantly improves the performance of the sequential exploration algorithm. On the one hand, when the number of generations are the same in both approaches, our parallel optimization framework is able to reach a speed-up of 86.40x when compared with other state-of-the-art approaches. On the other, it improves the global quality (i.e., level of performance, low memory usage and low energy consumption) of the final DMM obtained in a 36.36% with respect to two well-known general-purpose DMMs and two state-of-the-art optimization methodologies.
Paper Structure (22 sections, 1 equation, 11 figures, 2 tables, 2 algorithms)

This paper contains 22 sections, 1 equation, 11 figures, 2 tables, 2 algorithms.

Figures (11)

  • Figure 1: Dynamic memory management search space of corthogonal decisions.
  • Figure 2: Illustrative grammar describing a set of DMM implementations.
  • Figure 3: A GE individual's genome.
  • Figure 4: DMM generation and evaluation process.
  • Figure 5: DMMs optimization flow. In the first phase, we generate an initial profiling of the de/allocation pattern. In the second phase, we automatically analyze the profiling report and provide the hardware parameters of the target embedded system to generate the final grammar. Finally, in the third phase an exploration of the design space of DMMs implementation is performed using GE.
  • ...and 6 more figures