В какой архитектуре вс каждый процессор имеет собственную оперативную память
В МКМД-системе каждый процессорный элемент (ПЭ) выполняет свою программу достаточно независимо от других ПЭ. В то же время процессорные элементы должны как-то взаимодействовать друг с другом. Различие в способе такого взаимодействия определяет условное деление МКМД-систем на ВС с общей памятью и системы с распределенной памятью (рис. 5.7).
В системах с общей памятью, которые характеризуют как сильно связанные, имеется общая память данных и команд, доступная всем процессорным элементам с помощью общей шины или сети соединений. Такие системы называются мультипроцессорами. К этому типу относятся симметричные мультипроцессоры (UMA (SMP), Symmetric Multiprocessor), системы с неоднородным доступом к памяти (NUMA, Non-Uniform Memory Access) и системы, с так называемой, локальной памятью вместо кэш-памяти (COMA, Cache Only Memory Access).
Если все процессоры имеют равный доступ ко всем модулям памяти и всем устройствам ввода-вывода и каждый процессор взаимозаменяем с другими процессорами, то такая система называется SMP-системой. В системах с общей памятью все процессоры имеют равные возможности по доступу к единому адресному пространству. Единая память может быть построена как одноблочная или по модульному принципу, но обычно практикуется второй вариант.
SMP-системы относятся к архитектуре UMA. Вычислительные системы с общей памятью, где доступ любого процессора к памяти производится единообразно и занимает одинаковое время, называют системами с однородным доступом к памяти UMA (Uniform Memory Access).
С точки зрения уровней используемой памяти в архитектуре UMA рассматривают три варианта построения мультипроцессора:
- классическая (только с общей основной памятью);
- с дополнительным локальным кэшем у каждого процессора;
- с дополнительной локальной буферной памятью у каждого процессора (рис. 5.8).
С точки зрения способа взаимодействия процессоров с общими ресурсами (памятью и СВВ) в общем случае выделяют следующие виды архитектур UMA:
- с общей шиной и временным разделением (7.9);
- с координатным коммутатором;
- на основе многоступенчатых сетей.
Использование только одной шины ограничивает размер мультипроцессора UMA до 16 или 32 процессоров. Чтобы получить больший размер, требуется другой тип коммуникационной сети. Самая простая схема соединения – координатный коммутатор (рис. 5.10). Координатные коммутаторы используются на протяжении многих десятилетий для соединения группы входящих линий с рядом выходящих линий произвольным образом.
Координатный коммутатор представляет собой неблокируемую сеть. Это значит, что процессор всегда будет связан с нужным блоком памяти, даже если какая-то линия или узел уже заняты. Более того, никакого предварительного планирования не требуется.
Координатные коммутаторы вполне применимы для систем средних размеров (рис. 5.11).
На основе коммутаторов 2x2 можно построить многоступенчатые сети. Один из возможных вариантов – сеть omega (рис. 5.12). Для n процессоров и n модулей памяти тредуется log2n ступеней, n/2 коммутаторов на каждую ступень, то есть всего (n/2)log2n коммутаторов на каждую ступень. Это намного лучше, чем n 2 узлов (точек пересечения), особенно для больших n.
Размер мультипроцессоров UMA с одной шиной обычно ограничивается до нескольких десятков процессоров, а для координатных мультипроцессоров или мультипроцессоров с коммутаторами требуется дорогое аппаратное обеспечение, и они ненамного больше по размеру. Чтобы получить более 100 процессоров, необходим иной доступ к памяти.
Для большей масштабируемости мультипроцессоров приспособлена архитектура с неоднородным доступом к памяти NUMA (NonUniform Memory Access). Как и мультипроцессоры UMA, они обеспечивают единое адресное пространство для всех процессоров, но, в отличие от машин UMA, доступ к локальным модулям памяти происходит быстрее, чем к удаленным.
В рамках концепции NUMA реализуется подходы, обозначаемые аббревиатурами NC-NUMA и CC-NUMA.
Если время доступа к удаленной памяти не скрыто (т.к. кэш-память отсутствует), то такая система называется NC-NUMA (No Caching NUMA – NUMA без кэширования) (рис. 5.13).
Если присутствуют согласованные КЭШи, то система называется CC-NUMA (Coherent Cache Non-Uniform Memory Architecture – NUMA с согласованной кэш-памятью) (7.14).
Согласно технологии CC-NUMA, каждый узел в системе владеет собственной основной памятью, но с точки зрения процессоров имеет место глобальная адресуемая память, где каждая ячейка любой локальной основной памяти имеет уникальный системный адрес. Когда процессор инициирует доступ к памяти и нужная ячейка отсутствует в его локальной кэш-памяти, кэш-память второго уровня (L2) процессора организует операцию выборки. Если нужная ячейка находится в локальной основной памяти, выборка производится с использованием локальной шины. Если же требуемая ячейка хранится в удаленной секции глобальной памяти, то автоматически формируется запрос, посылаемый по сети соединений на нужную локальную шину и уже по ней к подключенному к данной локальной шине кэшу. Все эти действия выполняются автоматически, прозрачны для процессора и его кэш-памяти.
Способы обеспечения совместимости кэшей:
1. Отслеживание системной шины (низкая масштабируемость, простота технической реализации).
2. Использование каталога (хранение БД кэш-строк в высокоскоростном специализированном аппаратном обеспечении).
Машины NUMA имеют один большой недостаток: обращения к удаленной памяти происходят гораздо медленнее, чем обращения к локальной памяти. Было предложено использовать основную память процессора как кэш-память – архитектура COMA (Cache Only Memory Access).
Особенности архитектуры COMA:
1. Локальная память каждого процессора рассматривается как кэш для доступа «своего» процессора.
2. Кэши всех процессоров рассматриваются как глобальная память системы, а сама глобальная память отсутствует.
3. Данные не привязаны к конкретному модулю памяти и не имеют уникального адреса, остающегося неизменным в течение всего времени существования переменной.
4. Данные переносятся в кэш-память того процессора, который последним их запросил. Перенос данных из одного локального кэша в другой не требует участия в этом процессе операционной системы, но подразумевает сложную и дорогостоящую аппаратуру управления памятью.
В связи с кризисом классической структуры ЭВМ дальнейшее поступательное развитие вычислительной техники напрямую связано с переходом к параллельным вычислениям, с идеями построения многопроцессорных систем и сетей, объединяющих большое количество отдельных процессоров и (или) ЭВМ. Здесь появляются огромные возможности совершенствования средств вычислительной техники. Но следует отметить, что при несомненных практических достижениях в области параллельных вычислений, до настоящего времени отсутствует их единая теоретическая база.
Термин вычислительная система появился в начале - середине 60-х гг. при появлении ЭВМ III поколения. Это время знаменовалось переходом на новую элементную базу - интегральные схемы. Следствием этого явилось появление новых технических решений: разделение процессов обработки информации и ее ввода-вывода, множественный доступ и коллективное использование вычислительных ресурсов в пространстве и во времени. Появились сложные режимы работы ЭВМ - многопользовательская и многопрограммная обработка.
Под вычислительной системой (ВС) понимают совокупность взаимосвязанных и взаимодействующих процессоров или ЭВМ, периферийного оборудования и программного обеспечения, предназначенную для сбора, хранения, обработки и распределения информации.
Отличительной особенностью ВС по отношению к ЭВМ является наличие в них нескольких вычислителей, реализующих параллельную обработку. Создание ВС преследует следующие основные цели: повышение производительности системы за счет ускорения процессов обработки данных, повышение надежности и достоверности вычислений, предоставление пользователям дополнительных сервисных услуг и т.д.
Параллелизм в вычислениях в значительной степени усложняет управление вычислительным процессом, использование технических и программных ресурсов. Эти функции выполняет операционная система ВС.
Классификация вычислительных систем
Существует большое количество признаков, по которым классифицируют вычислительные системы.
- универсальные
- специализированные.
- многомашинные
- многопроцессорные
- процессоров;
- оперативной памяти;
- каналов связи.
- однородные системы
- неоднородные системы.
- централизованные
- децентрализованные
- со смешанным управлением.
- территориально-сосредоточенные –это когда все компоненты располагаются в непосредственной близости друг от друга;
- распределенные –это когда компоненты могут располагаться на значительном расстоянии, например, вычислительные сети;
- структурно-одноуровневые –это когда имеется лишь один общий уровень обработки данных;
- многоуровневые(иерархические) структуры –это когда в иерархических ВС машины или процессоры распределены по разным уровням обработки информации, некоторые машины (процессоры) могут специализироваться на выполнении определенных функций.
- Первый подход применяется при создании небольших кластерных систем. В кластер объединяются полнофункциональные компьютеры, которые продолжают работать и как самостоятельные единицы, например, компьютеры учебного класса или рабочие станции лаборатории.
- Второй подход применяется в тех случаях, когда целенаправленно создается мощный вычислительный ресурс. Тогда системные блоки компьютеров компактно размещаются в специальных стойках, а для управления системой и для запуска задач выделяется один или несколько полнофункциональных компьютеров, называемых хост-компьютерами. В этом случае нет необходимости снабжать компьютеры вычислительных узлов графическими картами, мониторами, дисковыми накопителями и другим периферийным оборудованием, что значительно удешевляет стоимость системы.
- высокая суммарная производительность;
- высокая надежность работы системы;
- наилучшее соотношение производительность/стоимость;
- возможность динамического перераспределения нагрузок между серверами;
- легкая масштабируемость, то есть наращивание вычислительной мощности путем подключения дополнительных серверов;
- удобство управления и контроля работы системы.
- задержки разработки и принятия общих стандартов;
- большая доля нестандартных и закрытых разработок различных фирм, затрудняющих их совместное использование;
- трудности управления одновременным доступом к файлам;
- сложности с управлением конфигурацией, настройкой, развертыванием, оповещениями серверов о сбоях и т.п.
- память: T2-P: PC1600/PC2100/PC2700/PC3200, до 2Гб, 2 DIMM слота
- память: T2-R: PC1600/PC2100/PC2700, до 2Гб, 2 DIMM слота;
- материнская плата: P4P8T, Intel 865G / ICH 5, 800/533/400МГц FSB
- материнская плата: P4R8T, ATI RS300/IXP200, 800/533/400MГц FSB;
- видео: интегрированная 64Mб
- ATI Radeon 9100, DVI, 64Mб;
- слоты: одинаковы для обеих систем: PCI, AGP 8x;
- сеть: 10/100Mбит/с, Wireless 802.11b WiFi
- сеть: 10/100Мбит/с;
- аудио: 6-канальный AC97 S/PDIF выход кнопки Audio DJ, Audio CD, FM radio studio
- аудио: 6-канальный AC97 S/PDIF выход;
- карты памяти: Compact Flash Type I/II, Microdrive, Memory Stick, Memory Stick Pro, Secure Digital, MultiMedia Card, Smart Media Card
- карты памяти: нет;
- отсеки для приводов: 3.5 FDD, 3.5 HDD, 5.25 ODD
- отсеки для приводов: 3.5 FDD, 3.5 HDD, 5.25 ODD;
- выходы на задней панели: 4xUSB 2.0, PS/2 клавиатура, PS/2 мышь, VGA (D-SUB), Game / MIDI, RJ-45 LAN (10/100 Мбит/с), Line-in/out, выход динамиков, FM антенна, антенна адаптера 802.11b, GIGA LAN, ТВ-тюнер
- выходы на задней панели: 2xUSB 2.0, PS/2 клавиатура, PS/2 мышь, VGA (D-SUB), Game / MIDI, RJ-45 LAN(10/100 Мбит/с), Line-in/out, выход наушников, FM антенна
- Магистральные (конвейерные) МПВС, у которых процессор одновременно выполняет разные операции над последовательным потоком обрабатываемых данных. По принятой классификации такие МПВС относятся к системам с многократным потоком команд и однократным потоком данных (МКОД или MISD — Multiple Instruction Single Data).
- Векторные МПВС, у которых все процессоры одновременно выполняют одну команду над различными данными — однократный поток команд с многократным потоком данных (ОКМД или SIMD — Single Instruction Multiple Data).
- Матричные МПВС, у которых микропроцессор одновременно выполняет разные операции над последовательными потоками обрабатываемых данных —многократный поток команд с многократным потоком данных (МКМД или MIMD — Multiple Instruction Multiple Data).
- структура MIMD в классическом ее варианте;
- параллельно-конвейерная модификация, иначе MMISD, то есть многопроцессорная (Multiple) MISD-архитектура;
- параллельно-векторная модификация, иначе MSIMD, то есть многопроцессорная SIMD-архитектура.
Взаимодействие на уровне оперативной памяти (ОП) сводится к программной реализации общего поля оперативной памяти, что несколько проще, но также требует существенной модификации ОС. Под общим полем имеется в виду равнодоступность модулей памяти: все модули памяти доступны всем процессорам и каналам связи.
На уровне каналов связи взаимодействие организуется наиболее просто и может быть достигнуто внешними по отношению к ОС программами-драйверами, обеспечивающими доступ от каналов связи одной машины к внешним устройствам других (формируется общее поле внешней памяти и общий доступ к устройствам ввода-вывода).
Все вышесказанное иллюстрируется схемой взаимодействия компьютеров в двухмашинной ВС, представленной на рис. 1.
Рис. 1. Схема взаимодействия компьютеров в двухмашинной ВС
Ввиду сложности организации информационного взаимодействия на 1-м и 2-м уровнях в большинстве многомашинных ВС используется 3-й уровень, хотя и динамические характеристики (в первую очередь быстродействие), и показатели надежности таких систем существенно ниже.
Многопроцессорные системы (МПС) содержат несколько процессоров, информационно взаимодействующих между собой либо на уровне регистров процессорной памяти, либо на уровне ОП. Этот тип взаимодействия используется в большинстве случаев, ибо организуется значительно проще и сводится к созданию общего поля оперативной памяти для всех процессоров. Общий доступ к внешней памяти и устройствам ввода-вывода обеспечивается обычно через каналы ОП. Важным является и то, что многопроцессорная вычислительная система работает под управлением единой ОС, общей для всех процессоров. Это существенно улучшает динамические характеристики ВС, но требует наличия специальной, весьма сложной ОС.
Однако МПС имеют и существенные недостатки. Они, в первую очередь, связаны с использованием ресурсов общей оперативной памяти. При большом количестве объединяемых процессоров возможно возникновение конфликтных ситуаций, в которых несколько процессоров обращаются с операциями типа ”чтение” и ”запись” к одним и тем же ячейкам памяти. Помимо процессоров к ОП подключаются все процессоры ввода-вывода, средства измерения времени и т.д. Поэтому вторым серьезным недостатком МПС является проблема коммутации и доступа абонентов к ОП. Процедуры взаимодействия очень сильно усложняют структуру ОС МПС. Опыт построения подобных систем показал, что они эффективны при небольшом числе объединяемых процессоров (от 2 до 10). Схема взаимодействия процессоров в ВС показана на схеме рис. 2. Типичным примером массовых многомашинных ВС могут служить компьютерные сети, примером многопроцессорных ВС — суперкомпьютеры.
Рис. 2. Схема взаимодействия процессоров в ВС
Неоднородная ВС включает в свой состав различные типы компьютеров или процессоров. При построении системы приходится учитывать их различные технические и функциональные характеристики, что существенно усложняет создание и обслуживание неоднородных систем.
В децентрализованных системах функции управления распределены между ее элементами. Каждая ЭВМ (процессор) системы сохраняет известную автономию, а необходимое взаимодействие между элементами устанавливается по специальным наборам сигналов. С развитием ВС и, в частности, сетей ЭВМ, интерес к децентрализованным системам постоянно растет.
В системах со смешанным управлением совмещаются процедуры централизованного и децентрализованного управления. Перераспределение функций осуществляется в ходе вычислительного процесса, исходя из сложившейся ситуации.
По принципу закрепления вычислительных функций за отдельными ЭВМ (процессорами) различают системы с жестким и плавающим закреплением функций. В зависимости от типа ВС следует решать задачи статического или динамического размещения программных модулей и массивов данных, обеспечивая необходимую гибкость системы и надежность ее функционирования.
На рис. 3 представлена принципиальная схема классификации вычислительных систем.
Рис. 3. Принципиальная схема классификации вычислительных систем.
Кластерные суперкомпьютеры и особенности их архитектуры
Существует технология построения больших компьютеров и суперкомпьютеров на базе кластерных решений. По мнению многих специалистов, на смену отдельным, независимым суперкомпьютерам должны прийти группы высокопроизводительных серверов, объединяемых в кластер.
Кластер - это связанный набор полноценных компьютеров, используемый в качестве единого вычислительного ресурса.
Удобство построения кластерных ВС заключается в том, что можно гибко регулировать необходимую производительность системы, подключая к кластеру с помощью специальных аппаратных и программных интерфейсов обычные серийные серверы до тех пор, пока не будет получен суперкомпьютер требуемой мощности. Кластеризация позволяет манипулировать группой серверов как одной системой, упрощая управление и повышая надежность.
Важной особенностью кластеров является обеспечение доступа любого сервера к любому блоку как оперативной, так и дисковой памяти. Эта проблема успешно решается, например, объединением систем SMP-архитектуры на базе автономных серверов для организации общего поля оперативной памяти и использованием дисковых систем RAID для памяти внешней (SMP — Shared Memory multiprocessing, технология мультипроцессирования с разделением памяти).
Для создания кластеров обычно используются либо простые однопроцессорные персональные компьютеры, либо двух- или четырех- процессорные SMP-серверы. При этом не накладывается никаких ограничений на состав и архитектуру узлов. Каждый из узлов может функционировать под управлением своей собственной операционной системы. Чаще всего используются стандартные ОС: Linux, FreeBSD, Solaris, Unix, Windows NT. В тех случаях, когда узлы кластера неоднородны, то говорят о гетерогенных кластерах.
1 пример из «жизни» систем
Blue Gene будет установлен в Ливерморскую национальную лабораторию им. Лоуренса. Основные его задачи - моделирование погодных условий и изучение космического пространства.
Blue Gene будет состоять из 130 тысяч процессоров, и его производительность будет составлять 360 терафлопс.
Чипы IBM используются в системе, неформально называемой Big Mac. PowerPC 970 состоит из 1100 двухпроцессорных компьютеров Apple G5, занимая в общем списке третью строчку, с производительностью в 10,3 триллионов операций в секунду.
Процессоры Opteron используются в 2816-процессорном кластере, и его производительность составляет 8 триллионов операций в секунду.
Интересен факт, что общая производительность 500 лучших систем растет экспоненциально, увеличиваясь в десять раз примерно каждые четыре года. Порог в 1000 терафлопов (триллионов операций в секунду) планируется достигнуть к 2005 году.
Самые прочные позиции в списке у HP или IBM: соотношение числа систем - 165 против 159 в пользу HP
В рамках как совместно используемой, так и распределенной памяти реализуется несколько моделей архитектур системы памяти.
Классификация моделей архитектур памяти вычислительных систем
На этом рисунке приведена классификация таких моделей, применяемых в вычислительных системах класса MIMD (верна и для класса SIMD).
Модели архитектур совместно используемой памяти
В системах с общей памятью все процессоры имеют равные возможности по доступу к единому адресному пространству. Единая память может быть построена как одноблочная или по модульному принципу, но обычно практикуется второй вариант.
Вычислительные системы с общей памятью, где доступ любого процессора к памяти производится единообразно и занимает одинаковое время, называют системами с однородным доступом к памяти и обозначают аббревиатурой UMA (Uniform Memory Access). Это наиболее распространенная архитектура памяти параллельных ВС с общей памятью.
Технически UMА-системы предполагают наличие узла, соединяющего каждый из n процессоров с каждым из m модулей памяти. Простейший путь построения таких ВС - объединение нескольких процессоров (P) с единой памятью (Mp) посредством общей шины - показан на рисунке ниже (а). В этом случае, однако, в каждый момент времени обмен по шине может вести только один из процессоров, то есть процессоры должны соперничать за доступ к шине. Когда процессор Рi, выбирает из памяти команду, остальные процессоры Pj (i не равно j) должны ожидать, пока шина освободится. Если в систему входят только два процессора, они в состоянии работать с производительностью, близкой к максимальной, поскольку их доступ к шине можно чередовать; пока один процессор декодирует и выполняет команду, другой вправе использовать шину для выборки из памяти следующей команды. Однако когда добавляется третий процессор, производительность начинает падать. При наличии на шине десяти процессоров кривая быстродействия шины (рисунок ниже - в) становится горизонтальной, так что добавление 11-го процессора уже не дает повышения производительности. Нижняя кривая на этом рисунке иллюстрирует тот факт, что память и шина обладают фиксированной пропускной способностью, определяемой комбинацией длительности цикла памяти и протоколом шины, и в многопроцессорной системе с общей шиной эта пропускная способность распределена между несколькими процессорами. Если длительность цикла процессора больше по сравнению с циклом памяти, к шине можно подключать много процессоров. Однако фактически процессор обычно намного быстрее памяти, поэтому данная схема широкого применения не находит.
а — объединение процессоров с помощью шины;
б — система с локальными кэшами;
в — производительность системы как функция от числа процессоров на Шине;
г — многопроцессорная ВС с общей памятью, состоящей из отдельных модулей.
Альтернативный способ построения многопроцессорной ВС, с общей памятью на основе UMA показан на рисунке выше (г). Здесь шина заменена коммутатором, маршрутизирующим запросы процессора к одному из нескольких модулей памяти. Несмотря на то что имеется несколько модулей памяти, все они входят в единое виртуальное адресное пространство. Преимущество такого подхода в том, что коммутатор в состоянии параллельно обслуживать несколько запросов. Каждый процессор может быть соединен со своим модулем памяти и иметь доступ к нему на максимально допустимой скорости. Соперничество между процессорами может возникнуть при попытке одновременного доступа к одному и тому же модулю памяти, В этом случае доступ получает только один процессор, а прочие — блокируются.
К сожалению, архитектура UMA не очень хорошо масштабируется. Наиболее распространенные системы содержат 4-8 процессоров, значительно реже 32-64 процессора. Кроме того, подобные системы нельзя отнести к отказоустойчивым, так как отказ одного процессора или модуля памяти влечет отказ всей ВС.
Другим подходом к построению ВС с общей памятью является неоднородный доступ к памяти, обозначаемый как NUMA (Non-Uniform Memory Access). Здесь по-прежнему фигурирует единое адресное пространство, но каждый процессор имеет локальную память. Доступ процессора к собственной Локальной памяти производится напрямую, что намного быстрее, чем доступ к удаленной памяти через коммутатор или сеть. Такая система может быть дополнена глобальной памятью, тогда локальные запоминающие устройства играют роль быстрой кэш-памяти для глобальной памяти. Подобная схема может улучшить производительность ВС, но не в состоянии неограниченно отсрочить выравнивание прямой производительности. При наличии у каждого процессора локальной кэш-памяти (рисунок выше - б) существует высокая вероятность (р > 0,9) того, что нужные команда или данные уже находятся в локальной памяти. Разумная вероятность попадания в локальную память существенно уменьшает число обращений процессора к глобальной памяти и, таким образом, ведет к повышению эффективности. Место излома кривой производительности (верхняя кривая на рисунке выше - в), соответствующее точке, в которой добавление процессоров еще остается эффективным, теперь перемещается в область 20 процессоров, а точка, где кривая становится горизонтальной, в область 30 процессоров.
В рамках концепции NUMA реализуется несколько различных подходов, обозначаемых аббревиатурами СОМА, CC-NUMA и NCC-NUMA.
В архитектуре только с кэш-памятью (СОМА, Cache Only Memory Architecture) локальная память каждого процессора построена как большая кэш-память для быстрого доступа со стороны «своего» процессора. Кэши всех процессоров в совокупности рассматриваются как глобальная память системы. Собственно глобальная память отсутствует. Принципиальная особенность концепции СОМА выражается в динамике. Здесь данные не привязаны статически к определенному модулю памяти и не имеют уникального адреса, остающегося неизменным в течение всего времени существования переменной. В архитектуре СОМА данные переносятся в кэш-память того процессора, который последним их запросил, при этом переменная не фиксирована уникальным адресом и в каждый момент времени может размещаться в любой физической ячейке. Перенос данных из одного локального кэша в другой не требует участия в этом процессе операционной системы, но подразумевает сложную и дорогостоящую аппаратуру управления памятью. Для организации такого режима используют так называемые каталоги кэшей. Отметим также, что последняя копия элемента данных никогда из кэш-памяти не удаляется.
Поскольку в архитектуре СОМА данные перемещаются в локальную кэш-память процессора-владельца, такие ВС в плане производительности обладают существенным преимуществом над другими архитектурами NUMА. С другой стороны, если единственная переменная или две различные переменные, хранящиеся в одной строке одного и того же кэша, требуются двум процессорам, эта строка кэша должна перемещаться между процессорами туда и обратно при каждом доступе к данным. Такие эффекты могут зависеть от деталей распределения памяти и приводить к непредсказуемым ситуациям.
Отличие модели с кэш-некогерентным доступом к неоднородной памяти (NCC-NUMA, Non-Cache Coherent Non-Uniform Memory Architecture) от CC-NUMA очевидно из названия. Архитектура памяти предполагает единое адресное пространство, но не обеспечивает согласованности глобальных данных на аппаратном уровне. Управление использованием таких данных полностью возлагается на программное обеспечение (приложения или компиляторы). Несмотря на это обстоятельство, представляющееся недостатком архитектуры, она оказывается весьма полезной при повышении производительности вычислительных систем с архитектурой памяти типа DSM, рассматриваемой в разделе «Модели архитектур распределенной памяти».
В целом, ВС с общей памятью, построенные по схеме NUMA, называют архитектурами с виртуалъной общей памятью (virtual shared memory architectures). Данный вид архитектуры, в частности CC-NUMA, в последнее время рассматривается как самостоятельный и довольно перспективный вид вычислительных систем класса MIMD, поэтому такие ВС ниже будут обсуждены более подробно.
Модели архитектур распределенной памяти:
Подобная организация характеризуется рядом достоинств. Во-первых, при доступе к данным не возникает конкуренции за шину или коммутаторы — каждый процессор может полностью использовать полосу пропускания тракта связи с собственной локальной памятью. Во-вторых, отсутствие общей шины означает, что нет и связанных с этим ограничений на число процессоров: размер системы ограничивает только сеть, объединяющая процессоры. В-третьих, снимается проблема когерентности кэш-памяти. Каждый процессор вправе самостоятельно менять свои данные, не заботясь о согласовании копий данных в собственной локальной кэш-памяти с кэшами других процессоров.
Вычислительная система с распределенной памятью:
а - процессорный элемент;
б - объединение процессорных элементов
[2] К.Вильсон, в сб. "Высокоскоростные вычисления". М. Радио и Связь, 1988, сс.12-48.
[3]. Б.А.Головкин, "Параллельные вычислительные системы". М.. Наука, 1980, 519 с.
[4] Р.Хокни, К.Джессхоуп, "Параллельные ЭВМ . М.. Радио и Связь, 1986, 390 с.
[6] Russel К.М., Commun. АСМ, 1978, v. 21, № 1, рр. 63-72.
[7] Т.Мотоока, С.Томита, Х.Танака, Т. Сайто, Т.Уэхара, "Компьютеры на СБИС", m.l. М. Мир, 1988, 388 с.
[8] М.Кузьминский, Процессор РА-8000. Открытые системы, № 5, 1995.
[9] Открытые системы сегодня, № 11, 1995.
[10] ComputerWorld Россия, №№ 4, 6, 1995.
[11] ComputerWorld Россия, № 8, 1995.
[12] Открытые системы сегодня, № 9, 1995.
[13] ComputerWorld Россия, № 2, 1995.
[14] ComputerWorld Россия, № 12, 1995.
[15] В. Шнитман, Системы Exemplar SPP1200. Открытые системы, № 6, 1995.
[16] М. Борисов, UNIX-кластеры. Открытые системы, № 2, 1995, c.22-28.
[17] В. Шмидт, Системы IBM SP2. Открытые системы, № 6, 1995.
[18] Н. Дубова, Суперкомпьютеры nCube. Открытые системы, № 2, 1995, сс.42-47.
[19] Д. Французов, Тест оценки производительности суперкомпьютеров. Открытые системы, № 6, 1995.
[20] Д. Волков, Как оценить рабочую станцию. Открытые системы, № 2, 1994, c.44-48.
[21] А. Волков, Тесты ТРС. СУБД, № 2, 1995, сс. 70-78.
1. АРХИТЕКТУРЫ МНОГОПРОЦЕССОРНЫХ СИСТЕМ
Основной характеристикой при классификации многопроцессорных вычислительных систем является способ организации оперативной памяти. В случае наличия общей памяти с равноправным доступом к ней от всех процессоров говорят о симметричных мультипроцессорных системах (SMP), а при использовании распределенной памяти, когда каждый процессор снабжается собственной локальной памятью, и прямой доступ к памяти других процессоров невозможен, речь идет о системах с массовым параллелизмом (MPP). Нечто среднее между SMP и MPP представляют собой NUMA-архитектуры (Non Uniform Memory Access), в которых память физически распределена, но логически общедоступна. При этом время доступа к различным блокам памяти становится неодинаковым. В одной из первых систем этого типа Cray T3D время доступа к памяти другого процессора было в 6 раз больше, чем к своей собственной.
В настоящее время развитие высокопроизводительных вычислительных систем идет по четырем основным направлениям: векторно-конвейерные суперкомпьютеры, SMP системы, MPP системы и кластерные системы. Рассмотрим основные особенности перечисленных архитектур.
1.1. Векторно-конвейерные суперкомпьютеры
Характерной особенностью векторно-конвейерных компьютеров является, во-первых, конвейерная организация обработки потока команд, а, во-вторых, набор векторных операций в системе команд, которые оперируют целыми массивами данных [2]. Исторически это были первые компьютеры, к которым в полной мере было применимо понятие суперкомпьютер. Однако в настоящее время их доля в суперкомпьютерном парке неуклонно снижается ввиду их чрезвычайной дороговизны и невысокой степени масштабируемости. Как правило, несколько таких процессоров (2-16) работают в режиме с общей памятью (SMP), образуя вычислительный узел, а несколько таких узлов объединяются с помощью коммутатора аналогично MPP-системам. Типичными представителями такой архитектуры являются компьютеры CRAY J90/T90, CRAY SV1, NEC SX-4/SX-5.
1.2. Симметричные мультипроцессорные системы SMP
Современные системы SMP архитектуры состоят, как правило, из нескольких однородных микропроцессоров и массива общей памяти (Рис. 1). Все процессоры имеют равноправный доступ к любой точке общей памяти.
Рис. 1. Архитектура симметричных мультипроцессорных систем.
Наличие общей памяти значительно упрощает взаимодействие процессоров между собой, однако, за этой кажущейся простотой скрываются большие проблемы, присущие системам этого типа. Помимо хорошо известной проблемы конфликтов при обращении к общей шине памяти возникла и новая проблема, связанная с иерархической структурой организации памяти современных компьютеров. Дело в том, что самым узким местом в современных компьютерах является оперативная память, скорость работы которой значительно отстала от скорости работы процессора. В настоящее время эта скорость примерно в 20 раз ниже требуемой для 100% согласованности со скоростью работы процессора, и разрыв все время увеличивается. Для того, чтобы сгладить разрыв в скорости работы процессора и основной памяти, каждый процессор снабжается скоростной буферной памятью (кэш-памятью), работающей со скоростью процессора. В связи с этим, в многопроцессорных системах, построенных на базе таких микропроцессоров, нарушается принцип равноправного доступа к любой точке памяти. Для его сохранения приходится организовывать аппаратную поддержку когерентности кэш-памяти, что приводит к большим накладным расходам и сильно ограничивает возможности по наращиванию производительности таких систем путем простого увеличения числа процессоров.
В чистом виде SMP системы состоят, как правило, не более чем из 32 процессоров, а для дальнейшего наращивания используется NUMA-технология, которая в настоящее время позволяет создавать системы, включающие до 256 процессоров с общей производительностью порядка 150 млрд. операций в секунду. Системы этого типа производятся многими компьютерными фирмами как многопроцессорные серверы с числом процессоров от 2 до 64 и прочно удерживают лидерство в классе малых суперкомпьютеров с производительностью до 60 млрд. операций в секунду.
1.3. Системы с массовым параллелизмом (МРР)
Компьютеры этого типа представляют собой многопроцессорные системы с распределенной памятью, в которых с помощью некоторой коммуникационной среды объединяются однородные вычислительные узлы (Рис. 2).
Рис. 2. Архитектура систем с распределенной памятью.
[*] Tflops - единица измерения производительности вычислительных систем. Характеризует количество операций с плавающей точкой, выполняемых за 1 секунду. (1 Tflops = 1 триллион операций/сек)
.4. Кластерные системы
Кластер - это связанный набор полноценных компьютеров, используемый в качестве единого ресурса. Существует два подхода при создании кластерных систем:
· в единую систему объединяются полнофункциональные компьютеры, которые могут работать, в том числе, и как самостоятельные единицы, например, компьютеры учебного класса или рабочие станции лаборатории;
· целенаправленно создается мощный вычислительный ресурс, в котором роль вычислительных узлов играют промышленно выпускаемые компьютеры, и тогда нет необходимости снабжать такие компьютеры графическими картами, мониторами, дисковыми накопителями и другим периферийным оборудованием, что значительно удешевляет стоимость системы.
В последнем случае системные блоки компьютеров, как правило, компактно размещаются в специальных стойках, а для управления системой и для запуска задач выделяется один или несколько полнофункциональных компьютеров, которые называют хост-компьютерами. Преимущества кластерной системы перед набором независимых компьютеров очевидны. Во-первых, система пакетной обработки заданий позволяет послать задание на обработку кластеру в целом, а не какому-нибудь отдельному компьютеру, что позволяет обеспечить более равномерную загрузку компьютеров. Во-вторых, появляется возможность совместного использования вычислительных ресурсов нескольких компьютеров для решения одной задачи.
Для создания кластера используются компьютеры, которые могут представлять собой как простые однопроцессорные системы, так и обладать сложной архитектурой SMP и даже NUMA.
Ряд фирм предлагают специализированные кластерные решения на основе более скоростных сетей, таких как SCI фирмы Scali Computer (~80 Mbyte/sec) и Mirynet (~40 Mbyte/sec). Активно включились в поддержку кластерных технологий и фирмы-производители высокопроизводительных рабочих станций (SUN, Compaq, Silicon Graphics).
1.Смирнов А.Д. Архитектура вычислительных систем: Учеб. пособие для вузов. М.: Наука. Гл. ред. физ.мат. лит., 1990. 320 с.
В процессе развития суперкомпьютерных технологий идею повышения производительности вычислительной системы за счет увеличения числа процессоров использовали неоднократно. Если не вдаваться в исторический экскурс и обсуждение всех таких попыток, то можно следующим образом вкратце описать развитие событий.
Экспериментальные разработки по созданию многопроцессорных вычислительных систем начались в 70-х годах 20 века. Одной из первых таких систем стала разработанная в Иллинойском университете МВС ILLIAC IV, которая включала 64 (в проекте до 256) процессорных элемента (ПЭ), работающих по единой программе, применяемой к содержимому собственной оперативной памяти каждого ПЭ. Обмен данными между процессорами осуществлялся через специальную матрицу коммуникационных каналов. Указанная особенность коммуникационной системы дала название "матричные суперкомпьютеры" соответствующему классу многопроцессорных вычислительных систем (МВС). Отметим, что более широкий класс МВС с распределенной памятью и с произвольной коммуникационной системой получил впоследствии название "многопроцессорные системы с массовым параллелизмом", или МВС с MPP-архитектурой (MPP - Massively Parallel Processing). При этом, как правило, каждый из ПЭ MPP системы является универсальным процессором, действующим по своей собственной программе (в отличие от общей программы для всех ПЭ матричной МВС).
Первые матричные МВС выпускались буквально поштучно, поэтому их стоимость была фантастически высокой. Серийные же образцы подобных систем, такие как ICL DAP, включавшие до 8192 ПЭ, появились значительно позже, однако не получили широкого распространения ввиду сложности программирования МВС с одним потоком управления (с одной программой, общей для всех ПЭ).
Первые промышленные образцы мультипроцессорных систем появились на базе векторно-конвейерных компьютеров в середине 80-х годов. Наиболее распространенными МВС такого типа были суперкомпьютеры фирмы Cray. Однако такие системы были чрезвычайно дорогими и производились небольшими сериями. Как правило, в подобных компьютерах объединялось от 2 до 16 процессоров, которые имели равноправный (симметричный) доступ к общей оперативной памяти. В связи с этим они получили название симметричные мультипроцессорные системы (Symmetric Multi-Processing - SMP).
Нечто среднее между SMP и MPP представляют собой NUMA-архитектуры (Non Uniform Memory Access), в которых память физически разделена, но логически общедоступна. При этом время доступа к различным блокам памяти становится неодинаковым. В одной из первых систем этого типа Cray T3D время доступа к памяти другого процессора было в 6 раз больше, чем к своей собственной.
В настоящее время развитие суперкомпьютерных технологий идет по четырем основным направлениям: векторно-конвейерные суперкомпьютеры, SMP системы, MPP системы и кластерные системы. Рассмотрим основные особенности перечисленных архитектур.
д. комплекс технических средств, предназначенных для выполнения расчетов.
2. Какое устройство необходимо подключить для ускорения выполнения операций?
а. устройство управления;
б. арифметико-логическое устройство;
в. математический сопроцессор;
г. микропроцессорную память;
д. порт ввода/вывода.
3. Какие формы представления двоичных чисел применяют в ЭВМ?
а. в виде двоичного кода;
б. в виде восьмеричного кода;
в. в виде восьмеричного слова и двоичного полуслова;
г. с фиксированной и плавающей точкой;
д. в виде плавающих последовательностей бит.
4. Внутримашинный интерфейс - это .
а. система связи и сопряжения узлов и блоков ЭВМ;
б. совокупность программных средств;
в. совокупность аппаратных средств;
г. различные средства сопряжения;
д. аппаратура для подключения различных устройств.
5. К какой шине возможно подключение максимального количества устройств?
Д. PCI.
6. Регистровая кэш-память предназначена для .
а. хранения программ;
б. увеличения скорости выполнения операций;
в. запуска программ;
г. хранения BIOS;
д. хранения адресов.
а. 64-килобайтное поле памяти;
б. 6-килобайтное поле памяти;
в. 32-килобайтное поле памяти;
8. Какие адреса относятся к расширенной памяти?
в. 1024 К и выше;
д. 1088 К и выше.
9. Что является носителем информации?
а. запоминающее устройство;
г. материальный объект, способный хранить информацию;
д. проводники в шине.
10. К каким компьютерным устройствам относятся принтеры?
б. вывода;
в. запоминающим устройствам;
г. устройствам управления;
11. Какой тип принтеров имеет наибольшее быстродействие?
Д. лазерные.
12. Какое качество печати принтера обозначается Draft?
а. режим печати, близкий к типографскому;
б. режим с типографским качеством печати;
в. режим черновой печати;
г. сверхкачественный режим;
д. графический режим печати.
13. Чему равно десятичное число 10 в шестнадцатеричной системе счисления?
Г. А.
14. Какую закономерность отмечает закон Мура?
а. Рост стоимости процессоров каждые 3 года;
б. Уменьшение технологического процесса в два раза каждые 2 года;
в. Увеличение быстродействия процессоров и емкости жестких дисков каждые 2 года;
г. Рост количества инвестиций, вложенных в отрасль, каждые 2 года.
15. Каково назначение интерфейса?
а. Ликвидация помех при передаче данных;
б. Преобразование данных в шине управления;
в. Выбор принтера;
Г. Сопряжение объектов с различными характеристиками.
16. Как расшифровывается аббревиатура CPU:
а. Constant Parity UPS;
б. Central Processing Unit
в. Complex Port Up
Г. Computer Pentium Unix.
17. Сколько классов архитектур вычислительных систем (ВС) выделяют по классификации Флинна:
в. 4;
18. К какому классу ВС можно отнести структуры векторной или матричной обработки?
б. SIMD (ОКМД);
19. К какому классу ВС можно отнести ЭВМ классической (фон-неймановской) структуры?
а. SISD (ОКОД);
20. В какой архитектуре ВС имеет неоднородную оперативную память?
а. Симметричная мультипроцессорная архитектура (SMP);
б. Асимметричная мультипроцессорная архитектура (АSMP);
в. Массивно-параллельная мультипроцессорная архитектура (MPP);
г. Гибридная мультипроцессорная архитектура (NUMA);
д. Кластерная мультипроцессорная архитектура.
21. В какой архитектуре ВС состоит из 2-х или более узлов, соединённых интерфейсами?
а. Симметричная мультипроцессорная архитектура (SMP);
б. Асимметричная мультипроцессорная архитектура (АSMP);
в. Гибридная мультипроцессорная архитектура (NUMA);
Г. Кластерная мультипроцессорная архитектура.
22. Микропроцессоры типа RISC обладают:
а. Полным набором команд
б. Набором сверхдлинных команд;
В. Сокращенным набором команд
г. Минимальным набором команд.
23. Микропроцессоры типа VLIW обладают:
а. Полным набором команд
б. Набором сверхдлинных команд;
в. Сокращенным набором команд
г. Минимальным набором команд.
24. Регистры – это:
а. Физические каналы передачи сигналов
б. Быстродействующие ячейки памяти различной длины
в. Схемы сопряжения, позволяющие подключить к микропроцессору КЭШ-память
г. Ячейки оперативной памяти фиксированной длины.
25. Какую длину имеет слово в структуре памяти ЭВМ?
б. 2 байта;
26. Что используется для хранения целых чисел и символов?
б. Слово;
в. Двойное слово;
г. Регистр флагов.
27. Какие регистры не могут быть операндами?
а. Сегментные регистры;
б. Счётчик команд;
в. Регистры общего назначения;
г. Регистр флагов.
28. Адресное пространство микропроцессора определяется:
а. Разрядностью шины данных;
б. Произведением тактовой частоты на разрядность шины адреса;
в. Разрядностью шины адреса;
г. Совокупной разрядностью всех шин микропроцессора.
29. Преобразование данных из параллельного вида в последовательный и наоборот выполняет устройство:
а. UART;
30. Технология постоянной угловой скорости обозначается:
а. CLV;
31. Передача какого типа применяется для пересылки скан-кода в ПК?
а. Синхронная последовательная;
б. Старт-стопная;
32. Наличие встроенной КЭШ-памяти позволяет:
а. сглаживать различия в скорости работы более медленных устройств (память) с более быстрыми (микропроцессор);
б. определять оптимальную последовательность действий процессора;
в. генерировать последовательность управляющих импульсов.
33. Дешифратор служит для:
а. определения кода операции текущей команды;
б. вычисления и хранения адреса команды;
в. пересылки результата в оперативную память;
г. записи и временного хранения адресов, операндов, команд и пр.
34. Дополнительный код отрицательного числа представляет собой:
а. результат суммирования обратного кода числа с единицей младшего разряда;
б. результат вычитания из обратного кода числа единицы в младшем разряде;
в. результат инвертирования обратного кода числа;
г. результат преобразования обратного кода числа в его знаковом разряде
35. Общий вид числа в форме с плавающей запятой:
б. N=±МР ±r
36. Что собой представляет «адресная пара»?
в. Сегмент-смещение;
37. Что является недостатком динамической памяти?
а. Малое время хранения заряда конденсатора;
б. Большое время хранения заряда конденсатора;
в. Отсутствие регенерации ячеек памяти;
г. Высокая стоимость ячейки памяти.
38. Из чего состоит ячейка статической памяти?
а. 1 транзистора;
б. 1 конденсатора;
в. 1 транзистора и 1 конденсатора;
Г. 4-6 транзисторов.
39. Какое количество информации хранится в одной ячейке памяти динамического типа?
а. 1 бит;
40. Каким сигналом синхронизируется адрес столбца?
а. CAS;
41. Как называется запоминающий элемент, на котором строится статическая память?
б. Триггер;
42. Как расшифровывается аббревиатура DRAM?
а. Динамическая память с активным доступом;
б. Динамическая память с последовательным доступом;
в. Динамическая память с произвольным доступом;
г. Динамическая память со сквозным доступом;
43. Сигналы запросов на прерывания выполняются:
а. по шине данных;
б. по шине управления;
в. по шине адреса;
г. по всем шинам одновременно.
44. Чему равно десятичное число 16 в шестнадцатеричной системе счисления?
а. 10;
45. Обратный код числа получают:
а. Устанавливают единицу в знаковом разряде числа, а значащие разряды числа заменяют на инверсные;
б. Устанавливают нуль в знаковом разряде числа, а значащие разряды числа заменяют на инверсные;
в. Устанавливают единицу в знаковом разряде числа, а к значащим разрядам числа прибавляют единицу;
г. Устанавливают нуль в знаковом разряде числа, а к значащим разрядам числа прибавляют единицу.
46. Что лежит в основе классификации вычислительных систем (ВС) по М.Флинну?
а. Понятие команды;
б. Понятие данных;
в. Понятие потоков;
г. Понятие класса.
47. К какому классу относятся ВС конвейерного типа?
в. MISD (МКОД);
48. К какому классу относятся ВС, используемые в крупных вычислительных центрах?
Г. MIMD (МКМД).
49. В какой архитектуре ВС группа процессоров работает с общей оперативной памятью?
а. Симметричная мультипроцессорная архитектура (SMP);
б. Асимметричная мультипроцессорная архитектура (АSMP);
в. Массивно-параллельная мультипроцессорная архитектура (MPP);
г. Гибридная мультипроцессорная архитектура (NUMA);
д. Кластерная мультипроцессорная архитектура.
50. В какой архитектуре ВС каждый процессор имеет собственную оперативную память?
а. Симметричная мультипроцессорная архитектура (SMP);
б. Асимметричная мультипроцессорная архитектура (АSMP);
в. Массивно-параллельная мультипроцессорная архитектура (MPP);
Суперкомпьютеры и особенности их архитектуры
К суперкомпьютерам относятся мощные многопроцессорные вычислительные машины с быстродействием сотни миллионов — десятки миллиардов операций в секунду. Создать такие высокопроизводительные компьютеры на одном микропроцессоре (МП) не представляется возможным ввиду ограничения, обусловленного конечным значением скорости распространения электромагнитных волн (300 000 км/с), т.к. время распространения сигнала на расстояние несколько миллиметров (линейный размер стороны МП) при быстродействии 100 млрд операций/с становится соизмеримым со временем выполнения одной операции. Поэтому суперкомпьютеры создаются в виде высокопараллельных многопроцессорных вычислительных систем (МПВС).
Рис. 3. Условные структуры однопроцессорной (SISD) и названных многопроцессорных ВС
Читайте также: