Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
учебник_Вс.doc
Скачиваний:
5
Добавлен:
01.03.2025
Размер:
12.88 Mб
Скачать

Ю. М. РУДЕНКО, Е.А. ВОЛКОВА

ВЫЧИСЛИТЕЛЬНЫЕ СИСТЕМЫ

Ю.М. Руденко, Е.А. Волкова

Вычислительные системы

Архитектура и составляющие её компоненты

Представление параллельных алгоритмов и

оптимизация времени их решения

Москва

Издательство МГТУ имени Н.Э.Баумана

2009

УДК 685.32:519.68(075.8)

ББК

Р е ц е н з е н т ы

Руденко Ю.М., Волкова Е.А.

Вычислительные системы.

Предлагаемое учебное пособие рассматривает вопросы, связанные с разработкой и эксплуатацией вычислительных систем. Подробно излагаются проблемы оценки производительности и другие эксплутационные характеристики этих систем, принципы технической реализации, архитектурные свойства и структурные характеристики. Приведены описания наиболее удачных, на наш взгляд, коммуникационных сред и коммутаторов. Даны краткие описания параллельных библиотек «Open MP» и «MPI». В нём представлена вторая составляющая процесса решения параллельных задач - представление параллельных алгоритмов с помощью граф-схем, методы построения ветвей параллельных алгоритмов и размещение их в узлах вычислительных систем. Учебное пособие предназначено для студентов и магистров технических высших учебных заведений, университетов, а так же аспирантов и научных работников, работающих в этом направлении, и написано на основании цикла лекций, читаемых в МГТУ им. Н. Э. Баумана.

© Издательство МГТУ имени Н.Э.Баумана

Оглавление

Глава 1. Архитектура вычислительных систем 11

1. Количественные характеристики, применяемые для оценок параметров вычислительных систем 11

1.1.1. Вопросы к разделу 1.1. 15

2. Понятие о современных вычислительных системах 15

2.1. Вопросы к разделу 1.2. 18

3. Структура современных вычислительных систем 18

3.1. Схема обмена с помощью структуры «Общая шина» 19

3.2. Схема обмена с помощью структуры «Линейка» 19

3.3. Вычислительная система, имеющая структуру типа «Кольцо» 20

3.4. Схема обмена с помощью структуры типа «Решётка» 20

1.3.5. Схема обмена с помощью структуры типа «Двумерный тор» 21

3.1. Схема обмена с помощью структуры типа «n-мерный двоичный гиперкуб» или «nD-куб» 22

3.2. Реализация обмена с помощью структуры типа «Обобщенный nD-куб» 22

3.3. Структура ВС типа «N-мерный обобщённый тор» 23

3.4. Структура ВС с сетью типа «Циркулянт» 24

1.3.10. Вычислительная система «Максимальный обхват» 25

1.3.11. Вычислительные системы со структурой сетей типа «Симметричные графы» 26

1.3.12. Вычислительные системы с сетью связей типа «Гомоморфные графы» 27

1.3.13. Вычислительные системы с сетью связей типа «Граф Л(N,v,g)» 30

1.3.14. Структура вычислительной системы типа «Бинарное дерево T0(n) глубины n» 39

1.3.15. Структура вычислительной системы типа «Мультидерево глубины n и ширины k  T1(n,k)» 40

3.5. Вопросы к разделу 1.3 41

4. Коммуникационные среды вычислительных систем 41

4.1. Коммуникационная среда на основе масштабируемого когерентного интерфейса SCI 42

4.2. Коммуникационная среда на основе технологии Myrinet 43

1.4.3. Краткая характеристика коммуникационной среды QsNet II 44

4.3. Вопросы к разделу 1.4 46

5. Коммутаторы вычислительных систем 46

1.5.1. Типы коммутаторов 46

5.1. Управление коммутаторами 50

5.2. Алгоритмы определения маршрутов 50

5.3. Дедлоки в составных коммутаторах 50

5.4. Вопросы к разделу 1.5 51

6. Процесс функционирования вычислительных систем 51

6.1. Вопросы к разделу 1.6. 52

7. Принципы технической реализации ВС 52

1.7.1. Вопросы к разделу 1.7 54

1.8. Архитектурные особенности ВС 54

1.8.1. Архитектурные свойства ВС 54

1.8.2. Схема обмена информацией между ветвями параллельных алгоритмов 55

7.1. Опыт применения методики крупноблочного распараллеливания сложных задач 58

7.2. Архитектурные аспекты при создании ОС ВС 58

7.3. Структурные характеристики ВС 59

7.4. Классификация структур ВС 60

7.5. Вопросы к разделу 1.8. 62

Глава 2. Реализация параллельных алгоритмов 63

2.1. Реализация параллельных алгоритмов 63

2.1.1. Определение параллельного алгоритма 63

7.6. Организация динамического распараллеливания в суперскалярных микропроцессорах 64

2.1.3. Предварительная выборка команд и предсказание переходов 66

7.7. Декодирование команд, переименование ресурсов и диспетчеризация 66

7.8. Исполнение команд 67

2.1.6. Работа с памятью 68

2.1.7. Завершение выполнение команды 70

2.1.8. Направления развития суперскалярной архитектуры 70

7.9. Мультитредовая модель выполнения программы 72

7.10. Аппаратные и программные средства, необходимые для мультитредовой архитектуры 73

2.1.11. Специфика мультитредовых моделей распараллеливания 75

2.1.12. Вопросы к разделу 2.1 76

2.2.Организация распараллеливания на уровне программных модулей 76

2.2.1. Примеры организации вычислений на уровне программных модулей 76

2.2.2. Решение системы линейных уравнений методом Гаусса с помощью ВС типов «решётка» и «линейка» 88

2.2.3. Исполнение алгоритма Гаусса на «решётке» n*n ВM 90

2.2.4. Исполнение алгоритма Гаусса на «линейке», состоящей из n ВМ 91

2.2.5. Показатели эффективности параллельных алгоритмов 93

2.2.6. Понятие о сложных задачах 94

2.2.7. Вопросы к разделу 2.2 95