ВУЗ:
Составители:
Рубрика:
5. Лабораторная работа 6. Автоматизация разработки параллельных
MPI-программ c использованием проблемно-ориентированного
языка НОРМА
Общие сведения. Как сказано выше, программирование в технологии MPI
является достаточно низкоуровневым и поэтому требует высокой квалифи-
кации разработчика и значительных затрат (в т.ч. временных) при создании
программного продукта. Имеющиеся системы автоматизации распараллели-
вания недостаточно эффективны (при высокой стоимости и узости области
применения). Кроме того, существуют фундаментальные соображения (ха-
рактерный размер зерна распараллеливания программы намного превосходит
характерный размер типичного оператора языка программирования), следст-
вием которых является практическая невозможность качественного распа-
раллеливания последовательной программы, записанной на привычных язы-
ках программирования [2].
Т.о. исключение этапа последовательной алгоритмизации потенциально
может привести к возможности качественного автоматического создания па-
раллельных программ. Один из примеров реализации такого подхода – пред-
ложенная еще в 60-х г.г. в ИПМ им.М.В.Келдыша РАН концепция непроце-
дурного языка НОРМА (
Непроцедурное Описание Разностных Моделей Ал-
горитмов
или НОРМАльный уровень общения прикладного математика с
компьютером
, http://www.keldysh.ru/pages/norma).
Язык НОРМА называют
декларативным вследствие упора именно на опи-
сание правил вычисления значений, а не на исчерпывающе подробную кон-
кретизацию алгоритма. Разработчик прикладных программ абстрагируется
от особенностей конкретных ЭВМ и м
ыслит в привычных терминах своей
предметной области (сеточные методы математической физики, в основном
метод конечных разностей - МКР). Система НОРМА включает синтезатор,
назначением которого является преобразование НОРМА-текста в (один из
привычных) язык
овых стандартов параллельного или последовательного
программирования (в настоящее время существует возможность получения
Fortran-MPI, Fortran-DVM, Fortran-77 или соответствующих C-текстов). Эф-
фективный автоматический синтез параллельного кода на основе НОРМА-
программы достигается определенными ограничениями языка, важное из ко-
торых – отсутствие многократного присваивания (при этом несущественна
последовательность операторов, отсутствуют глобальные переменные, за-
прещена рекурсия, нет побочных эффектов
при вычислениях и др., [7]). Ис-
ходный текст на НОРМА в высшей степени бл
изок к записи численного ме-
тода решения конкретной задачи. В записи на языке НОРМА отсутствуют
избыточные информационные связи (полный анализ которых как раз и явля-
ется ‘ахиллесовой пятой’ систем выявления скрытого параллелизма), что и
позволяет реализовать эффективное автоматическое распараллеливание.
5. Лабораторная работа 6. Автоматизация разработки параллельных MPI-программ c использованием проблемно-ориентированного языка НОРМА Общие сведения. Как сказано выше, программирование в технологии MPI является достаточно низкоуровневым и поэтому требует высокой квалифи- кации разработчика и значительных затрат (в т.ч. временных) при создании программного продукта. Имеющиеся системы автоматизации распараллели- вания недостаточно эффективны (при высокой стоимости и узости области применения). Кроме того, существуют фундаментальные соображения (ха- рактерный размер зерна распараллеливания программы намного превосходит характерный размер типичного оператора языка программирования), следст- вием которых является практическая невозможность качественного распа- раллеливания последовательной программы, записанной на привычных язы- ках программирования [2]. Т.о. исключение этапа последовательной алгоритмизации потенциально может привести к возможности качественного автоматического создания па- раллельных программ. Один из примеров реализации такого подхода – пред- ложенная еще в 60-х г.г. в ИПМ им.М.В.Келдыша РАН концепция непроце- дурного языка НОРМА (Непроцедурное Описание Разностных Моделей Ал- горитмов или НОРМАльный уровень общения прикладного математика с компьютером, http://www.keldysh.ru/pages/norma). Язык НОРМА называют декларативным вследствие упора именно на опи- сание правил вычисления значений, а не на исчерпывающе подробную кон- кретизацию алгоритма. Разработчик прикладных программ абстрагируется от особенностей конкретных ЭВМ и мыслит в привычных терминах своей предметной области (сеточные методы математической физики, в основном метод конечных разностей - МКР). Система НОРМА включает синтезатор, назначением которого является преобразование НОРМА-текста в (один из привычных) языковых стандартов параллельного или последовательного программирования (в настоящее время существует возможность получения Fortran-MPI, Fortran-DVM, Fortran-77 или соответствующих C-текстов). Эф- фективный автоматический синтез параллельного кода на основе НОРМА- программы достигается определенными ограничениями языка, важное из ко- торых – отсутствие многократного присваивания (при этом несущественна последовательность операторов, отсутствуют глобальные переменные, за- прещена рекурсия, нет побочных эффектов при вычислениях и др., [7]). Ис- ходный текст на НОРМА в высшей степени близок к записи численного ме- тода решения конкретной задачи. В записи на языке НОРМА отсутствуют избыточные информационные связи (полный анализ которых как раз и явля- ется ‘ахиллесовой пятой’ систем выявления скрытого параллелизма), что и позволяет реализовать эффективное автоматическое распараллеливание.
Страницы
- « первая
- ‹ предыдущая
- …
- 57
- 58
- 59
- 60
- 61
- …
- следующая ›
- последняя »