así que aquí está mi problema:algoritmos de balanceo de carga y programación
Tengo varios servidores de configuración diferentes. Tengo diferentes cálculos (trabajos); Puedo predecir cuánto tiempo tardará cada trabajo aproximadamente en caclularse. Además, tengo prioridades. Mi pregunta es cómo mantener todas las máquinas cargadas al 99-100% y programar las tareas de la mejor manera.
Cada máquina puede hacer varios cálculos a la vez. Los trabajos se envían a la máquina. La máquina central conoce la carga actual de cada máquina. Además, me gustaría asignar aquí algún tipo de aprendizaje automático, porque sabré estadísticas de cada trabajo (iniciado, finalizado, carga de la CPU, etc.).
¿Cómo puedo distribuir trabajos (cálculos) de la mejor manera posible, teniendo en cuenta las prioridades?
¿Alguna sugerencia, idea o algoritmo?
FYI: Mi plataforma .NET.
¿Qué exatly aquí está relacionado con .NET? No veo nada, desde un punto de selección de algo, que realmente dependa de ninguna manera del uso de .NET. Los algoritmos, por definición, son independientes del idioma. – TomTom
No importa si algo está en .NET o no :) Acabo de mencionar que estoy trabajando con .NET, así que tal vez ya haya algunas funcionalidades en el framework :) –
@Lukas Me enfrento a un problema similar problema en este momento. ¿Alguna vez encontró una buena solución? –