Optimization methods for the memory allocation problems in embedded systems
Méthodes d'optimisation pour l'allocation mémoire dans les systèmes embarqués
Résumé
Memory allocation in embedded systems is one of the main challenges that electronic designers have to face. This part, rather difficult to handle is often left to the compiler with which automatic rules are applied. Nevertheless, a carefully tailored allocation of data to memory banks may lead to great savings in terms of running time and energy consumption. This thesis addresses various versions of the memory allocation problem. At each version the problem’s difficulty increases, i.e., the number of constraints increases. The number of memory banks, bank capacities, sizes and number of accesses of data structures, and the conflicting data structures at each time interval are the main constrains handled in the memory allocation problems. In this work we present an ILP formulation and some metaheuristics implemented for each problem version. We also assess our metaheuristics with the exact methods and other literature metaheuristics with the aim of highlighting what makes the success of metaheuristics for these problems.
La gestion de la mémoire pour les systèmes embarqués a un impact significatif sur les performances et sur la consommation énergétique de ces systèmes embarqués. Comme l’allocation mémoire n’est pas une tâche simple, elle est souvent laissée au compilateur. Néanmoins, une allocation mémoire soigneusement optimisée peut conduire à des économies substantielles en termes de la durée d’exécution et de consommation d’énergie. Cette thèse présente différentes versions du problème d’allocation mémoire, par difficulté croissante. Le nombre de bancs mémoire, leur capacité, la taille et le nombre d’accès des structures de données et les conflits entre structures de données à chaque intervalle de temps sont les principales contraintes prises en compte dans ces problèmes. Pour chaque version du problème, un programme linéaire en nombres entiers ( PLNE ) est proposé pour la résoudre de manière exacte; ainsi que quelques méta-heuristiques. Ces travaux ambitionnent également d’analyser les modèles et les méthodes proposés, afin de mettre en évidence ce qui fait le succès des méta-heuristiques dans ce domaine.
Loading...