Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Архитектура вычислительных систем(шпоры и лекции).doc
Скачиваний:
275
Добавлен:
10.05.2014
Размер:
534.02 Кб
Скачать

51. Многопроцессорные вычислительные системы.

Многопроцессорные вычислительные системы (МПВС) представляют собой высокопроизводительные компьютеры, содержащие 2 или большее число процессоров и отличающиеся большим структурным многообразием.

В МПВС каждый процессорный элемент (ПЭ) выполняет свою программу достаточно независимо от других ПЭ.

В отличие от векторных ЭВМ, где для создания эффективных программ их приходится векторизовать, в МПВС производится распараллеливание программ для одновременного выполнения отдельных программ, их фрагментов или команд на нескольких процессорах. Из-за распараллеливания приходится учитывать взаимодействие и синхронизацию процессов, выполняемых на разных ПЭ.

Существуют две основные модели межпроцессорного взаимодействия: одна основана на использовании общей памяти для всех процессоров компьютера, другая – на использовании взаимодействия процессоров, обладающих локальной памятью.

В зависимости от используемых способов взаимодействия процессоров, МПВС разделяют на два больших класса: сильносвязанные и слабосвязанные системы.

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

52. SMP-системы.

Так как практика показала возможность эффективного распа­раллеливания значительного числа алгоритмов, системы с разде­ляемой памятью получили большое распространение. МПВС, ис­пользующие однотипные процессоры в модели с разделяемой па­мятью, получили название однородных симметричных равноправ­ных систем SMP (Symmetric Multiprocessing). Конфликты, возникновение которых возможно при запросах к общей памяти, тем большее число процессоров может соперничать при использовании одних и тех же данных. Поэтому в МПВС этого класса кол-во процессоров не превышает 8-16.

Одним из важных свойств многопроцессорных систем является способность к расширению, определяемая как масштабируемость системы. Масштабирование означает возможность повышения производительности системы за счет добавления новых устройств.

SMP-системы обладают ограниченными возможностями в расши­рении.

Ограничение в расширении, характерное для SMP-систем, ока­залось возможным преодолеть в слабосвязанных системах, исполь­зующих для взаимодействия процессоров передачи сообщений кластеризации SMP-систем (SMP-узлов) и/или организации массо­во-параллельной обработки ММР (Massively Parallel Processing).

В МПВС широко используется такой структурный объект, как вычислительный узел или просто узел.

SMP-узел - это однородная симметричная структура, объеди­няющая процессоры, модули памяти и, возможно, подсистемы вво­да-вывода, а в некоторых реализациях и накопители на жестких дисках.

Получили распространение две общие реализации SMP-систем, известных как сильносвязанные и слабосвязанные. Сильносвязан­ная реализация основана на схеме, согласно которой процессоры узла используют данные из пула общих регистров и прежде всего из общей памяти. Слабосвязанные системы используют механизм обмена сообщениями между процессорами, когда в этом возникает необходимость.

Наибольшее распространение получили симметричные много­процессорные системы, использующие сильносвязанную модель. И поэтому SMP-системы обычно отождествляются с сильносвязан­ными системами.

Симметричная мультипроцессорная обработка представляет та­кое взаимодействие узлов, при котором несколько процессоров разделяют доступ к единой общей памяти и работают под управле­нием одной копии операционной системы (ОС). Задания могут соответствующим образом планироваться для выполнения на раз­ных процессорах в пределах пула имеющихся ресурсов, допуская параллельное исполнение нескольких процессов.

Хотя все процессоры в SMP-системах функционируют идентич­но и любая задача может выполняться на любом процессоре, выде­ляются два типа процессоров в системе: загрузочный процессор (BSP) и прикладные процессоры (АР). Какой из процессоров дол­жен быть наделен функцией загрузочного, определяется аппарат­ными средствами или совместно с ними BIOS.

Симметричность в системе имеет два важных аспекта: симмет­ричность памяти и симметричность ввода-вывода (в/в). Память симметрична, если все процессоры, совместно использующие об­щее пространство памяти, имеют доступ в этом пространстве с одними и теми же адресами. Симметричность памяти предполага­ет, что все процессоры могут использовать единственную копию ОС.

Требования симметричности в/в выполняется, если все процес­соры имеют возможность доступа к одним и тем же подсистемам в/в, включая порты и контроллеры прерываний. При этом любой процессор может получить прерывание от любого источника. Не­которые процессоры в системе могут иметь симметричный доступ к памяти, в то же время являясь асимметричными к прерываниям от устройств в/в. Симметричность в/в позволяет сократить потенциально уз­кие места, определяемые в/в, и тем самым повысить расширяе­мость - масштабируемость системы.

В традиционных SMP-архитектурах связь между процессорами и общей памятью осуществляется с помощью общей шины (сис­темной шины) памяти, разделяемой различными процессорами

Узким местом в SMP-системах остается пропускная способ­ность "процессор-память", которая ограничивается временем дос­тупа к ОП и пропускной способностью системной шины. Кроме того, системная шина может быть захвачена передачами данных за счет работы модулей в/в. Поэтому в SMP- системах стремятся уменьшить саму потребность в пропускной способности в тракте "процессор-память". С этой целью микропроцессоры на SMP-серверах снабжаются кэш-памятью достаточно большого размера - до нескольких Мбайтов. Поскольку микропро­цессоры одновременно работают с данными, хранящимися в общей памяти узла, в SMP-системах становится обязательным реализация механизма поддержки когерентности данных. Когерентность дан­ных, как уже было отмечено, означает, что в любой момент для каждого элемента данных во всей памяти узла должно существо­вать только одно его значение, несмотря на то, что одновременно могут существовать несколько копий этого элемента данных, расположенных в разных устройствах памяти, в частности ОП и кэш процессоров, и обрабатываемые разными процессорами. Механизм обеспечения когерентности должен следить за тем, чтобы операции с одним и тем же элементом данных выполнялись на разных про­цессорах последовательно, удаляя устаревшие копии

В современных SMP-системах когерентность поддерживается аппаратно-реализованным механизмом, получившим название про­токола слежения (shooping), который использует шину слежения. Каждый микропроцессор имеет свой собственный локальный кэш где хранит небольшую часть копий данных ОП, доступ к которым наиболее вероятен