Учебный план дополнительной образовательной программы краткосрочного повышения квалификации тип программы «Многопроцессорные вычисли - umotnas.ru o_O
Главная
Поиск по ключевым словам:
страница 1
Похожие работы
Название работы Кол-во страниц Размер
Учебный план среднесрочной программы повышения квалификации «Тренинг... 1 35.08kb.
Учебный план среднесрочной дополнительной образовательной программы 1 50.64kb.
Учебно-тематический план дополнительной образовательной программы... 1 134.57kb.
Программа учебной дисциплины введение в языкознание для студентов... 1 215.85kb.
Образовательная программа для получения дополнительной квалификации... 1 330.13kb.
Программа курса повышения квалификации по истории и культуре ислама 1 212.03kb.
Программа курса повышения квалификации по истории и культуре ислама 1 156.62kb.
Программа повышения квалификации старших вожатых Разработчик программы... 1 320.39kb.
Учебно-методический комплекс по дисциплине математика уровень основной... 1 384.45kb.
Курсы повышения квалификации «Управление образовательным учреждением... 10 3534.38kb.
Модули повышения квалификации учителей и руководителей оу, рекомендованные... 1 50.3kb.
Рабочая программа дисциплины Параллельные алгоритмы и системы 1 124.93kb.
Викторина для любознательных: «Занимательная биология» 1 9.92kb.

Учебный план дополнительной образовательной программы краткосрочного повышения квалификации - страница №1/1

МИНОБРНАУКИ РОССИИ

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ АВТОНОМНОЕ ОБРАЗОВАТЕЛЬНОЕ
УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ
«ЮЖНЫЙ ФЕДЕРАЛЬНЫЙ УНИВЕРСИТЕТ»





Согласовано

_______________________________



наименование должности руководителя подразделения

_______________________________



название структурного подразделения

_______________________________



подпись ФИО

«___»___________ 2011 г.



Утверждаю

Проректор по учебно-методической

и социальной работе

___________________ И.В. Мостовая

«___»___________ 2011 г.

УЧЕБНЫЙ ПЛАН


дополнительной образовательной программы
краткосрочного повышения квалификации

тип программы

«Многопроцессорные вычислительные системы


и параллельное программирование.
Уровень 2»

название программы
Цель повышение квалификации
Категория слушателей преподаватели
Объем программы 72 часа
Форма обучения очная



п/п

Наименование
модулей, дисциплин

Всего часов

В том числе

Форма
контроля

лекции

практ.
занятия

Самостоя-
тельная
работа

1.

Введение в архитектуры и средства программирования

14

8

2

4

Контроль-ные вопросы

2.

Программирование многопроцессорных систем с общей памятью

20

12

4

4

Контроль-ные вопросы и задания

3.

Среда параллельного программирования MPI

26

14

8

4

Контроль-ные вопросы и задания

4.

Решение задач на гибридных системах с общей и распределённой памятью

12

0

0

12

Контроль-ные вопросы и задания




Итого

72

34

14

24



Руководитель


дополнительной
образовательной программы зав. каф. ВМ Никитина А.В.

подпись должность ФИО
Разработчик доцент каф. ВМ Сухинов А.А.

подпись должность ФИО

МИНОБРНАУКИ РОССИИ



ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ АВТОНОМНОЕ ОБРАЗОВАТЕЛЬНОЕ
УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ
«ЮЖНЫЙ ФЕДЕРАЛЬНЫЙ УНИВЕРСИТЕТ»





Согласовано

_______________________________



наименование должности руководителя подразделения

_______________________________



название структурного подразделения

_______________________________



подпись ФИО

«___»___________ 2011 г.



Утверждаю

Проректор по учебно-методической

и социальной работе

___________________ И.В. Мостовая

«___»___________ 2011 г.

УЧЕБНЫЙ ПЛАН


дополнительной образовательной программы
краткосрочного повышения квалификации

тип программы

«Многопроцессорные вычислительные системы


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

название программы
Цель повышение квалификации
Категория слушателей преподаватели
Объем программы 72 часа
Форма обучения очная



№ п/п

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

модулей, дисциплин



Всего
часов

В том числе

Форма
контроля

лекции

практ.
занятия

самостоя-тельная
работа

1.

Введение в архитектуры и средства программирования

14

6

4

4

Контрольные вопросы

1.1.

Обзор архитектур многопроцессорных вычислительных систем. Их преимущества и недостатки при решении различных задач. Методы оценки производительности систем

2

2

0

0




1.2.

Параллельные алгоритмы и их характеристики. Закон Амдаля

6

2

2

2




1.3.

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

6

2

2

2




2.

Программирование многопроцессорных систем с общей памятью

20

12

4

4

Контрольные вопросы
и задания


2.1.

Понятие операционной системы. Функции и задачи ОС.

