77309

СОВРЕМЕННЫЕ ТЕНДЕНЦИИ В РАЗРАБОТКЕ СРЕДСТВ ВИЗУАЛИЗАЦИИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ПАРАЛЛЕЛЬНЫХ ВЫЧИСЛЕНИЙ

Научная статья

Информатика, кибернетика и программирование

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

Русский

2015-02-02

33 KB

0 чел.

СОВРЕМЕННЫЕ ТЕНДЕНЦИИ В РАЗРАБОТКЕ СРЕДСТВ ВИЗУАЛИЗАЦИИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ПАРАЛЛЕЛЬНЫХ ВЫЧИСЛЕНИЙ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


 

А также другие работы, которые могут Вас заинтересовать

234. Разработка цифрового вольтметра, на основе метода двойного интегрирования 139.64 KB
  Структурная схема цифрового вольтметра и расчет основных его параметров. Схемотехника основных узлов цифрового вольтметра. Последовательный ввод информации с входа D и её сдвиг. Использование четырехразрядного реверсивного счетчика.
235. Розрахунок головної балки мостового вантажопідйомного крану 398.33 KB
  Розрахунок конструкцій за допустимими напруженнями. Визначення висоти основного перерізу балки з умов міцності (мінімальної маси). Визначення еквівалентних напружень у небезпечному перерізі балки. Стійкість нижньої частини вертикального полотна.
236. Информационное обеспечение департамента управления министерства финансов Республики Хакасия 562.5 KB
  Структура организации (функциональные и информационные связи). План и схема развёртывания комплекса программ. Составление заявки на ремонт неисправного, а также приобретение нового и модернизацию устаревшего аппаратного оборудования серверов и рабочих станции, а также сетевого оборудования.
237. Теоретический расчет работы электродвигателя 193.34 KB
  Определение мощности и частоты вращения двигателя, общий коэффициент полезного действия. Фактическая частота вращения на валу рабочей машины, расчет зубчатых колёс редуктора. Конструктивные размеры шестерни и колеса.
238. Система электронно-цифровой подписи 648.47 KB
  Изучения руководства пользователя программы, регистрация открытых ключей и проверка подписей. Вывод названия организации и составление отчетов по запросу банк - клиент. Проверка правильности работы программы и наличия цифровой подписи.
239. Расчет показателей судна и его энергетический установки 368.5 KB
  Обоснование эксплуатационных режимов работы главных двигателей СЭУ. Выбор схемы обеспечения судна электроэнергией и теплом. Выбор режима работы главных двигателей судна. Обоснование и выбор схемы энергетического теплоснабжения.
240. Принципы расчета оплаты труда персонала предприятия 479.5 KB
  Основные принципы организации оплаты труда, состав фонда оплаты труда. Теоретические основы системы организации и оплаты труда. Направления по усовершенствованию системы оплаты труда. Совершенствования системы оплаты труда для повышения ее стимулирующий функции.
241. Разработка и реализация алгоритмов обработки данных, получаемых с помощью сканирующих нанотвердомеров семейства НаноСкан 409.92 KB
  Пользовательский интерфейс программы NanoScan Viewer. Реализация метода индентирования в НаноСкан-3Д. Апробация разработанного алгоритма на примере серии измерений твердости образца твердого сплава на основе кубического нитрида бора.
242. Конструкция и рабочие процессы авиационных двигателей 358.5 KB
  Двигатель предназначен для установки на пассажирские и транспортные самолеты. Расчет на прочность рабочей лопатки первой ступени компрессора. Определение запасов прочности лопаток. Расчет на прочность диска первой ступени компрессора.