Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

лекции СПО

.pdf
Скачиваний:
30
Добавлен:
03.06.2015
Размер:
2.4 Mб
Скачать

принять следующую ком нду, си н лом прерыв ния ли о центр льный процессор узн ет о этом, периодически опр шив я состояние контроллер .

М ксим льный эффект ускорения дости ется при н и олее полном

перекрытии вычислений и ввод -вывод . Р ссмотрим случ й, ко д процессор выполняет только одну з д чу. В этой ситу ции степень ускорения з висит от

природы д нной з д чи и от то о, н сколько тщ тельно ыл выявлен

возможный п р ллелизм при ее про р ммиров нии. В з д ч х, в которых прео л д ют ли о вычисления, ли о ввод-вывод, ускорение почти отсутствует.

П р ллелизм в р мк х одной з д чи невозможен т кже, ко д для продолжения

вычислений нео ходимо полное з вершение опер ции ввод -вывод , н пример,

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

Если же в системе выполняются одновременно несколько з д ч,

появляется возможность совмещения вычислений одной з д чи с вводом-

выводом дру ой. Пок

одн з д ч ожид ет к ко о-ли о со ытия (з метим, что

т ким со ытием в

мультипро р ммной системе может ыть не только

з вершение ввод -вывод , но и, н пример, н ступление определенно о момент

времени, р з локиров ние ф йл

или з рузк

с диск

недост ющей стр ницы

про р ммы), процессор не

прост ив ет,

к к

это происходит при

последов тельном выполнении про р мм, выполняет дру ую з д чу.

О щее время выполнения смеси з д ч ч сто ок зыв ется меньше, чем их сумм рное время последов тельно о выполнения (рис. 4.2, ). Одн ко

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

Действительно, при совместном использов нии процессор

в системе мо ут

возник ть ситу ции, ко д з д ч отов выполняться, но

процессор з нят

выполнением дру ой з д чи. В т ких случ ях з д ч , з вершивш я ввод-вывод,

отов выполняться, но вынужден жд ть осво ождения процессор , и это

удлиняет срок ее выполнения. Т к, из рис. 4.2 видно, что в однопро р ммном режиме з д ч А выполняется з 6 единиц времени, в мультипро р ммном —

з 7. З д ч В т кже вместо 5 единиц времени выполняется з 6. Но з то время

выполнения о еих з д ч в мультипро р ммном режиме сост вляет все о 8

единиц, что н 3 единицы меньше, чем при последов тельном выполнении.

В систем х п кетной о р отки переключение процессор

с выполнения

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

з д чи, н пример, ко д он отк зыв ется от процессор из-з

нео ходимости

выполнить опер цию

ввод -вывод . Поэтому существует высок я вероятность

то о, что одн з д

ч может н дол о з нять процессор и выполнение

интер ктивных з д ч ст нет невозможным. Вз имодействие пользов теля с

вычислительной м шиной,

н

которой уст новлен

систем

п кетной

о р отки, сводится к тому,

что он приносит з д ние, отд ет е о диспетчеру-

опер тору, в конце дня после выполнения все о п кет

з д ний получ ет

результ т. Очевидно, что

т кой

порядок

повыш ет эффективность

функциониров ния

пп р туры,

но

сниж ет

эффективность

р оты

пользов теля.

 

 

 

 

 

 

 

Рис. 4.2. Время выполнения двух з д ч: в однопро р ммной системе ( ), в

мультипро р ммной системе ( )

5.1.2 Мультипрограммирование в системах разделения времени

Повышение удо ств и эффективности р

оты пользов теля является

целью дру о о спосо

мультипро р ммиров ния — р зделения времени. В

систем х р зделения

времени

пользов телям

(или одному пользов телю)

предост вляется возможность

интер ктивной р

оты ср зу с несколькими

приложениями. Для это о к ждое приложение должно ре улярно получ ть возможность «о щения» с пользов телем. Понятно, что в п кетных систем х

возможности ди

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

В систем

х р зделения времени эт про лем реш ется з счет то о, что

ОС принудительно периодически приост н влив ет приложения, не дожид ясь,

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

з пустившие про р ммы н выполнение, получ ют возможность поддержив ть с ними ди ло .

Системы р зделения времени призв ны испр вить основной недост ток

систем

п кетной

о р

отки

— изоляцию

пользов теля-про р ммист от

процесс

выполнения

е о

з д ч. К ждому

пользов телю

в этом

случ е

предост вляется

термин л,

с

которо о он

может вести

ди ло со

своей

про р ммой. Т к к к в систем х р зделения времени к ждой з д че выделяется

только кв нт процессорно о времени, ни одн з д ч не з ним ет процессор н дол о и время ответ ок зыв ется приемлемым. Если кв нт вы р н дост точно не ольшим, то у всех пользов телей, одновременно р от ющих н

одной и той же м шине, скл дыв ется впеч тление, что к ждый из них единолично использует м шину.

Ясно, что системы р зделения времени о л д ют меньшей пропускной

спосо ностью, чем системы п кетной о р отки, т к к к

н

выполнение

приним ется к жд я з пущенн я пользов телем з д ч ,

не

т , котор я

«вы одн » системе. Кроме то о, производительность системы сниж ется из-з

возросших н кл дных р сходов вычислительной мощности н олее ч стое

переключение процессор с з д чи н з д чу. Это вполне соответствует тому,

что критерием эффективности систем

р зделения времени является не

м ксим льн я пропускн я спосо ность,

удо ство и эффективность р оты

пользов теля. Вместе с тем мультипро р ммное выполнение интер ктивных приложений повыш ет и пропускную спосо ность компьютер (пусть и не в

т кой степени, к к п кетные

системы). Апп р тур з руж ется лучше,

поскольку в то время, пок

одно приложение ждет соо щения пользов теля,

дру ие приложения мо ут о

р

тыв ться процессором.

5.1.3 Мультипрограммирование в системах реального времени

Еще одн р зновидность мультипро р ммиров ния используется в

систем х ре льно о времени, предн зн ченных для упр вления от компьютер р зличными техническими о ъект ми (н пример, ст нком, спутником, н учной

эксперимент льной уст новкой и т. д.) или техноло ическими

процесс ми

(н пример, льв нической линией, доменным процессом и т. п.).

Во всех этих

случ ях существует предельно допустимое время, в течение которо о должн

ыть выполнен

т

или ин я упр вляющ я о ъектом про р мм . В противном

случ е

может

произойти

в рия: спутник выйдет из

зоны

видимости,

эксперимент льные

д нные,

поступ ющие с д тчиков,

удут

потеряны,

толщин

льв ническо о покрытия не удет соответствов ть норме. Т ким

о р зом, критерием эффективности здесь является спосо ность выдержив ть

з р нее

з д нные

интерв лы

времени

между

з пуском

про р ммы

и

получением

результ т

(упр вляюще о воздействия).

Это время н зыв ется

временем

ре кции

системы,

 

 

соответствующее

свойство

системы

ре ктивностью. Тре ов ния

ко

времени

ре кции

з висят

от

специфики

упр вляемо о процесс . Контроллер ро от

может тре ов ть от встроенно о

компьютер

ответ в течение менее 1 мс, в то время к к при моделиров нии

полет

может

ыть приемлем ответ в 40 мс.

 

 

 

 

 

 

 

 

 

 

 

В систем х ре льно о времени мультипро р ммн я смесь предст вляет

со ой

фиксиров нный

н

ор

з р нее р зр

от нных

про р мм,

вы ор

про р ммы

н

выполнение

осуществляется

по

прерыв ниям

(исходя

из

текуще о состояния о ъект )

или

в соответствии

с

р спис нием

пл новых

р

от.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Спосо ность

пп р туры компьютер

и ОС к

ыстрому ответу з висит в

основном от скорости переключения с одной з д чи н

дру ую и, в ч стности,

от

скорости

 

о р

отки

си н лов

прерыв ния.

Если

при

возникновении

прерыв ния процессор должен опросить сотни потенци льных источников

прерыв ния,

то ре кция системы

удет слишком медленной. Время о р

отки

прерыв ния

в систем х ре льно о времени ч сто определяет

тре ов ния к

кл ссу процессор д же при не ольшой е о з рузке.

 

 

 

В систем х ре льно о времени не стремятся м ксим льно з

руж ть все

устройств ,

н о орот, при

проектиров нии про р ммно о

упр вляюще о

комплекс

о ычно з кл дыв ется

некоторый

«з п с» вычислительной

мощности н

случ й пиковой н

рузки. Ст тистические р ументы о низкой

вероятности

возникновения

пиковой

н рузки,

основ нные

н

том,

что

вероятность одновременно о возникновения

ольшо о количеств

нез висимых

со ытий очень м л , не применимы

ко

мно им ситу циям

в

систем х

упр вления.

Н пример, в системе упр вления

томной

электрост нцией в

случ е возникновения крупной

в рии

томно о ре ктор

мно ие

в рийные

д тчики ср

от ют одновременно и созд дут коррелиров нную н

рузку. Если

систем ре льно о времени не

спроектиров н

для поддержки

пиковой

н рузки, то может случиться т к, что систем не спр вится с р

отой именно

то д , ко д

он нужн в н и ольшей степени.

 

 

 

 

5.2 Мультипроцессорная обработка

Мультипроцессорн я

о р отк

— это

спосо

ор низ ции

вычислительно о процесс

в систем х

с несколькими процессор ми,

при

котором несколько з д ч

(процессов, потоков)

мо ут

одновременно

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

 

 

 

Концепция мультипроцессиров ния ненов , он

известн

с 70-х

одов,

но до середины 80-х доступных мно опроцессорных систем не существов ло.

Одн ко к н стоящему времени ст ло о ычным включение нескольких процессоров в рхитектуру д же персон льно о компьютер . Более то о,

мно опроцессорность теперь является одним из нео ходимых тре ов ний,

которые предъявляются к

компьютер м,

используемым в

к честве

центр льно о сервер

олее-менее крупной сети.

 

 

 

 

 

Не

следует

пут ть

 

мультипроцессорную

о р

отку

с

мультипро р ммной

о р

откой.

В

мультипро р ммных

систем х

п р ллельн я

р от

р зных

устройств

позволяет одновременно

вести

о р

отку нескольких про р мм, но при этом в процессоре в к ждый момент

времени выполняется только одн

про р мм . То есть в этом случ е несколько

з д ч

выполняются

попеременно

н одном

процессоре,

созд в я

лишь

видимость п р ллельно о выполнения. А в мультипроцессорных систем х несколько з д ч выполняются действительно одновременно, т к к к имеется несколько о р тыв ющих устройств — процессоров. Конечно,

мульипроцессиров ние вовсе

не

исключ ет мультипро р ммиров ния: н

к ждом из процессоров может

попеременно выполняться некоторый

з крепленный з д нным процессором н ор з д ч.

Мультипроцессорн я ор

низ ция системы приводит к усложнению всех

л оритмов упр вления ресурс ми, н пример тре уется пл ниров ть процессы

не для одно о, для нескольких процессоров, что ор здо сложнее. Сложности

з ключ ются и в возр ст нии числ конфликтов по о р щению к устройств м ввод -вывод , д нным, о щей п мяти и совместно используемым про р мм м.

Нео ходимо предусмотреть эффективные средств локировки при доступе к

р зделяемым информ ционным структур м ядр . Все эти про лемы должн

реш ть

опер ционн я систем

путем синхрониз ции процессов, ведения

очередей и пл ниров ния ресурсов. Более то о,

с м опер ционн я систем

должн

ыть спроектиров н

т к, что ы

уменьшить существующие

вз имоз висимости между со ственными компонент ми.

В н ши дни ст новится о щепринятым введение в ОС, функций

поддержки мультипроцессорной о р отки д нных. Т кие функции имеются во

всех популярных ОС, т ких к к Sun Solaris 2.x, Santa Crus Operations Open

Server 3.x, IBM OS/2, Microsoft Windows NT и Novell NetWare, н чин я с 4.1.

Мультипроцессорные системы ч сто х р ктеризуют ли о к к

симметричные, ли о к к несимметричные. При этом следует четко определять,

к к кому

спекту мультипроцессорной системы относится эт

х р ктеристик

— к типу

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

Симметричн я рхитектур

мультипроцессорной системы предпол

ет

однородность всех процессоров

и единоо р зие включения

процессоров

в

о щую схему мультипроцессорной системы. Тр диционные симметричные мультипроцессорные конфи ур ции р зделяют одну ольшую п мять между всеми процессор ми.

М сшт ируемость, или возможность н р щив ния числ процессоров,

в симметричных систем х о р ничен вследствие то о, что все они пользуются одной и той же опер тивной п мятью и, следов тельно, должны р спол ться

в одном

корпусе. Т к я конструкция, н зыв ем я м сшт

ируемой

по

вертик ли,

пр ктически

о р ничив ет число

процессоров до

четырех

или

восьми.

 

 

 

 

 

В симметричных

рхитектур х все процессы пользуются одной и той же

схемой ото р жения п мяти. Они мо ут очень

ыстро о менив ться д нными,

т к что о еспечив ется дост точно высок я производительность .для тех приложений (н пример, при р оте с з ми д нных), в которых несколько з д ч должны ктивно вз имодействов ть между со ой.

В симметричной рхитектуре р зные процессоры мо ут отлич ться к к своими х р ктеристик ми (производительностью, н дежностью, системой

ком нд и т. д., вплоть до модели микропроцессор ), т к и функцион льной ролью, котор я поруч ется им в системе. Н пример, одни процессоры мо ут предн зн ч ться для р оты в к честве основных вычислителей, дру ие — для упр вления подсистемой ввод -вывод , третьи — еще для к ких-то осо ых целей.

Функцион льн я неоднородность в симметричных

рхитектур х влечет

з со ой структурные отличия во фр мент х системы,

содерж щих р зные

процессоры системы. Н пример, они мо ут отлич ться схем ми подключения

