Я бы взглянул на проект высокопроизводительных вычислений Condor . Он поддерживает клиенты и серверы Windows (и Linux, и OSX), обрабатывает сложные зависимости между задачами с помощью DAGman и может приостанавливать (и даже перемещать) задачи. У меня есть опыт работы с системами на базе Condor, которые масштабируются до тысяч машин в университетских городках.
Вы смотрели Беовульф ? Множество дистрибутивов на выбор и множество вариантов настройки. Вы должны быть в состоянии найти что-то, что удовлетворит ваши потребности ...
Platform LSF сделает все, что вам нужно. Он работает под управлением Windows. Она является коммерческой, и ее можно приобрести с поддержкой.
Да. 1. Имеется выделенный управляющий компьютерный узел и до 100 вычислительных узлов. Кластер должен быть легко расширяемым.
Да 2. Он построен на основе концепции "работа-задача". Одно задание может иметь от одной до 100 000 задач.
Да 3. Задание, инициированное пользователем на узле менеджера, приводит к созданию заданий на вычислительном узле.
Да 4. Задания создают другие задания на лету.
Да 5. Некоторые задачи могут выполняться в течение нескольких минут, в то время как другие могут занять много часов.
Да 6. Задачи выполняются в соответствии с иерархией зависимостей, которая может обновляться на лету.
Да 7. Работа может быть приостановлена и возобновлена позже.
Да 8. Каждое задание требует определенных ресурсов в виде процессора (ядер), памяти и места на локальном жестком диске. Менеджер должен знать об этом при планировании заданий.
Да 9. Задачи сообщают менеджеру о своем прогрессе и результатах.
Да 10. Менеджер знает, жива ли задача или зависла.
Я бы порекомендовал Беовульфа, потому что Беовульф ведет себя больше как одна машина, чем как множество рабочих станций.
попробуйте увеличить сетку . Это должно упростить добавление узлов во время выполнения, и вы можете контролировать / управлять кластером с помощью интерфейсов jmx
Если вы не против разместить свой проект в облаке, вы можете взглянуть на Windows Azure / Appfabric . AFAIK это позволяет вам распределять ваши задания через рабочие процессы, и вы можете динамически добавлять больше рабочих машин для обработки ваших заданий по мере увеличения нагрузки.
Вы исследовали SunGrid Engine ? Прошло много времени с тех пор, как я использовал его, и я никогда не использовал его в полной мере, но это мое понимание.
` 10. Менеджер знает, жива задача или зависла. да