Файл: Многопроцессорная симметричная обработка в операционной системе.docx

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 08.11.2023

Просмотров: 27

Скачиваний: 2

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

ПРАКТИЧЕСКАЯ РАБОТА № 4

Тема: Многопроцессорная симметричная обработка в операционной системе

Сегодня многопоточное и параллельное программирование применяется не только для научных вычислений, но и в повседневных областях человеческой деятельности. Это обуславливается массовым переходом производителей микропроцессоров на многоядерные архитектуры.

Симметричная мультипроцессорная система (SMP, Symmetric Multiprocessor) — это вычислительная система, обладающая следующими характеристиками:

- имеется два или более процессоров сопоставимой производительности;

- процессоры совместно используют основную память и работают в едином

виртуальном и физическом адресном пространстве;

- все процессоры связаны между собой посредством шины или по иной схеме, так

что время доступа к памяти для любого из них одинаково;

- все процессоры разделяют доступ к устройствам ввода/вывода либо через одни и те же каналы, либо через разные каналы, обеспечивающие доступ к одному и тому же внешнему устройству;

- все процессоры способны выполнять одинаковые функции;

- любой из процессоров может обслуживать внешние прерывания;

- вычислительная система управляется интегрированной операционной системой, которая организует и координирует взаимодействие между процессорами и программами на уровне заданий, задач, файлов и элементов данных.

В отличие от слабо связанных мультипроцессорных систем (кластеров), где в качестве физической единицы обмена информацией выступает сообщение или полный файл, в SMP допустимо взаимодействие на уровне отдельного элемента данных. Благодаря этому достигается высокий уровень связности между процессами. Хотя технически SМР-системы симметричны, в их работе присутствует небольшой фактор перекоса, который вносит программное обеспечение. На время загрузки системы один из процессоров получает статус ведущего (master). Это не означает, что позже во время работы какие-то процессоры будут ведомыми, — все они в SMP-системе равноправны. Термин «ведущий» относится к тому процессору, который по умолчанию будет руководить первоначальной загрузкой вычислительной системы. Операционная система планирует процессы или нити процессов (threads) сразу по всем процессорам, скрывая при этом от пользователя многопроцессорный характер SMPархитектуры.


По сравнению с однопроцессорными схемами SMP-системы имеют преимущество по следующим показателям:

- производительность

- готовность

- расширяемость

- масштабируемость

Необходимо отметить, что перечисленное — это только потенциальные преимущества, реализация которых невозможна, если в операционной системе отсутствуют средства; для поддержки параллелизма.

Производительность.

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

Готовность.

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

Расширяемость.

Производительность системы может быть увеличена добавлением дополнительных процессоров.

Масштабируемость.

Варьируя число процессоров в системе, можно создать системы различной производительности и стоимости.

Архитектура SMP-системы



Рис.1. Организация симметричной мультипроцессорной системы

Типовая SMP-система содержит от двух до 32 идентичных процессоров.

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



Рис.2. SMP-система с совместно используемой кэш-памятью

Все процессоры ВС имеют равноправный доступ к разделяемым основной памяти и устройствам ввода/вывода. Такая возможность обеспечивается коммуникационной системой.



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

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

Виды архитектуры SMP-систем:

- с общей шиной и временным разделением;

- с коммутатором типа «кроссбар»;

- с многопортовой памятью;

- с централизованным устройством управления.

Архитектура с общей шиной



Рис.3. Структура SMP-системы с общей шиной

Основной недостаток шинной организации - невысокая производительность:

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

Архитектура с коммутатором типа «кроссбар»

Коммутатор обеспечивает множественность путей между процессорами и банками памяти, причем топология связей может быть как двумерной, так и трехмерной. Результатом становится более высокая полоса пропускания, что позволяет строить SMP-системы, содержащие больше процессоров, чем в случае общей шины. Типичное число процессоров в SMP-системах на базе матричного коммутатора составляет 32 или 64. Отметим, что выигрыш в производительности достигается, лишь, когда разные процессоры обращаются к разным банкам памяти. По логике кроссбара строится и взаимодействие процессоров с устройствами ввода/вывода.



Рис.4. Структура SMP-системы с коммутатором типа «кроссбар»

Архитектура с многопортовой памятью Многопортовая организация запоминающего устройства обеспечивает любому процессору и модулю ввода/вывода прямой и непосредственный доступ к банкам основной памяти (ОП). Такой подход сложнее, чем при использовании шины, поскольку требует придания ЗУ основной памяти дополнительной, достаточно сложной логики. Тем не менее, это позволяет поднять производительность, так как каждый процессор имеет выделенный тракт к каждому модулю ОПРЕДЕЛЯЕТСЯ.


Другое преимущество многопортовой организации — возможность назначить отдельные модули памяти в качестве локальной памяти отдельного процессора. Эта особенность позволяет улучшить защиту данных от несанкционированного доступа со стороны других процессоров.