Программа дисциплины «теория параллельного программирования»

Главная страница
Контакты

    Главная страница



Программа дисциплины «теория параллельного программирования»

Скачать 243,42 Kb.


Дата03.07.2018
Размер243,42 Kb.
ТипПрограмма дисциплины

Скачать 243,42 Kb.

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ
Государственное образовательное учреждение высшего профессионального образования

«Ивановский государственный энергетический университет

имени В.И.Ленина»
УТВЕРЖДАЮ
Декан ИВТФ ____________ В.М. Кокин
“____“ _______________2014


РАБОЧАЯ ПРОГРАММА ДИСЦИПЛИНЫ
«ТЕОРИЯ ПАРАЛЛЕЛЬНОГО ПРОГРАММИРОВАНИЯ»
(Б3.В.ОД.6)


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

230100.62 Информатика и вычислительная техника







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

бакалавр

(бакалавр, магистр)

Профиль подготовки

«Высокопроизводительные системы на базе больших ЭВМ»







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

очная

(очная, заочная и др.)

Выпускающая кафедра

Высокопроизводительных вычислительных систем







Кафедра-разработчик РПД

Высокопроизводительных вычислительных систем







Семестр

Трудоем-кость з.е./ час.




Лек-ций,

час.


Практич. занятий,

час.


Лаборат. работ,

час.


Курсовое проектирование, час

СРС,

час


Форма

промежуточного (рубежного)

контроля

(экзамен/зачет)



5

3/108

10

30

14




27

Экзамен(27)

6

4/144

12

24

12

24

36

Экзамен(36)

Итого

7/252

22

54

26

24

63

Экзамен(63)

Иваново 2014

Рабочая программа дисциплины (РПД) составлена в соответствии с требованиями ФГОС ВПО по направлению подготовки 230100.62 «Информатика и вычислительная техника» с учетом рекомендаций ПрООП по профилю подготовки «Высокопроизводительные вычислительные системы на базе больших ЭВМ»

Программу составили:

Кафедра Высокопроизводительных вычислительных систем
Чернышева Людмила Павловна, старший преподаватель

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


Гл. специалист ЗАО «СиСофт-Иваново», к.т.н., доцент Ильичев Николай Борисович______

________________________________________________________________________________



Программист ООО «Резерв-Система» Закурин Иван Александрович_____________________

________________________________________________________________________________


Программа одобрена на заседании кафедры «Высокопроизводительные вычислительные системы» ИГЭУ

« 12 » марта 2014 года, протокол № 7

Заведующий кафедрой ________________ к.т.н., доцент С.Г. Сидоров


Председатель цикловой методической комиссии по направлению:





Ф.И.О., ученое звание, подпись

СОДЕРЖАНИЕ


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

  2. Место дисциплины в структуре ООП ВПО.

  3. Структура и содержание дисциплины.

  4. Формы контроля освоения дисциплины.

  5. Учебно-методическое и информационное обеспечение дисциплины.

  6. Материально-техническое обеспечение дисциплины.


Приложения

Приложение 1. Аннотация рабочей программы.

Приложение 2. Технологии и формы преподавания.

Приложение 3. Технологии и формы обучения.

Приложение 4. Оценочные средства и методики их применения.



  1. ЦЕЛИ ОСВОЕНИЯ ДИСЦИПЛИНЫ

Целью освоения дисциплины «Теория параллельного программирования» является достижение следующих результатов обучения (РО):



знания: студенты должны иметь знания на уровне представлений о современных алгоритмах параллельного программирования, о способах синхронизации работы множества процессов, об информационной структуре программы;

студенты должны иметь знания на уровне воспроизведения о методах разработки граф-машин, о разработки блок-схем параллельных программ;

студенты должны иметь знания на уровне понимания о теоретических основах разработки параллельных программ, способах организации согласованной работы множества процессов;

студенты должны уметь разрабатывать эффективные параллельные программы, уметь организовывать работу процессов, уметь обосновывать целесообразность выбора того или иного алгоритма для работы конкретной программы;



умения: студенты должны уметь создавать параллельные программы, выбирать алгоритм для решения конкретной задачи;

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

Общекультурных –

ОК-5 - иметь навыки работы с компьютером как средством управления информацией.

Профессиональных –

ПК-3 – разрабатывать интерфейсы "человек - электронно-вычислительная машина".

ПК-4 – разрабатывать модели компонентов информационных систем, включая модели баз данных.

