|

Friday February 18, 2005
ConfAIt:: He creado un nuevo proyecto en javaHispano.net, llamado ConfAIt. Mi
idea es desarrollar un framework para componentes autoconfigurados, que
sean capaces de adaptar su configuración a la carga de trabajo en
tiempo real. Por ejemplo: supongamos que tenemos un pool de hilos.
Básicamente, el pool tendrá un número de Threads en memoria, con una
prioridad determinada, y una cola de Runnables, que serán ejecutados en
orden fifo a medida que vayan quedando hilos libres.
Pues bien, lo ideal sería que el número de hilos en reserva, así como
su prioridad, pudiera cambiar en tiempo de ejecución para adaptarse a
la demanda, definida por el número de tareas que hay esperando en un
momento particular, el tiempo medio de espera de las tareas, la memoria
libre en la máquina virtual, etc... Eso es lo que hace ConfAIt: proporciona un marco de trabajo para definir componentes que se configuren solos en tiempo de ejecución.
La implementación actual utiliza un algoritmo genético para resolver el
problema de encontrar la configuración "óptima" del componente en cada
momento, y se deja al componente la responsabilidad de enumerar los
cambios posibles en la configuración, y la función de idoneidad que
evalúa cada conjunto propuesto de cambios.
Creo que la idea es interesante, y puede dar bastante juego, por
ejemplo para servidores de aplicaciones, colas de mensajería, pools de
todo tipo... y además es un campo divertido en el que desarrollar. Si
te animas a echarme una mano ya sabes dónde encontrarme.
(2005-02-18 12:58:46.0)
Permalink
|