Книги
чёрным по белому
Главное меню
Главная О нас Добавить материал Поиск по сайту Карта книг Карта сайта
Книги
Археология Архитектура Бизнес Биология Ветеринария Военная промышленность География Геология Гороскоп Дизайн Журналы Инженерия Информационные ресурсы Искусство История Компьютерная литература Криптология Кулинария Культура Лингвистика Математика Медицина Менеджмент Металлургия Минералогия Музыка Научная литература Нумизматика Образование Охота Педагогика Политика Промышленные производства Психология Путеводители Религия Рыбалка Садоводство Саморазвитие Семиотика Социология Спорт Столярное дело Строительство Техника Туризм Фантастика Физика Футурология Химия Художественная литература Экология Экономика Электроника Энергетика Этика Юриспруденция
Новые книги
Цуканов Б.И. "Время в психике человека" (Медицина)

Суворов С. "Танк Т-64. Первенец танков 2-го поколения " (Военная промышленность)

Нестеров В.А. "Основы проэктирования ракет класса воздух- воздух и авиационных катапульных установок для них" (Военная промышленность)

Фогль Б. "101 вопрос, который задала бы ваша кошка своему ветеринару если бы умела говорить" (Ветеринария)

Яблоков Н.П. "Криминалистика" (Юриспруденция)
Реклама

Архитектура компьютера - Таненбаун Э.

Таненбаун Э. Архитектура компьютера — Спб.: Питер, 2007. — 844 c.
ISBN 5-469-01274-3
Скачать (прямая ссылка): arhkomputera2007.DjVu
Предыдущая << 1 .. 318 319 320 321 322 323 < 324 > 325 326 327 328 329 330 .. 422 >> Следующая

соответствующие подкатегории.
642
Глава 8. Параллельные компьютерные архитектуры
Во вторую основную категорию MIMD-машин попадают мультикомпьютеры,
которые в отличие от мультипроцессоров не имеют общей памяти на
архитектурном уровне. Другими словами, операционная система процессора,
входящего в состав мультикомпьютера, не сможет получить доступ к памяти
другого процессора, просто выполнив команду LOAD. Процессору придется
отправить сообщение и ждать ответа. Именно способность операционной
системы считать слово из удаленного модуля памяти с помощью команды LOAD
отличает мультипроцессоры от мультикомпьютеров. Как мы уже отмечали, хотя
даже в мультикомпьютере пользовательские программы могут обращаться к
другим модулям памяти с помощью команд LOAD и STORE, эта способность не
подкреплена аппаратно, иллюзию создает операционная система. Разница
незначительна, но очень важна. Так как мультикомпьютеры не имеют
непосредственного доступа к удаленным модулям памяти, их иногда относят к
категории NORMA (NO Remote Memory Access - отсутствие удаленного доступа
к памяти).
Мультикомпьютеры тоже можно разделить на две дополнительные категории. К
категории МРР (Massively Parallel Processor - процессор с массовым
параллелизмом) относятся дорогостоящие суперкомпьютеры, которые состоят
из большого количества процессоров, связанных высокоскоростной внутренней
коммуникационной сетью. В качестве хорошо известного коммерческого
примера можно назвать суперкомпьютер SP/3 компании IBM.
Вторая категория мультикомпьютеров включает обычные персональные
компьютеры или рабочие станции (иногда смонтированные в стойки), которые
связываются в соответствии с той или иной коммерческой коммуникационной
технологией. С точки зрения логики принципиальной разницы здесь нет, но
мощный суперкомпьютер стоимостью в миллионы долларов безусловно
используется иначе, чем собранная конечными пользователями компьютерная
сеть, которая обходится во много раз дешевле любой МРР-машины. Эти
"доморощенные" системы иногда называют сетями рабочих станций (Network Of
Workstations, NOW), кластерами рабочих станций (Cluster Of Workstattions,
COW), или просто кластерами (cluster).
Семантика памяти
Хотя во всех мультипроцессорах процессорам предоставляется образ общего
единого адресного пространства, часто наряду с ним имеется множество
модулей памяти, в каждом из которых хранится какой-то фрагмент физической
памяти. Процессоры и модули памяти соединяются сложной коммуникационной
сетью (мы поговорим об этом в подразделе "Коммуникационные сети" раздела
"Мультикомпьютеры"). Несколько процессоров могут попытаться считать слово
из памяти в то же время, когда другие процессоры будут пытаться его
записать; сообщения могут доставляться не в том порядке, в котором они
были отправлены. Добавим к этим проблемам существование многочисленных
копий некоторых фрагментов памяти (например, в кэш-памяти), и в
результате мы придем к хаосу, если не принять серьезные контрмеры. В этом
подразделе мы выясним, что в действительности представляет собой общая
память и как при таких обстоятельствах можно разумно использовать модули
памяти.
Мультипроцессоры 643
Семантику памяти можно рассматривать как контракт между программным и
аппаратным обеспечением памяти [4]. Если программное обеспечение
соглашается следовать определенным правилам, то память соглашается
выдавать определенные результаты. Основная проблема здесь - сами правила,
которые называются моделями состоятельности. Было предложено и
разработано множество таких правил.
Чтобы представить себе суть проблемы, предположим, что процессор 0
записывает значение 1 в какое-то слово памяти, а немного позже процессор
1 записывает значение 2 в то же самое слово. Процессор 2 считывает это
слово и получает значение 1. Должен ли владелец компьютера обратиться
после этого в бюро ремонта? Это зависит от того, что обещано в контракте.
Строгая состоятельность
Самая простая модель - модель строгой состоятельности. В такой модели при
любом считывании из адреса х всегда возвращается значение самой последней
записи в х. Программистам очень нравится эта модель, но ее можно
реализовать на практике только следующим образом: должен быть
единственный модуль памяти, просто обслуживающий все запросы по мере их
поступления (первым поступил - первым обработан), кэширование и
дублирование данных не допускаются. К несчастью, этот подход значительно
затормозил бы работу памяти, поэтому вряд ли может рассматриваться в
качестве серьезного предложения.
Секвенциальная состоятельность
Следующей мы рассмотрим модель секвенциальной состоятельности [121]. В
соответствии с этой моделью при наличии нескольких запросов на чтение и
запись порядок обработки запросов определяется аппаратно, но при этом все
процессоры воспринимают один и тот же порядок.
Рассмотрим пример. Предположим, процессор 1 записывает значение 100 в
слово х, а через 1 не процессор 2 записывает туда же значение 200. А
Предыдущая << 1 .. 318 319 320 321 322 323 < 324 > 325 326 327 328 329 330 .. 422 >> Следующая