77359

Средства визуальной поддержки процесса распараллеливания последовательных программ

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

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

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

Русский

2015-02-02

187 KB

0 чел.

Средства визуальной поддержки процесса

распараллеливания последовательных программ

В.Л. Авербух1, Р.О. Судариков2

ИММ УрО РАН1, Уральский Государственный Университетет2

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

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

Цель нашей работы – создание визуального инструментария, помогающего в процессе распараллеливания. Рассматривается код, написанный на языке программирования С. Потенциальный пользователь – прикладной программист, понимающий суть работающей программы и свободно ориентирующийся в параллельном программировании. Он не разрабатывает новую программу, а переводит последовательный код на систему параллельных вычислений. Для начала мы выявляем набор действий, который пользователь производит во время работы.

Для создания инструментария используется язык C# и компонент WPF. На данном этапе рассматривается парадигма параллелизма на основе библиотеки MPI. В начальном варианте прототипа используется схема «Ферма». В качестве средств поддержки были реализованы подсветка синтаксиса и визуальная подсказка того, как строится программа,

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

Рис. 1. Пример, демонстрирующий работу инструментария

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


 

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

8327. Китай - Россия, геостратегическая политика 47 KB
  Китай - Россия, геостратегическая политика. Китай - социалистическая страна с плановой экономикой. Политическая и экономическая системы КНР стабильны и приток иностранных капиталов с каждым годом растет. С середины первого десятилетия нынешнего...
8328. 72 искусства монастыря Шаолинь 1.07 MB
  72 искусства монастыря Шаолинь. Базовые упражнения, которые формируют основу для развития 72х искусств: 1. Удержание золотой монеты Главный смысл данного упражнения в усилении слуха и зрения для развития защитной ре...
8329. Анализ экономической целесообразности либерализации торговли с Китайской Народной Республикой, выявление основных товарных ниш 336.24 KB
  Анализ экономической целесообразности либерализации торговли с Китайской Народной Республикой, выявление основных товарных ниш Введение Китайская Народная Республика является крупнейшим после Российской Федерации и Европейского союза торговым...
8330. Гиноцид, или китайское бинтование ног 139.5 KB
  Гиноцид, или китайское бинтование ног Инструкции перед чтением текста. Возьмите кусок материи примерно трех метров длиной и пяти сантиметров шириной. Возьмите пару детских туфель. Подогните пальцы ног, кроме большого, внутрь стопы. Оберните ма...
8331. Расцвет философии (античность) 66.5 KB
  Расцвет философии (античность). Золотой век человечества. Философия в чистом виде появилась у древних греков. Самое слово философия, как говорилось выше, греческого происхождения. Поэтому можно утверждать, что философию как таковую придумали...
8332. Редуплікація в китайській мові 283.5 KB
  Редуплікація У китайській мові є слова, утворені шляхом повторення. Наприклад, поглянути, послухати. Такого роду стилістичне явище у китайській мові прийнято називати редуплікацією. Проте редуплікація має місце не лише в китайській,...
8333. Философия как форма общественного сознания 194 KB
  Философия как форма общественного сознания. Понятие, происхождение философии. Ее роль в жизни человека и общества (вопрос 1) Ф - форма общественного сознания. - учение о принципах бытия и познания, об отношении человека к миру. - наука о...
8334. Проблема определения философии в истории философии. Предмет философии. Структура философского знания 140.66 KB
  Проблема определения философии в истории философии. Предмет философии. Структура философского знания. Философия - это, прежде всего, слово, происходящее из древнегреческого языка и обозначающее любовь к мудрости, стремление к познанию,...
8335. Надежное программное средство как продукт технологии программирования. Исторический и социальный контекст программирования 640.26 KB
  Лекция 1. Надежное программное средство как продукт технологии программирования. Исторический и социальный контекст программирования Понятие информационной среды процесса обработки данных. Программа как формализованное описание процесса. Понятие о п...