ПК-5 – осуществлять проектно-технологическая деятельность: разрабатывать компоненты программных комплексов и баз данных, использовать современные инструментальные средства и технологии программирования.

ПК-6 – осуществлять научно-исследовательская деятельность:обосновывать принимаемые проектные решения, осуществлять постановку и выполнять эксперименты по проверке их корректности и эффективности.

ПК-7 - готовить презентации, научно-технические отчеты по результатам выполненной работы, оформлять результаты исследований в виде статей и докладов на научно-технических конференциях.

ПК-10 – умение сопрягать аппаратные и программные средства в составе информационных и автоматизированных систем.





  1. МЕСТО ДИСЦИПЛИНЫ В СТРУКТУРЕ ООП ВПО

Дисциплина «Теория параллельного программирования» относится к циклу профессиональных дисциплин.

Необходимыми условиями для освоения дисциплины являются: знание архитектуры многопроцессорных вычислительных систем; знание технологий параллельного программирования MPI и OpenMP.

В таблице приведены предшествующие и последующие дисциплины, направленные на формирование компетенций, заявленных в разделе «Цели освоения дисциплины»:



№ п/п

Наименование компетенции

Предшествующие дисциплины

Последующие дисциплины (группы дисциплин)

Общекультурные компетенции

1.

ОК-12

Информатика. Параллельное программирование. Математический анализ.

Методы вычислений. Специальные главы высшей математики.

Профессиональные компетенции

1.

ПК-3

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

Многопоточное и распределенное программирование.

2.

ПК-4

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

Многопоточное и распределенное программирование.

3.

ПК-5

Программирование. Параллельное программирование. Архитектура многопроцессорных вычислительных систем.

Многопоточное и распределенное программирование.

4.

ПК-6

Теория вычислительных процессов на МВС. Программирование. Параллельное программирование.




5.

ПК-7

Программирование. Параллельное программирование. Компьютерные технологии.

Производственная практика.

6.

ПК-10

Параллельное программирование. Архитектура многопроцессорных вычислительных систем.

Администрирование кластерных систем. Производственная практика.


  1. СТРУКТУРА И СОДЕРЖАНИЕ ДИСЦИПЛИНЫ

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

№ модуля образовательной программы

№ раздела

Наименование

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



Виды учебной нагрузки и их трудоемкость, часы

Лекции

Практические занятия

Лабораторные
работы

Курсовое проектирование

СРС

Всего часов


1.

1.

Информационная структура параллельной программы.

2

6

2




6

16


2.

2.

Алгоритм «портфель задач».

3

8

4




5

20

3.

Алгоритм «MapReduce».

2

8

4




8

22

4.

Алгоритм «кратчайшее задание».

3

8

4




8

23

3.



5.

Понятие «светофора» «монитора» «гонки».

2

4

2




6

14

6.

Алгоритм «рандеву».

2

4

2




6

14

7.

Алгоритм «неделимое оповещение»

2

4

2

4

6

18

8.

Понятие «диспетчер задач»

2

4

2

5

6

19

4.

9.

Многопоточность С++12.

2

4

2

5

6

19


5.

10.

Сети Петри.

2

4

2

10

6

24

экзамен:
















63

ИТОГО:

22

54

26

24

63






    1. Лекции

      № п/п

      Номер раздела дисциплины

      Объем, часов

      Тема лекции

      1

      1

      2

      Информационные зависимости. Блок-схема параллельной программы. Графовые модели. Построение граф-машины.

      2

      2,3,4

      8

      Алгоритмы «портфель задач», «MapReduce», «кратчайшее задание». Понятие выдержки (старения) запроса. Программы, реализующие данные алгоритмы.

      3.

      5,6,7,8.

      8

      Синхронизация с помощью «светофора». Понятие «монитора». Состояние «гонки». Способы выхода из этого состояния. Алгоритмы «рандеву», «неделимое оповещение». Понятие «диспетчер задач».

      4

      9

      2

      Создание потоков. Освобождение потоков. Ожидание завершения работы потока. Мьютексы и другие способы синхронизации.

      5

      10

      2

      Сети Петри. Построение, фишки, зависимости.

      Итого:

      22




    2. Практические занятия (семинары)

      № п/п

      Номер раздела дисциплины

      Объем, часов

      Тема практического занятия

      1

      1

      6

      Исследование информационных зависимостей. Построение блок-схем параллельных программ. Информационный граф. Граф связей. Построение граф-машины параллельной программы.

      2

      2,3,4

      24

      Распределение задач по алгоритму «портфель задач», Синхронизация процессов. Шаг Map и шаг Reduce при обработке больших массивов данных. Распределение ресурсов по алгоритму «кратчайшее задание». Учет выдержки (старения) запроса. Программы на MPI и OpenMP, реализующие данные алгоритмы.

      3

      5,6,7,8

      16

      Синхронизация с помощью «светофора». Две функции «семафора». Организация работы процессов с помощью «монитора». Блокировки и барьеры. Обращения к общим ресурсам, приводящим к состоянию «гонки». Способы выхода из этого состояния. Алгоритмы «рандеву» на задаче о спящем парикмахере. Работа клиент-сервер по схеме «неделимое оповещение». Понятие «диспетчер задач». Программы на MPI и OpenMP, реализующие данные алгоритмы.

      4

      9

      4

      Функции создания, освобождения потоков, ожидание завершения работы потока. Запуск потоков в фоновом режиме. Синхронизация потоков, мьютексы. Атомарные операции.

      5

      10

      4

      Сети Петри как средство моделирования и анализа параллельных программ. Построение, разметки, зависимости. Построение сетей Петри.

      Итого:

      54




    3. Лабораторные работы

