Министерство образования и науки Российской Федерации

ГОУ ВПО «Мордовский государственный университет им. »

Математический факультет

Кафедра систем автоматизированного проектирования

«УТВЕРЖДАЮ»

_____________________

_____________________

«______»__________201_ г.

РАБОЧАЯ ПРОГРАММА УЧЕБНОЙ ДИСЦИПЛИНЫ (МОДУЛЯ)

Технологии параллельного программирования

Наименование магистерской программы
Математическое и программное обеспечение вычислительных машин

Направление подготовки

010400.68 – Прикладная математика и информатика

Квалификация (степень) выпускника

Магистр

Форма обучения

очная

г. Саранск

2011г.

1. Цели освоения дисциплины

Целью освоения дисциплины «Технологии параллельного программирования» является подготовка квалифицированных специалистов, обладающих знаниями в области технологий параллельного программирования и навыками их практического использования.

Задачи изучения дисциплины:

–  формирование представлений об общей методологии и средствах параллельного программирования;

–  углубленная подготовка студентов в области практического применения средствах параллельного программирования.

2. Место дисциплины в структуре магистерской программы

Дисциплина «Технологии параллельного программирования» относится к вариативной части общенаучного цикла.

Для изучения данной дисциплины студент должен получить необходимые знания, умения и компетенции, которые формируются в результате изучения перечисленных ниже дисциплин: «Основы информатики», «Методы оптимизации», «Математическая логика и теория алгоритмов», «Архитектура компьютеров», «Языки и методы программирования».

НЕ нашли? Не то? Что вы ищете?

Знания и умения, полученные в результате освоения данной дисциплины, могут быть использованы в научно-исследовательской работе, при прохождении «Научно-исследовательской практики», а также при подготовке студентом магистерской диссертации.

3. Компетенции обучающегося, формируемые в результате освоения дисциплины (модуля) «Технологии параллельного программирования»

Процесс изучения дисциплины направлен на формирование следующих компетенций:

–  способность использовать углубленные теоретические и практические знания в области прикладной математики и информатики (ОК-3),

–  способность разрабатывать концептуальные и теоретические модели решаемых научных проблем и задач (ПК-2),

–  способность углубленного анализа проблем, постановки и обоснования задач научной и проектно-технологической деятельности (ПК-3).

Знать:

–  различные подходы в методологии программирования,

–  парадигму модульного программирования,

–  парадигму визуального программирования.

Уметь:

–  анализировать, тестировать и проводить отладку алгоритмов,

–  применения технологий инженерии программного обеспечения.

Владеть:

–  различными методами решения задач,

–  средствами инженерии программного обеспечения.

4. Структура и содержание дисциплины (модуля) «Технологии параллельного программирования»

Общая трудоемкость дисциплины составляет 3 зачетных единиц 108 часов.

п/п

Раздел дисциплины

Сем

Неделя
семестра

Виды учебной работы, включая самостоятельную работу студентов и трудоемкость (в часах)

Формы
текущего
контроля
успеваемости
(по неделям семестра)

Форма промежу-точной аттестации (по семестрам)

Лекц.

Лаб.

СРС

Всего

1

Обзор области параллельных вычислений

1 (лекции),

1, 2 (лаб. раб.)

2

4

6

12

Отчет по ЛР №1 Отчет по ЛР №2

зачет

2

Программирование с разделяемыми переменными

3, 5 (лекции),

3 - 6 (лаб. раб.)

4

8

8

20

Отчет по ЛР №3 Отчет по ЛР №4 Отчет по ЛР №5 Отчет по ЛР №6

3

Распределенное программирование

7, 9(лекции),

7 -10 (лаб. раб.)

4

8

8

20

Отчет по ЛР №7 Отчет по ЛР №8

4

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

11, 13 (лекции),

11 - 14 (лаб. раб.)

4

8

8

20

Отчет по ЛР №9

Итого

14

28

30

72

5. Образовательные технологии

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

6. Оценочные средства для текущего контроля успеваемости, промежуточной аттестации по итогам освоения дисциплины и учебно-методическое обеспечение самостоятельной работы студентов

Формой текущего контроля знаний студентов является контроль правильности выполнения и оформления лабораторных работ.

Формой итогового контроля знаний и умений студентов по курсу «Технологии параллельного программирования» является зачет.

Наименования лабораторных работ:

1.  Введение в MPI. Основные функции MPI.

2.  Введение в OpenMP. Основные директивы OpenMP.

3.  Виртуальные топологии. Примеры, использующие разные топологии. Умножение матрицы на вектор.

4.  Решение СЛАУ итерационными методами. Метод простой итерации и сопряженных градиентов.

5.  Решение СЛАУ методом Гаусса. Метод Гаусса.

6.  Решение задачи Пуассона в 3D методом Зейделя. Задача Пуассона.

7.  Распараллеливание невычислительной задачи. Сортировка массивов.

8.  Работа с отладчиком параллельных программ Gepard.

9.  Программирование многопоточных приложений. POSIX Threads.

Перечень вопросов для организации итогового контроля:

1.  Параллельные вычисления. Общий смысл.

2.  Мультипроцессоры и мультикомпьютеры

3.  Обзор программной нотации

4.  Программирование с разделяемыми переменными. Процессы и синхронизация.

5.  Программирование с разделяемыми переменными. Блокировки и барьеры.

6.  Программирование с разделяемыми переменными. Семафоры. Мониторы. Реализация

7.  Распределенное программирование. Передача сообщений.

8.  Распределенное программирование. Удаленный вызов процедур и рандеву.

9.  Распределенное программирование. Модели взаимодействия процессов.

10.  Распределенное программирование. Реализация языковых механизмов

11.  Синхронное параллельное программирование. Научные вычисления.

12.  Синхронное параллельное программирование. Языки, компиляторы, библиотеки и инструментальные средства

7. Учебно-методическое и информационное обеспечение дисциплины (модуля):

а) основная литература

1.  Эндрюс  многопоточного, параллельного и распределенного программирования. — М.: Издательский дом «Вильямс», 2003. — 512 с.

2.  Богачев  параллельного программирования. — М.: Бином. Лаборатория знаний, 2003. — 344 с

б) программное обеспечение и Интернет - ресурсы

1.  Электронный конспект лекций;

2.  Методические указания к выполнению лабораторных работ;

3.  Компьютерные программы для поддержки выполнения лабораторных работ;

4.  Наборы презентаций для лекционных занятий.

8. Материально-техническое обеспечение дисциплины (модуля):

1.  Аудитория для проведения лекционных занятий, имеющая необходимое количество посадочных мест (для занятий с группой из 10 студентов) и оснащенная оборудованием для проведения презентаций (ноутбук, проектор);

2.  Аудитория с персональными компьютерами для проведения лабораторных занятий, имеющая необходимое количество рабочих мест (для занятий с подгруппой из 10‑15 студентов), оборудованная персональными компьютерами на базе процессора Intel Pentium II или выше, оснащенных необходимым системным и прикладным программным обеспечением.

Программа составлена в соответствии с требованиями ФГОС ВПО с учетом рекомендаций и ПрООП ВПО по направлению 010400.68 – «Прикладная математика и информатика» и магистерской программе «Математическое и программное обеспечение вычислительных машин».

Автор: к. т.н., доцент кафедры систем автоматизированного проектирования

Рецензент (ы)

Программа одобрена на заседании

от « » ____________ 2011 года, протокол № .