77309

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

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

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

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

Русский

2015-02-02

33 KB

0 чел.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


 

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

55288. Метание мяча в цель 51.5 KB
  Задачи.1.Совершенствовать метание малого мяча в горизонтальную и вертикальную цель с места. 2. Развивать дозирование силы удара мяча об пол с таким условием, чтобы он отскочил на заданную высоту. 4.Воспитывать товарищеские взаимоотношения, чувства сопереживания.
55290. Электродуговая сварка 45 KB
  Цель урока: Научить учащихся пользоваться электродуговой сваркой, настраивать трансформатор, показать примеры швов, способов сварки. Научить учащихся зажигать дугу, настраивать трансформатор в зависимости от сечения электрода; объяснить основные понятия; определять качество шва.
55291. Values of life in the tale «The happy prince» 51.5 KB
  As you know, books are wisdom and collection of experience of many generations. That’s why tell me, please, Are you fond of reading? P1: Yes, I am. Reading is my hobby T: Can you imagine your life without books? P2: Of course not. I can’t imagine my life without books.
55292. Реализация принципа систематичности и последовательности при формировании умения решать простые задачи 822.5 KB
  Принципы обучения возникли из потребностей педагогической практики как результат её обобщения например принципы наглядности прочности последовательности обучения. Современные принципы обучения учитывают особенности массового школьного обучения.
55293. Веселий поїзд 48 KB
  Мета: продовжувати вчити дітей визначати місце розташування предметів у просторі, користуючись поняттями «ліворуч», «праворуч», «біля», «перед», «за», «угорі», співвідносити величини предметів, кількість предметів з цифрами, розуміти слова та вирази: більше на один...
55294. Ми з природою дружимо 55 KB
  Мета. Сприяти формуванню рухів, що забезпечують вільне просування дитини у просторі; формувати вміння зберігати правильну поставу. Продовжувати вчити узгоджувати свої дії з діями інших дітей, змінювати напрямок і характер руху відповідно до сигналу під час ходьби та бігу.
55295. Природокористування 89 KB
  Мета: надати уяву стосовно того, що таке природокористування та які його види; звернути особливу увагу учнів на питання раціонального природокористування на прикладі використання альтернативних джерел енергії у різних країнах світу в тому числі і в Україні...
55296. Дивовижний світ природи 114.5 KB
  Розширювати дитячий кругозір і знання учнів про реальний світ у його звязках і залежностях; збагачувати інтелектуальний розвиток учнів; розвивати читацькі інтереси учнів; виховувати бережне ставлення до природи.