№ п/п

Номер раздела дисциплины

Наименование лабораторной работы

Наименование лаборатории

Трудоемкость, часов

1

1

Исследование информационных зависимостей в «задаче о курильщиках».

Б-331, кластер энергоуниверситета

2

2

2,3,4

Задачи о «голодных птенцах», задача об исключении повторяющихся чисел в огромных файлах, задача о «принтерах» Программы на MPI и OpenMP. Построение граф-машин программ.

Б-331, кластер энергоуниверситета

12

3

5,6,7,8

Задача о «спящем парикмахере», задача о «неделимом оповещении». Программы на MPI и OpenMP.

Б-331, кластер энергоуниверситета

8

4

9

Задача о «читателях и писателях». Программы на MPI , OpenMP и в среде С++.

Б-331, кластер энергоуниверситета

2

5

10

Анализ написанных программ с помощью сетей Петри.

Б-331, кластер энергоуниверситета

2

Итого:

26



    1. Самостоятельная работа студента

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

№ п/п

Вид СРС

Трудоемкость, часов

Раздел 1

1

Подготовка реферата по задачам Дейкстры

6

Раздел 2

2

Выполнение домашнего задания

5

3

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

8

4

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

8

Раздел 3

5

Подготовка проектной документации

6

6

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

6

7

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

6

8

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

6

Раздел 4

9

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

6

Раздел 5

10

Выполнение домашнего задания

6

Итого:

63



    1. Домашние задания, темы рефератов и т.п.

Темы 1. Информационная структура параллельной программы. (6 часов).

1. Задача «об обедающих философах».

2. Развитие вычислительной техники и первые системы параллельного программирования.

3. Неполнота последовательного программирования.

4. Способы решения задачи «об обедающих философах».



Тема 2. Алгоритмы параллельного программирования (1-я часть) (21 час).

1. Алгоритм «билета».

2. Алгоритм «поликлиники».

3. Алгоритмы, параллельные по данным..

4. Метод передачи эстафеты.

5. Синхронизация типа «производитель-потребитель».


Тема 3. Алгоритмы параллельного программирования (2-я часть) (24 часа).

1. Способы организации работы с критической секцией.

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

3. Алгоритмы пульсации.

4. Алгоритмы передачи маркера.

5. Дублируемые серверы.



Тема 4. Многопоточность С++. (6 часов).

1. Гонки, возникающие при разделении данных между потоками.

2. Защита разделяемых данных с помощью мьютексов.

3. Синхронизация параллельных процессов.

4. Проектирование параллельных структур данных с блокировками.

5. Проектирование параллельных структур данных без блокировок.



Тема 5. Сети Петри. (6 часов).

1. Сети Петри с невидимыми переходами.

2. Сети Петри Высокого уровня..

