скачать Министерство образования и науки Российской Федерации Федеральное агентство по образованию ОБНИНСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ АТОМНОЙ ЭНЕРГЕТИКИ (ИАТЭ) ПРОГРАММА ДИСЦИПЛИНЫ ДС.06 «Параллельное программирование» для студентов специальности 010501 "Прикладная математика и информатика" направления 010500 "Прикладная математика и информатика" Форма обучения: очная Объем дисциплины и виды учебной работы по очной форме в соответствии с учебным планом
Обнинск 2008 1. Цели и задачи дисциплины Цель изучение теоретических основ параллельного программирования, ознакомление с библиотеками передачи сообщений, получение практических навыков настройки и администрирования вычислительных кластеров. Задачи курса: изучение методов разработки параллельных программ, настройка среды выполнения параллельных программ, реализация параллельного алгоритма решения выбранной задачи. 2. Требования к уровню освоения содержания дисциплины В результате изучения дисциплины студент должен знать: особенности параллельной модели программирования; основные функции библиотек передачи сообщений; уметь: настраивать среду выполнения параллельных программ; создавать параллельные программы с использованием стандарта МИ; разрабатывать многопоточные приложения; иметь навыки: проектирования и разработки параллельных программ, использования современных вычислительных библиотек. 3. Содержание дисциплины 3.1 Лекции 1. Высокопроизводительные вычисления. (2 часа) Архитектура вычислительных систем. Кластеры. Список Тор-500. Закон Амдала. Методы разработки параллельных программ. Основная литература: [1] Дополнительная литература: [1],[2] 2. Модель передачи сообщений и стандарт MPI. (6 часов). Реализации MPI. Настройка среды MPICH2. MPI: коммуникаторы, типы данных, основные функции. Обмены точка — точка. Коллективные обмены в MPL Синхронизация, рассылки, редукция. Основная литература: [1] Дополнительная литература: [1],[2]. 3. Система PVM. (2 часа) Модель передачи сообщений в PVM. Программирование с использованием библиотеки PVM. Архитектура, настройка и управление параллельной виртуальной машины. Основная литература: [1] Дополнительная литература: [1],[2]. 4. Многопоточное программирование. (2 часа) Процессы и потоки в операционных системах. Библиотека PTHREADS. Управление потоками. Критические секции и блокировка потоков. Основная литература: [1] 5. Администрирование вычислительных кластеров. (3 часа) Подготовка к установке ОС. Настройка главного узла кластера. Сетевые службы: NFS, TFTP, DHCP, FTP, NTP. Подготовка сценария автоматической установки вычислительных узлов. Управление пользователями. Настройка беспарольного входа (SSH, RSH). Системы управления кластером. Основная литература: [1] Дополнительная литература: [1],[2]. 6. Параллельные вычислительные библиотеки. (2 часа) Обзор вычислительных библиотек, использующих параллельное программирование. ScaLAPACK, SUNDIALS, PETSc. Основная литература: [1] Дополнительная литература: [1],[2]. 3.2. Практические занятия
3.3. Лабораторный практикум
3.4. Курсовая работа Не предусмотрена. 3.5. Формы текущего контроля
3.6. Самостоятельная работа Выбор алгоритма решения задачи и разработка его параллельной реализации . [1] 24 ч. Многопоточные приложения и взаимодействие потоков.[1] 10 ч. Формы контроля самостоятельной работы - опрос по темам самостоятельной работы во время защиты лабораторных работ. Демонстрация практических навыков во время проведения лабораторных работ. 4.1. Рекомендуемая литература 4.1.1. Основная литература (имеется в библиотеке ИАТЭ) 1. Мирзеабасов О.А. Параллельное программирование для вычислительных кластеров: Учебное пособие по курсу «Параллельное программирование». - Обнинск: ИАТЭ, 2007. - 80 с. (40 экз выдаемся студентам также е электронном виде). 4.1.2. Дополнительная литература 1. Воеводин В.В. Воеводин Вл.В. Параллельные вычисления. - СПб.: БХВ-Петербург, 2002. 2. Немнюгин С.А., Стесик О.Л. Параллельное программирование для многопроцессорных вычислительных систем. - СПб.: БХВ-Петербург, 2002. 4.2. Средства обеспечения освоения дисциплины Операционная система Linux (OpenSUSE, ALTLinux); Средства разработки компилятор gcc, утилита make, библиотеки MPICH2 и pthreads. Все используемое в курсе программное обеспечение является свободно распространяемым. 5. Материально-техническое обеспечение дисциплины Компьютерный класс сетевых технологий. Класс оснащен 10 компьютерами Pentium IV с установленной операционной системой Linux. Учебно-научный кластер кафедры ПМ. Вычислительный кластер Kraftway.
|