Publication:
Optimization of dymamic memory managers in high performance embedded systems using grammatical evolution

Loading...
Thumbnail Image
Official URL
Full text at PDC
Publication Date
2009
Advisors (or tutors)
Editors
Journal Title
Journal ISSN
Volume Title
Publisher
Citations
Google Scholar
Research Projects
Organizational Units
Journal Issue
Abstract
RESUMEN Los sistemas empotrados son pequeños dispositivos electrónicos con una o varias funciones dedicadas y que se encuentran integrados en un dispositivo más general. Hoy en día vivimos rodeados de este tipo de sistemas aunque en ocasiones no nos percatemos de ello porque forman parte de nuestra vida cotidiana (un coche suele incluir más de 200). Este trabajo se centra en los sistemas empotrados de altas prestaciones (móviles de última generación, pda’s, reproductores portátiles, etc.). Estos dispositivos tienen que hacer frente a una serie de restricciones que anteriormente no eran un problema. Es necesario un alto rendimiento (para satisfacer las necesidades del usuario), a la vez que un consumo reducido de energía (para alargar la duración de las baterías) y un uso moderado de memoria (para abaratar el coste del dispositivo final). Los sistemas empotrados de altas prestaciones son de naturaleza dinámica y tienen un alto grado de impredecibilidad. Para hacer frente a estas características, los sistemas se dotan de un mecanismo que gestiona los accesos a la memoria, el llamado gestor de memoria dinámica. En este trabajo se plantea un innovador flujo de diseño para diseñar gestores de memoria dinámica optimizados para el sistema en estudio. A partir de un estudio del perfil de las ejecuciones típicas del dispositivo, de forma automática y sin apenas intervención por parte del diseñador se crea un gestor para la memoria dinámica que optimiza la energía consumida, el rendimiento del sistema y el uso de memoria del mismo. Para la optimización se utilizan algoritmos de gramática evolutiva. Nuestros resultados experimentales muestran que se consigue una reducción del consumo de energía de hasta un 70%, una reducción de la memoria usada de hasta un 20% y un aumento del rendimiento de hasta un 56% en comparación con sistemas de propósito general utilizados en este tipo de sistemas. Estos resultados se consiguen reduciendo el tiempo necesario para diseñar el gestor hasta 25 veces respecto del tiempo necesario para el diseño de gestores en anteriores metodologías. Todo el sistema desarrollado es paralelizable, pudiendo reducir aún más el tiempo de cómputo (hasta en un 25% más). Finalmente se ha realizado un estudio sobre la posibilidad de añadir fiabilidad al sistema haciendo uso del gestor de memoria, concluyendo que con las metodologías planteadas se puede reducir la probabilidad de fallos en memoria, a la vez que se mantienen o incluso mejoran las principales métricas para los sistemas empotrados. [ABSTRACT] The embedded systems are specialized computer systems that are part of a larger system or machine. They are deployed by the billions each year in myriad applications and we can find it everywhere (a car usually has more than 200 embedded systems). This research work is focused in the high performance embedded systems (mobile phones, pda’s, multimedia players, etc.) that in the last years had became to be widely used in our lives. The design of these systems is difficult because they must meet some constraints, mainly in performance (to offer a quick response to the user), in energy consumption (because of the battery) and in the final memory used (to reduce the final costs of the system). The main problem of these systems is the dynamic nature and the unpredictability of the inputs, due to the high user interaction. These features make necessary the addition of extra mechanisms that manage the unpredictable memory accesses. These mechanisms are the dynamic memory managers. Usually adaptations of general purpose dynamic memory managers or ad-hoc dynamic memory managers have been used in the embedded systems, but or they do not meet all the constraints aforementioned or they require a really long design process. We present a new and innovative design flow in this research work. It automatically, i.e. without designer interaction, and in a fast way creates a dynamic memory manager that optimizes the system in energy consumption, in performance and in memory usage. To this end we use a profile of the typical applications run in the device and grammatical evolutionary optimization algorithms. Our experimental results show that using our methodologies it is possible to obtain improvements in performance of 56%, reductions in memory used of 20% and reductions in energy consumption of 70% in contrast to general purpose approaches. Furthermore, the computational design time necessary is 25 times less than previous methodologies. Since the system is suitable to be parallelized, it is possible to reduce still more the time needed to design dynamic memory managers (in a 25% less time). Finally we have done an analysis to add reliability to the final system using the dynamic memory managers. The conclusions obtained are that it is possible to reduce the probability of errors in memory maintaining or even improving the main metrics, performance, energy consumption and memory usage.
Description
Máster en Investigación en Informática, Facultad de Informática, Departamento de Arquitectura de Computadores y Automática, curso 2008-2009
UCM subjects
Unesco subjects
Keywords
Citation