77294

ВИЗУАЛЬНАЯ ПОДДЕРЖКА РАСПАРАЛЛЕЛИВАНИЯ ПОСЛЕДОВАТЕЛЬНОГО КОДА

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

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

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

Русский

2015-02-02

26.5 KB

1 чел.

ВИЗУАЛЬНАЯ ПОДДЕРЖКА РАСПАРАЛЛЕЛИВАНИЯ ПОСЛЕДОВАТЕЛЬНОГО КОДА

В.Л. Авербух, А.Ю. Кулаков, Р.О. Судариков

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

Несмотря на большие усилия, которые программистское сообщество предприняло в предшествующие годы для создания универсальных систем визуального программирования параллельных вычислений, решающего успеха в данной области так и не достигнуто. В крупных исследовательских центрах, накопивших за десятилетия огромный объем разнообразных программ для последовательных ЭВМ, в связи с переходом на суперкомпьютерные вычисления возникла задача их переноса на параллельные архитектуры. В каких-то случаях эта задача решается за счет компиляторов, осуществляющих автоматическое распараллеливание программ. В каких-то – можно найти соответствующие “параллельные” библиотеки и пакеты, могущие решить необходимые задачи, да еще и повысить эффективность счета. Однако часто необходимо распараллеливать “старые” последовательные коды, реализующие сложные модели, так что без “ручного” вмешательства специалиста обойтись нельзя. Для выполнения этих задач необходимы квалифицированные специалисты, хорошо знающие и суть решаемой задачи, и структуру последовательной программы и владеющие непростыми навыками параллельного программирования. Представляется, что создание вспомогательных визуальных сред поддержки распараллеливания программ сможет облегчить работу специалистов и увеличить эффективность и надежность распараллеливания.

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

В случае MPI в соседнем (левом) окне строится картинка-подсказка, показывающая результат работы пользователя, например, распараллеливание кода на заданное количество процессов. В правом окне выводится анимация работы введенных фрагментов программы, содержащих, например, такие функции, как MPI_Bcast и MPI_Reduce.

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

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

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


 

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

45514. Индексация. Достоинства и недостатки. Примеры 45 KB
  Индекс – это таблица состоящая из двух полей первое поле – это ключ второе поле – это ссылка на запись в БД с этим ключом индексации. Индекс позволяет выполнить две работы: Выполнить сортировку файла не перемещая физически его записи; Ускорить поиск информации. Файл а1: адреса А1 А2 А3 0 d 1 F 1 2 M 2 C 3 F 3 B 4 M 4 Z 3 M 5 I 2 F 6 J 2 M 7 k 5 M Организуем индексацию по полю А1 индекс будет плотный т. индексируются все значения ключа.
45515. Методы прямого доступа 22 KB
  Основа метода – хеширование – вычисление адреса хранимой информации на основе некоторых ключей, т.е. части информации, которая нас интересует. Примером является телефонный справочник, где хеширование идет по буквам алфавита
45516. ER-модель (модель Чена) 120.5 KB
  16 вариантов Предметная область – преподаватель читает некоторые лекции. Существует ПО такая что один преподаватель читает не больше одной дисциплины каждая дисциплина читается не больше чем одним преподавателем. ERдиаграмма экземпляров преподаватель предмет 1 1 2 2 3...
45517. Правила Джексона для перехода от модели Чена к реляционной модели 46.5 KB
  Растут деревья на участках леса: Дерево Участок Площадь Сосна Бор 1 Береза Роща 2 Осина Лиственный лес 3 Если 1о:1н то для представления информации необходимо 2 таблицы отдельная таблица для необязательного класса принадлежности. Тогда 1 таблица описывает участки 2 таблица описывает породы деревьев 3 таблица является связующей она содержит информацию о том на каком участке какое дерево растет. Первая таблица описывает первый объект вторая таблица описывает второй объект а третья таблица описывает связь. Если nобъектных...
45518. Примеры бинарных связей 52 KB
  Отношение эквивалентности Определение 8. Отношение на множестве называется отношением эквивалентности если оно обладает следующими свойствами: для всех рефлексивность Если то симметричность Если и то транзитивность Обычно отношение эквивалентности обозначают знаком или и говорят что оно отношение задано на множестве а не на . Условия 13 в таких обозначениях выглядят более естественно: для всех рефлексивность Если то симметричность Если и то транзитивность Легко доказывается что если на множестве задано...
45520. Архитектуры БД 37.5 KB
  По этой причине при построении информационной системы приходится решать задачу согласованного управления распределенной базой данных иногда применяя методы репликации данных. При однородном построении распределенной базы данных на основе однотипных серверов баз данных эту задачу обычно удается решить на уровне СУБД большинство производителей развитых СУБД поддерживает средства управления распределенными базами данных. для управления отдельными частями распределенной базы данных используются разные серверы то приходится прибегать к...
45521. Проектирование базы данных с помощью нормализации 49.5 KB
  Таблица находится в первой нормальной форме 1Н. Таблица находится во второй нормальной форме 2Н. Таблица находится в третьей нормальной форме 3Н. Таблица находится в нормальной форме БойсаКодда Н.
45522. Операция «соединение» и ее свойства 34 KB
  Внутренняя а естественное соединение осуществляется по равенству значений в одноименных столбцах. rBC sBD = qBCD 11 112 11b 112b 123 42c 113 113b 421c операция соединения для таблиц с одинаковыми схемами равносильна операции пересечения: rB sB = qB 11...