Научно-исследовательский институт ядерной физики имени Д. В. Скобельцына удк 004. 75+004. 722 № госрегистрации





НазваниеНаучно-исследовательский институт ядерной физики имени Д. В. Скобельцына удк 004. 75+004. 722 № госрегистрации
страница7/10
Дата публикации13.04.2015
Размер0.58 Mb.
ТипОтчет
100-bal.ru > Информатика > Отчет
1   2   3   4   5   6   7   8   9   10

2.8 Создание системы автоматизации разработки программ (DVM-СКИФ) для суперкомпьютеров «СКИФ» нового поколения


Исполнитель – ИПМ РАН, г, Москва.
См. приложение – отчет за 2 этап по части 9 Технического задания к контракту СГ-2/07 от 16.07.2007 г.
Содержание этапа 2.

Анализ технических решений, принятых при проектировании DVM-системы, с точки зрения необходимости их пересмотра для адаптации к суперкомпьютерам семейства СКИФ
Можно выделить следующие особенности суперкомпьютеров «СКИФ» нового поколения, которые могут потребовать адаптацию DVM-системы:

  • большое количество SMP-узлов (свыше тысячи);

  • значительное число ядер в SMP-узлах (четыре и выше);

  • использование суперкомпьютеров в составе метакластеров и ГРИД.

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

Значительное число ядер в SMP-узлах требует для их эффективного использования применения гибридной модели программирования - модели общей памяти (OpenMP) в узлах и модели передачи сообщений (MPI) между узлами. Для того, чтобы позволить программисту применять в узлах модель общей памяти, требуется сформулировать методику такого совместного использования моделей DVM и OpenMP. Применение гибридной модели значительно усложняет работу программиста – ему надо знать обе модели и уметь использовать соответствующие инструментальные средства. Поэтому необходимо существенно повысить уровень автоматизации создания параллельных программ для SMP-кластеров.

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

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

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

  • Система должна базироваться на высокоуровневой модели выполнения параллельной программы, удобной и понятной для программиста, привыкшего программировать на последовательных языках. Такая модель (DVM-модель) была разработана в 1994 году.

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

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

  • Основная работа по реализации модели выполнения параллельной программы (например, распределение данных и вычислений) должна осуществляться динамически специальной системой - системой поддержки выполнения DVM-программ. Это позволяет обеспечить динамическую настройку DVM-программ при запуске (без перекомпиляции) на конфигурацию параллельного компьютера (количество процессоров, их производительность, латентность и пропускную способность коммуникационных каналов). Тем самым программист получает возможность иметь один вариант программы для выполнения на последовательных ЭВМ и параллельных ЭВМ различной конфигурации. Кроме того, на основании информации о выполнении DVM-программы на однопроцессорной ЭВМ можно посредством моделирования работы системы поддержки предсказать характеристики выполнения этой программы на параллельной ЭВМ с заданными параметрами (производительностью процессоров и коммуникационных каналов).

Система состоит из следующих компонентов:

  • Компилятор Fortran-DVM;

  • Библиотека поддержки Lib-DVM;

  • DVM-отладчик;

  • Анализатор производительности параллельных программ;

Эти компоненты удовлетворяют следующим требованиям:

  • Fortran-DVM компилятор поддерживает параллелизм данных и параллелизм задач. Программы, написанные на языке Fortran-DVM, могут компилироваться и выполняться в стандартной среде Fortran 77 как обычные последовательные программы. Выходом компилятора Fortran-DVM является программа на языке Fortran 77, расширенная вызовами функций Lib-DVM.

  • Библиотека Lib-DVM - это система поддержки выполнения Fortran-DVM программ. Функции Lib-DVM используют для обмена сообщениями коммуникационную систему MPI.

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

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

Язык Fortran DVM (FDVM) представляет собой язык Фортран 77, расширенный спецификациями параллелизма. Эти спецификации оформлены в виде специальных комментариев, которые называются директивами. Директивы FDVM можно условно разделить на три подмножества:

  • Распределение данных (разделы 2, 3, 4, 8, 9)

  • Распределение вычислений (разделы 5, 7)

  • Спецификация удаленных данных (раздел 6)

Модель параллелизма FDVM базируется на специальной форме параллелизма по данным: одна программа – множество потоков данных (ОПМД). В этой модели одна и та же программа выполняется на каждом процессоре, но каждый процессор выполняет свое подмножество операторов в соответствии с распределением данных.

