Программа дисциплины «Параллельное программирование» - davaiknam.ru o_O
Главная
Поиск по ключевым словам:
страница 1
Похожие работы
Название работы Кол-во страниц Размер
Рабочая программа дисциплины " Параллельное программирование" 1 159.8kb.
Летняя молодежная школа-стажировка «Высокопроизводительные вычисления... 1 20.94kb.
Программа обсуждена 1 202.52kb.
Рабочей программы дисциплины параллельное и распределенное программирование 1 15.63kb.
Программа по дисциплине параллельное программирование астрахов А. 1 62.53kb.
Программа дисциплины «Программирование» 1 261.43kb.
Введение в параллельное программирование 1 34.79kb.
Параллельное программирование с использованием OpenMP 1 176.06kb.
Учебный план дополнительной образовательной программы краткосрочного... 1 166.16kb.
Учебная программа Дисциплины р7 «Программирование в unix» 1 77.01kb.
Рабочая программа наименование дисциплины : Программирование сетевых... 1 122.08kb.
Пиаже Ж. Психологическое объяснение и проблема психофизиологического... 1 60.83kb.
Направления изучения представлений о справедливости 1 202.17kb.

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

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

высшего профессионального образования

«Чувашский государственный университет имени И.Н.Ульянова»
Факультет дизайна и компьютерных технологий

«УТВЕРЖДАЮ»

Проректор по учебной работе
______________ А.Ю. Александров
«______»______________ 20__ г.

РАБОЧАЯ ПРОГРАММА ДИСЦИПЛИНЫ



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

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



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

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



Операционные среды САПР
Квалификация (степень) выпускника

Магистр
Форма обучения

очная

Чебоксары

2011

Рабочая программа основана на требованиях Федерального государственного стандарта высшего профессионального образования по направлению подготовки 230100 «Информатика и вычислительная техника», специальности «Операционные среды САПР», утвержденного Приказом Минобрнауки 09.11.2009 г. № 554.


Составитель: доцент NNNNNNNN (фамилия, имя, отчество) ____________
Рабочая программа рассмотрена и одобрена на заседании обеспечивающей кафедры – компьютерных технологий (протокол № _____ от ___________2010 г.).
Зав. кафедрой: профессор Желтов Валериан Павлович
Рабочая программа согласована с Методической комиссией выпускающего факультета Дизайна и компьютерных технологий.
Председатель комиссии, декан: профессор Желтов Валериан Павлович____________

СОГЛАСОВАНО:

Зам. начальника УМУ: доцент М.Ю. Харитонов ____________

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

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


2. Место дисциплины в структуре ООП магистра
Требования к входным знаниям, умениям и компетенциям студента, необходимым для ее изучения:

- владение культурой мышления, способность к обобщению, анализу, восприятию информации, постановке цели и выбору путей ее достижения (ОК-1);

- стремится к саморазвитию, к повышении своей квалификации, и мастерства (ОК-6);

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

- осваивать методики использования программных средств для решения практических задач (ПК-2);

- понимание концепций и атрибутов качества программного обеспечения (надежности, безопасности, удобства использования), в том числе, роли людей, процессов, методов, инструментов и технологий обеспечения качества (ПК-18);


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

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

- владение культурой мышления, способность к обобщению, анализу, восприятию информации, постановки цели и выбору путей её достижения;

- владение культурой мышления, способность к обобщению, анализу, восприятию информации, постановки цели и выбору путей её достижения;

- осваивать методики использования программных средств для решения практических задач;

- обосновывать принимаемые проектные решения, осуществлять постановку и выполнять эксперименты по проверки их корректности и эффективности.


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

Уметь: (владеть или иметь навыки) разрабатывать требования и спецификации программного обеспечения для реализации на основе принципов параллельной обработки информации; спецификации протоколов взаимодействия асинхронных процессов; параллельные программы в среде операционной системы PARIX на одном процессоре и на сетке процессоров.

Иметь представление: (понимать) об основных проблемах теории и практики параллельного программирования; особенностях современных языков параллельного программирования; о критериях оптимизации выбора средств вычислительной техники, программного обеспечения и методов их использования для эффективной реализации параллельной обработки информации; о перспективах развития параллельных вычислителей и средств параллельного программирования.
4. Структура и содержание дисциплины
4.1. Структура дисциплины
Общая трудоемкость дисциплины составляет 10 зачетных единиц, 360 часов.



п/п

Раздел

дисциплины

Семестр

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

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

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

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

Лекции

Практ. зан.

Лабор. зан.

КСР *

СРС **

Всего

Из ауд. зан. в интер. форме




1

Введение

10

1-2

2













2







2

Формальные модели параллельного программирования

10

3-4

6




4




12

22







3

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

10

5-6

6




4




14

24







4

Операторные схемы Келлера

10

7-8

6










12

18







5

Эквивалентность вычислительных процессов

10

9-10

6










12

18







6

Проблема распараллеливания алгоритмов

10

11-12

4




4




14

22







7

Процедура распаралеливания с очередями

10

13-14

4










16

20







8

Организация взаимодействия процессов

10

15-16

6




4




16

26







9

ВС с массовым параллелизмом Трехгранник

10

17

4




4




14

22




зачет

10

Архитектура многопроцессорных ВС

11

1-2

4










10

14







11

Транспьютерные параллельные ВС

11

3-4

4




4




12

20







12

Введение в UNIX

11

5-6

4




4




12

20







13

ОС PARIX

11

7-10

6




4




12

22







14

Параллельный вычислитель MC-3

11

11-12

4




4




14

22







15

Параллельные вычисления на одном процессоре

11

13-14

4




4




14

22







16

Параллельные вычисления на сетке процессоров

11

15

6




8




16

30







17

Конфигурация параллельных программ

11

16

4




8




16

28







18

Заключение

11

17

4










4

4










Итого




34

84




56




220

360




экзамен

* Контроль самостоятельной работы: аудиторные занятия для проверки самостоятельной работы студентов, приема зачета, проведения текущих консультаций.

** Самостоятельная работа студента, включая курсовой проект, курсовую работу, расчетно-графические работы.

4.2. Содержание лекционных занятий


Тема 1. Краткая характеристика курса в целом и основных разделов. Связь с другими дисциплинами учебного плана. Концепция процесса и принципы параллельной обработки информации. Основные проблемы параллельного программирования.
Тема 2. Формальные модели параллельного программирования. Параллельные схемы программ. Информационный базис и схема управления. Асинхронные вычислительные процессы над информационным базисом. Неуправляемые вычислительные процессы.
Тема 3. Схема управления параллельной схемы программы. Управляющий автомат и особенности автоматных функций. Эквивалентность вычислительных процессов по произвольному отношению. Детерминизм и отношение “большей параллельности” схем управления.
Тема 4. Концепции управления. Параллельные операторные схемы Келлера. Область определения и область значений. Основные аксиомы. Определение реализации операторных схем Келлера. Понятие свободной реализации.
Тема 5. Атрибуты вычислительных процессов. Виды эквивалентности вычислительных процессов по отношению равенства атрибутов. Отношение сводимости различных видов эквивалентности вычислительных процессов. Максимальная параллельность на множестве схем управления.
Тема 6. Десеквенция алгоритмов как задача преобразования программ одного класса в параллельные программы другого класса. Вычислительный процесс и операторные схемы Келлера. Условия существования свободной реализации.
Тема 7. Реализация параллельных операторных схем с очередями. Построение свободной реализции. Процедура расщепления диаграммы переходов согласованного автомата. Переход к автомату, реализующему максимально параллельную схему управления. Содержательная интерпретация реализации операторной схемы с очередями.
Тема 8. Принципы организации взаимодействия асинхронных процессов. Механизмы взаимодействия асинхронных процессов. Понятие синхропримитива. Использование сетей Петри как средства формальной спецификации протоколов взаимодействия асинхронных процессов. Отображение спецификации в реализацию системного и встроенного программного обеспечения. Аппаратные и программные средства организации взаимодействия асинхронных процессов, их взаимосвязи и разделения ресурсов.
Тема 9. Вычислительные системы с массовым параллелизмом. Определение и примеры. Особнности применения: моделирующие вычислительные системы и системы реального времени. Примеры. Характерные особенности таких систем.
Тема 10. Архитектура многопроцессорных вычислительных систем. Классификация ВС по Флину. Реконфигурируемые системы MIMD архитектуры. Статическая и динамическая реконфигурация. Оценка производительности массивно параллельных ВС. Причины снижения производительности.
Тема 11. Проектирование массивно параллельных ВС: RISC процессоры и транспьютеры. Традиционная классическая и нетрадиционная архитектура микропроцессорных элементов. Архитектура и специфические особенности внутренней организации транспьютерных элементов. Адресация сообщений, каналы, организация линков.
Тема 12. Введение в среду ОС UNIX. Основы командного интерпретатора оболочки UNIX. Средства создания и управления файлами. Удаленный доступ в системе UNIX. Средства создания и отладки С-программ. PARIX - расширение ОС UNIX для работы с параельными вычислителями на основе различных платформ. Компиляция и запуск программ в среде PARIX.
Тема 13. ОС PARIX - среда разработки параллельных программ. PARIX-компоненты. Программная модель PARIX. Статические и динамические параметры PARIX. Системная библиоека PARIX. Цикл разработки программ в среде PARIX.
Тема 14. Мультикластер фирмы Parsytec MC-3. Особенности внутренней организации параллельного вычислителя. Позиционирование процессорных элементов. Средства подержки синхронных и асинхронных взаимодействий процессорных элементов в среде PARIX. Принципы работы аппаратного планировщика. Состояния процессов. Средства создания виртуальной топологии. Библиотека виртуальных топологий. Виртуальные линки.
Тема 15. Выполнение параллельных программ на одном процессорном элементе. Организация взаимодействия процессов на одном процессорном элементе. Библиотека системные функций. Функции STARTTHREAD, MAKELINK, LOGERROR, SENDLINK.
Тема 16. Организация параллельных вычислений на сетке процессорных элементов. Масштабируемость программ в среде PARIX. Реализация кольцевых топологий.
Тема 17. Проблема конфигурации параллельных программ. Методы конфигурации на основе максимальной или суммарной функции. Структурный подход. Современные системы с массовым параллелизмом.
Тема 18. Заключение. Перспективы развития параллельных вычислителей и средств параллельного программирования.
4.3. Содержание практических занятий (не предусмотрено).
4.4. Содержание лабораторных занятий




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

