НОВОСИБИРСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

ФАКУЛЬТЕТ ПРИКЛАДНОЙ МАТЕМАТИКИ И ИНФОРМАТИКИ

КАФЕДРА ПАРАЛЛЕЛЬНЫХ ВЫЧИСЛИТЕЛЬНЫХ ТЕХНОЛОГИЙ

“УТВЕРЖДАЮ”

Декан

факультета прикладной математики

и информатики

«___ »______________2006 г.

РАБОЧАЯ ПРОГРАММА УЧЕБНОЙ ДИСЦИПЛИНЫ

«Архитектура современных ЭВМ»

ООП: 010500 – Прикладная математика и информатика; квалификация – магистр прикладной математики и информатики

Факультет Прикладной математики и информатики

Курс 1, 2

Семестр 1, 2, 3

Лекции 18/20 часа

Лабораторные работы 18/0/0 часов

Семинарские занятия 0/0/18 часов

Индивидуальные занятия 18/40/36 часов

Курсовой проект 1семестр

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

Экзамен 1/ 2 семестр

Зачет 3 семестр

Всего 400 часов

Новосибирск

2006

Рабочая программа составлена на основании Государственного образовательного стандарта высшего профессионального образования по направлению 510200 – Прикладная математика и информатика.

ГОС утвержден 23.03.2000, № государственной регистрации 201 ен/маг

Шифр дисциплины: СДМ.01, специальная дисциплина.

Рабочая программа обсуждена на заседании кафедры параллельные вычислительные технологии протокол № 26 от 25 апреля 2006 г.

Программу разработал к. т.н., доцент .

Заведующий кафедрой д. т.н. проф.

Ответственный за основную

образовательную программу д. т.н. проф.

1. Внешние требования

Таблица 1

Требования к обязательному минимуму содержания учебной дисциплины

Шифр дисциплины

Содержание учебной дисциплины

Часы

СДМ.01

Архитектура современных ЭВМ:

Базовые принципы организации архитектур с параллелизмом на уровне данных, команд, потоков и процессов. Классификация архитектур с разным уровнем параллелизма. Структура и реализация современных ЭВМ: микро архитектура, базовые микропроцессоры, коммуникационные среды, программное обеспечение. Тенденции развития современных ЭВМ, оценки производительности, анализ списка TOP500.

400

1.3. Квалификационная характеристика выпускника

НЕ нашли? Не то? Что вы ищете?

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

Магистр прикладной математики и информатики подготовлен к деятельности, требующей углубленной фундаментальной и профессиональной подготовки, в том числе к научно-исследовательской работе в областях, использующих методы прикладной математики и компьютерные технологии; созданию и использованию математических моделей процессов и объектов; разработке и применению современных математических методов и программного обеспечения для решения задач науки, техники, экономики и управления; использованию информационных технологий в проектно-конструкторской, управленческой и финансовой деятельности. Магистр прикладной математики и информатики подготовлен к научно-педагогической деятельности при условии освоения им соответствующей образовательной программы педагогического профиля.

7.1. Требования к профессиональной подготовленности магистра прикладной математики

Общие требования к уровню подготовки магистра прикладной математики и информатики определяются содержанием аналогичного раздела требований к уровню подготовки бакалавра и требованиями, обусловленными специализированной подготовкой. Требования к уровню подготовки бакалавра изложены в п.7 государственного образовательного стандарта высшего профессионального образования бакалавра по направлению 510200 - Прикладная математика и информатика.

Требования, обусловленные специализированной подготовкой магистра прикладной математики и информатики, включают:

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

§  умения:

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

-  выбирать необходимые методы исследования, модифицировать существующие и разрабатывать новые методы, исходя из задач конкретного исследования;

-  обрабатывать полученные результаты, анализировать и осмысливать их с учетом имеющихся литературных данных;

-  вести библиографическую работу с привлечением современных информационных технологий;

-  представлять итоги проделанной работы в виде отчетов, рефератов, статей, оформленных в соответствии с имеющимися требованиями, с привлечением современных средств редактирования и печати.

2. Особенности (принципы) построения дисциплины

Таблица 2

Особенность (принцип)

Содержание

Основание для введения дисциплины в учебный план направления

Стандарт направления, решение ученого совета ФПМИ от 01.01.2001, протокол № 4.

Адресат дисциплины

Студенты по направлению:

010500 – Прикладная математика и информатика

Главная цель дисциплины

Сформировать регулярный подход к решению больших задач на параллельных компьютерах. Такой подход включает следующее

выбор архитектуры компьютера и системы программирования для построения эффективной программы для данной задачи, выбор и преобразование алгоритмов, математических моделей явлений с учетом особенностей используемого компьютера.

Ядро дисциплины