3. Вложенные Сети Петри.



    1. Курсовые проекты (работы) по дисциплине

  1. Реализовать задачу о «курильщиках» с помощью светофора, монитора, диспетчера задач. Построить блок-схему, граф-машину, сеть Петри. Реализовать на MPI , OpenMP и в среде С++. Провести анализ, сделать выводы.

  2. Дан огромный массив чисел. Выбрать в нем уникальные числа с помощью алгоритма MapReduce. Построить блок-схему, граф-машину, сеть Петри. Вычислить ускорение по сравнению с однопроцессорным вариантом. Провести анализ, сделать выводы.

  3. Реализовать задачу о «читателях и писателяъ» с помощью светофора, монитора, диспетчера задач. Построить блок-схему, граф-машину, сеть Петри. Реализовать на MPI , OpenMP и в среде С++. Провести анализ, сделать выводы.

  4. Реализовать задачу о «неделимой рассылке» с помощью светофора, монитора, диспетчера задач. Построить блок-схему, граф-машину, сеть Петри. Реализовать на MPI , OpenMP и в среде С++. Провести анализ, сделать выводы.

  5. Реализовать задачу о «молекуле воды» с помощью светофора, монитора, диспетчера задач. Построить блок-схему, граф-машину, сеть Петри. Реализовать на MPI , OpenMP и в среде С++. Провести анализ, сделать выводы.

  6. Реализовать задачу «узкий мост» с помощью светофора, монитора, диспетчера задач. Построить блок-схему, граф-машину, сеть Петри. Реализовать на MPI , OpenMP и в среде С++. Провести анализ, сделать выводы.

  7. Реализовать задачу «общая душевая» с помощью светофора, монитора, диспетчера задач. Построить блок-схему, граф-машину, сеть Петри. Реализовать на MPI , OpenMP и в среде С++. Провести анализ, сделать выводы

  8. Реализовать задачу «американские горки» с помощью светофора, монитора, диспетчера задач. Построить блок-схему, граф-машину, сеть Петри. Реализовать на MPI , OpenMP и в среде С++. Провести анализ, сделать выводы.

  9. Реализовать задачу о «счете» с помощью светофора, монитора, диспетчера задач. Построить блок-схему, граф-машину, сеть Петри. Реализовать на MPI , OpenMP и в среде С++. Провести анализ, сделать выводы.

  10. Реализовать задачу о «выделении памяти» с помощью светофора, монитора, диспетчера задач. Построить блок-схему, граф-машину, сеть Петри. Реализовать на MPI , OpenMP и в среде С++. Провести анализ, сделать выводы.



  1. ФОРМЫ КОНТРОЛЯ ОСВОЕНИЯ ДИСЦИПЛИНЫ

Контроль освоения дисциплины производится в соответствии с ПОЛОЖЕНИЕМ о системе РИТМ в ИГЭУ.



Текущий контроль (ТК) и промежуточный (ПК) контроли студентов в течение семестра производятся в дискретные временные интервалы (в соответствии с приказом ректора о проведении ТК и ПК по системе РИТМ в ИГЭУ) лектором и преподавателями, ведущими практические и лабораторные занятия по дисциплине в следующих формах:

  • тестирование;

  • письменные домашние задания;

  • выполнение лабораторных работ:

  • защита лабораторных работ:

  • письменные контрольные работы.

В результатах текущего контроля учитывается посещаемость и активность студентов на занятиях.

Итоговый контроль студентов проводится по завершении изучения дисциплины в виде экзаменов (в конце каждого семестра). К экзамену допускаются студенты, выполнившие все лабораторные работы. Форма экзамена – индивидуальное собеседование в сочетании с предварительным письменным ответом на вопрос.


  1. УЧЕБНО-МЕТОДИЧЕСКОЕ И ИНФОРМАЦИОННОЕ ОБЕСПЕЧЕНИЕ ДИСЦИПЛИНЫ

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

  1. Алгоритмы и программы для многопроцессорных суперкомпьютеров / В. В. Пекунов, С. Г. Сидоров, Л.П.Чернышева и др.: ГОУВПО «Ивановский государственный энергетический университет им. В.И.Ленина»-Иваново,2007.-132с

  2. Воеводин В.В., Воеводин Вл.В. Параллельные вычисления. -СПб.: БХВ- Петербург, 2002.-608с.

  3. Эндрюс Г.Р. Основы многопоточного, параллельного и распределенного программирования.: Пер.с англ.-М.: Издательский дом «Вильямс», 2003.-512с.

b) дополнительная литература:

  1. Миллер Р., Боксер Л. Последовательные и параллельные алгоритмы: Общий подход. Пер. с англ.- М.: БИНОМ. Лаборатория знаний, 2012. - 406 с.: ил.

  2. Хьюз, Камерон, Хьюз, Трейси. Параллельное и распределенное программирование на С++.: Пер. с англ. – М.: Издательский дом «Вильямс», 2004. – 672 с.: ил.

