Главная
страница 1
СОВРЕМЕННЫЕ ТЕНДЕНЦИИ В РАЗРАБОТКЕ СРЕДСТВ ВИЗУАЛИЗАЦИИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ПАРАЛЛЕЛЬНЫХ ВЫЧИСЛЕНИЙ

В.Л. Авербух, М.О. Бахтерев, П.А. Васёв, А.П. Уросов

ИММ УрО РАН, УрФУ, г. Екатеринбург


Кажется естественным использовать средства визуализации, как для нужд программирования параллельных вычислений, так и для представления работы уже готовых программных комплексов. В середине 90-ых годов XX века было разработано множество систем визуализации программного обеспечения параллельных вычислений, которые разбиваются на следующие классы:

визуальные языки параллельного программирования;

визуальные отладчики правильности параллельных программ;

визуальные средства отладки и настройки эффективности параллельных программ.

В последние годы, судя по нашим наблюдениям, интенсивность разработок в области визуализации программного обеспечения параллельных вычислений довольно резко снизилась. Практически прекратилась разработки новых визуальных средств параллельного программирования. Насколько можно судить по текущим публикациям, почти нет новых разработок универсальных средств визуальной отладки правильности и эффективности. Правда, появились средства отладки для распределенных сред и для гибридных (включающих графические процессоры) вычислителей.

Схема функционирования разрабатываемых в последние годы систем отладки примерно следующая - в ходе вычислений собираются данные о работе процессов, которые являются входными при построении того или иного вида отображения, например, графов вызовов или графов потоков данных.

Отметим, что визуализация реальных параллельных программ приводит к громоздким и зачастую не интерпретируемым изображениям.

Методы решения этой проблемы существуют. Например, активно используются приемы семантического зуминга, позволяющие “сворачивать” и “разворачивать” визуальные блоки, отображающие отдельные части программы. Можно использовать идеи “бесконечного экрана” и/или “полета” над визуальным пространством. Методики визуализации на базе виртуальной и расширенной реальности также могут применяться как при создании, так и при отладке параллельных программ.

Однако все эти приемы, скорее, носят характер паллиативов из-за возникающих проблем с реализацией, как самого процесса вывода данных, так и с интерфейсом, удобным для программиста. Также ограниченную роль играет использование тех или иных метафор визуализации параллельных вычислений. Разработчики программных комплексов используют в той или иной мере визуализированный инструментарий, но почти все программы пишутся в традиционном, по сути, текстовом режиме.

Представляется, что решения возникающих проблем следует искать на путях создания новых методик параллельного программирования. В этой связи можно рассмотреть методику и среду распределенного и параллельного программирования RiDE, опирающуюся на модели потока данных (dataflow). В рамках RiDE с самого начала проектирования подразумевалось использование метафор разработки и визуализации.

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

Для представления работы параллельных программ, написанных для системы RiDE, разработан прототип визуализатора RideVis. В качестве сущностей визуализации выступают хранилище, данные, процессы, количество процессоров в системе. В качестве событий, на которых основывается визуализация, выступают добавление/удаление данных в хранилище, запуск/завершение процессов, чтение/запись данных в хранилище. По количеству отображаемых вокруг процессов прочитанных данных, а также по состоянию хранилища, можно сделать первые выводы об эффективности работы программ, написанных для системы RiDE. В визуализаторе предусмотрено несколько динамических видов отображения работы системы, которые могут использоваться для иллюстративной визуализации.



В дальнейшем планируется разработка инструмента для анализа корректности созданного программистом потока данных. Предполагается, что граф потока данных, узлы которого представляют запущенные при активировании правила, динамически разворачивается во время вычисления. Если в вычислении активируются тысячи правил, то проверить корректность структуры этого графа можно только визуально. Развитие системы визуализации может быть связано с реализацией ряда отладочных функций и разработкой средств для статистического анализа эффективности работы программ для системы RiDE. Рассматривается также возможность создания базового инструментария для визуального программирования.
Работа выполнена в рамках Программы фундаментальных исследований Президиума РАН № 14 "Интеллектуальные информационные технологии, математическое моделирование, системный анализ и автоматизация" при поддержке УрО РАН, проект 09-П-1-1003.


Смотрите также:
Современные тенденции в разработке средств визуализации программного обеспечения параллельных вычислений
34.32kb.
1 стр.
«Понятие программы, программного обеспечения. История и перспективы развития по. Классификация и общая характеристика по»
125.91kb.
1 стр.
Анализ средств защиты приложений от несанкционированного копирования
83.03kb.
1 стр.
Порядок резервирования и восстановления работоспособности технических средств и программного обеспечения баз данных и средств защиты информации в информационной системе Министерства лесного хозяйства Республики Алтай
34.91kb.
1 стр.
Программа сфокусирована на эффективной разработке высококачественных систем программного обеспечения и объединяет теорию и практику
53.99kb.
1 стр.
Руководство по определению дальности видимости на впп (rvr) 1 Область применения
2965.93kb.
14 стр.
Применение сетей петри в разработке многопоточного программного обеспечения с ограниченными разделяемыми ресурсами на примере центров дистанционного управления и контроля
296.87kb.
1 стр.
Методы и средства обеспечения целостности и достоверности используемого программного кода
197.45kb.
1 стр.
Почему именно индексация?
42.34kb.
1 стр.
Аппаратное и программное обеспечение копьютера
73.67kb.
1 стр.
Лабораторная работа №7 Изучение аналитических моделей надежности программного обеспечения Цель и задачи работы
78.58kb.
1 стр.
В точностную теорию надежности программного обеспечения
133.83kb.
1 стр.