Номер темы

1

Исследование структуры параллельного вычислителя

11,12,13

2

Реализация параллельных вычислений на одном процессоре

8,9,15

3

Реализация вычислений на сетке процессоров решающего поля

14,16,17

4

Организация взаимодействия процессов на структуре типа кольцо

14,16,17

5

Разработка параллельной программы умножения матриц

2,3,6


5. Образовательные технологии занятия
Формы работы студентов: основными формами работы студентов является посещение лекций и работа на лабораторных и семинарских занятиях (работа в компьютерном классе).

Формы контроля:

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

промежуточный контроль в конце 1 раздела и 2 модуля - прохождение тестов на семинарах.

- итоговый контроль: – экзамен, осуществляется, как в письменной форме (решение задач, ответы на вопросы), так и в практической форме (написание программы, выводы).



- итоговое оценивание знаний по накопительной системе:

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

выполнение и защита лабораторных работ (вес – 0,4);

выполнение контрольной работы (вес – 0,2);

тесты (вес каждого – 0,2)

Если студент согласен с накопленной оценкой, то она становится итоговой и проставляется в зачетную ведомость.

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

Если студент сдает экзамен, то итоговая оценка рассчитывается путем суммирования:

- накопленной оценки (вес - 0,6)

- оценки, полученной на экзамене (вес - 0,4)

8-10 – отлично

6-7 – хорошо

4-5 – удовлетворительно

1-3 – неудовлетворительно
6. Учебно-методическое обеспечение самостоятельной работы студентов. Оценочные средства для текущего контроля успеваемости, промежуточной аттестации по итогам освоения дисциплины.
6.1. Перечень заданий для самостоятельной работы и проведения текущего контроля (не предусмотрено).
6.2. Перечень вопросов к промежуточной аттестации.
1. Многопроцессорные системы с общей и распределенной па-мятью. Процессы и треды: сходства и различия. Планиро-вание процессов и тредов в многозадачной ОС.

2. Библиотека MPI: общие сведения. Модель SPMD. Функции инициализации, нормального и аварийного завершения ра-боты библиотеки. Функции определения номера и общего числа процессов в приложении.

3. Точечные обмены в MPI. Стандартный и синхронный режим.

