ПОД конспект (1184369), страница 9
Текст из файла (страница 9)
Любой процессор системы получает данноепопроизвольному адресу памяти за одинаковое время, такая структура памяти называется: UMA - UniformMemory Access (Architecture). Пример:НР-9000. Дальнейшее масштабирование (увеличение числапроцессоров системы) SMP систем обеспечивается переходом к архитектуре памяти: NUMA - Nоn UniformMemory Access. По схеме, называемой, этой иногда, кластеризацией SMP, соответствующие блоки памятидвух (или более) серверов соединяются кольцевой связью, обычно по GCI интерфейсу. При запроседанного, расположенного вне локального с сервере диапазона адресов, это данное по кольцевой связипереписывается дублируется в соответствующий блок локальной памяти, ту часть его, которая специальноотводится для буферизации глобальных данных и из этого буфера поставляется потребителю.
Этабуферизация прозрачна (невидима) пользователю, для которого вся память кластера имеет сквознуюнумерацию, и время выборки данных, не локальных в сервере, будет равно времени выборки локальныхданных при повторных обращениях к глобальному данному, когда оно уже переписано в буфер. Данныйаппарат буферизации есть типичная схема кэш памяти. Так как к данным возможно обращение из любогопроцессора кластера, то буферизация, размножение данных требует обеспечение их когерентности.Когерентность данных состоит в том, что при изменении данного все его потребители должны получать этозначение. Проблема когерентности усложняется дублированием данных еще и в процессорных кэшахсистемы. Системы, в которых обеспечена когерентность данных, буферизуемых в кэшах, называются кэшкогерентными (cc-cache coherent), а архитектура памяти описываемого кластера: cc- NUMA (cache coherentNоn Uniform Memory Access).
Классической архитектурой принято считать систему SPP1000.Другой источник:Архитектура Система состоит из нескольких однородных процессоров и массива общей памяти (обычно изнескольких независимых блоков). Все процессоры имеют доступ к любой точке памяти с одинаковойскоростью. Процессоры подключены к памяти либо с помощью общей шины (базовые 2-4 процессорныеSMP-сервера), либо с помощью crossbar-коммутатора (HP 9000). Аппаратно поддерживается когерентностькэшей.Примеры HP 9000 V-class, N-class; SMP-cервера и рабочие станции на базе процессоров Intel (IBM, HP,Compaq, Dell, ALR, Unisys, DG, Fujitsu и др.).Масштабируемость Наличие общей памяти сильно упрощает взаимодействие процессоров между собой,однако накладывает сильные ограничения на их число - не более 32 в реальных системах.
Для построениямасштабируемых систем на базе SMP используются кластерные или NUMA-архитектуры.Операционная система Вся система работает под управлением единой ОС (обычно UNIX-подобной, но дляIntel-платформ поддерживается Windows NT). ОС автоматически (в процессе работы) распределяетпроцессы/нити по процессорам (scheduling), но иногда возможна и явная привязка.Модель программирования Программирование в модели общей памяти. (POSIX threads, OpenMP).
ДляSMP-систем существуют сравнительно эффективные средства автоматического распараллеливания.29. Матричные мультипроцессорные системы.Архитектура Система состоит из однородных вычислительных узлов (объединенных в матрицы илигиперкубы), включающих: один или несколько центральных процессоров (обычно RISC), локальную память (прямой доступ к памяти других узлов невозможен), коммуникационный процессор или сетевой адаптер иногда - жесткие диски (как в SP) и/или другие устройства В/ВК системе могут быть добавлены специальные узлы ввода-вывода и управляющие узлы.
Узлы связаны черезнекоторую коммуникационную среду (высокоскоростная сеть, коммутатор и т.п.)ПримерыIBM RS/6000 SP2, Intel PARAGON/ASCI Red, CRAY T3E, Hitachi SR8000, транспьютерныесистемы Parsytec.МасштабируемостьОбщее число процессоров в реальных системах достигает нескольких тысяч (ASCIRed, Blue Mountain).Операционная система Существуют два основных варианта: Полноценная ОС работает только на управляющей машине (front-end), на каждом узле работаетсильно урезанный вариант ОС, обеспечивающие только работу расположенной в нем ветвипараллельного приложения. Пример: Cray T3E. На каждом узле работает полноценная UNIX-подобная ОС (вариант, близкий к кластерному подходу,однако скорость выше, чем в кластере).
Пример: IBM RS/6000 SP + ОС AIX, устанавливаемаяотдельно на каждом узле.20Модель программирования Программирование в рамках модели передачи сообщений (MPI, PVM, BSPlib)30. Классификации вычислителей по Флинну.Исходная схема: АЛУ + УУ <кд.....кд......кд> ОЗУДанная классификация иллюстрируется схемами повышения производительности классическогопроцессора путем увеличения количества функциональных устройств.Увеличив число АЛУ, получим схему:АЛУ + УУ <кд.....кд......кд> ОЗУАЛУ<д.....д......д> ОЗУПо такой схеме создавалась система Эллиак 4 (отечественный аналог - ПС-2000), суперскалярныемикропроцессоры.Увеличив число УУ , то получим следующую схему:АЛУ + УУ <кд.....кд......кд> ОЗУУУ<к.....к......к> ОЗУНекоторые исследователи отказывают данной схеме в праве на существование, другие, в качестве примераданной схемы приводят конвейерные АЛУ.
(Например, сложение вещественных чисел можно реализоватьпоследовательностью команд: выровнять мантиссы, сложить мантиссы, провести нормализациюрезультата.)Наконец, можно просто умножать исходную схему:АЛУ + УУ <кд.....кд......кд> ОЗУАЛУ + УУ <кд.....кд......кд> ОЗУПо такой схеме реализуются все современные суперЭВМКроме функционального различия, схемы отличаются характером нагрузки на ОЗУ- плотностью потоковкоманд и данных. По Флинну эта особенность и является главной чертой и она характеризует архитектурыЭВМ по структуре используемых потоков (Stream) команд (Instruction) и данных (Data), каждый из которыхможет быть одиночным и множественным. Множественный поток определяется как возможностьодновременной обработки сразу нескольких элементов соответствующего потока. Комбинация признаковдает четыре вида архитектур.ОКОД одиночный поток команд, одиночный поток данных,ОКМД одиночный поток команд, множественный поток данных,МКОД множественный поток команд, одиночный поток данных,МКМД множественный поток команд, множественный поток данных31.
Масштабируемость мультипроцессорных вычислителей.См. Вопросы 28-30. Если память не общая, то масштабируемость очень высокая. Для MPP- общее число процессоров вреальных системах достигает нескольких тысяч (ASCI Red, Blue Mountain). Для кластеров и темболее гетерогенных вычислительных систем и тем более для GRID-систем масштабируемость оченьвысокая. Для систем с общем памятью все сложнее: если UMA, то масштабируемость низкая (не более 32процессоров), если же сделать NUMA, то масштабируемость также становится высокой, однакониже, чем в системах с локальной памятью, так как сложность организации когерентности (ccNUMA) данных возрастает.32.
Управление памятью в мультипроцессорных системах.UMA, NUMA, cc-NUMA. Подробнее см. Вопрос 28.33. Когерентность данных.Когерентность данных состоит в том, что при изменении данного все его потребители должны получать этозначение. Проблема когерентности усложняется дублированием данных еще и в процессорных кэшахсистемы. Системы, в которых обеспечена когерентность данных, буферизуемых в кэшах, называются кэшкогерентными (cc-cache coherent), а архитектура памяти описываемого кластера: cc- NUMA (cache coherentNоn Uniform Memory Access). Классической архитектурой принято считать систему SPP1000. Подробнеесм.
Вопрос 28Другой источник:Для обеспечения целостности данных, имеющих несколько копий в разных процессорах и в памятях разныхуровней иерархии, разрабатываются спецификации протоколов когерентности.Существуют несколько классов таких протоколов:1.
Протоколы на основе справочника (directory based). Информация о состоянии блока физической памятисодержится только в одном месте, называемом справочником (физически справочник может бытьраспределѐн по узлам системы).212. Протоколы наблюдения (snooping). Каждый кэш, который содержит копию данных некоторой частифизической памяти, имеет также соответствующую копию служебной информации (биты состояния).Контроллеры кэш-памятей обмениваются между собой служебной информацией о состоянии блока данных.Задачей протокола когерентности кэш-памяти является координация доступа к разделяемым блокам памяти.Кэш-памяти процессоров обмениваются информацией для того, чтобы определить какой процессор внастоящий момент является собственником данных.
Одним из наиболее полных протоколов являетсяпротокол MOESI (Modified, Owned, Exclusive, Shared, Invalid), в котором доступ процессора к блоку данныхопределяется состоянием этого блока и типом запроса. Работа данного протокола описывается поведениемконечного автомата с 5 состояниями. На верхнем уровне абстракции проверка правильности работысводится к моделированию поведения автомата и контролю корректности его состояний и не представляетсущественной сложности.
Однако, детализация работы протокола в реальном устройстве приводит кзначительным усложнениям полученной картины. Так, даже для простейшего протокола типа MSI(однопроцессорная система) имеем 11 состояний (8 из которых переходных), 13 возможных событий и 21действие.34. Типы внутренних связей.Сети обмена делятся на три типа: шины, статические сети, динамические сети.Быстродействие сети обмена определяется быстродействием узлов и связей между ними, параметрыпоследних определяются: пропускной способностью непрерывного потока данных и максимальнымколичеством самых маленьких пакетов, которые можно передать за единицу времени (время передачипакета нулевой длины, задержка).
Некоторые сетевые интерфейсы:ТехнологияMbyte/sЗадержка (мкс)Fast Ethernet12.5156Gigabit Ethernet12533Myrinet2456SCI4001.5ШиныСистема связи ПЭ через коммутирующую общую шину отличаются от других схем простотой, однако еепроизводительность ограничивается необходимостью обеспечивать в любой момент времени не болееодного запроса на передачу информации. Общая шина с центральным коммутатором обеспечиваетарбитраж запросов процессоров на передачу информации - выделение одного из запросов на доступ кшине и обеспечение монопольного права на владения шиной на все время требуемого обмена. Шины пропускная способность 100 Мбайт/с для 2 -20 ПЭ (Multimax).