Программное обеспечение для использования свободных рабочих станций в сети

Я работаю в компании, которая поддерживает сеть из примерно 200 рабочих станций Windows XP, и некоторые из них включены (заблокированы или вышли из системы) с незанятым процессором и 2 ГБ оперативной памяти, которая просто находится там. Я полагаю, что многие компании находятся в подобной ситуации, и я хочу знать, есть ли программное обеспечение, которое может использовать эти простаивающие машины?

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

  • работает на каждой машине
  • принимает команды пакетной обработки
  • запускает их с низким приоритетом ресурсов

Такое программное обеспечение уже существует? Я не мог ничего найти там, и, возможно, есть причина для этого, но для меня это звучит как отличная идея.

7 ответов

Решение

Конечно. Вы говорите о кластеризации.

К сожалению, вы будете немного ограничены Windows XP. На самом деле он не предназначен для такого рода вещей (когда я кластеризируюсь с XP, я использую XP в качестве терминальной сессии на рабочем столе linux, это обеспечивает гораздо большую гибкость).

Тем не менее, есть программное обеспечение там. Проверьте BOINC, у него есть большой потенциал для того, о чем вы говорите, и он работает на все. (Я упоминал, что это бесплатно? Нет? Это бесплатно.)

Кондор - один из старейших, кого я знаю. Работает с Unix и Windows хостами

Вы должны проверить GridGain

http://www.gridgain.com/

Сначала я подумал, что вы ищете для распределенного доступа к Интернету или Folding @ home.

Поскольку вы смотрите на запуск своего собственного программного обеспечения, вы можете запустить его при включении заставки. Это обеспечит его работу только в режиме ожидания компьютера. Вы можете использовать System ScreenSaver (15 долларов) или Runsaver (бесплатно). После этого вам нужно будет обработать код, который запускается - поскольку он размещен в сети, вы можете настроить все клиенты для запуска одного и того же исполняемого файла, а затем обработать, как обрабатываются данные, что произойдет, если хранитель экрана прерывается и т. д.

Если ваша компания не занимается какими-то очень специфическими проблемами распределенных вычислений, лучше всего просто выключить машины. Это не только сэкономит деньги вашей компании, но и поможет окружающей среде. Хотя вы можете распределить рабочую нагрузку по многим машинам, только определенные проблемы поддерживают тривиальное распараллеливание, и на этом количестве машин вы, скорее всего, столкнетесь с проблемами синхронизации с общими ресурсами (т. Е. Подключенными сетевыми дисками) для всех, кроме самых простых автономных распределенных программ.

При этом, если вы все еще хотите пойти по этому пути и получить что-то, что можно разбить на отдельные элементы, Boinc - отличный выбор, как отмечалось выше.

Похоже, идеальная работа для Grid Engine.

Другие вопросы по тегам