Un truco probabilístico para balanceadores de carga
Tienes N servidores y un balanceador de carga. Las peticiones de trabajo llegan al balanceador y este las enruta hacia un servidor que se encarga de procesarlas. El objetivo del balanceador es tratar de conseguir un reparto más o menos uniforme de las tareas para que ningún servidor esté sobrecargado mientras otros permanecen ociosos. En términos probabilísticos, tratar de obtener una distribución uniforme (de la carga de trabajo).
Un mecanismo rudimentario de balanceo que parece que se usa por ahí es asignar las tareas al azar. Es simple y es en el fondo como muestreamos la distribución uniforme. Pero no todas las distribuciones uniformes son iguales. Por muchos motivos, son interesantes versiones de la distribución uniforme más uniformes; para convencerse de ello uno puede leer lo que Wikipedia cuenta sobre las sucesiones de Sobol o aquí sobre los ruidos azules. Con los balanceadores de carga pasa lo mismo. Así, al parecer, debe de ser una gran innovación hacer lo siguiente: