Читайте также:
|
|
Параллельные системы разделяются на два класса: системы SIMD (Single Instruction stream Multiple Data stream - один поток команд, несколько потоков данных) содержат один управляющий процессор, выдающий по одной команде, но при этом есть несколько арифметико-логический устройств, которые могут одновременно обрабатывать несколько наборов данных, и системы MIMD (Multiple Instruction stream Multiple Data stream - несколько потоков команд, несколько потоков данных), в которых независимые процессоры работают как части большой системы.
Параллельные системы класса SIMD подразделяются на векторные системы, обрабатывающие наборы данных - векторы и строки матриц, и матричные системы, способные выполнять операции над элементами матриц размерностью N x N, где N - число арифметико-логических устройств в каждой строке матрицы. И в настоящее время векторные и матричные системы широко применяются для решения научных задач - математического моделирования самых разных физических систем. Принципы построения этих систем подробно описаны, и мы сосредоточим снимание на параллельных системах класса MIMD.
Параллельные системы класса MIMD распадаются на мультипроцессоры (с памятью совместного использования) и мультикомпьютеры (системы с передачей сообщений).
Существует три типа мультипроцессоров. Они отличаются по способу реализации памяти совместного использования: системы UMA (Uniform Memory Access - архитектура с однородным доступом к памяти), NUMA (Non Uniform Memory Access – архитектура с неоднородным доступом к памяти) и COMA (Cache Only Memory Access - архитектура с доступом только к кэш-памяти). В машинах UMA каждый процессор имеет одно и тоже время доступа к любому модулю памяти. Иными словами, каждое слово памяти можно считать с той же скоростью, что и любое другое слово памяти. Если это технически невозможно, самые быстрые обращения замедляются, чтобы соответствовать самым медленным, поэтому программисты не увидят никакой разницы. Такая однородность делает производительность предсказуемой, а этот фактор очень важен для написания эффективных программ. Мультипроцессоры NUMA не обладают этим свойством. Обычно есть такой модуль памяти, который расположен близко к каждому процессору, и доступ к этому модулю памяти происходит гораздо быстрее, чем к другим. С точки зрения производительности очень важно, куда помещаются программа и данные. Машины COMA тоже с неоднородным доступом, но по другой причине. Подробнее каждый из этих трех типов мы рассмотрим позднее, когда будем изучать соответствующие категории.
Во вторую подкатегорию MIMD попадают мультикомпьютеры, которые в отличие от мультипроцессоров не имеют памяти совместного использования на архитектурном уровне. Другими словами, операционная система в процессоре мультикомпьютера не может получить доступ к памяти, относящейся к другому процессору, просто путем выполнения команды LOAD. Ему приходиться отправлять сообщение и ждать ответа. Именно способность операционной системы считывать слово из отдаленного модуля памяти с помощью команды LOAD отличает мультипроцессоры от мультикомпьютеров. Как мы уже говорили, даже в мультикомпьютере пользовательские программы могут обращаться к другим модулям памяти с помощью команд LOAD и STORE, но эту иллюзию создает операционная система, а не аппаратное обеспечение. Разница незначительна, но очень важна. Так как мультикомпьютеры не имеют прямого доступа к отдаленным модулям памяти, они иногда называются машинами NORMA (NO Remote Memory Access - без доступа к отдаленным модулям памяти).
Мультикомпьютеры можно разделить на две категории. Первая категория содержит процессоры MPP (Massive Parallel Processors - процессоры с массовым параллелизмом) – дорогостоящие суперкомпьютеры, которые состоят из большого количества процессоров, связанных высокоскоростной коммуникационной сетью. В качестве примеров можно назвать Cray T3E и IBM SP/2. Вторая категория мультикомпьютеров включает рабочие станции, которые связываются с помощью уже имеющейся технологии соединения. Эти примитивные машины называются NOW (Network Of Workstations - сеть рабочих станций) и COW (Cluster Of Workstation - кластер рабочих станций).
Самый нижний уровень подкатегорий, представленный на рис.1.11, будет рассмотрен в последующих разделах.
Дата добавления: 2015-07-20; просмотров: 67 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Отслеживание состояний кэш-памяти | | | Алфавитный указатель |