Модели параллельных вычислений, принципы организации современных архитектур с параллелизмом на уровне команд (ILP), данных (SIMD, ассоциативные и систолические) и процессов (MIMD), техника конвейеризации, техника векторизации, организация узлов в MIMD-компьютерах, техника синхронизации процессов, способы обмена данными, протоколы когерентности, топология сетей связи, теория коммуникационных сред, способы определение производительности.

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

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

Уровень требований по сравнению со Стандартом

Соответствует требованиям Стандарта

Объем дисциплины в часах

38 часов лекций, 18 часов лабораторных занятий, 18 часов семинарских занятий, 94 часа индивидуальных занятий, 232 часа самостоятельных занятий

Основные понятия дисциплины

Архитектура ЭВМ, кэш-память, когерентность кэш-памяти, конвейер, шина, процессор, RISC-архитектура, параллелизмом на уровне команд, данных, потоков, процессов, коммуникационные среды, мультипроцессор, мультикомпьютер, производительность ЭВМ.

Обеспечение последующих дисциплин образовательной программы

Дипломное проектирование

Практическая часть дисциплины

Практическая часть дисциплины содержит лабораторные работы, семинарские и индивидуальные занятия. Студенты изучают архитектуры компьютеров и программное обеспечение суперцентра ИВМиМГ. Определяют производительность компьютера на известных тестах. Разрабатывают и отлаживают эффективные программы алгоритмов для своих работ с учетом с учетом особенностей архитектуры данного компьютера и используемого компилятора.

Направленность дисциплины на развитие обще предметных, обще интеллектуальных умений, обладающих свойством переноса, направленность на саморазвитие

Обобщение, анализ, синтез, классификация, абстрагирование, моделирование, выделение главного.

Дисциплина и современные информационные технологии

Для чтения лекций и проведения занятий используется пакет Microsoft PowerPoint.

3. Цели учебной дисциплины

После изучения дисциплины студент будет Таблица 3

Иметь представление:

1

О моделях вычислений.

2

О тенденциях развития современных ЭВМ и ВС.

3

О состояние дел на рынке современных компьютеров (список TOP500).

4

О моделях параллельно-последовательного программирования.

Знать:

5

Уровни параллелизма, используемые в организации современных компьютеров.

6

Принципы организации архитектур с параллелизмом на уровне команд: суперскалярные микропроцессоры и микропроцессоры с явным параллелизмом (EPIC).

7

Возможности архитектур данного класса при решении задач численного моделирования.

8

Принципы организации архитектур с параллелизмом на уровне данных: матричные, векторные, систолические и волновые процессоры.

9

SIMD-расширения в современных компьютерах.

10

Принципы организации архитектур на уровне процессов (параллельные компьютеры ). Классификацию параллельных компьютеров (компьютеры с разделяемой памятью (UMA, NUMA, cc-NUMA, COMA) (мультипроцессоры)). Компьютеры с распределенной памятью (мультикомпьютеры). Основные компоненты ВС. Современные реализации мультипроцессоров и мультикомпьютеров и кластеров.

11

Организацию сетей связи в параллельных компьютерах.

12

Определение производительности компьютера

Уметь:

13

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

14

Написать и отладить программу с учетом особенностей архитектуры компьютера (например, организации памяти, сети связи).

Иметь опыт:

15

Некоторые навыки практической работы на компьютерах разной архитектуры.

4. Содержание и структура учебной дисциплины

Структура курса

Содержание курса

Лекционные занятия (38 часов)

Таблица 4

Ссылки на цели курса

Часы

Темы лекционных занятий

1,4, 5

2

Введение в параллельную обработку. Понятие последовательного и параллельного исполнения. Уровни параллелизма. Классификация Флинна. Уточненная классификация.

6, 7, 13, 14

10

Архитектуры с параллелизмом на уровне команд (ILP - архитектуры). Два способа выявления параллелизма на уровне команд. Архитектура суперскалярных процессоров. Динамическое исполнение команд (предсказание переходов, переименование регистров, спекулятивное выполнение и выполнение вне порядка). Основные блоки суперскалярных процессоров. Причины, ограничивающие эффективность суперскаляров. Примеры суперскалярных процессоров (Alpha 21264, Pentium 4, Opteron, Power PC 970). Архитектура EPIC-процессоров (с явным параллелизмом на уровне команд). Особенности работы EPIC-процессcора (спекуляция по коду и данным, предикатное исполнение команд, регистровый стек, программная конвейеризация циклов, ветвление). Микропроцессор Itanium 2. Сравнение способов выявления скрытого параллелизма в микропроцессорах обоих классов. Перспективы данного класса архитектур.

8, 9, 13, 14

6

Архитектуры с параллелизмом на уровне данных (DPL-архитектуры). Классификация DLP-архитектур. Связность процессорных элементов - основная концепция DLP-архитектур. Архитектура матричных процессоров. Типы соседства. Топология сети. Процессорные элементы, их сложность. Примеры архитектур (DAP, MPP, MasPar, CM5). Оценки производительности. Архитектура векторных процессоров (SIMD –архитектура.) Организация векторных регистров. Векторизация вычислений. Примеры архитектур (Cray C90, Covex C4/XA, Fuijtsu VPP5000/31). Оценки производительности. Архитектура систолических процессоров. Свойства систолических и волновых процессоров. Оптимизация структуры. Примеры систолических и волновых процессоров (WARP). Оценки сложности. Архитектура ассоциативных процессоров. Ассоциативный способ обработки данных. Примеры ассоциативных процессоров. SIMD-расширения.

10,11, 13, 14

17

Архитектуры с параллелизмом на уровне процессов (MIMD- архитектуры). Классификация MIMD-архитектур. Компьютеры с разделяемой (физически и логически) памятью (SMP) (мультипроцессоры). Компьютеры с распределенной памятью (мультикомпьютеры) (MPP). Кластеры. Структура узла (UMA, NUMA, cc-NUMA, MPP). Проблемы кэш-когерентности памяти. Протоколы. Сети связи. Топология сетей. Коммуникационные среды (SCI, Fast Ethernet, Gigabit Ethernet, Myrinet, Quadrics, Raceway, Infiniband). Сравнительный анализ коммуникационных сред. Программное обеспечение (MPI, MPI+OpenMP, MPI+треды, HPF). Особенности их использования. Многоядерные компьютеры. Примеры и анализ современных параллельных компьютеров.

12, 13, 14

3

Оценки производительности. Тенденции развития параллельных компьютеров по TOP500.

Лабораторные работы (18 часов)

Лабораторные работы выполняются на параллельной вычислительной системе (кластер – 12 компьютеров Pentium 4, объединенных в общую вычислительную систему).

Таблица 5

Темы лабораторных занятий

Учебная деятельность

Часы

Ссылки на цели

Знакомство с суперкомпьютерами ИВМиМГ

На известных тестах магистранты определяют производительность базового компьютера, узла и суперкомпьютера.

4

6-14

Разработка рекомендаций для эффективного программирования на базовых компьютерах, узлах суперкомпьютера и суперкомпьютере

По результатам тестирования и особенностям архитектуры формулируются рекомендации по эффективному программированию.

6

6-14

Построение эффективных программ алгоритмов численного моделирования

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

8

6-14

Индивидуальные занятия (94 часов)

Таблица 6

Темы

Учебная деятельность:

Часы

Ссылки на цели

Тестирование базового компьютера

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

18

6-14

Тестирование узла

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

40

6-14

Тестирование суперкомпьютера

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

36

6-14

Семинарские занятия (18 часов)

Таблица 7

Темы

Учебная деятельность:

Часы

Ссылки на цели

Обзор процессоров Alpha 21264, Pentium 4, AMD Opteron, Power PC 970, Itanium 2

Магистранты приобретают навыки исследования особенностей микропроцессоров: предсказание переходов, переименование регистров, спекулятивное выполнение команд и выполнение вне порядка, спекуляция по коду и данным, предикатное исполнение команд, регистровый стек, программная конвейеризация циклов.

9

1-5

Обзор суперкомпьютеров NEC EarthSimulator, IBM BlueGene\L,

MVS 1000M,

SGI Altix3000

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

9

1-5

5. Учебная деятельность

Самостоятельная работа в течение семестра состоит в подготовке к лекциям по каждой теме курса. План самостоятельной работы может быть следующим:

·  Обзор современных микропроцессоров (80 часов),

·  Обзор современных суперкомпьютеров (100 часов),

·  Обзор специализированных математических библиотек (52 часа).

В течение 1 семестра студенты выполняют курсовой проект, который охватывает разделы курса, посвящённые архитектуре с параллелизмом на уровне команд.

Цель. При выполнении курсового проекта (КП) студенты приобретают навыки самостоятельного решения прикладной задачи с использованием современного программного обеспечения (специализированных математических библиотек).

Тематика КП:

-  Обзор и тестирование микропроцессора Alpha 21264,

-  Обзор и тестирование микропроцессора Pentium 4,

-  Обзор и тестирование микропроцессора AMD Opteron,

-  Обзор и тестирование микропроцессора Power PC 970,

-  Обзор и тестирование микропроцессора Itanium 2.

Требования к выполнению и оформлению КП:

1.  При выполнении курсового проекта необходимо:

-  ознакомиться с технической документацией по заданному микропроцессору,

-  сделать обзор результатов тестирования заданного микропроцессора,

