77294

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

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

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

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

Русский

2015-02-02

26.5 KB

2 чел.

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

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

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

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

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

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

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

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

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


 

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

12507. Настройка доступа к сети Интернет из локальной сети 7.1 MB
  Лабораторная работа №78 Настройка доступа к сети Интернет из локальной сети. Цель работы: Рассмотреть различные варианты подключения к сети Интернет локальной сети использую различные программные средства. Дано: Имеется локальная сеть Workstantion 1 Workstantion 2 предст
12508. Тұрақты токта физикалық шамаларды өлшеу (өлшеу аспабымен танысу – мультиметрмен) 102.75 KB
  1 Лабораториялық жұмыс. Тұрақты токта физикалық шамаларды өлшеу өлшеу аспабымен танысу мультиметрмен 3.1 Жұмыстың мақсаты: Тұрақты токтағы электрлік кернеу ток қуат кедергіні өлшеу принципін тәсілдерін және әдістерін оқып үйрену метрологиялық өңдеу әдістерін
12509. Формулалар бойынша есептеулер 76 KB
  №2 лабораториялық жұмыс Тақырыбы: Формулалар бойынша есептеулер. 1.Берілгені: Берілген n бүтін және x нақты сандары үшін берілген өрнекті есептеу алгоритмінің блоксхемасын және программасын құру. Өрнектердің мәні циклдік операторлар көмегімен есептеледі. Пр...
12510. Лабораториялық жұмыс. Кернеу мен токты бөлгіштер 34.84 KB
  2 Лабораториялық жұмыс. Кернеу мен токты бөлгіштер 1 Жұмыстың мақсаты: Кернеу мен токты бөлгіштердің жұмыс істеу принципімен танысу. Кернеу мен токты бөлу шарттарын қолданып кернеудің мәнін есептеу және өлшеу арқылы кернеуді бөлудің шартын принцип дәлелдеу. Кернеу ме...
12511. Бұрамды бәсеңдеткіштер классификациясымен, кинематикалық сұлбасымен, байланыстары мен бөлшектерімен танысу 1.31 MB
  №15 Зертханалық жұмыс Бұрамды бәсеңдеткіштер классификациясымен кинематикалық сұлбасымен байланыстары мен бөлшектерімен танысу. Жұмыстың мақсаты: Барлық бөлшектердің қызметін анықтау Ілініс параметрлерін анықтау Бәсеңдеткішті жинау барысында байл...
12512. Өрістік транзистор негізіндегі кең жолақты күшейткіштің резисторлы каскадын зерттеу 34.34 KB
  Лабораториялық жұмыс Тақырыбы: Өрістік транзистор негізіндегі кең жолақты күшейткіштің резисторлы каскадын зерттеу. Жұмыстың мақсаты: Жалпы бастау бойынша жалғанған өрістік транзистор негізіндегі кең жолақты күшейткіш каскады элементтерінің схема көрсеткіштеріне...
12513. Изучение движения тела под действием силы тяжести и силы упругости 245.24 KB
  Практическая работа № 9 Тема работы: Изучение движения тела под действием силы тяжести и силы упругости Тема для изучения: Закон сохранения механической энергии для системы тел в которой действуют потенциальные силы. Цель: сравнить максимальное изменение потен
12514. Программно-целевое планирование и его использование в сфере услуг 50 KB
  Программно-целевое планирование – это один из видов планирования, в основе которого лежит ориентация деятельности на достижение поставленных целей. По сути, любой метод планирования направлен на достижение каких-либо конкретных целей. Но в данном случае в основе самого процесса планирования лежит определение и постановка целей и лишь затем подбираются пути их достижения.
12515. ИССЛЕДОВАНИЕ ЧАСТОТНО УПРАВЛЯЕМОГО ЭЛЕКТРОПРИВОДА С АВТОНОМНЫМ ИНВЕРТОРОМ 3.21 MB
  ИССЛЕДОВАНИЕ ЧАСТОТНО УПРАВЛЯЕМОГО ЭЛЕКТРОПРИВОДА С АВТОНОМНЫМ ИНВЕРТОРОМ Методические указания к учебноисследовательской лабораторной работе по курсу Автоматизированный электропривод для студентов горнонефтяного факультета специальности 180400 ЭАПУ Лаборат