Я реализовал несколько методов балансировки нагрузки для инфраструктуры вычислительных сеток, которые описаны здесь .Описанные здесь подходы более прагматичны, чем теоретические, поэтому они могут не полностью ответить на ваш вопрос, однако они должны принести элемент ответа и, надеюсь, вызвать некоторое вдохновение.
Описанные методы выражаются в терминах «сколькоЗадачи в задании должны быть распределены по заданному вычислительному узлу? », который относительно легко можно перевести в« Какова вероятность назначения задачи / запроса данному узлу / серверу? »
Некоторые из нихметоды эквивалентны статически взвешенному циклическому циклу, другие динамически вычисляют весовые коэффициенты на основе наблюдаемых данных о производительности (с помощью непрерывной обратной связи), используя либо детерминированные вычисления, либо подходы, основанные на методах ИИ, таких как моделируемый отжиг или обучение с подкреплением.