José L. Risco-Martín, David Atienza, J. Manuel Colmenar, Oscar Garnica
{"title":"A parallel evolutionary algorithm to optimize dynamic memory managers in embedded systems","authors":"José L. Risco-Martín, David Atienza, J. Manuel Colmenar, Oscar Garnica","doi":"arxiv-2407.09555","DOIUrl":null,"url":null,"abstract":"For the last thirty years, several Dynamic Memory Managers (DMMs) have been\nproposed. Such DMMs include first fit, best fit, segregated fit and buddy\nsystems. Since the performance, memory usage and energy consumption of each DMM\ndiffers, software engineers often face difficult choices in selecting the most\nsuitable approach for their applications. This issue has special impact in the\nfield of portable consumer embedded systems, that must execute a limited amount\nof multimedia applications (e.g., 3D games, video players and signal processing\nsoftware, etc.), demanding high performance and extensive memory usage at a low\nenergy consumption. Recently, we have developed a novel methodology based on\ngenetic programming to automatically design custom DMMs, optimizing\nperformance, memory usage and energy consumption. However, although this\nprocess is automatic and faster than state-of-the-art optimizations, it demands\nintensive computation, resulting in a time consuming process. Thus, parallel\nprocessing can be very useful to enable to explore more solutions spending the\nsame time, as well as to implement new algorithms. In this paper we present a\nnovel parallel evolutionary algorithm for DMMs optimization in embedded\nsystems, based on the Discrete Event Specification (DEVS) formalism over a\nService Oriented Architecture (SOA) framework. Parallelism significantly\nimproves the performance of the sequential exploration algorithm. On the one\nhand, when the number of generations are the same in both approaches, our\nparallel optimization framework is able to reach a speed-up of 86.40x when\ncompared with other state-of-the-art approaches. On the other, it improves the\nglobal quality (i.e., level of performance, low memory usage and low energy\nconsumption) of the final DMM obtained in a 36.36% with respect to two\nwell-known general-purpose DMMs and two state-of-the-art optimization\nmethodologies.","PeriodicalId":501333,"journal":{"name":"arXiv - CS - Operating Systems","volume":"40 1","pages":""},"PeriodicalIF":0.0000,"publicationDate":"2024-06-28","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"arXiv - CS - Operating Systems","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/arxiv-2407.09555","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0
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.