Министерство образования и науки Российской Федерации
ГОУ ВПО «Мордовский государственный университет им. »
Математический факультет
Кафедра систем автоматизированного проектирования
«УТВЕРЖДАЮ» _____________________ _____________________ «______»__________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 года, протокол № .


