Организация работы мультипрограммных ЭВМ
Работа мультипрограммной ЭВМ в большой степени зависит от коэффициента мультипрограммирования ( Км ) - количества программ, которое может одновременно обрабатываться в мультипрограммном режиме .
Пример выполнения программ в мультипрограммном режиме при Км=2 представлен на рис. 12.2. Предполагается, что выполнение каждой программы включает следующую последовательность действий: счет1 - ввод - счет2 - вывод. Счет выполняется на процессоре ( CPU ), для ввода и вывода данных используются отдельные внешние устройства ( IN и OUT ). На графике помечены номера программ, которые в данный момент занимают тот или иной ресурс.
Если построить аналогичные графики для ЭВМ, работающей с различными коэффициентами мультипрограммирования, то получим следующие сравнительные характеристики работы ЭВМ для рассматриваемого пакета программ (табл. 12.2).
Характеристика | Км = 1 | Км = 2 | Км = 3 |
---|---|---|---|
Время выполнения программы Т1 | 9 | 10 | 10 |
Время выполнения программы Т2 | 8 | 13 | 13 |
Время выполнения программы Т3 | 11 | 11 | 19 |
Время выполнения программы Т4 | 8 | 11 | 12 |
Время выполнения всех программ ( Т ) | 36 | 24 | 22 |
Пропускная способность ( П ) | 0,11 | 0,17 | 0,18 |
kCPU | 0,56 | 0,83 | 0,91 |
kIN | 0,22 | 0,33 | 0,36 |
kOUT | 0,22 | 0,33 | 0,36 |
Под временем выполнения программы понимается время, прошедшее от начала выполнения программы или ее постановки в очередь к процессору, до ее завершения, а время выполнения всех программ определяется моментом завершения выполнения последней программы пакета.
При увеличении коэффициента мультипрограммирования изменение значений показателей эффективности зависит от того, в каком состоянии находится система: перегрузки или недогрузки. Если какие-либо ресурсы ЭВМ используются достаточно интенсивно, то добавление новой программы, активно использующей эти ресурсы, будет малоэффективным для увеличения пропускной способности ЭВМ. Очевидно, что зависимость пропускной способности ( П ), времени выполнения каждой программы ( Тi ) и времени выполнения всего пакета программ ( Т ) от коэффициента мультипрограммирования будет иметь вид, представленный на рис. 12.3.
![Зависимость основных характеристик работы мультипрограммной ЭВМ от коэффициента мультипрограммирования](/EDI/08_01_19_2/1546899581-11707/tutorial/140/objects/12/files/12_3.gif)
Рис. 12.3. Зависимость основных характеристик работы мультипрограммной ЭВМ от коэффициента мультипрограммирования
На изменение эффективности работы мультипрограммной ЭВМ может повлиять назначение различных приоритетов выполняемым программам. Перераспределение приоритетов может привести как к увеличению, так и к снижению пропускной способности ЭВМ. Конкретный результат зависит от характеристик выполняемых программ. В частности, если в составе мультипрограммной смеси имеется единственная программа, надолго занимающая процессор, то увеличение ее приоритета понизит, а уменьшение - повысит пропускную способность ЭВМ. Это объясняется тем, что выполнение программ, обладающих меньшим приоритетом, чем рассматриваемая, фактически блокируется из-за недоступности процессора. Аналогичная ситуация может сложиться и в отношении других совместно используемых ресурсов. Особое значение при этом имеют те из них, которые являются наиболее дефицитными, то есть имеют наибольший коэффициент загрузки и наибольшую среднюю длину очереди. Как правило, наиболее высокий приоритет назначается тем программам, которые в состоянии быстро освободить наиболее дефицитный ресурс. Такого рода проблемы решаются в рамках теории расписаний. При этом поиск решения зачастую сводится к полному перебору вариантов. Ввиду сложности полной теоретической оценки всех возможных вариантов, на практике широко используются различные эвристические алгоритмы, дающие не оптимальные, а рациональные решения.
В мультипрограммной ЭВМ ресурсы могут распределяться как на статической, так и на динамической основе. В первом случае ресурсы распределяются до момента порождения процесса и являются для него постоянными. Освобождение ресурсов, занятых каким-либо процессом, происходит только в момент окончания этого процесса. При динамическом распределении ресурсы выделяются процессу по мере его развития.
Распределение на статической основе способствует наиболее быстрому развитию процессов в системе с момента их порождения. Распределение же ресурсов на динамической основе позволяет обеспечить эффективное использование ресурсов с точки зрения минимизации их простоев.
Схема статического распределения используется в том случае, когда необходимо гарантировать выполнение процесса с момента его порождения. В качестве недостатка этого подхода следует отметить возможность длительных задержек заявок на порождение процесса с момента поступления таких заявок в систему, так как необходимо ожидать освобождения всех требуемых заявке ресурсов и только при наличии их полного состава порождать процесс. Часто распределение ресурсов с использованием исключительно статического принципа приводит фактически к однопрограммному режиму работы.
При динамическом распределении стремление уменьшить простои ресурсов приводит к увеличению сложности системы распределения ресурсов и, как следствие, к увеличению системных затрат на управление процессами. Поэтому необходим компромисс между сложностью алгоритмов планирования распределения ресурсов и эффективностью выполнения пакета задач.
Ресурсы разделяются на физические и виртуальные.
Под физическим понимают ресурс, который реально существует и при распределении его между пользователями обладает всеми присущими ему физическими характеристиками.
Виртуальный ресурс - это некая модель, которая строится на базе физического ресурса, имеет расширенные функциональные возможности по отношению к физическому ресурсу, на базе которого он создан, или обладает некоторыми дополнительными свойствами, которых физический ресурс не имеет.
Например, расширенные функциональные возможности имеет виртуальная память, представляющаяся как запоминающее устройство, имеющее больший объем, чем физическая. Дополнительные свойства имеет виртуальный процессор, одновременно обрабатывающий несколько задач.