Skip Navigation Linksparallel-programming

​​​​

Параллельное программирование

О дисциплине

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

    Параллельное программирование является более сложным по сравнению с последовательным как в написании кода, так и в его отладке.

    Для облегчения процесса параллельного программирования существуют специализированные инструменты, например, отладчик TotalView, статический анализатор кода Viva​MP

Языки параллельного программирования

  Visual Studio предоставляет библиотеки и средства, помогающие в разработке, профилировании и отладке параллельного и одновременного кода, написанного на языках C++ и .NET, таких как C# и Visual Basic.

 ​Параллельные расширения и диалекты языка Fortran:

​Fortran-DVMCray MPP FortranF--Fortran 90/95, Fortran D95Fortran MFxHPFOpusVienna Fortran 

 Параллельные расширения и диалекты языков C/C++

C-DVMA++/P++CC++Charm/Charm++CilkHPC, HPC++,  MaisieMentatmpCMPC++ParsecpC++sC++uC++

 Другие параллельные языки и расширения:

​НОРМАABCLAdlAdaConcurrent Clean MC#ErlangLinda,           Modula-3NESLOccamOrca, ParallaxisPhantomSisalSRZPL

​В курсе "Параллельное программирование"
 Студенты получают представления:
  • о проблемах и направлениях развития технологии параллельного программирования;
  • об основных методах и средствах измерения времени выполнения алгоритма при параллелизме команд и данных;
  • о направлениях развития методов и программных средств распараллеливания алгоритмов;
  • о проблемах и тенденциях развития рынка параллельного программного обеспечения.
​    Приобретают знания и умения:
  • о разработке требований и спецификаци параллельного программного обеспечения;
  • о проектировании параллельных алгоритмов;
  • об оценках качества программного обеспечения;
  • о влиянии характеристик аппаратуры на качество программ.
​    Получают опыт:
  • выбора средств ВТ, средств программирования и их применения для эффективной реализации параллельных алгоритмов;
  • решения задач параллельного программирования.
 Тематика теоретического курса
  • Формальные модели параллелизма.
  • Частично-упорядоченные системы.
  • Сети Петри.
  • Обобщения формализма сетей Петри.
  • Трансформационная модель вычислений.
  • Параллельные процессы.
  • Автоматные модели.
  • Параллелизм в языках декларативного программирования.
  • Языки параллельного программирования.
  • Специализированные языки параллельного программирования. Язык ОККАМ.
  • Системные средства поддержки параллельных вычислений.
  • Аппаратные средства поддержки параллельных вычислений. 
​ Тематика лабораторных работ
  • Разработка программ на языке Параллельный ФОРТРАН
  • Разработка программ на языке Параллельный Паскаль
  • Разработка программ для использования в глобальных сетях.

<< Назад