В настоящее время системы визуального представления информации (СВП) активно расширяют своё воздействие на различные сферы деятельности человека. Причем в современных условиях работы подобных систем подчеркивается тенденция увеличения объема обрабатываемых вычислений и сложность их анализа. Поэтому при проектировании СВП составляющая параллельной обработки данных должна учитываться как необходимая и исследоваться как актуальная.
В работе рассмотрена задача математического и программного описания структуры указанных информационных средств. Разработанная модель системы явно допускает, не требуя концептуальных изменений в центральных блоках, обработку своих данных технологиями параллельных вычислений. Геоинформационные системы (ГИС) рассматриваются как типичный класс СВП.
При проектировании выделение ядра рассматриваемого класса систем важно и ценно, но осложнено отсутствием должного количества стандартов. Например, распространяясь в различные науки, термин ГИС приобретает множество оттенков, вплоть до искажения начального смысла. Например, в предисловии к курсу лекций «Применение геоинформационных систем при геологических исследованиях» Тевелева А.В. и Симонова Д.А. (режим доступа: http://dynamo.geol.msu.ru/courses/gis) читаем: «В нашем понимании, ГИС – это скорее геологическая, чем географическая информационная система. И общие принципы построения ГИС, и создание конкретных проектов ориентированы на геологическую практику». В другом учебном пособии по СУПБД [3] еще во введении присутствует утверждение «ГИС – это интерфейсная часть СУБД».
Многообразие подходов к созданию конечного приложения в конкретной области – это преимущество технологий пространственного представления и анализа информации, предсказывающее их дальнейшее развитие. С другой стороны, отсутствие унификации вносит неопределенность при выделении типичных характеристик класса.
Анализ структуры СВП
Анализ призван упростить понимание и проектирование функциональных процессов системы за счет сокращения малозначительных и выделения основополагающих связей между элементами.
Рассмотрев многообразие трехмерных систем визуализации, выделяем три объекта, наличие которых необходимо, а функционирование наиболее важно. Четвертый объект, реализующий возможность параллельных вычислений, также включен в список необходимых. Отметим, что обязательное включение в модель СВП параллельной составляющей не является правилом на практике, скорее – относительной новизной исследования, подкрепляемой изученными тенденциями области.
Этап четкого разбиения системы на объекты обоснован математическими и алгоритмическими законами, стремящимися сократить количество преобразований данных для увеличения вычислительной мощности. Критерий деления – функциональные потоки данных, различные по типу.
Итак, на языке программных средств (ПС) выделенные объекты представляют собой следующее:
● Терминал для ввода команд пользователя, выбора доступных действий над системой. Служит интерфейсом для выполнения основных задач пользователя: загрузка новых данных, указание необходимых параметров. Заметим, что такие неотъемлемые задачи, как анализ и интерпретация результатов происходят уже за рамками модели.
● Интерфейс для обмена данными с СУБД, СУПБД или набором файлов специальных форматов. Выполнение объектом задачи связи с БД достигается заданием новых или вызовом существующих: запросов, триггеров, представлений, хранимых процедур, коррекцией структуры таблиц или взаимодействием с файлами БД. Здесь же решаются вопросы обработки пространственных данных.
● Программа, предоставляющая возможность параллельных или распределенных вычислений посредством заданных протоколов (механизмов), таких как MPI, TPIE и пр.
● Визуализатор – набор программ, реализующий задачи подготовки и вывода необходимой информации на монитор. Прежде всего, набор содержит в себе программные коды выбранных методов конструирования из входных – для объекта – данных трехмерного отображения информации с заданными условиями.
Следует отметить, что перечисленные ПС могут быть реализованы как отдельные исполняемые файлы, так и являться единым программным комплексом. Однако стоит помнить, что главная причина выделения объектов в описываемой модели – универсальность их взаимосвязей, возможность заменить при необходимости целый алгоритмический метод, без концептуальной переделки остальной части комплекса.
Имеем четыре принципиально разных (с функциональной точки зрения) потока данных. Схематически их можно представить лучами, стремящимися объединиться для решения задач, что предопределяет выделение в модели центральной части, отличной от названных объектов. Выделение подобного – по сути, управляющего – элемента поддерживают многие исследователи, разделяющие в своих информационных моделях вычислительную и логическую составляющие. Условие становится и вовсе необходимым, когда в системе предусмотрена подсистема распределенных вычислений. Основы указанного, двухуровневого разделения закладывались еще три-четыре десятка лет назад, например, в исследованиях Кутепова В.П. и его учеников [2].
Иной, часто встречающейся схемой является центральный интерфейс трехмерной визуализации с функциями загрузки и выгрузки данных, опциями необходимого представления информации. Оператор в такой конфигурации представлен блоком, управляющие команды которого непосредственно регулируют запуск или остановку всех механизмов системы. При разрешении ряда проблемных ситуаций схема является приемлемой. Однако иногда, например, в задачах большой размерности и с управлением распараллеливанием вычислений остаются незадействованными широкие возможности интеллектуальных технологий.
Проецируя выявленные закономерности работы подсистемы параллельных вычислений на систему СВП с параллельной обработкой информации, подходим к выделению конечных структур модели.
Предлагаемые схемы
В ходе дальнейшего анализа предлагаем три схемы модели. Их обозначение и выбор – важный этап формализации структуры. Схемы принципиальны правилами внутренних обменов информацией, а значит альтернативны. Каждая следующая формируется из необходимости устранить недостатки предыдущей схемы.
Схема 1. Каждый из четырех объектов взаимодействует напрямую с одним-единственным из специальных модулей (СМ), являющихся частью ядра системы. В этих программных интерфейсах происходит преобразование данных и управляющей информации во входные данные для центра ядра модели. Оттуда идет передача другому лучу, опять же через конвертацию. Причем конкретизированная задача распределения информации может быть решена лишь интерпретацией и простой передачей.
Несомненным плюсом схемы является факт, что информационно-управляющая сущность отделена от вычислительного слоя, как того требуют рекомендации, высказанные, например, в [5], на основе обзорного исследования.
В числе минусов отметим отсутствие прямых связей между СМ, поэтому центральный модуль может оказаться загруженным в момент необходимости простой передачи данных без сложных конвертаций. Также загруженность СМ подзадачами, выполняемыми в режиме единого конвейера – последовательно – закрывает доступ к считыванию данных с соответствующего объекта, пока исполняемая операция не завершена.
Схема 2. В отличие от первого варианта, теперь у каждого из основных СМ есть в подчинении еще несколько других блоков. Их назначение – решение подзадач, для освобождения основного СМ, регулирующего исполнение задачи в целом на текущем луче. Фактически структура напоминает иерархическую модель управления организацией с разбиением на отделы.
Для доказательства жизнеспособности подобной модели в описываемой области будем ссылаться на работу [1]. В статье рассматривается задача построения оптимальной иерархической структуры над заданным множеством исполнителей. Отмечен важный момент: задачи построения оптимальной организационной структуры и разработки схем организации параллельных вычислений схожи. Решение предлагается произвести через сбалансированные деревья, когда фиксированы количество «менеджеров» и количество непосредственных подчиненных у каждого «менеджера».
Смысл дробления заключен в распределении ответственности за решение подзадач. При подобном понимании становится возможным допустить существование исполнителей, объединяющих информационные связи более чем от одного СМ для решения подзадачи на дальнем от ядра уровне. Развивая данное предположение, можем говорить о наличии шести видов связей, а значит о таком же количестве алгоритмов преобразований, т.к. у нас по постановке задачи четыре разновидности входных данных.
Варианты разбиения для предметной области СВП с указанием оптимального числа исполнителей – предмет отдельного исследования и в настоящей работе не приводится.
Среди плюсов схемы отметим: освобождение СМ от категоричной загрузки во время решения задачи; более гибкие, в отличие от первой схемы, механизмы нахождения решения.
Минусом схемы 2 является избыточность возможных связей между модулями, поскольку при сложных преобразованиях стоимость иерархического построения может оказаться высока. На этапе формализации потребуется учесть все взаимодействия конечных исполнителей, СМ и их отношения между собой, что может привести к появлению скрытых свойств схемы, а значит к нестабильным ситуациям в конечном приложении.
Схема 3 обладает всё той же абстрагированностью от предметной области и абстрактностью информационно-логической составляющей от алгоритмической. Она предоставляет богатые возможности по обменам между СМ, т.к. соединения в ядре теперь происходят без непосредственного прохождения через интерпретатор центрального звена. Внутренних типов связей выделяется уже не шесть, а один (между любыми двумя модулями ядра) или два (между двумя СМ; между центральным модулем и СМ). В итоге, все пять объектов ядра системы находятся в едином информационном поле.
Итак, все локальные задачи решаются сообща, но без обязательного обращения к центральному модулю, который отслеживает достижение цели.
К плюсам полученной системы отнесем унифицированный язык внутри оболочки ядра. Как результат – снижение затрат на преобразование данных и управляющей информации, циркулирующей в системе.
В текущей схеме можно предположить увеличение итогового размера ядра, содержащего теперь дополнительные наборы процедур, функций и классов. Теоретически момент является отрицательным, т.к. при расширении предметной области системы может потребоваться значительная реорганизация алгоритмического набора ядра.
На наш взгляд, именно третья схема обладает наиболее ценными свойствами. Подробное ее рассмотрение – задача для отдельной статьи.
Заключение
Часто, когда говорят об исследовании и построении системы визуализации, ограничиваются построением собственного или расширением существующего метода представления изображения, словно, кроме алгоритмической реализации подсистемы визуализации, ничто не привлекает внимание ученого. Базовые же схемы систем СВП могут видеться в работах чересчур абстрактными, без указания явного прикладного переложения, или наоборот – не раскрывающими характер взаимосвязи объектов, входящих в систему [4].
В данной работе представлена система СВП в виде информационно-управляющей модели. Предложены три альтернативные общие схемы, отражающие основные закономерности взаимодействия объектов системы. Отдельно рассмотрены, выявленные в ходе анализа свойств модели, свойства системы. Одной из главных задач было соблюдение рационального соотношения выявленных характеристик математической модели и их практической применимости.
Безусловно, требуется дополнительный анализ представленных схем модели. Дальнейшее исследование модели будет способствовать развитию области СВП.