При разработке программного обеспечения часто возникает проблема в настройке среды программирования. Во время написания магистерской работы и прохождения курса по параллельному программированию я обратил внимание, что для большинства начинающих программистов, довольно тяжело сразу настроить систему для программирования на кластере Microsoft Compute Cluster Server 2003 (по большей части это связанно с небольшим опытом юных специалистов). Продолжая данную тему, хочу еще более расширить настройку системы, включив библиотеку компьютерного зрения OpenCV. На основании такой полностью настроенной для разработки среды становится возможным создавать параллельные приложения по обработке видеоизображений на кластере Microsoft Compute Cluster Server 2003. Поговорим обо всех элементах более подробно.
Кластер (в информационных технологиях) — группа серверов (программных или аппаратных), объединённых логически, способных обрабатывать идентичные запросы и использующихся как единый ресурс. Чаще всего серверы группируются посредством локальной сети.
Группа серверов обладает большей надежностью и большей производительностью, чем один сервер.
Windows Compute Cluster Server 2003 — это кластер серверов, который включает один ведущий узел и один или несколько вычислительных узлов. Ведущий узел контролирует доступ ко всем ресурсам кластера, выступает посредником при получении этого доступа и является единственной точкой управления, развертывания и планирования заданий для вычислительного кластера. Windows Compute Cluster Server 2003 использует существующую корпоративную инфра-структуру Active Directory для обеспечения безопасности, управления учетными записями и общего управления операциями с помощью таких средств, как Microsoft Operations Manager 2005 и Microsoft Systems Management Server 2003.
Установка Windows Compute Cluster Server 2003 включает установку операционной системы на ведущем узле, присоединение его к существующему домену Active Directory и установку пакета Compute Cluster Pack. После этого, если планируется автоматическое развертывание вычислительных узлов с помощью служб RIS, в рамках выполнения списка поручений устанав-ливаются и настраиваются службы RIS.
После установки пакета Compute Cluster Pack отображается список поручений, т. е. действий, необходимых для окончательной настройки вычислительного кластера, включая определение топологии сети, настройку служб RIS с помощью соответствующего мастера, добавление вычис-лительных узлов в состав кластера, а также настройку пользователей и администраторов кластера.
Встроенным средством программирования на MS CCS кластере является MS Message Passing Interface (MPI) — один из стандартов разработки приложений HPC.
Для обработки видеоизображений в разрабатываемой программной среде используется библиотека OpenCV. Это библиотека алгоритмов компьютерного зрения, обработки изображений и численных алгоритмов общего назначения.
Основными операциями для вычислений в разрабатываемой системе являются - базовые операции над многомерными числовыми массивами, базовые функции 2D графики, базовые операции над изображениями (фильтрация, геометрические преобразования, преобразование цветовых пространств и др.), анализ изображений (выбор отличительных признаков, морфология, поиск контуров, гистограммы), анализ движения, слежение за объектами, обнаружение объектов.
Для компиляции параллельных программ, работающих в среде MS MPI, необходимо установить SDK (Software Development Kit) – набор интерфейсов и библиотек для вызова MPI-функций:
Настройка интегрированной среды разработки Microsoft Visual Studio 2008 [2]
Для того, чтобы скомпилировать Вашу программу для использования в среде MS MPI, необходимо изменить следующие настройки проекта по умолчанию в Microsoft Visual Studio 2008:
Настройка Microsoft Visual Studio 2008 для локального запуска параллельной MPI программы в режиме отладки
Для того чтобы получить возможность отлаживать параллельные MPI программы, необходимо соответствующим образом настроить Microsoft Visual Studio 2008:
Откройте проект параллельного вычисления числа Пи (parallelpi) в Microsoft Visual Studio 2008,
Выберите пункт меню “Project->paralellpi Properties…”. В открывшемся окне настроек проекта выберите пункт “Configuration Properties->Debugging”. Введите следующие настройки:
Нажмите “OK” для сохранения внесенных изменений,
Выберите пункт меню “Tools->Options”. В открывшемся окне настроек проекта выберите пункт “Debugging->General”. Поставьте флаг около пункта “Break all processes when one process breaks” для остановки всех процессов параллельной программы в случае, если один из процессов будет остановлен. Если Вы хотите, чтобы при остановке одного процесса остальные продолжали свою работу, снимите флаг (рекомендуется).
Настройка библиотеки OpenCV [3]
После этого шага - проект готов к разработке и отладке на локальном компьютере!
В данной индивидуальной работе я постарался подробно описать процесс настройки среды Microsoft Visual Studio 2008 для разработки приложений по обработке видеоизображений на кластере Microsoft Compute Cluster Server 2003.