процессоров к системной шине, н ором периферийных устройств и спосо ми вз имодействия процессоров с устройств ми.

М сшт иров ние в симметричной рхитектуре ре лизуется ин че, чем в симметричной. Т к к к тре ов ние едино о корпус отсутствует, систем

может состоять из нескольких устройств, к ждое из которых содержит один

или несколько процессоров. Это м сшт иров ние по оризонт ли.

К ждое

т кое устройство н зыв ется кл стером,

вся мультипроцессорн я систем —

кл стерной.

 

 

 

 

 

 

Дру им

спектом мультипроцессорных систем,

который

может

х р ктеризов ться симметрией

или

ее

отсутствием,

является

спосо

ор низ ции

вычислительно о

процесс .

Последний,

к к известно,

определяется и ре лизуется опер ционной системой.

 

 

Асимметричное мультипроцессиров ние является н и олее простым

спосо ом ор

низ ции вычислительно о процесс

в систем х с несколькими

процессор ми. Этот спосо

ч сто н зыв ют т кже «ведущий-ведомый».

 

Функциониров ние

системы

по

принципу «ведущий-ведомый»

предпол

ет

выделение одно о из процессоров

в к честве «ведуще о», н

котором

р

от ет опер ционн я систем

и

который упр вляет

всеми

ост льными «ведомыми» процессор ми. То есть ведущий процессор

ерет н

се я функции р спределения з д ч и ресурсов, ведомые процессоры р

от ют

только к к о р тыв ющие устройств

и ник ких действий по ор низ ции

роты вычислительной системы не выполняют.

Тк к к опер ционн я систем р от ет только н одном процессоре и функции упр вления полностью центр лизов ны, то т к я опер ционн я систем ок зыв ется не н мно о сложнее ОС однопроцессорной системы.

 

 

Асимметричн я

ор

низ ция вычислительно о процесс

может ыть

ре лизов н

к к для

симметричной мультипроцессорной рхитектуры, в

которой все процессоры

пп р тно нер зличимы, т к и для несимметричной,

для которой х р ктерн

неоднородность

процессоров, их специ лиз ция н

пп р тном уровне.

 

 

 

 

 

 

 

В рхитектурно-

симметричных систем х н роль ведуще о процессор

может

ыть н зн чен н и олее н дежный и производительный процессор. Если

в

н

оре

процессоров

имеется

специ лизиров нный

процессор,

ориентиров нный, н пример, н

м тричные вычисления, то при пл ниров нии

процессов

опер ционн я

систем ,

ре лизующ я

симметричное

мультипроцессиров ние, должн

учитыв ть специфику это о процессор . Т к я

специ лиз ция сниж ет н дежность системы в целом, т к к к процессоры не являются вз имоз меняемыми.

Симметричное мультипроцессиров ние к к

спосо

ор

низ ции

вычислительно о процесс может

ыть ре лизов но

в систем х

только с

симметричной мультипроцессорной

рхитектурой. Н помним,

что

в т ких

систем х процессоры р от ют с о щими устройств ми и р зделяемой

основной п мятью.

Симметричное мультипроцессиров ние ре лизуется о щей для всех

процессоров опер ционной системой. При симметричной ор низ ции все процессоры р внопр вно уч ствуют и в упр влении вычислительным

процессом, и в выполнении прикл дных з д ч. Н пример, си н л прерыв ния

от принтер ,

который р спеч тыв ет

д нные прикл дно о процесс ,

выполняемо о н

некотором процессоре, может ыть о р от н совсем дру им

процессором. Р зные процессоры мо ут в

к кой-то момент одновременно

о служив ть к к р зные, т к и один ковые модули о щей опер ционной

системы.

Для

это о

про р ммы опер ционной

системы

должны

о л д ть

свойством повторной входимости (реентер

ельностью).

 

 

 

Опер ционн я

систем полностью

децентр лизов н .

Модули ОС

выполняются

н лю ом

доступном

процессоре.

К к

только

процессор

з верш ет

выполнение

очередной

з д чи,

он

перед ет

упр вление

пл нировщику з д ч, который вы ир ет из о щей для всех процессоров

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

следующей. Все ресурсы выделяются для к ждой выполняемой з д чи по мере возникновения в них потре ностей и ник к не з крепляются з процессором.

При т ком подходе все процессоры р от ют с одной и той же дин мически

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

В случ е отк з одно о из процессоров симметричные системы, к к пр вило, ср внительно просто реконфи урируются, что является их ольшим

преимуществом

перед

плохо

реконфи урируемыми

симметричными

систем ми.

 

 

 

 

 

Симметричн я и

симметричн я ор

низ ция вычислительно о процесс

в мультипроцессорной

системе

не связ н

н прямую с симметричной или

симметричной

рхитектурой, он

определяется типом опер ционной системы.