Полное описание языка FDVM содержится по адресу http://www.keldysh.ru/dvm/dvmhtm1107/rus/usr/fdvm/fdvmLDr.html.
Система поддержки Lib-DVM написана на языке C и использует средства MPI для обеспечения межпроцессорного взаимодействия. Большинство операций библиотеки Lib-DVM является коллективными (например, создание распределенного массива и его перераспределение), и должны быть вызваны на всех узлах.

Полное описание функций библиотеки Lib-DVM содержится по адресу http://www.keldysh.ru/dvm/dvmhtm1107/rus/sys/libdvm/rtsIDr0.html.
DVM отладчик предназначен для отладки DVM-программ и использует следующий подход. Сначала программа отлаживается на рабочей станции как последовательная программа с использованием обычных средств отладки. Затем программа выполняется на той же рабочей станции в специальном режиме проверки DVM-директив. На третьем этапе программа выполняется на параллельном компьютере в специальном режиме сравнения промежуточных результатов выполнения с эталонными результатами (например, с результатами последовательного выполнения).

Подробное описание отладчика содержится по адресу http://www.keldysh.ru/dvm/dvmhtm1107/rus/sys/debug/debugDDr.html.
Анализатор производительности предназначен для анализа и отладки эффективности выполнения DVM-программ. С помощью анализатора производительности пользователь имеет возможность получить временные характеристики выполнения его программы с различной степенью подробности.

Эффективность выполнения параллельных программ на многопроцессорных ЭВМ с распределенной памятью определяется следующими основными факторами:

  • Эффективностью выполнения программы на каждом процессоре.

  • Степенью распараллеливания программы - долей объема параллельных вычислений в общем объеме вычислений;

  • Равномерностью загрузки процессоров во время выполнения параллельных вычислений;

  • Временем межпроцессорных обменов;

  • Степенью совмещения межпроцессорных обменов с вычислениями.

Возможность различать последовательные и параллельные участки программы при ее выполнении на многопроцессорной ЭВМ, позволяет анализатору производительности выдать пользователю следующие основные показатели выполнения параллельной программы:

  • время выполнения;

  • коэффициент эффективности распараллеливания;

  • потерянное время.


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

Анализатор производительности состоит из двух подсистем – подсистемы сбора и подсистемы обработки.

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

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

Подробное описание возможностей анализатора эффективности можно найти по адресам http://www.keldysh.ru/dvm/dvmhtm1107/rus/sys/perform/pppaPDr.html и http://www.keldysh.ru/dvm/dvmhtm1107/rus/sys/perform/pppaDDr.html.
Анализ потребовал изучения документации, описывающей интерфейсы между компонентами системы и алгоритмы их функционирования. Иногда приходилось изучать исходные тексты программ.

Основными результатами проведенного анализа являются:

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

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

  3. Значительное число ядер в SMP-узлах требует для их эффективного использования применения гибридной модели программирования - модели общей памяти (OpenMP) в узлах и модели передачи сообщений (MPI) между узлами. Применение гибридной модели значительно усложняет работу программиста – ему надо знать обе модели и уметь использовать соответствующие инструментальные средства. Поэтому необходимо существенно повысить уровень автоматизации создания параллельных программ для SMP-кластеров. Были исследованы проблемы, возникающие при автоматическом преобразовании последовательных Фортран программ в параллельные программы на языке Fortran DVM, и сделан вывод о необходимости некоторой коррекции языка в части организации ввода-вывода.

  4. Для функционирования на процессорах с различным представлением данных необходимо, чтобы в DVM-программе все межпроцессорные обмены осуществлялись с точной спецификацией типов посылаемых и принимаемых данных. В настоящее время это не обеспечено. Основной причиной такого недостатка является то, что система была изначально рассчитана на использование не только MPI, но и других коммуникационных библиотек (PVM, GNS, Router), в которых типизации данных не было.

  5. Эффективное использование процессоров разной производительности требует учета их производительности при распределении вычислительной работы между процессорами. В DVM-системе это выполняется автоматически только при распределении витков циклов между процессорами, а при распределении между процессорами параллельных подзадач требует участия программиста.

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


1   2   3   4   5   6   7   8   9   10

Похожие:

