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

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

Во вторую основную категорию 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).

Семантика памяти

Хотя во всех мультипроцессорах процессорам предоставляется образ общего единого адресного пространства, часто наряду с ним имеется множество модулей памяти, в каждом из которых хранится какой-то фрагмент физической памяти. Процессоры и модули памяти соединяются сложной коммуникационной сетью (мы поговорим об этом в подразделе «Коммуникационные сети» раздела «Мультикомпьютеры»). Несколько процессоров могут попытаться считать слово из памяти в то же время, когда другие процессоры будут пытаться его записать; сообщения могут доставляться не в том порядке, в котором они были отправлены. Добавим к этим проблемам существование многочисленных копий некоторых фрагментов памяти (например, в кэш-памяти), и в результате мы придем к хаосу, если не принять серьезные контрмеры. В этом подразделе мы выясним, что в действительности представляет собой общая память и как при таких обстоятельствах можно разумно использовать модули памяти.


⇐ Предыдущая страница| |Следующая страница ⇒