2012-05-04 3 views
0

Мы разрабатываем систему для обработки различных заданий с использованием пула бэкэнд-серверов. Я ищу алгоритм, который позволит распределять ресурсы для входящих запросов на работу.Алгоритм планирования ресурсов для размещения специальных рабочих мест

Список или расписание вакансий неизвестно заранее. Таким образом, распределение ресурсов для рабочих мест должно выполняться по мере поступления запроса на работу, я не могу сделать полный план для всех заданий заранее. Также разные задания будут иметь разные приоритеты. Чтобы усугубить материю, точное время выполнения задания также неизвестно заранее.

Мы разработали несколько инструментов, которые будут предоставлять каждую информацию о производительности/нагрузке каждого сервера для моего планировщика. Таким образом, эта информация может использоваться для целей планирования.

Теперь, основываясь на этих требованиях и ограничениях, может ли кто-нибудь указать мне на любой алгоритм, который может быть полезен для разработки механизма планирования для таких динамических/специальных рабочих мест?

+0

Если вы ничего не знаете заранее, вы можете использовать только эвристику. Что вы хотите оптимизировать? – Thomash

ответ

0

К счастью, я не смог найти ни одной серебряной пули для моей проблемы, ни один алгоритм не смог решить проблему выделения ресурсов. Таким образом, мы использовали простой алгоритм бинарной упаковки с небольшим количеством прогнозов поведения системы, используя данные истории, и пару фоновых потоков, выполняющих балансировку нагрузки на основе текущей нагрузки.

так, чтобы сократить рассказ короткий, никакого алгоритма для распределения ресурсов в самом начале. с помощью поведения истории и текущей балансировки ресурсов нагрузки.

Смежные вопросы