4. Буферизация сообщений в MPI. Функции для работы с бу-фером. Вычисление необходимой длины буфера.

5. Прием сообщения по шаблону. Модель управляющий-рабочие. Недетерминизм. Условие гонок.

6. Отложенные операции. Функции инициализации и заверше-ния операции.

7. Коллективные взаимодействия. Функции MPI_Bcast, MPI_Gather, MPI_Scatter.

8. Коллективные взаимодействия. Функции MPI_Reduce, MPI_Barrier.

9. Понятие группы и коммуникатора. Функции для управления группами в MPI.

10. Создание и освобождение коммуникатора. Функции MPI_Comm_create и MPI_Comm_split.

11. Назначение системы типов в MPI. Базовые типы, MPI_ TYPE_VECTOR, MPI_ TYPE_HVECTOR, MPI_ TYPE_CONTIGUOUS.

12. Типы MPI_ TYPE_INDEXED, MPI_ TYPE_HINDEXED, MPI_TYPE_STRCUT.

13. Упаковка сообщений. Функции для запаковки и распаковки сообщений. Определение размера сообщения.

14. Библиотека PVM. Сравнение с MPI - сходства и различия. Управление виртуальной машиной PVM. Запуск и заверше-ние процессов параллельного приложения.

15. Отправка сообщений в PVM. Точечные и коллективные об-мены. Функции для запаковки сообщений.

16. Прием сообщений в PVM. Функции для распаковки сообще-ний.

17. Создание и завершение треда в библиотеке PTHREADS.

18. Проблема недетерминизма. Условие гонок.

19. Механизм семафоров в библиотеке PTHREADS.

20. Механизм критических секций в PTHREADS.

21. Основные компоненты среды OpenMP. Модель выполнения OpenMP-приложения. Роль транслятора при распараллели-вании.

22. Директива инициации параллельного выполнения (parallel) в OpenMP.

23. Директивы распределения работы sectons и sinlge в OpenMP.

24. Директива for распределения работы в OpenMP.


7. Учебно-методическое и информационное обеспечение дисциплины
а) основная литература:
1. Элементы параллельного программирования / В.Е.Котов, А.В.Вальковский А.Г.Марчук, Н.Н.Миренков. -М.: Радио и связь. 1983. -296с

2. Вальковский В.А. Распараллеливание алгоритмов и программ. Структурный подход. -М.: Радио и связь, 1989. -176с.

3. Karp R., Miller R. Parallel programs shemats. //JCSS, v.3, No.4, 1969. -p.p.147-195.(Русск.пер. в кн.: Кибернетический сборник: Новая серия, вып.13. М.: Мир,1976. -с.с.5-51

4. Программирование на параллельных вычислительных системах /Пер. с англ. -М.:Мир, 1991. -376с.

5. PARIX Release 2.1, Parsytec Computer GmbH, 1993. -500c.

6. Foster T. Ian. Designing and building parallel programs: Conception and tools for parallel software engineering. -Addison-Wesley Publlishing Company , 1995. -381 p.

7. Гергель В.П., Стронгин Р.Г. Основы параллельных вычислений для многопроцессорных вычислительных систем. - Н.Новгород, ННГУ, 2001.

8. Богачев К.Ю. Основы параллельного программирования. - М.: БИНОМ. Лаборатория знаний, 2003.

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

10. Немнюгин С., Стесик О. Параллельное программирование для многопроцессорных вычислительных систем - СПб.: БХВ-Петербург, 2002.


б) дополнительная литература:
1. Березин И.С., Жидков И.П. Методы вычислений. - М.: Наука, 1966.

2. Кормен Т., Лейзерсон Ч., Ривест Р. Алгоритмы: построение и анализ. - М.: МЦНТО, 1999.

3. Кнут Д. Искусство программирования для ЭВМ. Т. 3. Сортировка и поиск. - М.: Мир, 1981.

4. Дейтел Г. Введение в операционные системы. Т.1.- М.: Мир, 1987.


8. Материально-техническое обеспечение дисциплины
Персональные компьютеры – не менее 0,5 шт. на студента, объединенные в локальную сеть




По виду ей дашь не больше тридцати, по ее орфографии — не больше четырнадцати. Видоизмененный Моисей Сафир
ещё >>