Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Многопроцессорные системы с общей памятью или




ЛЕКЦИЯ 12.

Symmetric Multiprocessing (SMP)

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

 

Наличие общей памяти вызывает как положительные, так и отрицательные последствия:

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

• Поскольку при выполнении команд каждым процессором необходимо обращаться в разделяемую память, то требования к пропускной способности

коммутатора этой памяти чрезвычайно высоки, что и ограничивает число про-

цессоров в системах с общей памятью величиной 10...20. Для устранения этого

существенного недостатка используются развитые системы кэширования, то

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

ния промежуточных результатов.

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

 

Управление доступом к памяти. Пусть два процесса (процессора) L1 и L2

выполняют операцию прибавления 1 в ячейку Х, причем, во времени эти опе-

рации выполняются независимо:

L1 =….X: = X + 1;……..

L2 =….X: = X + 1;……..

Такие вычисления могут соответствовать, например, работе сети по прода

же билетов, когда два терминала сообщают в центральный процессор о прода-

же одного билета каждый. На центральном процессоре выполнение каждой

операции заключается в следующем: чтение сожержимого Х в регистр R1, при-

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

центральном процессоре операции по тактам расположились следующим обра-

зом и начальное значение Х = 0

 

В результате неудачного размещения в такте 2 из ячейки Х читается значение 0 до того, как процесс L1 записал туда единицу. Это приводит к тому, что в такте 4 в ячейку Х будет вместо двух записана единица. Чтобы избежать таких ситуаций, нужно запрещать всем процессам использовать общий ресурс (ячейка Х), пока текущий процесс не закончит его использование. Это называется синхронизацией. Такая ситуация показана в строке L2*.

Семафоры. Чтобы исключить упомянутую выше ситуацию, необходимо

ввести систему синхронизации параллельных процессов.

Выход заключается в разрешении входить в критическую секцию (КС)

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

ей понимается участок процесса, в котором процесс нуждается в ресурсе. Ре-

шение проблемы критической секции было предложено в виде семафоров. Се-

мафором называется переменная S, связанная, например, с некоторым ресурсом

и принимающая два состояния: 0 (запрещено обращение) и 1 (разрешено обра-

щение). Над S определены две операции: V и P. Операция V изменяет значение

S семафора на значение S + 1. Действие операции P таково:

• Если S ≠ 0, то P уменьшает значение на единицу;

• Если S = 0, то P не изменяет значения S и не завершается до тех пор, пока некоторый другой процесс не изменит значение S с помощью операции V;

• Операции V и P считаются неделимыми, т. е. не могут исполняться одно

временно.

Приведем пример синхронизации двух процессов, в котором рrocess 1 и process 2 могут выполняться параллельно. Процесс может захватить ресурс только тогда, когда S:=1. После захвата процесс закрывает семафор операции P(S) и открывает его вновь после прохождения критической секции V(S).




Поделиться с друзьями:


Дата добавления: 2014-01-04; Просмотров: 1198; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.009 сек.