
книги из ГПНТБ / Каган Б.М. Цифровые вычислительные машины и системы учеб. пособие
.pdfс подготовкой и решением задач на вычислительных ма шинах. Таким образом, в широком смысле слова эффек тивность вычислительной техники зависит как от произ водительности самих средств вычислительной техники, так и в очень большой степени от эффективности труда лиц, решающих задачи на машинах. Последняя во мно гом зависит от доставляемых средствами вычислитель ной системы возможностей взаимодействия и общения пользователей с машиной в процессе подготовки и от ладки программ, а также в процессе решения задач.
При переходе к ЦВМ второго поколения на дискрет ных транзисторных схемах забота о повышении эффек тивности использования собственно средств вычисли тельных систем привела к операторному (пакетному) ме тоду эксплуатации и решения задач на ЦВМ, при кото ром пользователи сдают свои задачи оператору ЦВМ, формирующему пакет задач, решаемых в однопрограм мном или мультипрограммном режиме в зависимости от типа системы: В результате пользователь утратил не посредственную связь с ЦВМ, характерную для эксплу атации ламповых машин первого поколения.
Ожидание в течение суток и более результатов реше ния по переданной оператору программе сильно затруд няет отладку программ, делает невозможным оператив ное внесение в программы изменений по результатам ре шения, что ведет к снижению эффективности труда программистов по сравнению с режимом непосредствен ного общения с ЦВМ. Работа пользователя в условиях утраты прямого контакта с ЦВМ психологически зако номерно сопровождается завышенными требованиями пользователя на печатание информации при работе его программы (а вдруг это понадобится), что снижает в це лом эффективность вычислительной системы.
Выход из создавшейся ситуации был найден в идее распределения времени процессора между несколькими одновременно работающими с машиной пользователями
ииспользования различия во времени реакции человека
имашины для создания у пользователя иллюзии, что машина полностью принадлежит ему одному, что он
располагает всеми ресурсами |
вычислительной системы |
|||
и может осуществлять |
через |
свой |
терминал |
(телетайп, |
электрифицированная |
пишущая |
машинка, |
экранный |
|
пульт и т. п.) прямой |
контакт с вычислительной систе |
мой для ввода и пуска своих программ, их отладки, по
610
лучения результатов вычислений, для запроса информа ции, хранимой в системе.
В действительности вычислительная система с рас пределением времени (СРВ), работая в мультипро граммном режиме, последовательно обслуживает одного за другим пользователей системы, уделяя программѣ каждого пользователя некоторый интервал времени (квант времени обслуживания).
Если в течение выделенного программе кванта вре мени ее обработка не заканчивается, программа преры вается и ставится в очередь программ, ожидающих обра ботки. Распределение времени процессора и других ре сурсов системы (памяти и др.) между пользовате лями производится управляющей программой-суперви зором.
В СРВ запросы пользователей на обслуживание по ступают в случайные моменты времени. Случайными ве личинами оказываются также требуемое для выполне ния программы пользователя время работы процессора, каналов и других устройств и необходимый объем опе ративной и внешней памяти. В процессе функционирова ния СРВ из-за ограниченности ее ресурсов в системе мо гут возникать несколько очередей, в том числе: 1) оче редь на ввод новых запросов пользователей; 2) очередь к процессору на обработку программ; 3) очередь к кана лам связи с периферийными устройствами; 4) очередь на вывод из системы результатов обработки программ. Длина очередей, время пребывания запросов и программ в очередях являются случайными величинами, завися щими от параметров вычислительной системы, вероят ностных характеристик потока запросов пользователей и их программ, а также от метода планирования работы вычислительной системы.
Качество функционирования СРВ определяется сле дующими основными характеристиками: 1) максималь ным количеством пользователей, обслуживаемых систе мой; 2) средним временем ожидания программой обслу живания; 3) средним временем ожидания пользователем ввода нового запроса на обслуживание; 4) потерей вре мени в системе, связанной с переключением программ; 5) длиной очередей программ на обслуживание процес сором, каналами, устройствами ввода и вывода. Поря док распределения между пользователями основного ре сурса вычислительной системы — времени процессора
39* |
611 |
и соответственно других ее ресурсов устанавливается так называемой дисциплиной обслуживания. Дисципли на обслуживания выбирается путем определенного компромисса между противоречивыми требованиями: а) обеспечением режима прямого контакта пользователя с вычислительной системой; б) высоким уровнем эффек тивности использования технических средств вычисли тельной системы; в) простотой аппаратных и программ ных средств, обеспечивающих реализацию принятой ди сциплины обслуживания.
Поддержание в СРВ у пользователей иллюзии пря мого общения с вычислительной системой и обладания ее ресурсами требует уменьшения времени отклика си стемы на запрос пользователя. Но поскольку при этом нельзя допустить фактической монополизации времени процессора и других средств вычислительной системы каким-либо пользователем, то кажется естественной и одновременно технически просто осуществимой дисци плина обслуживания, при которой всем программам вы деляется один и тот же квант времени, причем величина его устанавливается возможно меньшей, чтобы проме жутки между интервалами активности программ пользо вателя, а следовательно, между сеансами связи системы с пользователем были минимальны.
Однако уменьшение величины выделяемого програм мам кванта времени ведет к снижению эффективности использования технических средств системы, так как процесс переключения программ из пассивной в актив ную фазу сопровождается динамическим распределени ем памяти и другими служебными операциями, доля ко торых при этом в общем времени работы системы отно сительно возрастает. С этой точки зрения целесообразно было бы увеличивать квант времени обслуживания, вы деляемый программам, однако это может приводить к недопустимому возрастанию времени ожидания неко торыми пользователями обслуживания и потери ими ощущения контакта с системой. Кажется обоснованным, что пользователи, затребовавшие выполнения программ, занимающих много машинного времени, склонны спокой но ждать обслуживания сравнительно долго. В то же время пользователи, запрашивающие решение коротких задач, оказываются более нетерпеливыми и поэтому та кие задачи должны получать обслуживание в первую очередь. Дисциплина обслуживания усложняется, если
612
пользователи имеют различный приоритет в обслужи
вании.
Дисциплины обслуживания. Было предложено не сколько дисциплин обслуживания пользователей в СРВ. Их можно разбить на две основные группы: одноочеред
ные и многоочередные. |
( т и п а к а |
Ц и к л и ч е с к о е о б с л у ж и в а н и е |
р у с е л и ) . Соответствующая схема одноочередной СРВ представлена на рис. 11-15. В системе реализуется об-
Д и стами, и онмые пу ль ты
пользователей
Рис. 11-15. Система распределения времени с цик лической дисциплиной обслуживания.
служивание по принципу: «первый вошедший обслужи вается первым». Вновь поступающие от пользователей заявки ставятся в конец очереди. Для обслуживания вы бирается программа из начала очереди и ей отводится квант времени Д процессора. Если за это время програм ма успеет завершиться, процессор приступит к обработ ке следующей из очереди программы. Если же програм ма за выделенный квант времени не закончится, обра ботка ее прерывается и она поступает в конец очереди (цепь обратной связи).
С целью представления приоритета коротким (повре мени выполнения) программам рассматриваемая дис циплина модифицируется и реализуется обслуживание по принципу: «последний вошедший обслуживается пер вым». В этом случае вновь поступающая в систему за явка ставится в начало очереди. В остальном процесс функционирования остается без изменения. При такой модификации дисциплины обслуживания короткие про граммы получают приоритет тем более ощутимый, чем
39а—333 |
613 |
меньше отношение длительности выполнения программы к кванту времени.
М н о г о о ч е р е д н а я д и с ц и п л и н а о б с л у ж и в а н и я . С целью сокращения потерь времени, связан ных с переключением программ, и обеспечения приори тета для коротких программ используют дисциплину обслуживания с несколькими очередями (рис. 11-16). Приоритет очереди убывает с возрастанием ее номера т
( |
О В н о в ь |
поступающий в СРВ запрос ставится |
в |
конец очереди, |
имеющей старший приоритет ( т = 0). |
|
Поток ‘ |
'Обслуживание |
запросов |
.закончено |
|
|
Очередь 7 |
|
1' 1111 |
Обслуж и |
Г 4 |
вание |
не
закончено
Очередь к
Об ра тн ая связь
Рис. 11-16. Система распределения вре мени с многоочередной дисциплиной об служивания.
В такой системе следующей подлежит обслуживанию программа из начала очереди с номером т, если очереди с меньшими номерами (с более высоким приорите том) пустые. Если за выделенный программе квант вре мени ее обработка не заканчивается, программа преры вается и переходит в конец очереди с номером т-{-\. Программы из последней очереди обслуживаются до конца без прерывания. Величина выделяемого програм ме кванта времени возрастает с увеличением номера очереди обычно по правилу:
Дт = 2тД,
где Ат — квант, выделяемый программе из m-й очереди (О< m ^ :k ); А — квант для программы из нулевой оче реди. Обычно А соответствует 200—500 мсек.
Описанный механизм планирования распределения времени обладает определенными адаптивными свой ствами: программы с большей длительностью обработки вытесняются в очереди с большими номерами. Этот про
614
цесс можно сделать более эффективным, если при вводе заявок сразу распределять запрашиваемые программы
по очередям, |
используя для этого некоторые оценки. |
|
В первом |
приближении |
можно считать, что продол |
жительность |
выполнения |
программы пропорциональна |
ее длине (количеству слов). По меньшей мере от длины программы прямо зависит время, затрачиваемое на пе редачу программы между оперативной и внешней па мятью при переключении ее активности.
В алгоритме планирования Ф. Корбато, реализован ном в одной из первых СРВ [Л. 86], программа сразу поступает в очередь, имеющую номер
і = [log2([LP/L4\ + 1)],
где Lp — количество слов в программе; Lq — количество слов, которое может быть передано из оперативной па мяти во внешнюю или обратно за время А; от выраже ний, стоящих в квадратных скобках, берется целая часть. В остальном дисциплина обслуживания соответ ствует описанной выше. Если во время обслуживания программы из очереди т в очереди с большим приори тетом появится новая программа, то после окончания текущего кванта А обрабатываемая программа прерыва ется и возвращается в начало очереди т, с тем чтобы впоследствии дополучить недоданное по отношению к ве личине А-2т время.
Чтобы избежать недопустимо долгого ожидания для больших программ, приоритет делается зависящим от времени ожидания. Если ожидание превысит некоторое установленное значение (например, 60 сек), программа переходит в следующую очередь с меньшим номером.
Важнейшим элементом СРВ является сам пользова тель, и поэтому без внимательного изучения его нужд, особенностей его взаимодействий с системой, соответ ствующих физиологических ограничений невозможно создавать эффективно действующие СРВ.
Процессы, происходящие в СРВ, сложны, и большую трудность представляет определение зависимости основ ных характеристик системы от ее параметров, не говоря уже о синтезе СРВ с заданными характеристиками.
Теория и методы анализа СРВ строятся на основе использования результатов теории и методов анализа систем массового обслуживания. Лишь для сравнитель но простых случаев удается воспользоваться для анали
39а |
615 |
за и расчета аналитической моделью системы массового обслуживания.
В более сложных случаях СРВ исследуются путем построения так называемой «имитационной модели» и ее анализа методом статистических испытаний (методом Монте-Карло).
Н е п р е р ы в н а я м а р к о в с к а я м о д е л ь С Р В . Построим аналитическую модель для СРВ, в основе которой лежит отождествление функционирования системы с простым непрерывным марковским процессом [Л. 48].
Рассмотрим однопроцессорную СРВ с п пользовате лями и с циклической дисциплиной обслуживания их программ (см. рис. 11-15). Процесс взаимодействия пользователя и системы складывается из отдельных по
вторяющихся этапов, каждый |
из которых |
делится |
на |
||
системную и пультовую фазы. |
|
|
|
|
|
Запрос (программа) пользователя находится в си |
|||||
стемной фазе, если в системе имеется вся |
необходимая |
||||
информация для |
обработки |
запрошенной |
программы. |
||
В этой фазе производится обработка запрошенной |
про |
||||
граммы, при этом |
время процессора делится |
квантами |
|||
между всеми программами, находящимися |
в |
системной |
фазе. Когда для дальнейшего выполнения программы необходим ввод с пульта новой входной информации (в частности, реакции пользователя на полученный и вы веденный на пульт результат обработки предыдущего за проса пользователя), взаимодействие переходит в пуль товую фазу.
В пультовой фазе пользователь наблюдает за выво дом информации на его пульт, обдумывает свою реак цию на выведенную информацию и вводит с пульта но вую входную информацию, что следует рассматривать как ввод в систему нового запроса (заявки) на обслу живание.
Таким образом, процесс взаимодействия пользовате ля и системы может находиться в одном из двух состоя ний: либо система имеет программу, которую она долж на выполнять для пользователя, а пользователь ждет ответа системы на свой запрос (системная фаза), либо система фактически не имеет программы, которую могла бы дальше выполнять для данного пользователя, и ждет сообщения от пользователя (пультовая фаза).
Примем, что случайные величины — время работы пользователя за пультом (т. е. продолжительность пуль-
Ы 6
т о б о й фазы) Тп и продолжительность чистого времени обработки запроса процессором (без учета времени пре бывания в очереди к процессору) /0б распределены по экспоненциальному закону со средними значениями со
ответственно Тц.ср И іоб.ср- В системах без совмещения вычислений с обменом
информацией с внешними устройствами время обмена, соответствующее системной фазе, должно включаться
В/об-
Предполагаем, что переключение программ происхо дит мгновенно и издержки, т. е. потери времени, отсут ствуют.
Модель строится с целью определения основных ха рактеристик системы: среднего числа пользователей, ожидающих ответа, и средней продолжительности ожи дания ответа на запрос пользователя.
Примем, что состояние СРВ определяется числом пользователей /, находящихся в данный момент в си стемной фазе взаимодействия. Тогда система с п пользователями имеет (n -fl) состояния (0-< /< ;л ). Счи таем, что вероятность перехода из состояния / в і зави сит только от самих состояний / и і и не зависит от предистории, приведшей систему в состояние /. Сами пере ходы совершаются через случайные промежутки вре мени.
При принятых допущениях, в том числе относительно законов распределения для /0б и тп, функционирование системы может быть представлено простым непрерыв ным (по времени) марковским процессом.
Пусть в данный момент времени / пользователей на ходятся в системной фазе взаимодействия, т. е. ожидают обслуживания, а соответственно (п—/) пользователей находятся в пультовой фазе. Тогда число пользователей, переходящих в системную фазу в единицу времени, или, иначе говоря, интенсивность (скорость) перехода из со
стояния с / пользователями в состояние с /+ 1 |
пользова |
|
телями в системной фазе |
(ожидающими обслуживания) |
|
будет: |
|
|
аіи+1) = — |
1 ( 0 < / < я - 1 ) . |
(11-1) |
Т-П.ср
С другой стороны, происходят переходы пользовате лей из системной фазы взаимодействия в фазу работы
-617
за пультом. Если бы каждому из / пользователей, нахо дящихся в системной фазе, было выделено все время работы процессора, то интенсивность перехода пользова телей из активной фазы в фазу работы на пульте соста вила ///об.срОднако на самом деле время процессора делится поровну (квантами) между всеми / пользовате-
1 |
|
1 |
1 |
1 |
1 |
1 |
to S c p |
|
to ö cp |
^oB.cp |
toö.cp |
tpö.cp |
toS.cp |
ѲпЬ |
|
|
:гвг:: |
::ГѲ |
||
|
©ögri:: |
|
|
|||
п * |
|
i n-1 |
n -Z |
n -i +1 |
n -i |
•■ 4. 1 |
Тр.Ср |
|
Tn. cp |
Tn. cp |
Tn. cp |
Tn. cp |
Tn. cp |
Рис. 11-17. Цепь Маркова («процесс гибели и размножения») для системы разделения времени.
лями, и поэтому интенсивность перехода системы из со стояния с / пользователями в состояние с /—1 пользова телями
«„/-и = 1^об,р О </<«)• |
(Н-2) |
Функционирование рассматриваемой системы разде ления времени может быть описано цепью Маркова для «процесса гибели и размножения», представленной на рис. 11-17. На рисунке указаны интенсивности перехо дов системы из одних состояний в другие.
Полученная цепь Маркова и получаемые ниже на ее основе результаты не зависят от величины кванта вре мени обслуживания, так как было сделано предположе
ние, что нет |
издержек времени на переключение про |
|
грамм. |
|
|
Обозначим |
через П = {іто, яі, ..., |
згп} вектор предель |
ных вероятностей состояний системы. |
||
Составляющие этого вектора nj |
( О ^ /^ п ) есть веро |
ятности пребывания системы в состоянии / в стационар ном режиме, причем
= |
(П-З) |
;=о |
|
Составляющие вектора определяются |
из системы |
уравнений: |
|
618
|
‘'П-Ср |
JTn |
|
|
jti = |
0; |
|
|
|
||
|
|
|
п ^об.ср |
|
|
|
|
|
|||
Лп |
|
|
|
|
— 1 |
я, |
+ |
------- я2 = |
0; |
||
|
^об• ср |
|
т п.ср |
||||||||
ъп-ср |
|
|
|
|
^об-ср |
|
(11-4) |
||||
■JT л |
|
t |
, |
|
1 |
|
|
|
|
•я |
= 0: |
^об•ср |
|
|
Я л - 1 |
+ |
С б .с р |
||||||
п— 2 |
|
|
|
|
|||||||
п.ср |
|
т п.ср |
|
|
|
|
|||||
1 |
1 |
|
|
|
|
|
|
|
|
|
|
|
• я'п—1 |
|
^об-ор |
я |
= |
0. |
|
|
|
||
|
|
|
|
|
|
||||||
|
ьп.ср |
|
|
|
|
|
|
|
|
||
Обозначив |
^об.ср/тп.ср= 5<, получим |
из |
(11-4) |
||||||||
|
|
я2 = |
я (n — 1) Х2Я0; |
|
|
(11-5) |
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
я, |
= |
|
я ! |
к1я„. |
|
|
|
||
|
|
|
|
|
|
|
|||||
Подставляя в (11-3) |
(пполученные— t)l |
выражения для Яі |
|||||||||
(0^-і^.п), получаем: |
|
|
|
|
|
|
|
|
|||
£і + п% + п (п— 1) я2 + • • • + - — |
|
x^-f- • • |
|||||||||
|
|
|
|
|
|
|
|
(п — /)! |
|
|
|
|
|
|
|
|
-f п\ и" Щ = 1, |
|
|
откуда вероятность незанятости процессора в стационар ном режиме
Ял — |
|
|
1 |
|
( 11-6) |
1о |
S |
|
n\ |
/)! |
|
|
(п |
■yj |
|||
Соответственно |
І=о |
|
- |
|
|
|
|
|
|
|
|
|
|
я ! |
|
|
|
я. |
( я |
— |
і)\ |
(11-7) |
|
|
|
|
|
||
|
|
|
я ! |
|
у.) |
|
|
( я |
- |
/ ) ! |
|
|
і=0 |
|
|||
|
|
|
|
|
Среднее количество пользователей, ожидающих от вета,
619