ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 24.12.2021

Просмотров: 6684

Скачиваний: 8

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
background image

Вопросы и задания 643

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

Для всех мультипроцессоров ключевым вопросом является модель согласо-

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

MESI. Кроме того, возможны различные сети, а также машины на основе каталога

N U M A H C O M A .

Мультипроцессоры можно разделить на системы МРР и COW, хотя граница

между ними произвольна. К системам МРР относятся Cray ТЗЕ и Intel/Sandia
Option Red. В них используются запатентованные высокоскоростные сети межсо-
единений. Системы COW, напротив, строятся из таких стандартных деталей, как

Ethernet, ATM и Myrinet.

Мультикомпьютеры часто программируются с использованием пакета с пере-

дачей сообщений (например, PVM или MPI). Оба пакета поддерживают библио-
течные вызовы для отправки и получения сообщений. Оба работают поверх суще-
ствующих операционных систем.

Альтернативный подход — использование памяти совместного использования

на прикладном уровне (например, система DSM со страничной организацией, про-
странство кортежей в системе Linda, объекты в системах Огса и Globe). Система
DSM моделирует совместно используемую память на уровне страниц, и в этом она
сходна с машиной NUMA. Системы Linda, Orca и Globe создают иллюзию совмест-
но используемой памяти с помощью кортежей, локальных объектов и глобальных
объектов соответственно.

Вопросы и задания

1. Утром пчелиная матка созывает рабочих пчел и сообщает им, что сегодня

им нужно собрать нектар ноготков. Рабочие пчелы вылетают из улья и ле-
тят в разных направлениях в поисках ноготков. Что это за система — SIMD
или MIMD?

2. Вычислите диаметр сети для каждой топологии, изображенной на рис. 8.4.
3. Для каждой топологии, изображенной на рис. 8.4, определите степень отказо-

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

4. Рассмотрим топологию двойной тор (см. рис. 8.4, е), расширенную до раз-

мера kxk. Каков диаметр такой сети? Подсказка: четное и нечетное к нужно
рассматривать отдельно.


background image

6 4 4 Глава 8. Архитектуры компьютеров параллельного действия

5. Представим сеть в форме куба 8x8x8. Каждый канал связи имеет дуплекс-

ную пропускную способность 1 Гбайт/с. Какова бисекционная пропускная
способность этой сети?

6. Рассмотрим сеть в форме прямоугольной решетки размером 4 коммутатора

в ширину и 3 коммутатора в высоту. В ней пакеты, исходящие из левого
верхнего угла и направляющиеся в правый нижний угол, могут следовать
по любому из нескольких возможных путей. Пронумеруйте верхний ряд
коммутаторов с 1 по 4, следующий ряд — с 5 по 8, а нижний — с 9 по 12.
Выпишете все пути, по которым пакеты перемещаются только вправо или
вниз, начиная с коммутатора 1 и заканчивая коммутатором 12.

7. Закон Амдала ограничивает потенциальный коэффициент ускорения, до-

стижимый в компьютере параллельного действия. Вычислите как функцию
от f максимально возможный коэффициент ускорения, если число процес-
соров стремится к бесконечности. Каково значение этого предела для f=0,l?

8. На рисунке 8.10 показано, что расширение невозможно с шиной, но возможно

с решеткой. Каждая шина или канал связи имеет пропускную способность Ь.
Вычислите среднюю пропускную способность на каждый процессор для
каждого из четырех случаев. Затем расширьте каждую систему до 64 про-
цессоров и выполните те же вычисления. Чему равен предел, если число
процессоров стремится к бесконечности?

9. Компьютерная компания выпускает системы, состоящие из п компьютеров

с совместно используемой памятью, организованных в квадратную решет-
ку. Однажды вице-президенту компании приходит в голову идея выпустить
новый продукт: трехмерную решетку, в которой п компьютеров организова-
ны в правильный куб (это возможно, например, для п=4096).

1. Как это изменение повлияет на максимальное время ожидания?

2. Как это изменение повлияет на общую пропускную способность?

10. Когда мы говорили о согласованности памяти, мы сказали, что модель со-

гласованности — это вид контракта между программным обеспечением и
памятью. Зачем нужен такой контракт?

11. Векторный процессор (например, Cray-1) содержит арифметические устрой-

ства с конвейерами из четырех стадий. Прохождение каждой стадии зани-
мает 1 не. Сколько времени понадобится для сложения двух векторов из 1024
элементов?

12. Рассмотрим мультипроцессор с общей шиной. Что произойдет, если два

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

13. Предположим, что по техническим причинам отслеживающий кэш может

отслеживать только адресные линии и не может отслеживать информаци-
онные. Повлияет ли это изменение на протокол сквозной записи?

14. Рассмотрим простую модель мультипроцессорной системы с шиной без

кэш-памяти. Предположим, что одна из каждых четырех команд обращает-
ся к памяти и что при каждом обращении к памяти шина занимается на все


background image

Вопросы и задания 645

время выполнения команды. Если шина занята, то запрашивающий про-
цессор становится в очередь «первым вошел — первым вышел». Насколько
быстрее будет работать система с 64 процессорами по сравнению с однопро-
цессорной системой?

15. Протокол MESI содержит 4 состояния. Каким из 4 состояний можно по-

жертвовать и каковы будут последствия каждого из четырех вариантов? Если
бы вам пришлось выбрать только три состояния, какие бы вы выбрали?

16. Бывают ли в протоколе MESI такие ситуации, когда строка кэш-памяти при-

сутствует в локальной кэш-памяти, но при этом все равно требуется тран-
закция шины? Если да, то опишите такую ситуацию.

17. Предположим, что к общей шине подсоединено п процессоров. Вероятность,

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

1. Шина свободна (0 запросов).

2. Совершается ровно один запрос.
3. Совершается более одного запроса.

18. Процессоры Sun Enterprise 10000 работают с частотой 333 МГц, а отслежи-

вающие шины — с частотой 83,3 МГц. Если имеется 64 процессора, ясно, что
шины не справятся с такой нагрузкой. Тем не менее машина работает. Объяс-
ните, почему.

19. В этой книге мы вычислили, что производительности координатного ком-

мутатора было достаточно для обработки 167 млн отслеживаний/с, когда
к нему подсоединено 16 плат, причем мы даже принимаем во внимание тот
факт, что из-за конфликтных ситуаций на практике пропускная способность
составляет 60% от теоретической. Небольшая машина Enterprise 10000 может
содержать всего 4 платы (16 процессоров). Будет ли такая машина работать
с полной скоростью?

20. Предположим, что провод между коммутатором 2 А и коммутатором ЗВ в сети

Omega поврежден. Какие именно элементы будут отрезаны друг от друга?

21. Области памяти, к которым часто происходят обращения, представляют

большую проблему в многоступенчатых сетях. А являются ли они пробле-
мой в системах с шинной организацией?

22. Сеть Omega соединяет 4096 процессоров RISC, время цикла каждого из ко-

торых составляет 60 не, с 4096 бесконечно быстрыми модулями памяти. Каж-
дый переключательный элемент дает задержку 5 не. Сколько пустых цик-
лов требуется для команды LOAD?

23. Рассмотрим машину с сетью Omega (см. рис. 8.22). Предположим, что про-

грамма и стек i хранятся в модуле памяти i. Какое незначительное измене-
ние топологии может сильно повлиять на производительность? (IBM RP3 и
BBN Butterfly используют эту измененную топологию.) Какой недостаток
имеет новая топология по сравнению со старой?


background image

6 4 6 Глава 8. Архитектуры компьютеров параллельного действия

24. В мультипроцессоре NUM А обращение к локальной памяти занимает 20 не,

а к памяти другого процессора — 120 не. Программа во время выполнения
совершает N обращений к памяти, 1% из которых — обращения к странице Р.
Изначально эта страница находится в удаленной памяти, а на копирование
ее из локальной памяти требуется С не. При каких обстоятельствах эту страни-
цу следует копировать локально, если ее не используют другие процессоры?

25. Система DASH содержит b байтов памяти, которые распределены между

п кластерами. В каждом кластере содержится р процессоров. Размер строки
кэш-памяти составляет с байтов. Напишите формулу для общего количе-
ства памяти, предоставленного каталогам (исключая два бита состояния на
каждый элемент каталога).

26. Рассмотрим мультипроцессор CC-NUMA (см. рис. 8.24), содержащий

512 узлов по 8 Мбайт каждый. Если длина строки кэш-памяти составляет
64 байта, каков процент непроизводительных затрат для каталогов? Как
повлияет увеличение числа узлов на непроизводительные затраты (они уве-

личатся, уменьшатся или останутся без изменений)?

27. На какую операцию в SCI требуется больше всего времени?
28. Мультипроцессор на базе SCI содержит 63 узла. Длина строки кэш-памяти

составляет 32 байта, а общее адресное пространство составляет 2

32

 байтов.

Размер кэш-памяти в каждом узле — 1 Мбайт. Сколько байтов нужно иметь
в каждом кэш-каталоге?

29. Машина NUMA-Q 2000 содержит 63 узла. Предложите ввести 64 узла вме-

сто 63. Почему компания Sequent в качестве максимума выбрала именно 63,
а не 64?

30. В этой книге мы обсуждали 3 варианта примитива send — синхронный, бло-

кирующий и неблокирующий. Предложите четвертый метод, который схож
с блокирующей операцией send, но немного отличается по свойствам. Какое
преимущество и какой недостаток имеет новый метод по сравнению с обыч-
ной блокирующей операцией send?

31. Рассмотрим компьютер, который работает в сети с аппаратным широкове-

щанием (например, Ethernet). Почему важно соотношение операций чте-
ния (которые не изменяют внутреннее состояние переменных) и операций
записи (которые изменяют внутреннее состояние переменных)?

32. Многие вопросы, возникающие при разработке мультипроцессоров, возни-

кают также при разработке совместно используемой памяти на прикладном
уровне. Один из таких вопросов — выбор одной из двух политик: обновле-
ние или объявление недействительным. Какая политика используется в си-
стеме Огса?


background image

Глава 9

Библиография

В предыдущих главах мы с разной степенью подробности обсуждали достаточно
широкий ряд вопросов. Эта глава предназначена для читателей, которые заин-
тересованы в более глубоком изучении строения компьютеров. В разделе «Лите-
ратура для дальнейшего чтения» содержится список литературы к каждой главе.
В разделе «Алфавитный список литературы» приводится алфавитный список всех
книг и статей, на которые мы ссылались в этой книге.

Литература для дальнейшего чтения

Вводная и неспециальная литература

1. Hamacher et al.,

 Computer Organization,

 4th ed.

Традиционный учебник об организации компьютеров (процессоры, память,
ввод-вывод, арифметика, периферийные устройства). Основные примеры —
68000 и Power PC.

2. Hayes,

 Computer Architecture and Organization,

 3rd ed.

Еще одна традиционная книга о компьютерной организации с уклоном к ап-

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

3. Patterson and Hennessy,

 Computer Organization and Design.

Эта книга почти на 1000 страниц содержит обширный материал о компью-
терной архитектуре, в частности о разработке процессоров RISC. Упор де-
лается на то, как достичь высокой производительности с помощью конвейе-
ризации и других технологий.

4. Price,

 A History of Calculating Machines.

Современные компьютеры восходят к машине Бэббиджа, созданной в XIX веке,

но люди производили различные вычисления с самого начала цивилизации.
В этой иллюстрированной статье прослеживается вся история счета, мате-
матики, календарей и вычислений с 3000 г. до н. э. до начала XX века.