Рабочая программа учебной дисциплины (модуля) Технологии параллельного программирования

Вид материалаРабочая программа

Содержание


010400.68 – Прикладная математика и информатика
1. Цели освоения дисциплины
2. Место дисциплины в структуре магистерской программы
3. Компетенции обучающегося, формируемые в результате освоения дисциплины (модуля) «Технологии параллельного программирования»
4. Структура и содержание дисциплины (модуля) «Технологии параллельного программирования»
5. Образовательные технологии
7. Учебно-методическое и информационное обеспечение дисциплины (модуля)
8. Материально-техническое обеспечение дисциплины (модуля)
Подобный материал:
Министерство образования и науки Российской Федерации

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

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

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



«УТВЕРЖДАЮ»

_____________________

_____________________

«______»__________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 года, протокол № .