МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ Федеральное государственное автономное образовательное учреждение высшего профессионального образования «Дальневосточный федеральный университет» (ДВФУ) ШКОЛА ЕСТЕСТВЕННЫХ НАУК РАБОЧАЯ ПРОГРАММА УЧЕБНОЙ ДИСЦИПЛИНЫ (РПУД) Параллельное программирование Направление подготовки / 03.06.01, Физика и астрономия, Теоретическая физика Образовательная программа «Теоретическая физика» Форма подготовки (очная) Школа естественных наук ДВФУ Кафедра теоретической и экспериментальной физики курс 2 семестр 4 лекции 18 час. / 0,5 з.е. практические занятия 18 час. / 0,5 з.е. лабораторные работы 0 час. / 0 з.е. всего часов аудиторной нагрузки 36 (час.) / 1 з.е. самостоятельная работа 72 (час.) / 2 з.е. контрольные работы (количество) курсовая работа / курсовой проект не предусмотрены зачет не предусмотрен экзамен 4 семестр Рабочая программа составлена в соответствии с требованиями Федерального государственного образовательного стандарта высшего образования (уровень подготовки кадров высшей квалификации), утвержденного приказом министерства образования и науки РФ от 30 июля 2014 № 867 Рабочая программа обсуждена на заседании кафедры теоретической и экспериментальной физики, протокол № 5 от «12» декабря 2014 г. Заведующий кафедрой: д-р физ.-мат. наук, профессор, Белоконь В.И. Составитель: д-р физ.-мат. наук, профессор кафедры компьютерных систем Нефедев К.В. Оборотная сторона титульного листа РПУД I. Рабочая программа пересмотрена на заседании кафедры: Протокол от «_____» __________________ 20____ г. № ________ Заведующий кафедрой ____________________ (подпись) _______________ (И.О. Фамилия) II. Рабочая программа пересмотрена на заседании кафедры: Протокол от «_____» __________________ 20____ г. № ________ Заведующий кафедрой ____________________ (подпись) _______________ (И.О. Фамилия) АННОТАЦИЯ Дисциплина «Параллельное программирование» предназначена для аспирантов, обучающихся по образовательной программе «Теоретическая физика» и входит в вариативную часть учебного плана. При разработке рабочей программы учебной дисциплины использованы Федеральный государственный образовательный стандарт высшего образования (уровень подготовки кадров высшей квалификации) по направлению подготовки «Физика и астрономия», учебный план подготовки аспирантов по профилю «Теоретическая физика». Цель изучения концептуальных дисциплины: теоретических получение сведений об методологических основах и параллельной алгоритмизации, высокопроизводительных, параллельных и распределенных вычислений, а также подготовка кадров высшей квалификации, имеющих практический опыт программирования для решения задач в рамках проводимых ими исследований, получении опыта в применении современных методов параллельного программирования в выбранной области исследований, а также в профессиональной деятельности. Задачи: 1. Изучение методов параллельной алгоритмизации и современных парадигм программирования; 2. Освоение технологии параллельного программирования в системах с распределённой памятью; 3. Освоение технологии высокопроизводительных вычислений; 4. Получение практического опыта в решении исследовательских задач методами высокопроизводительных вычислений и суперкомпьютерного моделирования. Задачи изучения дисциплины раскрываются через изложение требуемых результатов изучения дисциплины, характеризующие знания, умения и формируемые компетенции (в соответствии с ФГОС и паспортом компетенций). Знания и умения, полученные по освоении дисциплины, необходимы для подготовки кандидатской диссертации. Интерактивные формы обучения составляют 18 часов и включают в себя разработку кода программ ЭВМ, содержащего параллельные инструкции. Профессиональные компетенции выпускника, формируемые в результате изучения дисциплины: – ОПК - 1 Способность самостоятельно осуществлять научно- исследовательскую деятельность в области физики и астрономии с использованием современных методов исследования и информационнокоммуникационных технологий – ПК-1 Владение методами математического описания физических полей – ПК-2 Владение основными методами компьютерного моделирования физических процессов; – ПК-3 Владение основными методами исследования физических свойств и функциональных характеристик конденсированных сред. Требования к уровню усвоения содержания дисциплины. Аспиранты должны приобрести следующие знания и умения: Должны знать: – современное состояние науки в выбранной области теоретической физики – современные способы использования информационно- коммуникационных технологий в области теоретической физики – основные методы математического описания физических полей – основные методы компьютерного моделирования – основные методы математического описания полей и процессов, протекающих в конденсированных средах – основные методы исследования полей и физических свойств конденсированных сред – методы исследования функциональных характеристик конденсированных сред Должны уметь: – рационально организовывать научную работу в выбранной области теоретической физики – представлять результаты научной работы – готовить заявки на получение научных грантов и заключения контрактов по НИР в выбранной области теоретической физики – выделять математические методы, необходимые для описания физических процессов, протекающих как на уровне элементарных частиц, так и на атомном уровне и в конденсированных средах – критически оценивать область применимости выбранных математических методов – выбирать методы математического описания полей, физических свойств и функциональных характеристик процессов, протекающих в конденсированных средах – определять рамки применимости математического метода описания процессов, протекающих в конденсированных средах для решения конкретной задачи – выбирать и применять адекватные методы исследования полей и физических свойств конденсированных сред – выбирать и применять методы исследования функциональных характеристик конденсированных сред I. СТРУКТУРА И СОДЕРЖАНИЕ ТЕОРЕТИЧЕСКОЙ ЧАСТИ КУРСА (18 часов) МОДУЛЬ 1. Программно-аппаратные средства и среда проектирования (9 часов). Раздел I. Среда разработки (6 часов). Тема 1. Вводное занятие: Краткие сведения об операционной системе UNIX. Разработка программ ЭВМ. Компиляция. Редакторы (2 часа). Тема 2. Технология MPI. Функции MPI (1 час). Тема 3. Типы данных (1 час). Тема 3. Исполнение кода (0,5 часа). Тема 4. Прием/передача сообщений между отдельными процессами (0,5 часа). Тема 5. Взаимодействующие вычислительные процессы в технологии MPI (1 час). Раздел II. Синхронизация процессов (3 часа). Тема 1. Работа с группами процессов (0,5 часа). Тема 2. Технологии параллельного программирования (0,5 часа). Тема 3.Технологии построения суперкомпьютеров (0,5 часа). Тема 4. Кластерные технологии. (0,5 часа). Тема 5. Классификация параллельных вычислителей (0,5 часа). Тема 6. Модели программирования. Коммуникации «точка-точка» (0,5 часа). МОДУЛЬ 2. Коллективные коммуникации (9 часов). Раздел I. Синхронизация процессов (3 часа). Тема 1. Неблокирующие операции передачи сообщений (0,5 часа). Тема 2. Группы, контексты, коммуникаторы и топологии (0,5 часа). Тема 3. Интеркоммуникаторы (0,5 часа). Тема 4. Сложные типы данных в MPI (0,5 часа). Тема 5. Односторонние коммуникации (0,5 часа). Тема 6. Динамическое управление процессами (0,5 часа). Раздел II. Параллельные вычисления (6 часов). Тема 1. Математические проблемы параллельных вычислений (1 час). Тема 2. Ошибки округления (0,5 часа). Тема 3. Информационная структура алгоритмов (0,5 часа). Тема 4. Анализ эффективности параллельных алгоритмов (0,5 часа). Тема 5. Выделение информационных зависимостей (0,5 часа). Тема 6. Масштабирование и распределение задач по процессорам (0,5 часа). Тема 7. Анализ эффективности параллельных вычислений (0,5 часа). Тема 8. Оптимизация программ (0,5 часа). Тема 9. Анализ зависимостей. Типы зависимостей (1 час). Тема 10. Системные проблемы (0,5 часа). СТРУКТУРА И СОДЕРЖАНИЕ ПРАКТИЧЕСКОЙ ЧАСТИ II. КУРСА Практические занятия (18 часов.), в том числе в интерактивной форме (18 часов) Занятие 1. Алгоритм решения систем линейных алгебраических уравнений с квадратной невырожденной матрицей методом Гаусса с использованием языка Си++ и функций MPI. Разработка и реализация на языке параллельного программирования алгоритма для оценки производительности однопроцессорного ПК и многоядерной архитектуры, состоящей из нескольких узлов (2 /2 часа). Занятие 2. Оценка производительности системы параллельного счета при условии, что число запущенных процессов больше чем число вычислительных ядер. Разработка алгоритма и реализация его в виде С++ кода для подсчета среди чисел заданной значности, чисел с максимальной устойчивостью (2 /2 часа). Занятие 3. Разработка параллельной программы ЭВМ для поиска k-той порядковой статистики в массиве за линейное время. Разработка параллельной программы ЭВМ для сортировки массива вещественных чисел с повторениями элементов (2/ 2 часа). Занятие 4. Разработка программы ЭВМ умножения матриц в топологии «двумерная решетка» с использованием типов данных для столбца и минора матрицы. Создание коммуникаторов, в которые входят процессы с четными и нечетными рангами, соответственно, и создать интеркоммуникатор между ними. Продемонстрировать их работу на каком-либо простом примере (2/ 2 часа). Занятие 5. Разработка алгоритма решения систем линейных алгебраических уравнений с квадратной невырожденной матрицей методом Гаусса с использованием языка Си++ и функций MPI с использованием односторонних коммуникаций. Разработка параллельной программы ЭВМ расчета площади круга методом Монте-Карло (2/ 2 часа). Занятие 6. Работа со скрипами, bat файлами и заданиями в очереди. Экспериментальная оценка программного и аппаратного ускорения системы и вычисление доли параллельных инструкций для программы ЭВМ для решения СЛАУ. Оптимизация алгоритма (2/ 2 часа). Занятие 7. Экспериментальная оценка программного и аппаратного ускорения системы и вычисление доли параллельных инструкций для задачи подсчета среди чисел заданной значности, чисел с устойчивостью. Оптимизация алгоритма. максимальной Экспериментальная оценка программного и аппаратного ускорения системы и вычисление части параллельных инструкций для задачи поиска k-той порядковой статистики в массиве за линейное время. Оптимизация алгоритма (2/ 2 часа). Занятие 8. Экспериментальная оценка программного и аппаратного ускорения системы и вычисление части параллельных инструкций по закону Амдала для умножения матриц в топологии «двумерная решетка» с использованием типов данных для столбца и минора матрицы. Оптимизация алгоритма. Разработка альтернативных параллельных вычислительных алгоритмов решения одной из задач данного курса. Сравнение производительности, эффективности и оптимизированности (2 / 2часа). Занятие 9. Масштабирование параллельного высокопроизводительного численного алгоритма (2/ 2 часа). III. КОНТРОЛЬ ДОСТИЖЕНИЯ ЦЕЛЕЙ КУРСА Фонд оценочных средств прилагается. IV. УЧЕБНО-МЕТОДИЧЕСКОЕ ОБЕСПЕЧЕНИЕ ДИСЦИПЛИНЫ Основная литература: 1. Уильямс, Э, Параллельное программирование на C++ в действии. Практика разработки многопоточных программ/ Э.Уильямс, пер. с англ. Слинкин А.А., Издательство "ДМК Пресс", 2012 г., - 672 с. http://lib.dvfu.ru:8080/lib/item?id=Lan:/usr/vtls/ChamoHome/visualizer/data_ lan/data_lan+%281496%29.xml&theme=FEFU 2. Котляров, Д.Г. Граф-схемное потоковое параллельное программирование и его реализация на кластерных системах/ Д. В. Котляров, В. П. Кутепов, М. А. Осипов, Известия РАН. Теория и системы управления N 1 (2005), - 95 с. http://lib.dvfu.ru:8080/lib/item?id=chamo:467583&theme=FEFU 3. Кауфман, В.Ш. Языки программирования. Концепции и принципы [Электронный ресурс] : . — Электрон. дан. — М. : ДМК Пресс, 2010. — 464 с. — Режим доступа: http://e.lanbook.com/books/element.php?pl1_id=1270 Дополнительная литература 1. Миренков, Н.Н. Параллельное программирование для многомодульных вычислительных систем Н. Н. Миренков, М.: Радио и связь 1989, - 681 с. http://lib.dvfu.ru:8080/lib/item?id=chamo:673566&theme=FEFU 2. Игнатьев, В. Сети Петри-Маркова : Учеб.пособие / В. Игнальев Тульский гос.ун-т. Изд-во ТГУ, 1997. – 163с. http://lib.dvfu.ru:8080/lib/item?id=chamo:369835&theme=FEFU 3. Ачасова О.Л. Корректность параллельных вычислительных процессов/ С.М. Ачасова, О.Л. Бандман.. Наука, 1990. – 253с. http://lib.dvfu.ru:8080/lib/item?id=chamo:28741&theme=FEFU