Научно-исследовательский институт ядерной физики имени Д. В. Скобельцына удк 004. 75+004. 722 № госрегистрации iconНаучно-исследовательский институт ядерной физики имени Д. В. Скобельцына...
«Разработка архитектуры и программных средств для обеспечения взаимодействия грид-инфраструктуры рдиг/egee и создаваемой системы...
Научно-исследовательский институт ядерной физики имени Д. В. Скобельцына удк 004. 75+004. 722 № госрегистрации iconНаучно-исследовательский институт ядерной физики имени Д. В. Скобельцына удк 004. 75+004. 722
Разработка технологий высокопроизводительных вычислений с использованием неоднородных территориально-распределённых вычислительных...
Научно-исследовательский институт ядерной физики имени Д. В. Скобельцына удк 004. 75+004. 722 № госрегистрации iconНаучно-исследовательский институт ядерной физики имени Д. В. Скобельцына...
«Создание программного обеспечения для калибровки измерительной аппаратуры и анализа доступных наблюдению физических процессов в...
Научно-исследовательский институт ядерной физики имени Д. В. Скобельцына удк 004. 75+004. 722 № госрегистрации iconМ. В. Ломоносова Научно-исследовательский институт ядерной физики имени Д. В. Скобельцына

Научно-исследовательский институт ядерной физики имени Д. В. Скобельцына удк 004. 75+004. 722 № госрегистрации iconФгбу «пияф» удк 001. 89: 004. 31
Федеральное государственное бюджетное учреждение «Петербургский институт ядерной физики им. Б. П. Константинова»
Научно-исследовательский институт ядерной физики имени Д. В. Скобельцына удк 004. 75+004. 722 № госрегистрации iconРеферат Отчет стр., рис., таблиц, список литературы 4 наименования
Директор научно-исследовательского института ядерной физики имени Д. В. Скобельцына мгу имени М. В. Ломоносова
Научно-исследовательский институт ядерной физики имени Д. В. Скобельцына удк 004. 75+004. 722 № госрегистрации iconРеферат Отчет 142 стр., 13 рис., 7 таблиц, список литературы 2 наименования
Директор научно-исследовательского института ядерной физики имени Д. В. Скобельцына мгу имени М. В. Ломоносова
Научно-исследовательский институт ядерной физики имени Д. В. Скобельцына удк 004. 75+004. 722 № госрегистрации iconНаучно исследовательский институт ядерной физики
Г. В. Максимов, кафедра биофизики биологического факультета мгу (разделы 1, 2, 3, заключение)
Научно-исследовательский институт ядерной физики имени Д. В. Скобельцына удк 004. 75+004. 722 № госрегистрации iconУдк 004. 9 Коржик И. А
Методические рекомендации в помощь преподавателю: издание гаоу спо «Уфимский топливно – энергетический колледж». – Уфа, 2012г
Научно-исследовательский институт ядерной физики имени Д. В. Скобельцына удк 004. 75+004. 722 № госрегистрации iconЭлектронных ресурсов «наука и образование» №3 (46) март 2013 удк 51, 002, 004 № офэрниО: 18981
Интерактивный учебный комплекс по математике / фгбоу впо санкт-Петербургский государственный морской технический университет
Научно-исследовательский институт ядерной физики имени Д. В. Скобельцына удк 004. 75+004. 722 № госрегистрации iconУдк 004. 942 : 57. 026 Эволюционно стабильная информационная структура...
Федеральный закон от 31. 05. 2001 №73-фз «О государственной судебно-экспертной деятельности» (выдержки)
Научно-исследовательский институт ядерной физики имени Д. В. Скобельцына удк 004. 75+004. 722 № госрегистрации icon"ок 004-93. Общероссийский классификатор видов экономической деятельности,...
Ок 004-93. Общероссийский классификатор видов экономической деятельности, продукции и услуг
Научно-исследовательский институт ядерной физики имени Д. В. Скобельцына удк 004. 75+004. 722 № госрегистрации icon"ок 004-93. Общероссийский классификатор видов экономической деятельности,...
Ок 004-93. Общероссийский классификатор видов экономической деятельности, продукции и услуг
Научно-исследовательский институт ядерной физики имени Д. В. Скобельцына удк 004. 75+004. 722 № госрегистрации iconУдк 004. 81 Разработка принципов поддержки экономических интересов...
В мешке Старика-Годовика собраны признаки самого прекрасного времени года. Ваша задача: найти причину явления, названного в столбике...
Научно-исследовательский институт ядерной физики имени Д. В. Скобельцына удк 004. 75+004. 722 № госрегистрации iconУдк 004. 738. 5 Ббк 32. 973. 202 Главный редактор
Используя их, учителя могут получить доступ к содержанию специализированных мультимедиа библиотек, энциклопедий, справочников, учебников,...
Научно-исследовательский институт ядерной физики имени Д. В. Скобельцына удк 004. 75+004. 722 № госрегистрации iconНациональный исследовательский университет «высшая школа экономики»...
Этап Выбор направления исследований и разработка технического задания на создание аппаратного комплекса


Школьные материалы


При копировании материала укажите ссылку © 2013
контакты
100-bal.ru
Поиск