Министерство образования Российской Федерации Московский государственный горный университет УТВЕРЖДАЮ Председатель УМК по направлению «Информатика и вычислительная техника» проф., д.т.н. Федунец Н.И. «_____» ____________2002 г. Рабочая программа дисциплины «Параллельные вычислительные процессы» по направлению подготовки дипломированного специалиста 654600 - «Информатика и вычислительная техника» специальности 220200 – «Автоматизированные системы обработки информации и управления» Москва 2002 1. ЦЕЛИ И ЗАДАЧИ ДИСЦИПЛИНЫ Цели изучения дисциплины: сформировать системное базовое представление, первичные знания, умения и навыки студентов по основам параллельных вычислительных процессов, лежащих в основе функционирования современных мультипроцессорных систем; дать общие представления о прикладных мультипроцессорных системах; подготовить студентов к применению концепций построения современных программных систем с параллельными вычислительными процессами в обучении в магистратуре и при дипломном проектировании по специальности 220200. Основными задачами изучения дисциплины являются: усвоение студентами основных принципов использования теории и методов параллельных вычислительных процессов в построении современных компьютерных систем; получение ими практических навыков в исследовании и построении параллельных компьютерных систем Дисциплины, необходимые для предварительного изучения: «Теория принятия решения», «Математическая логика и теория алгоритмов», «Вычислительная математика», «Основы теории управления», «Алгоритмические языки и технология программирования». 2. ТРЕБОВАНИЯ К УРОВНЮ ОСВОЕНИЯ СОДЕРЖАНИЯ ДИСЦИПЛИНЫ В результате изучения дисциплины у студентов должны быть сформулированы представления о: истории, целях и задачах исследований в области параллельных вычислений, прикладных системах, основанных на параллельных вычислительных процессах, областях применения параллельных вычислительных систем; основы математической логики и сетевой технологии передачи данных. Студент должен знать содержание: понятий основ параллельных вычислительных процессов, методов представления и распараллеливания алгоритмов, основных моделей параллельных алгоритмов. Студент должен приобрести умения и навыки: ориентироваться в различных параллельных вычислительных процессах, ставить задачу построения параллельного алгоритма для решения задачи в многопроцессорной операционной среде, применять основные методы и модели параллельных вычислительных процессов. 3. ОБЪЕМ ДИСЦИПЛИНЫ И ВИДЫ УЧЕБНОЙ РАБОТЫ Вид учебной работы Всего часов Семестр Общая трудоемкость дисциплины Аудиторные занятия Лекции Практические занятия (ПЗ) Лабораторные занятия (ЛЗ) 262 68 51 10 17 17 Самостоятельная работа (СР) Курсовая работа (КР) Расчетно-графические работы (РГР) Вид итогового контроля 192 192 51 зачет, экзамен 4. СОДЕРЖАНИЕ ДИСЦИПЛИНЫ 4.1. Разделы дисциплины и виды занятий № п/п Раздел дисциплины Лекции ПЗ ЛР 1 1 2 3 4 2 3 * * * * 4 5 Параллельные архитектуры Параллельные алгоритмы Сети Петри Классы задач, решаемые векторизацией и параллелизмом * * 4.2. Содержание разделов дисциплины Введение. (6 час.) Параллельные компьютеры и суперЭВМ. Супер-ЭВМ и сверхвысокая производительность: зачем?. Увеличение производительности ЭВМ, за счет чего? Параллельная обработка данных на ЭВМ. Краткая история появления параллелизма в архитектуре ЭВМ. А что же сейчас используют в мире? Использование параллельных вычислительных систем. Раздел 1. Параллельные архитектуры. 1.1. Архитектура ЭВМ для высокопроизводительных вычислений. (10 час.) Классификация Флинна. SISD- компьютеры. SIMD- компьютеры. MISDкомпьютеры. MIMD-компьютеры. Основные концепции архитектуры высокопроизводительных вычислительных систем. Конвейер. Суперскалярные процессоры. Векторная обработка данных. Процессоры для параллельных компьютеров. Оперативная память. Чередуемая память. Разделяемая память. Распределенная память. Связь между элементами параллельных вычислительных систем. Кластеры рабочих станций. Архитектура вычислительной системы HP/Convex Exemplar SPP1600. 1.2. Архитектура векторно-конвейерных супер-ЭВМ CRAY C90. (6 час.) Общая структура компьютера CRAY Y-MP-C90. Разделяемые ресурсы процессора. Вычислительная секция процессора. Секция управления процессора. Параллельное выполнение программ. Пиковая производительность CRAY-Y-MPC90. Понятие о векторизации программ. Анализ узких мест в архитектуре компьютера CRAY-C90 (один процессор). Суммарное влияние отрицательных факторов на производительность компьютера. 1.3. Архитектура массивно-параллельных компьютеров (на примере CRAY T3D). Особенности программирования. (6 час.) Массивно-параллельные компьютеры, общие черты. Общая структура компьютера CRAY T3D. Вычислительные узлы и процессорные элементы. Коммуникационная сеть. Особенности синхронизации процессорных элементов. Факторы, снижающие производительность параллельных компьютеров. Раздел 2. Параллельные алгоритмы. 2.1. Две парадигмы программирования. (6 час.) Две модели программирования: последовательная и параллельная. Две парадигмы параллельного программирования. Параллелизм данных. Параллелизм задач. 2.2. Издержки и выигрыш при реализации параллельных и векторных вычислений. (8 час.) Трудовые затраты на распараллеливание или векторизацию программы. Способы векторизации и распараллеливания программ. Применение различных языков программирования. Различие и сходство между распараллеливанием и векторизацией программ. Сходство алгоритмов – параллелизм данных. Различие алгоритмов – параллелизм действий. 2.3. Векторные ЭВМ и векторные программы. (6 час.) Предельное быстродействие векторных программ. Две части программ – скалярная и векторная. Дополнительные затраты на организацию векторных вычислений во время работы программы. Ограниченное число векторных регистров. Ограничения на используемые операторы в векторизуемых циклах. Использование векторных операций и функций ФОРТРАНа-90. 2.4. Параллельные ЭВМ и параллельные программы. (4 час.) Три части программы – параллельная, последовательная и обмен данными. Синхронизация процессов, равномерность загрузки процессов. Средства распараллеливания в трансляторах и параллельные библиотеки. Раздел 3. Сети Петри в моделировании параллельных систем. (10 час.) 3.1. Моделирование систем сетями Петри. Сети Петри. Основные понятия и определения. Динамические свойства сети Петри. Достижимость сети Петри. Учет асинхронности в сетях Петри. Свойства сети Петри как модели системы. Активность и пассивность переходов сети Петри. Задача достижимости сети Петри. Граничные, терминальные, дублирующие вершины дерева достижимости сети Петри. Ограниченность сети Петри. Матричный подход анализа сетей Петри. Сдерживающие дуги сети Петри. Основные этапы разработки параллельных вычислительных проектов. Раздел 4. Классы задач, которые решаются векторизацией и распараллеливанием. 4.1. Классы задач, которые можно эффективно векторизовать и распараллелить. (6 час.) Обработка массивов. Одномерные массивы. Двумерные массивы. Вычисления в узлах сеток и решеток. Инженерные и научные задачи. Алгоритмы для высокопроизводительных вычислений. Решение систем дифференциальных уравнений (молекулярная динамика). Квантово-механические расчеты (структура молекул и кристаллов). 5. ЛАБОРАТОРНЫЙ ПРАКТИКУМ № п/п 1 № раздела Наименование лабораторных работ дисциплины 3 Изучение интерфейса и функциональных возможностей программы моделирования сетей Петри Pesim. 2 3 Построение моделей на базе аппарата сетей Петри в программе Pesim. 3 3 Анализ моделей, построенных с использованием сетей Петри, в программе Pesim(дерево достижимости, матричный анализ). 4 3 Изучение интерфейса и функциональных возможностей программы Cnet. 5 3 Построение моделей на базе аппарата сетей Петри, с учетом вероятностных характеристик процессов моделирования, в программе Pesim.. 6. УЧЕБНО-МЕТОДИЧЕСКОЕ ОБЕСПЕЧЕНИЕ 6.1. Рекомендуемая литература а) основная литература 1. Алагич С.,Арбиб М. Проектирование корректных структурированных программ:Пеp. с англ.-М.:Радио и связь,1984.-264 с.:ил. 2. Ахо А. и др. Построение и анализ вычислислительных алгоритмов:Пеp. с англ./Ахо А.,Хопкрофт Дж.,Ульман Дж.-М.:Миp,1979.-536 с. 3. Бадд Тимоти Объектно-ориентированное программирование в действии.Спб.:Питер,1997.-464 с. 4. Бейбер Р.Л. Программное обеспечение без ошибок:Пpиемы и секpеты создания пpавильных пpогpамм. Пеp. с англ.-М.:Джон Уайли энд Санз,1996.-176 с. 5. Бондарев В.М. и др. Основы программирования/Бондарев В.М.,Рублинецкий В.И.,Качко Е.Г.-Ростов н/Д:Феникс,1997.-368 с.6. Вальковский В. Распараллеливание алгоритмов и программ. Стpуктуpный подход.-М.:Наука,1989.-176 с. 7. Ван Тассел Д. Стиль, разработка, эффективность, отладка и испытание программ:Пеp.с англ.-2-е изд.,испp.-М.:Миp,1985.-332 с. б) дополнительная литература 1. Вирт Никлаус Алгоритмы + структуры данных = программы:Пеp. с англ.М.:Миp,1985.-406 с.:ил.2. Гласс Р. Руководство по надежному програмированию:Пеp. с англ.М.:Финансы и статистика,1982.-256 с. 3. Глушков В. и др. Алгебра. Языки. Программирование/Глушков В.,Цейтлин Г.,Ющенко Е.-2-е изд., пеpеpаб.-Киев:Наукова думка,1978.-319 с. 4. Грис Д. Наука програмирования:Пеp.с англ.-М.:Миp,1984.-416 с.:ил. 5. Дал У.,Дейкстра Э., Хоор К. Структурное програмирование:Пеp. с англ.М.:Миp,1975.-248 с.:ил. 6.2. Средства обеспечения освоения дисциплины Программные комплексы Microsoft специализированные программы лабораторного. Windows(95,98,NT,2000), 7. МАТЕРИАЛЬНО-ТЕХНИЧЕСКОЕ ОБЕСПЕЧЕНИЕ Компьютерные классы сетевых технологий, ЛВС, серверы Internet. 8. МЕТОДИЧЕСКИЕ РЕКОМЕНДАЦИИ ПО ОРГАНИЗАЦИИ ИЗУЧЕНИЯ ДИСЦИПЛИНЫ 8.1. Методические рекомендации преподавателю При изучении материала по дисциплине показывать студентам необходимость использования системного подхода. Следует использовать методы письменного тестирования процесса усвоения студентами лекционного материала. Инициировать у студентов потребность во внеаудиторном изучении материалов по дисциплине путем выдачи им заданий на рефераты по отдельным темам курса лекций. Привлекать студентов к созданию или модификации лабораторных работ по дисциплине. Стимулировать у студентов опережающее и более глубокое познание материалов по дисциплине путем привлечения их для чтения самостоятельных докладов по курсу с поощрением в виде «автоматической сдачи экзамена» на соответствующую оценку. 8.2. Темы самостоятельных работ 1. Достоинства многопроцессорных систем. 2. Достоинства распределенных систем. 3. Виды операционных систем (ОС мультипроцессорных ЭВМ, сетевые ОС, распределенные ОС). 4. Принципы построения (гибкость, прозрачность, надежность, эффективность, масштабируемость). 5. Операционные системы многопроцессорных ЭВМ. Процессы и нити. 6. Операционные системы многопроцессорных ЭВМ. Синхронизация. 7. Операционные системы многопроцессорных ЭВМ. Планирование процессов. 8. Коммуникации в распределенных системах. Модель ISO. Модель MPI. 9. Синхронизация в распределенных системах. Синхронизация времени. 10. Синхронизация в распределенных системах. Выбор координатора. 11. Синхронизация в распределенных системах. Взаимное исключение. 12. Синхронизация в распределенных системах. Координация процессов. 13. Распределенные файловые системы. Семантика одновременного доступа к файлу нескольких процессов. 14. Распределенная разделяемая память (DSM). 15. Достоинства разделяемой памяти. 16. Принципы реализации распределенной разделяемой памяти. 17. Модели консистентности. 18. Страничная DSM. 19. DSM на базе разделяемых переменных. 20. Отказоустойчивость. Восстановление после отказа. 8.3. Методические рекомендации студентам Использовать лабораторный практикум по дисциплине при подготовке к предстоящей лабораторной работе. Использовать дополнительную литературу и материалы из Internet при регулярной самостоятельной работе по изучению материалов по дисциплине. Готовить рефераты по дисциплине (темы должны быть согласованы с лектором). Рекомендуется выступать с докладами на лекциях по дисциплине. Отчеты по лабораторным работам должны оформляться в соответствии с требованиями, указанными в лабораторном практикуме по дисциплине. Программа составлена в соответствии с Государственным образовательным стандартом высшего профессионального образования по направлению 654600 – «Информатика и вычислительная техника» и специальности 220200 – «Автоматизированные системы обработки информации и управления». Программу составила: доц., к.т.н. Фомичева О.Е. Рецензент Программа одобрена на заседании кафедры АСУ «___» ___________2002 г. протокол № Зав. кафедрой АСУ проф., д.т.н. Федунец Н.И.