лекции СПО
.pdfпринять следующую ком нду, си н лом прерыв ния ли о центр льный процессор узн ет о этом, периодически опр шив я состояние контроллер .
М ксим льный эффект ускорения дости ется при н и олее полном
перекрытии вычислений и ввод -вывод . Р ссмотрим случ й, ко д процессор выполняет только одну з д чу. В этой ситу ции степень ускорения з висит от
природы д нной з д чи и от то о, н сколько тщ тельно ыл выявлен
возможный п р ллелизм при ее про р ммиров нии. В з д ч х, в которых прео л д ют ли о вычисления, ли о ввод-вывод, ускорение почти отсутствует.
П р ллелизм в р мк х одной з д чи невозможен т кже, ко д для продолжения
вычислений нео ходимо полное з вершение опер ции ввод -вывод , н пример,
ко д д льнейшие вычисления з висят от вводимых д нных. В т ких случ ях неиз ежны простои центр льно о процессор или к н л .
Если же в системе выполняются одновременно несколько з д ч,
появляется возможность совмещения вычислений одной з д чи с вводом-
выводом дру ой. Пок |
одн з д ч ожид ет к ко о-ли о со ытия (з метим, что |
т ким со ытием в |
мультипро р ммной системе может ыть не только |
з вершение ввод -вывод , но и, н пример, н ступление определенно о момент
времени, р з локиров ние ф йл |
или з рузк |
с диск |
недост ющей стр ницы |
про р ммы), процессор не |
прост ив ет, |
к к |
это происходит при |
последов тельном выполнении про р мм, выполняет дру ую з д чу.
О щее время выполнения смеси з д ч ч сто ок зыв ется меньше, чем их сумм рное время последов тельно о выполнения (рис. 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.
Мультипроцессорные системы ч сто х р ктеризуют ли о к к
симметричные, ли о к к несимметричные. При этом следует четко определять,
к к кому |
спекту мультипроцессорной системы относится эт |
х р ктеристик |
||
— к типу |
рхитектуры или к спосо у ор низ ции вычислительно о процесс . |
|||
Симметричн я рхитектур |
мультипроцессорной системы предпол |
ет |
||
однородность всех процессоров |
и единоо р зие включения |
процессоров |
в |
о щую схему мультипроцессорной системы. Тр диционные симметричные мультипроцессорные конфи ур ции р зделяют одну ольшую п мять между всеми процессор ми.
М сшт ируемость, или возможность н р щив ния числ процессоров,
в симметричных систем х о р ничен вследствие то о, что все они пользуются одной и той же опер тивной п мятью и, следов тельно, должны р спол ться
в одном |
корпусе. Т к я конструкция, н зыв ем я м сшт |
ируемой |
по |
||
вертик ли, |
пр ктически |
о р ничив ет число |
процессоров до |
четырех |
или |
восьми. |
|
|
|
|
|
В симметричных |
рхитектур х все процессы пользуются одной и той же |
||||
схемой ото р жения п мяти. Они мо ут очень |
ыстро о менив ться д нными, |
т к что о еспечив ется дост точно высок я производительность .для тех приложений (н пример, при р оте с з ми д нных), в которых несколько з д ч должны ктивно вз имодействов ть между со ой.
В симметричной рхитектуре р зные процессоры мо ут отлич ться к к своими х р ктеристик ми (производительностью, н дежностью, системой
ком нд и т. д., вплоть до модели микропроцессор ), т к и функцион льной ролью, котор я поруч ется им в системе. Н пример, одни процессоры мо ут предн зн ч ться для р оты в к честве основных вычислителей, дру ие — для упр вления подсистемой ввод -вывод , третьи — еще для к ких-то осо ых целей.
Функцион льн я неоднородность в симметричных |
рхитектур х влечет |
з со ой структурные отличия во фр мент х системы, |
содерж щих р зные |
процессоры системы. Н пример, они мо ут отлич ться схем ми подключения
процессоров к системной шине, н ором периферийных устройств и спосо ми вз имодействия процессоров с устройств ми.
М сшт иров ние в симметричной рхитектуре ре лизуется ин че, чем в симметричной. Т к к к тре ов ние едино о корпус отсутствует, систем
может состоять из нескольких устройств, к ждое из которых содержит один
или несколько процессоров. Это м сшт иров ние по оризонт ли. |
К ждое |
|||||
т кое устройство н зыв ется кл стером, |
вся мультипроцессорн я систем — |
|||||
кл стерной. |
|
|
|
|
|
|
Дру им |
спектом мультипроцессорных систем, |
который |
может |
|||
х р ктеризов ться симметрией |
или |
ее |
отсутствием, |
является |
спосо |
|
ор низ ции |
вычислительно о |
процесс . |
Последний, |
к к известно, |
||
определяется и ре лизуется опер ционной системой. |
|
|
Асимметричное мультипроцессиров ние является н и олее простым
спосо ом ор |
низ ции вычислительно о процесс |
в систем х с несколькими |
|||||
процессор ми. Этот спосо |
ч сто н зыв ют т кже «ведущий-ведомый». |
|
|||||
Функциониров ние |
системы |
по |
принципу «ведущий-ведомый» |
||||
предпол |
ет |
выделение одно о из процессоров |
в к честве «ведуще о», н |
||||
котором |
р |
от ет опер ционн я систем |
и |
который упр вляет |
всеми |
||
ост льными «ведомыми» процессор ми. То есть ведущий процессор |
ерет н |
||||||
се я функции р спределения з д ч и ресурсов, ведомые процессоры р |
от ют |
||||||
только к к о р тыв ющие устройств |
и ник ких действий по ор низ ции |
роты вычислительной системы не выполняют.
Тк к к опер ционн я систем р от ет только н одном процессоре и функции упр вления полностью центр лизов ны, то т к я опер ционн я систем ок зыв ется не н мно о сложнее ОС однопроцессорной системы.
|
|
Асимметричн я |
ор |
низ ция вычислительно о процесс |
может ыть |
|||
ре лизов н |
к к для |
симметричной мультипроцессорной рхитектуры, в |
||||||
которой все процессоры |
пп р тно нер зличимы, т к и для несимметричной, |
|||||||
для которой х р ктерн |
неоднородность |
процессоров, их специ лиз ция н |
||||||
пп р тном уровне. |
|
|
|
|
|
|||
|
|
В рхитектурно- |
симметричных систем х н роль ведуще о процессор |
|||||
может |
ыть н зн чен н и олее н дежный и производительный процессор. Если |
|||||||
в |
н |
оре |
процессоров |
имеется |
специ лизиров нный |
процессор, |
||
ориентиров нный, н пример, н |
м тричные вычисления, то при пл ниров нии |
|||||||
процессов |
опер ционн я |
систем , |
ре лизующ я |
симметричное |
||||
мультипроцессиров ние, должн |
учитыв ть специфику это о процессор . Т к я |
специ лиз ция сниж ет н дежность системы в целом, т к к к процессоры не являются вз имоз меняемыми.
Симметричное мультипроцессиров ние к к |
спосо |
ор |
низ ции |
|
вычислительно о процесс может |
ыть ре лизов но |
в систем х |
только с |
|
симметричной мультипроцессорной |
рхитектурой. Н помним, |
что |
в т ких |
систем х процессоры р от ют с о щими устройств ми и р зделяемой
основной п мятью.
Симметричное мультипроцессиров ние ре лизуется о щей для всех
процессоров опер ционной системой. При симметричной ор низ ции все процессоры р внопр вно уч ствуют и в упр влении вычислительным
процессом, и в выполнении прикл дных з д ч. Н пример, си н л прерыв ния
от принтер , |
который р спеч тыв ет |
д нные прикл дно о процесс , |
выполняемо о н |
некотором процессоре, может ыть о р от н совсем дру им |
|
процессором. Р зные процессоры мо ут в |
к кой-то момент одновременно |
о служив ть к к р зные, т к и один ковые модули о щей опер ционной
системы. |
Для |
это о |
про р ммы опер ционной |
системы |
должны |
о л д ть |
|||||
свойством повторной входимости (реентер |
ельностью). |
|
|
|
|||||||
Опер ционн я |
систем полностью |
децентр лизов н . |
Модули ОС |
||||||||
выполняются |
н лю ом |
доступном |
процессоре. |
К к |
только |
процессор |
|||||
з верш ет |
выполнение |
очередной |
з д чи, |
он |
перед ет |
упр вление |
пл нировщику з д ч, который вы ир ет из о щей для всех процессоров
системной очереди з д чу, котор я удет выполняться н д нном процессоре
следующей. Все ресурсы выделяются для к ждой выполняемой з д чи по мере возникновения в них потре ностей и ник к не з крепляются з процессором.
При т ком подходе все процессоры р от ют с одной и той же дин мически
выр внив емой н рузкой. В решении одной з д чи мо ут уч ствов ть ср зу несколько процессоров, если он допуск ет т кое р сп р ллелив ние, н пример путем предст вления в виде нескольких потоков.
В случ е отк з одно о из процессоров симметричные системы, к к пр вило, ср внительно просто реконфи урируются, что является их ольшим
преимуществом |
перед |
плохо |
реконфи урируемыми |
симметричными |
|
систем ми. |
|
|
|
|
|
Симметричн я и |
симметричн я ор |
низ ция вычислительно о процесс |
|||
в мультипроцессорной |
системе |
не связ н |
н прямую с симметричной или |
||
симметричной |
рхитектурой, он |
определяется типом опер ционной системы. |