Исходные данные:
- Есть большой (от 1000 ядер) детерменировано гетерогенный (вычислительные блоки разные) кластер.
- Есть пользователи (от 100 до 500) которые ставят вычислительные задачи.
- Задачи — тяжелые вычисления (без работы с БД, и т.п.), которые:
- очень хорошо параллелятся;
- их длительность недетерминирована (от нескольких секунд, до часов);
- задание можно прерывать/перезапускать в любой момент времени.
- Должны быть реализованы приоритеты задач по одному из подходов:
- каждая задача может иметь приоритет (например от 1 — высший до 10 — низший) — в данном случае пользователь задает приоритет своей задаче;
- каждый пользователь может иметь приоритет – в данном случае администратор определяет приоритет пользователя, а задачи одного пользователя выполняются в порядке их постановки в очередь заданий (т.е. от каждого пользователя одновременно выполняется только 1 задача);
- смешанный подход – комбинация предыдущих.
Требуется подобрать подходящую математическую модель для эффективного использования кластера — с минимизацией времени простоя узлов. Интересует также наличие готовой реализации.