Данный пост является размышлением на тему максимально эффективного использования простаивающих ресурсов корпоративной сети.

Приведу следующий пример сети среднего современного предприятия.

Дано:
Корпоративная сеть состоящая из 150 и более машин.
Каждая рабочая станция имеет «под капотом» процессор с несколькими ядрами, 2 — 4 Гб DDRIII, винчестером SATAIII и Gigabit Ethernet адаптером (такая конфигурация нас уже не удивляет и является стандартом для офисного компьютера. Прогресс на месте не стоит и уже сейчас, даже при большом желании, покупка ПК с более скромными характеристиками является экономически нецелесообразной).
Сеть Gigabit Ethernet. Тут могут быть возражения. Многие работают на старой доброй 5 категории для которой адекватный потолок — 100Мбит/с. Но опять же, новые сети уже чаще и чаще строят под 1000Мбит/с.
«Винегрет» из программного обеспечения.
Локальное ПО: почтовый клиент, текстовые и табличные редакторы.
Клиент-серверные: банк-клиенты, софт для отчетности, управленческого и бухгалтерского учета.
Веб-софт: системы документооборота, порталы и т.п.

Чтобы не быть голословным, я решил промониторить потребление ресурсов CPU и RAM на рабочих станциях своей организации. Средний процент использования ресурсов рабочих станций в течении дня очень редко превышает 25-30%. Это связано с простоями во время набора данных пользователем, просмотром документов, чтением информации с экрана, распечаткой, перекурами и перерывами. Также это связано с тем, что веб-ориентированный софт и облачные сервисы потребляют крайне мало ресурсов клиентской части.



Мысль:
Объединить ресурсы простаивающих и слабоактивных рабочих станций и задействовать их для решения необходимых вычислительных задач. Желательно без ущерба КПД рабочих станций пользователей.

Теперь, собственно, размышления:
Теоретически, у нас есть корпоративный кластер. Он состоит из всех машин в сети предприятия и использует их производительность согласно установленной квоте. Квота может устанавливаться на базе аназиза данных о средней загруженности системы в течении дня/недели/месяца… Затем квота может корректироваться «на лету» если показатель средней загруженности изменится.



Уязвимым местом всех параллельных вычислительных систем является канал связи между узлами (латентность при обработке и распараллеливании задачи между узлами а также накладные расходы на синхронизацию). Но на данный момент, повторюсь, всё больше и больше корпоративных сетей работают со скоростью 1Гбит/сек, и это не может не радовать.

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

После того, как я спросил у Гугла занимался ли кто-нибудь этой проблемой и ничего не нашел, я решил написать об этом в Хабре. Давайте, товарищи, обсудим есть ли смысл развивать это направление или нет.