77294

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

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

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

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

Русский

2015-02-02

26.5 KB

2 чел.

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

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

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

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

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

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

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

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

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


 

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

8680. Німецька класична філософія 153 KB
  Іммануїл Кант народився в 1724 р. у сімї ремісника в Кенігсберзі. Тут Кант вчився, вчителював, став професором, ректором університету. У Кенігсберзі він написав усі свої твори, тут він і помер у 1804...
8682. Сучасна світова філософія: школи і напрямки 96.5 KB
  Сучасна світова філософія: школи і напрямки. Філософія науки: позитивізм і неопозитивізм діалектичний матеріалізм фрейдизм і неофрейдизм. Філософія ірраціоналізму: світський екзистенціалізм релігійний...
8683. Філософська думка України 116 KB
  Філософська думка України. Філософська думка у давніх словян і в Київській Русі. Середньовічна українська філософія. Києво-Могилянська філософська школа. Українські просвітники. Філософія - явище загальнолюдське. Вона д...
8684. Філософська думка України. Українська філософія діаспори 207.5 KB
  Філософська думка України Філософія київського кола. Філософська думка під час культурно-історичного підйому 20-х років. Філософське обґрунтування національного радикалізму. Філософія українських шестидесятників...
8685. Філософське розуміння світу. Проблема буття 93 KB
  Філософське розуміння світу. Проблема буття. Філософський зміст проблеми буття. Особливості розуміння проблеми буття. Форми буття. Буття. Субстанція і матерія. Дух. З самого початку західно-європейського мислення і до сьогоднішньог...
8686. Діалектика. Антиподи діалектики: софістика, метафізика 177 KB
  Діалектика Діалектика як вчення про розвиток і універсальні зв’язки. Принципи діалектики. Категорії діалектики. Закони діалектики, їхнє методологічне та світоглядне значення. Антиподи діалектики: софістика, метафізика.  ...
8687. Філософська антропологія. людина, її проблема у філософії 97 KB
  Філософська антропологія. людина, її проблема у філософії. Актуальність філософського вивчення проблеми людини. Природа і сутність людини. Сенс життя людини. Особа. Індивід. Індивідуальність. Ціннісні орієнтації особи. Людина...
8688. Феноменологія. Проблема свідомості у філософії 158 KB
  Феноменологія. Проблема свідомості у філософії Філософське розуміння проблеми свідомості. Свідомість. Самосвідомість. Мова. Суспільна та індивідуальна свідомість. Свідоме і несвідоме. Що могутніше розуму? Йому - влад...