Olcoz Herrero, KatzalinAtienza Alonso, DavidTirado Fernández, FranciscoVelasco Cabo, José Manuel2023-06-202023-06-202010-11-12978-84-693-7807-6https://hdl.handle.net/20.500.14352/47448Tesis de la Universidad Complutense de Madrid, Facultad de Informática, Departamento de Arquitectura de Computadores y Automática, leída el 19-04-2010En este trabajo presentamos varias técnicas para mejorar el rendimiento y, al mismo tiempo, reducir del consumo de potencia del gestor automático de memoria dinámica de la máquina virtual de Java, habitualmente conocido como recolector de basura. Como punto de partida, en esta tesis se realiza un exhaustivo análisis de la influencia de la recolección de basura en el rendimiento de la máquina virtual de Java y en el consumo de potencia de ésta dentro de una jerarquía de memoria típica de los actuales sistemas empotrados, así como de la interacción de las distintas estrategias de recolección con el hardware subyacente. Como veremos en nuestros resultados experimentales, dentro de las distintas tareas encargadas a la máquina virtual de Java, la recolección de basura puede llegar a ser, en el contexto de los sistemas empotrados, el factor predominante en cuanto a consumo de energía y rendimiento se refiere. Este estudio culmina con la descripción de un completo espacio de diseñoo que nos proporciona las mejores configuraciones de la jerarquía de memoria para cada estrategia de recolección dentro de la dicotomía rendimiento-consumo de energía. Sobre esas configuraciones idóneas aplicaremos a continuación nuestras propuestas de optimización. Nuestras técnicas incluyen mejoras a nivel algorítmico por un lado, y por otro buscan aprovechar el comportamiento inherente y predecible de las distintas estrategias de recolección para propiciar una interacción fructífera entre la máquina virtual y la jerarquía de memoria, que produzca sustanciales reducciones en el consumo energético y en el tiempo empleado en la recolección de basura.spaOptimización de la gestión de memoria dinámica en Javadoctoral thesisopen access004.332.33(043.2)004.438Java(043.2)Memorias(ordenadores)JavaLenguajes de programaciónLenguajes de programación1203.23 Lenguajes de Programación