Menu Close

A methodology to automatically optimize dynamic memory managers applying grammatical evolution

Authors

José L. Risco Martín, J. Manuel Colmenar, J.Ignacio Hidalgo, Juan Lanchares, Josefa Díaz

Journal Paper

https://doi.org/10.1016/j.jss.2013.12.044

Publisher URL

https://www.sciencedirect.com/

Publication date

May 2014

Modern consumer devices must execute multimedia applications that exhibit high resource utilization. In order to efficiently execute these applications, the dynamic memory subsystem needs to be optimized. This complex task can be tackled in two complementary ways: optimizing the application source code or designing custom dynamic memory management mechanisms. Currently, the first approach has been well established, and several automatic methodologies have been proposed. Regarding the second approach, software engineers often write custom dynamic memory managers from scratch, which is a difficult and error-prone work. This paper presents a novel way to automatically generate custom dynamic memory managers optimizing both performance and memory usage of the target application. The design space is pruned using grammatical evolution converging to the best dynamic memory manager implementation for the target application. Our methodology achieves important improvements (62.55% and 30.62% better on average in performance and memory usage, respectively) when its results are compared to five different general-purpose dynamic memory managers.