Разгоняем VirtualDUB

21 апреля 2009, вторник 16:50
Для многих параллельные вычисления представляются сферой для научных лабараторий, и чемто жутко сложным.
Но как это ни странно параллельные вычисления доступны каждому, достаточно иметь в арсенале два и более компьютеров.
Мы рассмотрим пример организации простой вычислительной системы.
Построенной по принципу раздачи заданий.

Исходная задача:
Имеется 5 персональных компьютеров, довольно разных по мощности, обьединенных в сеть.
На каждом компьютере обязательно должен быть установлен одинаковый набор кодэков, одинаковая версия VirtualDub, с одинаковым набором фильтров (плагинов), воизбежание проблем.
Имеется 56 видео файлов (видео без звука 420х360, 5кадров/с) общей длительностью 40320часов.

Сжатие видео удобно выполнять программой VirtualDub. В ней имеется механизм раздачи заданий основным условием чтобы всё работало это чтобы файлы, включая файл заданий, и то место куда будут складываться файлы, были в доступном всем компьютерам сетевом ресурсе (обычная расшаренная папка). Тоесть создавая задание, файлы необходимо открывать и сохранять через сетевое окружение и только так. Зачем это нужно, в файле заданий прописывается путь к файлу наподобии \\server\video\test.avi, тогда любой компьютер сможет получить доступ к этому файлу.

Как создавать задание, необходимо при сохранении файла поставить галочку “don't run this job now...”


Далее полученный список заданий можно посмотреть нажав F4 или выбрав в меню, см. рисунок.

Мы увидим следующую картину, заполненный лист с заданиями.

Далее нам необходимо сохранить этот список в папку доступную для всех компьютеров.

(Примечание: доступ на запись в должен быть разрешен)

Теперь самое интересное, мы готовы начать раздачу заданий и обработку видео.
Необходимо на каждом из компьютеров, запустить виртуалдаб, открыть окно заданий по F4, и выбрать File → Use shared job list... и указать на файл который мы сохранили на предыдущем шаге.

Далее в этом же окне жмем кнопку Start, и наблюдаем как в листе заданий напротив файла появляется имя компьютера взявшего этот файл на обработку.

Если в списке появляется Error, это значит что данный компьютер несмог выполнить задание из-за ошибки, например, несмог открыть файл, или нет кодека который был указан в звдании, или несмог получить доступ к папке назначения куда соханять файл, или нет фильтра которым обрабатывается файл.

Подведем итоги.
Мы получили систему которая дает прирост приблизительно в 5 раз.
Если проводить обработку на одной машеине то потребовалось бы 2.5 суток, а наша вычислительная система справилась всего за 12 часов.
Оценитe материал

Возможно вас заинтересует

Популярные новости

Сейчас обсуждают