Диспетчеры сетевых вычислений.

Render Farm Manager - дословно - "менеджер фермы"

main

Рендер ферма - компьютеры в сети, способные решать задачи.


Диспетчеры сетевых вычислений ещё называют менеджерами рендер фермы - это дословный перевод Render Farm Manager. Сетевыми вычислениями обычно называют вычисления, считающиеся одновременно на нескольких компьютерах, находящихся в сети.

Многим же во время работы за компьютером приходилось выходить "покурить", потому что вашей вам надо что-то посчитать, и компьютер настолько сильно загружен, что на нём уже не комфортно или даже не возможно работать. Не всем нравится такое положение дел, мир давно куда-то спешит, и мы вынужденны как-то приспосабливаться. Удобно для вычислений использовать компьютеры, за которыми никто не работает. А заодно у них может не быть мониторов, клавиатур, и занимают они меньше места. Такие компьютеры соединяют в сеть и подключают к серверу - это и называют рендер фермой.

Фермы бывают разные, от нескольких старых компьютеров, которых ещё жалко выкидывать, до шумных прохладных комнат, забитыми "блейдами". Но кто-то должен ими управлять, иначе компьютеры будут зря греть воздух, что не всегда нужно.

Многие из нас начинали с того, что сами управляли дополнительными компьютерами (некоторые так делают и по сей день, т.к. существует ряд задач, для которых это подходит). Мы бегали от машины к машине, сами запускали рабочие программы, открывали нужные сцены и ставили на "рендер" разные кадры на разных компьютерах. Со временем наловчились писать простейшие cmd-скрипты (так называемые "батники") и возможно даже запускать их удалённо (иногда банально прося соседа перед уходом кликнуть ссылочку). Но простейший software-диспетчер, которого мне приходилось видеть, был лучше homo-диспетчера. Так как у человека низкая масштабируемость. Для нескольких компьютеров мы ещё можем всё удержать в голове, где что надо запустить, где что уже запущено. С 10-ю машинами мы уже врятли нормально справимся, что-нибудь да перепутаем. Да и вообще можем устать, заболеть или напиться с горя или от счастья. В общем не наше это дело за циферками следить. И для этого люди начали писать специальные программы.

Такую программу и называют диспетчером сетевых вычислений. На сервере запускают сервер-программу, на других (управляемых) компьютерах, запускают клиентскую часть диспетчера. Главная программа на сервере "управляет" клиентами (или рендер-нодами), а они, в свою очередь, управляют компьютером, на котором запущены. Сервер говорит клиентам выполнять ту или иную команду, и следить за ходом её выполнения, присылать результаты. Так клиент запускает, например, Nuke, просит его открыть определённую сцену и посчитать определённые кадры (или один кадр).

Вот про такие программы я и хочу вам рассказать. Попытаюсь выделить некоторые важные признаки и классифицировать их, проведу сравнения. А так же немного расскажу про эволюцию самих ферм.

CGRU