c) программное обеспечение, Интернет-ресурсы, электронные библиотечные системы:

  1. http://www.parallel.ru

  2. http://www.intuit.ru



  1. МАТЕРИАЛЬНО-ТЕХНИЧЕСКОЕ ОБЕСПЕЧЕНИЕ ДИСЦИПЛИНЫ

В Ивановском государственном энергетическом университете есть кластерная система, содержащая 128 процессоров. Кластерная система закреплена за кафедрой Высокопроизводительных вычислительных систем (ВВС).



На кафедре ВВС подготовлен комплекс учебно-методического и программного обеспечения для проведения лекционных и практических занятий по курсу «Администрирование кластерных систем». Издан ряд учебных пособий по обучению работы на кластерной системе энергоуниверситета. На кафедре ВВС разработаны наборы электронных презентаций слайдов по различным разделам курса и другие информационные ресурсы. На кафедре ВВС есть ноутбук и проектор. Это дает возможность при проведении лекционных и практических занятий использовать информационные ресурсы кафедры ВВС.

Лабораторные занятия по курсу предполагается проводить в ВЦ ИГЭУ, оснащенным современными компьютерами, являющимися терминалами кластерной системы. Для проведение занятий ВЦ ИГЭУ оснащен необходимым лицензионным программным обеспечением. Информационные ресурсы, необходимые для проведения занятий по всем разделам курса, размещаются, редактируются и пополняются на сайте кафедры.

Приложение 1
к рабочей программе дисциплины
«Теория параллельного программирования»

Аннотация рабочей программы ДИСЦИПЛИНЫ

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


Дисциплина «Теория параллельного программирования» является частью профессионального цикла дисциплин подготовки студентов по направлению подготовки 230100.68 «Информатика и вычислительная техника».

Дисциплина реализуется на факультете Информатики и вычислительной техники кафедрой Высокопроизводительных вычислительных систем.

Дисциплина нацелена на формирование общекультурной компетенции ОК-12 и профессиональных компетенций ПК-3, ПК-4, ПК-5, ПК-6, ПК-7, ПК-10 выпускника.

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

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

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

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

Программой дисциплины предусмотрены лекционные 22 часа, практические занятия 54 часа, лабораторные занятия 26 часов, курсовая работа 24 часа, самостоятельная работа студента 63 часа, экзамены 63 часа.







Каталог: images
images -> Реферат спорт-альтернатива пагубным привычкам ученица мбоу сош №12 г. Казани 11 «Б» класса Гилязова А. О
images -> К рабочей программе по предмету история на 2014-2015 год для 5 класса Количество часов
images -> Программа итогового междисциплинарного экзамена по направлению 070600. 62 Дизайн квалификация (степень) выпускника
images -> Реферат по информатике и икт по теме: «Информационная картина мира»
images -> Сын просто уверен, что он главный человек в моей жизни. И здесь он прав. Сама это ему всегда внушала
images -> Основная образовательная программа основного общего образования мбоу «Бишевская средняя общеобразовательная»

  • РАБОЧАЯ ПРОГРАММА ДИСЦИПЛИНЫ «ТЕОРИЯ ПАРАЛЛЕЛЬНОГО ПРОГРАММИРОВАНИЯ» (Б3.В.ОД.6)
  • ЦЕЛИ ОСВОЕНИЯ ДИСЦИПЛИНЫ
  • МЕСТО ДИСЦИПЛИНЫ В СТРУКТУРЕ ООП ВПО
  • СТРУКТУРА И СОДЕРЖАНИЕ ДИСЦИПЛИНЫ
  • Практические занятия (семинары)
  • Самостоятельная работа студента
  • Домашние задания, темы рефератов и т.п.
  • Тема 2.
  • Курсовые проекты (работы) по дисциплине
  • ФОРМЫ КОНТРОЛЯ ОСВОЕНИЯ ДИСЦИПЛИНЫ Контроль освоения дисциплины производится в соответствии с ПОЛОЖЕНИЕМ о системе РИТМ в ИГЭУ. Текущий контроль (ТК)
  • УЧЕБНО-МЕТОДИЧЕСКОЕ И ИНФОРМАЦИОННОЕ ОБЕСПЕЧЕНИЕ ДИСЦИПЛИНЫ
  • МАТЕРИАЛЬНО-ТЕХНИЧЕСКОЕ ОБЕСПЕЧЕНИЕ ДИСЦИПЛИНЫ
  • Аннотация рабочей программы ДИСЦИПЛИНЫ