Учреждение образования
“Гродненский государственный университет имени Янки Купалы”
УТВЕРЖДАЮ Проректор по учебной работе Учреждения образования “Гродненский государственный университет имени Янки Купалы” ___________________ Ю.Э. Белых «___» ______________ 2010 г. Регистрационный № УД- _____/уч. |
Параллельные вычисления и кластерные системы
Учебная программа для специальности
Программное обеспечение информационных технологий»
Компьютерные системы и Internet-технологии»
Системы обеспечения безопасности данных»
СОСТАВИТЕЛИ:
Ю. Г. Тарасевич, преподаватель кафедры программного обеспечения интеллектуальных и компьютерных систем
РЕЦЕНЗЕНТЫ:
1)
2)
РЕКОМЕНДОВАНА К УТВЕРЖДЕНИЮ:
Кафедрой программного обеспечения интеллектуальных и компьютерных систем (протокол № 4 от 04.05.2010г.);
Методической комиссией факультета математики и информатики
(протокол № __ от ________ 2010г.);
Советом факультета математики и информатики
(протокол № __ от ________ 2010г.);
Научно-методическим советом Учреждения образования “Гродненский государственный университет имени Янки Купалы”
(протокол № __ от ________ 2010 г.);
Ответственный за редакцию: ________________________________
Ответственный за выпуск:: ________________________________________
ПОЯСНИТЕЛЬНАЯ ЗАПИСКА
Программа «Параллельные вычисления и кластерные системы» разработана для студентов специальности 1-40 01 01 «Программное обеспечение информационных технологий».
Целью изучения дисциплины является подготовка студентов к самостоятельному осуществлению прикладных параллельных вычислений.
Задачами изучаемой дисциплины являются:
· овладение студентами основами теоретических знаний о концепциях параллельных вычислений;
· овладение студентами основами теоретических знаний об устройстве параллельных вычислительных машин;
· приобретение студентами базовых практических навыков по параллелизации вычислительных задач;
· приобретение студентами базовых практических навыков по программированию параллельных вычислений с опорой на среду MPI.
Для изучения данной дисциплины необходимы знания по программированию на языках высокого уровня, базовые навыки программирования на языках C/C++ или Фортран, базовые знания по структурам данных и алгоритмам и по сетям передачи данных.
Компетенции студентов
В результате изучения дисциплины обучаемый должен:
знать:
· основные теоретические понятия параллельных вычислений;
· основные принципы устройства параллельных вычислительных машин;
уметь:
· анализировать простые вычислительные задачи на предмет их возможного перевода в параллельную среду вычислений;
· производить параллелизацию простых вычислительных задач;
· программировать простые параллельные алгоритмы в средах параллельного исполнения MPI.
Программа рассчитана на объём – 50 аудиторных часов. По видам занятий: лекций – 22 часа, лабораторных занятий - 28 часов.
Примерный тематический план курса – в соответствии с таблицей 1.
Таблица 1.
№ пп | Наименование раздела, темы | Всего аудит. (часы) | Лекции (часы) | Лаборатор-ные занятия (часы) |
1. | Тема 1. Введение. | |||
2. | Тема 2. Параллельные вычислительные машины и связные сети. | |||
3. | Тема 3. Параллелизм и параллелизация. Графовое представление программ. | |||
4. | Тема 4. Декомпозиция задачи и анализ зависимостей. | |||
5. | Тема 5. Планирование расчёта задачи. | |||
6. | Тема 6. Параллельное программирование с передачей сообщений. Среда MPI. | |||
7. | Тема 7. Параллельное программирование с общей памятью. Среды Pthreads и OpenMP. | |||
8. | Тема 8. Общие вопросы параллелизации. Параллельные алгоритмы. |
СОДЕРЖАНИЕ ДИСЦИПЛИНЫ
Тема 1. Введение.
Параллельные вычисления: значение и предметная область. Некоторые проблемы массовых вычислений.
Тема 2. Параллельные вычислительные машины и связные сети.
Классификация параллельных вычислительных машин. Основные виды конструктивного исполнения. Связные сети, статические и динамические. Основные топологии, их главные характеристики.
Тема 3. Параллелизм и параллелизация. Графовое представление программ.
Параллелизм расчёта. Параллелизация программы. Общие вопросы параллелизации. Графовое представление программ, обобщённая модель. Графы зависимостей, потоков, задач. Преобразование графовых моделей.
Тема 4. Декомпозиция задачи и анализ зависимостей.
Основные виды декомпозиции. Анализ зависимостей. Зависимости в итеративных вычислениях. Использование графов зависимостей и потоков.
Тема 5. Планирование расчёта задачи.
Планирование. Основные понятия. Основные эвристики планирования. Схемы приоритетов. Использование графа задач.
Тема 6. Параллельное программирование с передачей сообщений. Среда MPI.
Параллельное программирование с передачей сообщений. Основные проблемы. Среда MPI, основные понятия. Блокирующая и неблокирующая передача данных. Особые виды передачи данных. Типы данных, базовые и создаваемые. Группы, коммуникаторы, топологии.