Попов И.И., Матвеев А.А., Максимов Н.В. Архитектура электронно-вычислительных машин и систем (2004) (1186255), страница 25
Текст из файла (страница 25)
По этимсоображениям в данный класс попадают как классическиепоследовательные машины (IBM 701, PDP-11, VAX 11/780), так иконвейерные скалярные (CDC 7600) и векторно-конвейерные (CRAY-1).Если в машине I осуществлять выборку не по словам, асодержимого одного разряда из всех слов, то получим машину II. Словав памяти данных по-прежнему располагаются горизонтально, но доступк ним осуществляется иначе. Если в машине I происходитпоследовательная обработка слов при параллельной обработке разрядов,то в машине II - последовательная обработка битовых слоев припараллельной обработке множества слов.Структура машины II лежит в основе ассоциативных компьютеров(например, центральный процессор машины STARAN), причемфактически такие компьютеры имеют не одно арифметико-логическоеустройство, а множество сравнительно простых устройств поразряднойобработки.
Другим примером служит матричная система ICL DAP,которая может одновременно обрабатывать по одному разряду из 4096слов.а)б)Рис. 11. Машины типов III (а) и IV (б) по классификации ШораЕсли объединить принципы построения машин I и II, то получиммашину III. Эта машина имеет два арифметико-логических устройства горизонтальное и вертикальное, и модифицированную память данных,которая обеспечивает доступ как к словам, так и к битовым слоям.Впервые идею построения таких систем в 1960 году выдвинул У.Шуман,называвший их ортогональными (если память представлять как матрицу145слов, то доступ к данным осуществляется в направлении,"ортогональном" традиционному - не по словам (строкам), а по битовымслоям (столбцам)).
В принципе, как машину STARAN, так и ICL DAPможно запрограммировать на выполнение функций машины III, нопоскольку они не имеют отдельных АЛУ для обработки слов и битовыхслоев, отнести их к данному классу нельзя. Полноправнымипредставителями машин класса III являются вычислительные системысемейства OMEN-60 фирмы Sanders Associates, построенные в прямомсоответствии с концепцией ортогональной машины.Если в машине I увеличить число пар арифметико-логическоеустройство <==> память данных (иногда эту пару называютпроцессорным элементом) то получим машину IV. Единственноеустройство управления выдает команду за командой сразу всемпроцессорным элементам. С одной стороны, отсутствие соединениймежду процессорными элементами делает дальнейшее наращивание ихчисла относительно простым, но с другой, сильно ограничиваетприменимость машин этого класса.
Такую структуру имеетвычислительная система PEPE, объединяющая 288 процессорныхэлементов.а).б).Рис. 12. Машины типов V (а) и VI (б) по классификации ШораЕсли ввести непосредственные линейные связи между соседнимипроцессорными элементами машины IV, например в виде матричнойконфигурации, то получим схему машины V. Любой процессорныйэлемент теперь может обращаться к данным как в своей памяти, так и впамяти непосредственных соседей. Подобная структура характерна,например, для классического матричного компьютера ILLIAC IV.Заметим, что все машины с I-ой по V-ю придерживаютсяконцепции разделения памяти данных и арифметико-логическихустройств, предполагая наличие шины данных или какого-либокоммутирующего элемента между ними.
Машина VI, названнаяматрицей с функциональной памятью (или памятью с встроеннойлогикой), представляет собой другой подход, предусматривающий146распределение логики процессора по всему запоминающему устройству.Примерами могут служить как простые ассоциативные запоминающиеустройства, так и сложные ассоциативные процессоры.SMP архитектураSMP архитектура (symmetric multiprocessing) - cимметричнаямногопроцессорная архитектура. Главной особенностью систем сархитектурой SMP является наличие общей физической памяти,разделяемой всеми процессорами.Схематический вид SMP-архитектуры.Память является способом передачи сообщений междупроцессорами, при этом все вычислительные устройства при обращениик ней имеют равные права и одну и ту же адресацию для всех ячеекпамяти.
Поэтому SMP архитектура называется симметричной.Последнее обстоятельство позволяет очень эффективно обмениватьсяданными с другими вычислительными устройствами. SMP-системастроится на основе высокоскоростной системной шины (SGI PowerPath,Sun Gigaplane, DEC TurboLaser), к слотам которой подключаютсяфункциональные блоки трех типов: процессоры (ЦП), операционнаясистема (ОП) и подсистема ввода/вывода (I/O). Для подсоединения кмодулям I/O используются уже более медленные шины (PCI, VME64).Наиболее известными SMP-системами являются SMP-cервера и рабочиестанции на базе процессоров Intel (IBM, HP, Compaq, Dell, ALR, Unisys,DG, Fujitsu и др.) Вся система работает под управлением единой ОС(обычно UNIX-подобной, но для Intel-платформ поддерживаетсяWindows NT).
ОС автоматически (в процессе работы) распределяетпроцессы по процессорам, но иногда возможна и явная привязка.Основные преимущества SMP-систем:• простота и универсальность для программирования. АрхитектураSMP не накладывает ограничений на модель программирования,используемую при создании приложения: обычно используетсямодель параллельных ветвей, когда все процессоры работаютабсолютно независимо друг от друга - однако, можно реализовать имодели, использующие межпроцессорный обмен. Использованиеобщей памяти увеличивает скорость такого обмена, пользовательтакже имеет доступ сразу ко всему объему памяти. Для SMP-систем147существуют сравнительно эффективные средства автоматическогораспараллеливания.• легкость в эксплуатации. Как правило, SMP-системы используютсистему охлаждения, основанную на воздушном кондиционировании,что облегчает их техническое обслуживание.• относительно невысокая цена.Недостатки:• системы с общей памятью, построенные на системной шине, плохомасштабируемыЭтот важный недостаток SMP-системы не позволяет считать ихпо-настоящему перспективными.
Причины плохой масштабируемостисостоят в том, что в данный момент шина способна обрабатывать толькоодну транзакцию, вследствие чего возникают проблемы разрешенияконфликтов при одновременном обращении нескольких процессоров кодним и тем же областям общей физической памяти. Вычислительныеэлементы начинают друг другу мешать. Когда произойдет такойконфликт, зависит от скорости связи и от количества вычислительныхэлементов. В настоящее время конфликты могут происходить приналичии 8-24-х процессоров.
Кроме того, системная шина имеетограниченную (хоть и высокую) пропускную способность (ПС) иограниченное число слотов. Все это с очевидностью препятствуетувеличению производительности при увеличении числа процессоров ичисла подключаемых пользователей. В реальных системах можноиспользоватьнеболее32процессоров.Дляпостроениямасштабируемых систем на базе SMP используются кластерные илиNUMA-архитектуры. При работе с SMP системами используют такназываемую парадигму программирования с разделяемой памятью(shared memory paradigm).MPP архитектураMPP архитектура (massive parallel processing) - массивнопараллельная архитектура. Главная особенность такой архитектурысостоит в том, что память физически разделена. В этом случае системастроится из отдельных модулей, содержащих процессор, локальныйбанк операционной памяти (ОП), два коммуникационных процессора(рутера) или сетевой адаптер, иногда - жесткие диски и/или другиеустройства ввода/вывода.
Один рутер используется для передачикоманд, другой - для передачи данных. По сути, такие модулипредставляют собой полнофункциональные компьютеры (см. рис.).Доступ к банку ОП из данного модуля имеют только процессоры (ЦП)из этого же модуля. Модули соединяются специальнымикоммуникационными каналами. Пользователь может определить148логический номер процессора, к которому он подключен, и организоватьобмен сообщениями с другими процессорами. Используются дваварианта работы операционной системы (ОС) на машинах MPPархитектуры. В одном полноценная операционная система (ОС)работает только на управляющей машине (front-end), на каждомотдельном модуле работает сильно урезанный вариант ОС,обеспечивающий работу только расположенной в нем ветвипараллельного приложения.
Во втором варианте на каждом модулеработает полноценная UNIX-подобная ОС, устанавливаемая отдельно накаждом модуле.Схематический вид архитектуры с раздельной памятьюГлавное преимущество:Главным преимуществом систем с раздельной памятью являетсяхорошая масштабируемость: в отличие от SMP-систем в машинах сраздельной памятью каждый процессор имеет доступ только к своейлокальной памяти, в связи с чем не возникает необходимости впотактовой синхронизации процессоров.
Практически все рекорды попроизводительности на сегодняшний день устанавливаются на машинахименно такой архитектуры, состоящих из нескольких тысяч процессоров(ASCI Red, ASCI Blue Pacific).Недостатки:• отсутствиеобщейпамятизаметноснижаетскоростьмежпроцессорного обмена, поскольку нет общей среды для храненияданных, предназначенных для обмена между процессорами.Требуется специальная техника программирования для реализацииобмена сообщениями между процессорами.• каждый процессор может использовать только ограниченный объемлокального банка памяти.Вследствие указанных архитектурных недостатков требуютсязначительные усилия для того, чтобы максимально использоватьсистемные ресурсы. Именно этим определяется высокая ценапрограммного обеспечения для массивно-параллельных систем сраздельной памятью.149Системами с раздельной памятью являются суперкомпьютерыМВС-1000, IBM RS/6000 SP, SGI/CRAY T3E, системы ASCI, HitachiSR8000, системы Parsytec.Машины последней серии CRAY T3E от SGI, основанные на базепроцессоров Dec Alpha 21164 с пиковой производительностью 1200Мфлопс/с (CRAY T3E-1200), способны масштабироваться до 2048процессоров.При работе с MPP системами используют так называемую MassivePassing Programming Paradigm - парадигму программирования спередачей данных (MPI, PVM, BSPlib)Гибридная архитектура (NUMA) Организация когерентностимногоуровневой иерархической памятиГибридная архитектура NUMA (nonuniform memory access).Главная особенность такой архитектуры - неоднородный доступ кпамяти.Гибридная архитектура воплощает в себе удобства систем с общейпамятью и относительную дешевизну систем с раздельной памятью.Суть этой архитектуры - в особой организации памяти, а именно: памятьявляется физически распределенной по различным частям системы, нологически разделяемой, так что пользователь видит единое адресноепространство.
Система состоит из однородных базовых модулей (плат),состоящих из небольшого числа процессоров и блока памяти. Модулиобъединеныспомощьювысокоскоростногокоммутатора.Поддерживаетсяединоеадресноепространство,аппаратноподдерживается доступ к удаленной памяти, т.е. к памяти другихмодулей. При этом доступ к локальной памяти осуществляется внесколько раз быстрее, чем к удаленной. По существу архитектураNUMAявляетсяMPP(массивно-параллельнаяархитектура)архитектурой, где в качестве отдельных вычислительных элементовберутся SMP (cимметричная многопроцессорная архитектура) узлы.Структурная схема компьютера с гибридной сетью: четырепроцессора связываются между собой при помощи кроссбара в рамкаходного SMP узла. Узлы связаны сетью типа "бабочка" (Butterfly):150Впервые идею гибридной архитектуры предложил Стив Воллох ивоплотил в системах серии Exemplar.
Вариант Воллоха - система,состоящая из 8-ми SMP узлов. Фирма HP купила идею и реализовала насуперкомпьютерах серии SPP. Идею подхватил Сеймур Крей (SeymourR.Cray) и добавил новый элемент - когерентный кэш, создав такназываемую архитектуру cc-NUMA (Cache Coherent Non-UniformMemory Access), которая расшифровывается как "неоднородный доступк памяти с обеспечением когерентности кэшей".