2

2

0

0




2.2.

Понятие процесса. Поток. Планировщик.

2

2

0

0




2.3.

Библиотека Pthreads

2

2

0

0




2.4.

Технология OpenMP

14

6

4

4




3.

Среда параллельного программирования MPI

26

14

8

4

Контрольные вопросы
и задания


3.1.

Общая организация MPI

2

2

0

0




3.2.

Базовые функции MPI

4

2

2

0




3.3.

Коммуникационные операции типа ТОЧКА-ТОЧКА

6

2

2

2




3.4.

Коллективные операции

6

2

2

2




3.5.

Производные типы данных и передача упакованных данных

4

2

2

0




3.6.

Работа с группами и коммуникаторами

2

2

0

0




3.7.

Топология процессов

2

2

0

0




4.

Решение задач на гибридных системах с общей и распределённой памятью

12

0

0

12

Контрольные вопросы
и задания


4.1.

Решение на уровне вычислительного ядра

4

0

0

4




4.2.

Решение на уровне SMP-узла

4

0

0

4




4.3

Решение на уровне распределенной вычислительной системы

4

0

0

4







Итого

72

34

14

24



Руководитель


дополнительной
образовательной программы зав. каф. ВМ Никитина А.В.

подпись должность ФИО
Разработчик доцент каф. ВМ Сухинов А.А.

подпись должность ФИО

МИНОБРНАУКИ РОССИИ



ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ АВТОНОМНОЕ ОБРАЗОВАТЕЛЬНОЕ
УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ
«ЮЖНЫЙ ФЕДЕРАЛЬНЫЙ УНИВЕРСИТЕТ»








Утверждаю

Руководитель дополнительной образовательной программы


_____________зав. каф. ВМ Никитина А.В.

подпись ФИО

«___»____________ 2011 г.



РАБОЧАЯ ПРОГРАММА ДИСЦИПЛИНЫ
«Многопроцессорные вычислительные системы
и параллельное программирование
»

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

1. Введение

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

а) адекватного описания в программах естественного параллелизма моделируемых в ЭВМ и управляемых ЭВМ систем и процессов,

б) распараллеливания обработки информации в многопроцессорных и мультипрограммных ЭВМ с целью ускорения вычислений и эффективного использования ресурсов ЭВМ.



1.1. Цель программы

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



1.2. Задачи программы

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



  • Архитектурные принципы реализации параллельной обработки в вычислительных машинах;

  • Методы и языковые механизмы конструирования параллельных программ;

  • Параллельные вычислительные методы.

1.3. Связь программы с основными профессиональными образовательными программами, с программами других видов ДПО

Изложение курса опирается на основные курсы «ЭВМ и программирование», «Архитектура ЭВМ». Предполагается наличие у обучаемых общих сведений по курсам «Дискретная математика», «Методы вычислений», «Операционные системы». При выполнении практических и лабораторных заданий обучаемые должны владеть методами программирования на алгоритмическом языке С.



1.4. Требования к уровню освоения содержания курса (формированию компетенций)

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

б) знание о распространённых технологиях описания параллелизма в программах;

в) владение основными приёмами распараллеливания алгоритмов и структур данных;

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

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

е) умение критически осмысливать различные методы решения задач и оценивать вероятную эффективность реализации этих методов;

ж) способность решать вычислительно сложные задачи на параллельных вычислительных системах различной архитектуры.



2. Изложение программного материала

Часть 1. Введение в архитектуры и средства программирования

Тема 1. Обзор архитектур многопроцессорных вычислительных систем. Их преимущества и недостатки при решении различных задач. Методы оценки производительности систем

Тема 2. Параллельные алгоритмы и их характеристики. Закон Амдаля

Тема 3. Обзор средств программирования многопроцессорных систем



Часть 2. Программирование многопроцессорных систем с общей памятью

Тема 1. Понятие операционной системы. Функции и задачи ОС

Тема 2. Понятие процесса. Поток. Планировщик

Тема 3. Библиотека Pthreads

Тема 4. Технология OpenMP

Часть 3. Программирование многопроцессорных систем с распределённой памятью. Среда параллельного программирования MPI

Тема 1. Общая организация MPI

Тема 2. Базовые функции MPI

Тема 3. Коммуникационные операции типа ТОЧКА-ТОЧКА

Тема 4. Коллективные операции

Тема 5. Производные типы данных и передача упакованных данных

Тема 6. Работа с группами и коммуникаторами

Тема 7. Топология процессов



Часть 4. Решение задач на гибридных системах с общей и распределённой памятью

Тема 1. Решение на уровне вычислительного ядра

Тема 2. Решение на уровне SMP-узла

Тема 3. Решение на уровне распределенной вычислительной системы



3. Список литературы

3.1. Основной

  • Гергель В.П., Стронгин Р.Г. (2003, 2-е изд.). Основы параллельных вычислений для многопроцессорных вычислительных систем. — Н. Новгород, ННГУ

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

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

  • Quinn M.J. (2004). Parallel Programming in C with MPI and OpenMP. — New York, NY: McGraw-Hill

  • Grama A., Gupta A., Kumar V. (2003, 2nd edn.). Introduction to Parallel Computing. — Harlow, England: Addison-Wesley

  • Pacheco P. (1996). Parallel Programming with MPI. — Morgan Kaufmann

  • Chandra R., Dagum L., Kohr D., Maydan D., McDonald J., and Melon R. (2000). Parallel Programming in OpenMP. Morgan Kaufmann Publishers

3.2. Дополнительный

  • Culler D., Singh J.P., Gupta A. (1998) Parallel Computer Architecture: A Hardware/Software Approach. — Morgan Kaufmann.

  • Таненбаум Э. (2002). Архитектура компьютера. — СПб.: Питер.

  • Tanenbaum A. (2001). Modern Operating System. 2nd edn. — Prentice Hall (русский перевод Таненбаум Э. Современные операционные системы. — СПб.: Питер, 2002)

4. Контрольные вопросы и задания

  1. Перечислите известные вам архитектуры параллельной обработки данных в вычислительных системах. Каковы преимущества и недостатки каждой архитектуры? Каковы возможности комбинирования архитектур в рамках одной вычислительной системы?

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

  3. Что такое граф вычислительного алгоритма?

  4. Что такое степень параллелизма вычислительного алгоритма?

  5. Что такое ускорение параллельного алгоритма?

  6. Что такое суперлинейное ускорение и каковы его возможные причины?

  7. Для чего используются блочные матричные алгоритмы?

  8. Что такое эффективность параллельного алгоритма?

  9. Приведите формулировку закона Амдаля.

  10. Во сколько раз нужно ускорить 90% программы, чтобы ускорить всю программу в 5 раз?

  11. В программе лишь 50% операций может выполняться параллельно. Какова, согласно закону Амдала, верхняя грань для ускорения, которое может быть получено для этой же программы на 10 процессорах?

  12. Что такое синхронизация и для чего она нужна?

  13. Каковы области применения, преимущества и недостатки технологии OpenMP?

  14. Каковы области применения, преимущества и недостатки библиотеки Pthreads?

  15. Каковы области применения, преимущества и недостатки библиотеки MPI?

  16. Перечислите функции создания и управления потоками в библиотеке Pthreads

  17. Что такое Mutex Variable в Pthreads? Какие функции работы с мьютексами имеются в Pthreads?

  18. Что такое Condition Variable в PThreads? Какие функции работы с Condition Variable имеются в Pthreads?

  19. Опишите модель памяти OpenMP. Для чего нужна директива flush?

  20. Для чего нужна директива parallel? Каково предназначение атрибутов default, shared, private, firstprivate, lastprivate, reduction?

  21. Для чего нужна директива for? Опишите её атрибуты.

  22. Каково предназначение директив sections, single, master?

  23. Перечислите директивы синхронизации OpenMP и их предназначение

  24. Перечислите библиотечные функции OpenMP и их предназначение

  25. Опишите семантику обмена сообщениями в MPI (коммуникаторы, теги, сохранение порядка сообщений)

  26. Чем отличаются блокирующие и неблокирующие операции в MPI?

  27. Чем отличаются синхронные и асинхронные операции в MPI?

  28. Чем отличаются буферизованные и небуферизованные операции в MPI?

  29. В чём различие локальных и нелокальных операций MPI?

  30. Перечислите операции «точка-точка» в MPI и опишите действия, совершаемые каждой из операций.

  31. Перечислите групповые операции обмена сообщениями в MPI и опишите действия, совершаемые каждой из операций.

  32. Что такое операции редукции? Перечислите функции библиотеки MPI, используемые для редукции.

  33. Опишите порядок создания пользовательского типа данных в MPI

  34. Опишите порядок использования пользовательского типа данных в MPI

  35. Опишите порядок создания коммуникатора в MPI

  36. Реализуйте блочный алгоритм сортировки, эффективно использующий кэш процессора.

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

  38. Реализуйте параллельный вариант сортировки методом слияния для системы с распределённой памятью. Распараллеливание осуществляйте методом сдваивания.

  39. Реализуйте блочный алгоритм решения СЛАУ методом Гаусса, эффективно использующий кэш процессора

  40. Реализуйте параллельный вариант метода Гаусса решения СЛАУ для системы с общей памятью

  41. Реализуйте параллельный вариант метода Гаусса решения СЛАУ для системы с распределённой памятью

Разработчик доцент каф. ВМ Сухинов А.А.



подпись должность ФИО