martes, febrero 26, 2008

Preload: Aprovechando RAM para cargar más rápido las aplicaciones

vía Osnews). Siempre recuerdo un dicho de la gente de Sun: memoria que no se esté usando, es memoria desaprovechada. Solaris intentaba usar toda la memoria disponible para usos internos (cachés por ejemplo), liberándola en caso de que los programas la necesiten.

Posteriormente empezaron a aparecer técnicas de precarga, que buscaban analizar los patrones de carga de las aplicaciones y ver cuales son las que más se utilizan, para adelantarse a las acciones del usuario. Se busca acelerar el tiempo de carga de las aplicaciones para que el usuario tenga una sensación de inmediatez (ver las mejoras del kernel de Windows XP, concretamente el prefetcher). Con esta idea, nace preload, un deamon que escrito por Behdad Esfahbod,desarrollador de Redhat. An Adaptative Prefetching Daemon donde Behdad Esfahbod describe como implementa estos mecanismos, y es su tesis doctoral.

La idea es implementar un sistema de recogida de datos, que en cada ciclo recoge información sobre qué procesos están corriendo en el sistema, así como qué ficheros usan los mismos. Luego se tiene un predictor, que usa el modelo que se ha ido entrenando, junto con las aplicaciones que se están ejecutando actualmente, para asignar una probabilidad a las que no están corriendo. en función de esas probabilidades calculadas, el sistema cargará aquellos ficheros pertenecientes a las aplicaciones cuya probabilidad de ejecutarse sea mayor. Todo el modelado se realiza a través de Cadenas de Markov.

Puede verse este artículo donde comentan como usar preload en Ubunto y cuales son los parámetros de configuración del daemon.

1 comentario:

Anónimo dijo...

Curisoso, sale tambien la linux journal de este mes una pequeña reseña ;)