-  разработать программное обеспечение, реализующее тестирование микропроцессора и памяти,

-  применить разработанное программное обеспечение для тестирования микропроцессора,

-  провести анализ и интерпретацию результатов замера времени тестирующего программного обеспечения.

2.  Отчёт включает следующие разделы:

-  формулировка целей и задач исследования,

-  обзор существующих методов тестирования процессоров и памяти,

-  описание реализованных алгоритмов,

-  структура программ,

-  набор тестов,

-  описание задачи тестирования, результаты исследований,

-  приложение: текст программы,

Отчет оформляется в соответствии с ГОСТ по оформлению научных отчетов.

6. Правила аттестации студентов по учебной дисциплине

Итоговый экзамен в 1, 2 семестрах сдается письменно по билетам. К экзамену допускаются студенты, выполнившие все задания по лабораторным работам и индивидуальные работы. Оценка знаний и умений студентов проводится на основании ответов на поставленные вопросы. Студенту предлагается ответить на 2 вопроса из списка заданий по основным темам курса. На экзамене оценку «удовлетворительно» получает студент, усвоивший не менее 30% материала, оценку «хорошо» получает студент, усвоивший не менее 60% материала, оценку «отлично» получает студент, усвоивший не менее 80% материала.

Зачет в 3 семестре сдаётся письменно по билетам. К зачету допускаются студенты, выполнившие все задания по лабораторным работам и индивидуальные работы. Студенту предлагается ответить на 2 вопроса из списка заданий по основным темам курса. Зачет получают студенты, правильно и полно ответившие на вопрос из списка вопросов.

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

Основная литература

Таненбаум компьютера (5-е издание). Издат. дом Питер. 2006 г. Аппаратные средства IBM PC. СПб: Питер, 1998 г. Крис Касперски. Техника оптимизации программ. Спб.:БХВ-Петербург, 2003.- 464с. Современные микропроцессоры, 3-е издание. Санк-Петербург, БХВ-Петербург. 2003. Таненбаум операционные системы. Издат. дом Питер, 2002 г. Корнеев вычислительных систем с программируемой структурой. Н.: Наука, 1985 г.

Дополнительная литература

1.  Смирнов вычислительных систем. - М.: Наука, 1990.

2.  , Орлов ЭВМ и сетей. СПб.: Питер, 2004. 668 с.

3.  Бройдо системы, сети и телекоммуникации. СПб.:Питер, 2002. 688 с.

4.  Корнеев программирование в MPI. Москва-Ижевск: институт компьютерных исследований, 2003.

8. Контролирующие материалы для аттестации студентов по дисциплине

Список вопросов 1 семестра:

1.  Параллелизм (временной и пространственный) – базовая техника построения современных ЭВМ. Уровни параллелизма.

2.  Классификация архитектур с параллелизмом на уровне команд.

3.  Базисные принципы организации суперскаляров. Динамическое исполнение команд.

4.  Сравнительный анализ организации конвейеров, подсистемы памяти и связи у микропроцессоров Alpha 21264, Obteron, Pentuim4, PowerPC970.

5.  Базисные принципы организации архитектуры процессоров с длинным командным словом.

6.  Описание микропроцессора Itanium2.

7.  Сравнение способов выявления скрытого параллелизма у архитектур с параллелизмом на уровне команд.

8.  Классификация архитектур с параллелизмом на уровне данных.

9.  Векторные компьютеры. SIMD-расширения в современных микропроцессорах.

10.  Систолические и волновые процессоры.

Список вопросов 2 семестра:

1.  Классификация архитектур с параллелизмом на уровне процессов.

2.  Компьютеры с разделяемой памятью (SMP) (мультипроцессоры) (NUMA, cc-NUMA, COMA).

3.  Структура узла. Программное обеспечение (OpenMP, MPI, треды).

4.  Компьютеры с распределенной памятью (MPP) (мультикомпьютеры). Примеры современных мультикомпьютеров

5.  Коммуникационные среды. Топология динамических и статических сетей связи.

6.  Проблемы кэш-когерентности. Протоколы. Сравнительный анализ коммуникационных сред (SCI, Fast Ethernet, Gigabit Ethernet, Quadrics, Raceway, Infiniband), особенности их использования.

Список вопросов 3 семестра:

1.  Кластеры. Определение кластеров. Проектирование кластерных систем. Организация памяти на уровне узла и кластера.

2.  Структура узла. Сеть связи в узле. Поддержка кэш-когерентности. Программное обеспечение (MPI, MPI+OpenMP, MPI+треды). Примеры современных кластеров. производительности.

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

4.  Оценки производительности современных компьютеров (анализ списка TOP500)/ Тенденции развития параллельных компьютеров.