Организация
эффективной работы программы при экономичном использовании ресурсов машины.
Возможности увеличения быстродействия.
Возможности
увеличения быстродействия.
Методы
распределения ресурсов в вычислительных системах
Задачи
распределения ресурсов вычислительных систем.
Первым
важнейшим показателем, характеризующим вычислительные системы (ВС), является их производительность. При формулировании
любой задачи необходимо сопоставлять производительность доступной ВС с
необходимыми затратами времени для решения данной задачи или допустимой
длительностью ожидания результатов (длительностью отклика). Существенный
ограничивающий фактор — длительность, в течение которой ЭВМ можно представить
для решения данной задачи, или то реальное время, в пределах которого
целесообразно получить результаты для их использования. Поэтому для всех типов
систем актуальной является проблема распределения ограниченной
производительности ВС для решения функциональных задач и применения методов эффективной организации вычислительного
процесса (см. этап 2 на рис. 1.3) [7, 13, 24].
Второй
важнейший показатель решения задач на ЭВМ — объем
памяти для хранения программ, констант и переменных. На задержку сообщений
перед обработкой в значительной степени влияют тип и метод использования
памяти для хранения информации. В современных ВС объем внешней памяти принципиально
может увеличиваться почти неограниченно. Однако затраты производительности на
поиск информации во внешних накопителях и на перепись ее в оперативную память
являются существенными техническими ограничениями для целесообразного объема
используемой памяти в ВС.
Разнообразие видов памяти, значительно различающихся по
быстродействию и стоимости хранения единицы информации, привело к применению в
ВС многоуровневых систем памяти. Каждый последующий уровень памяти
характеризуется снижением быстродействия и увеличением возможного объема хранимых
данных. Задача состоит в определении объемов памяти каждого уровня,
обеспечивающих хранение заданного объема информации при минимальном времени
обращения к любым данным и ограниченной стоимости всей памяти. Характеристики
памяти непосредственно влияют на производительность ВС, и их приходится
анализировать совместно. В общем случае в реальном времени производительность
ВС — более критичный параметр, чем объем памяти. Методы и средства
распределения вычислительных ресурсов и организации вычислительного процесса
можно классифицировать по степени неопределенности априорной информации об
основных динамических характеристиках поступления сообщений и их обслуживания.
Методы распределения ресурсов первого типа
характеризуются наиболее полной априорной информацией о моментах поступления
данных, длительности их обработки, об объеме памяти, необходимом для хранения
исходных сообщений, программ и массивов данных, о связях между программами. В
этом случае достоверная информация позволяет составить план последовательности
использования основных ресурсов ВС на длительный интервал времени. Затраты на
распределение ресурсов являются однократными и могут быть произведены вне
оперативного функционирования ВС.
В методах распределения ресурсов второго типа
используются статистические характеристики процесса поступления сообщений и
ресурсов для их реализации, позволяющие априорно классифицировать сообщения и
вызываемые ими программы на несколько групп, существенно различающихся
статистическими параметрами. Каждую из групп сообщений можно описать набором
параметров и их статистических распределений (или моментов распределений). Они
достаточно полно характеризуют динамику поступления сообщений и потребность
ресурсов ВС для исполнения вызываемых ими программ.
Методы распределения ресурсов третьего типа используются
при отсутствии параметра, позволяющего априори классифицировать сообщения и
ресурсы ВС для их реализации. При этом предполагаются известными обобщенные
средние характеристики всей совокупности поступающих сообщений и ресурсов ВС,
необходимых для их реализации. Отсутствие параметров, пригодных для
классификации и ранжирования вызываемых программ, приводит к тому, что ресурсы
распределяются либо совершенно случайно, либо выделяются по мере поступления
сообщений с учетом оперативных оценок потребных ресурсов ВС. Такие оценки
позволяют перераспределять поступившие сообщения и, в частности, реализовывать
в первую очередь те, которые требуют минимальных объемов памяти или
производительности ВС.
Рис. 3.2
Длительности обработки заявок. Первый тип программ (рис. 3.3, а). Для каждого определенного
входного сообщения или заявки, если отсутствуют сбои в аппаратуре и все данные,
накопленные в памяти ЭВМ, также рассматриваются как фиксированные, существует
строго определенная последовательность выполнения операций ЭВМ, приводящая к
результирующим значениям. Следовательно, длительность обработки таких данных
может быть определена однозначно. В
некоторых программах имеется один наиболее вероятный маршрут .P,w w 1, который почти всегда реализуется
при любых входных данных. Длительность обработки сообщений Г,
по этому маршруту для г-й программы может рассматриваться как средняя длительность
ее исполнения. При этом вероятность исполнения программы по другим маршрутам
считается малой, не влияющей на значение Г„ а его дисперсия — близкой к нулю.
Второй тип
программ (рис.
3.3, б). Сложные группы программ содержат тысячи условных переходов и десятки
циклов. Вследствие этого в зависимости
от конкретных значений исходных данных образуется дискретный спектр значений
длительностей обработки сообщений некоторого абонента. Такой спектр может
содержать многие тысячи значений и рассматриваться как практически непрерывное
распределение длительностей (пунктирная кривая на рис. 3.3, б). Программы этого типа характеризуются случайными
значениями длительностей исполнения, различающимися в зависимости от
содержания сообщений и типов заявок. Предполагается, что заранее известны
распределения длительности решения задач или средние значения и некоторые
параметры распределения. Они позволяют классифицировать поступление заявки по статистическим характеристикам
длительности их реализации в ЭВМ. Основным параметром такой классификации
является среднее время обработки f, заявки ;-го типа. При последовательном выполнении
группы программ образуется совокупность самых вероятных маршрутов, а множество
практически независимых случайных факторов приводит к отклонению длительностей
реализации относительно наиболее вероятного времени реализации программы.
При анализе обслуживания в большинстве практических случаев
можно удовлетвориться основными характеристиками случайных величин — их
первыми двумя моментами. При этом значение средней длительности обслуживания
Г, заявки i-го типа или интенсивности
обслуживания ц, == Tг\
важны не своими абсолютными величинами, а в сопоставлении с интенсивностью того
же потока и относительно длительностей обслуживания заявок других типов.
Программы второго типа характеризуются средне-квадратическим отклонением
длительностей обслуживания, соизмеримым или меньшим среднего значения. Это
означает, что коэффициент вариации v-i
== д/ Di/Ti ^ 1, где D, — дисперсия длительности
обслуживания.
Экспоненциальный закон распределения длительностей обслуживания
характерен тем, что большая часть заявок обслуживается сравнительно быстро.
Для длительностей исполнения реальных программ закон этот выполняется редко.
Однако такой вид распределения значительно упрощает аналитический расчет систем
обслуживания и дает удовлетворительные для практики результаты, если анализ
упорядочения ограничивается первыми двумя моментами времени ожидания заявок.
Экспоненциальное распределение позволяет получить верхнюю оценку длительности ожидания заявок или длины очереди при
стационарном случайном потоке заявок. Постоянная длительность обслуживания заявок
г-го типа может использоваться при анализе упорядочения для получения нижних оценок ожидания и потерь при случайных
потоках заявок.
Третий тип
программ
(рис. 3.3, в). Вследствие большого количества неконтролируемых факторов иногда
невозможно классифицировать длительности реализации заявок различных типов по
некоторым априорным признакам вызываемых программ. Ина
че
говоря, дисперсия длительности исполнения заявок оказывается столь велика, что
имеющаяся их классификация не позволяет отнести к каждому типу заявок среднее
значение длительности Ti, достаточно отличающееся от длительности исполнения
заявок других типов Ti+n. В этом случае предполагается известной только
суммарная средняя интенсивность исполнения всей совокупности функционирующих
групп программ без классификации их по каким-либо признакам. Интегральное
распределение длительностей обслуживания при этом приходится аппроксимировать
достаточно простым распределением. Наиболее удобным распределением является
экспоненциальное, которое достаточно хорошо подтверждается экспериментальными
исследованиями реальных длительностей решения больших сово-купностей задач при
отсутствии селекции потоков.
Оперативная память. Общее распределение оперативной
памяти ВС на зоны различного функционального назначения представлено
укрупненно на рис 3.2. В зависимости от назначения зон их объем при анализе
может выражаться в различных единицах. Однако при совместном распределении всех
ресурсов оперативной памяти приходится приводить все характеристики к
количеству слов или байтов.
Буферные
накопители.
При анализе дисциплин обслуживания сообщений объем буферных накопителей г удобно измерять не количеством ячеек
памяти или байтов, а количеством хранимых заявок или сообщений:
______общее число ячеек буферной зоны
памяти______
число
ячеек для запоминания одного сообщения или
заявки
Во всех реальных системах объем
буферной памяти ограничен 1 < r < оо. При достаточно большом
объеме буферной памяти это ограничение не является определяющим для обработки
заявок и качество обслуживания полностью зависит от длительности ожидания.
Тогда можно полагать г = оо и
качество обслуживания заявок оценивается использованием производительности
ВС. В большинстве ВС реального времени объем буферной памяти ограничен
количеством сообщений г w 50...100. При большом объеме буферных
накопителей возможно столь длительное хранение сообщений или заявок, что их
обработка может терять смысл либо из-за поступления более свежей информации
того же типа, либо вследствие практически полной потери ценности долго
ожидающих сообщений.
Память для
взаимодействия с внешними накопителями. Обмен с внешней памятью обычно происходит массивами
определенного фиксированного объема, составляющего 1024 ячеек-слов,
называемого страницей. Память
хранения программ и массивов данных можно разделить на резидентную и обменную.
В резидентной памяти размещаются программы и данные, наиболее часто вызываемые
и используемые. В обменную па
мять
программы и данные переписываются из внешней памяти по мере необходимости для
обработки соответствующих сообщений и заявок. Соотношение объемов этих памятей
зависит от ряда характеристик программ и данных, а также от технических
параметров памяти ВС. При увеличении объема оперативной памяти для резидентных
программ и данных интенсивность обмена с внешней памятью сокращается и в
пределе может отпасть необходимость во внешней памяти.
Методы
распределения ресурсов ВС. Применение тех или иных методов распределения ресурсов зависит в первую
очередь от динамических характеристик использования ВС и от степени связи
функционирования ВС с реальным временем [2, 7, 13].
Статические методы характеризуются возможностью больших
затрат производительности и памяти ВС на оптимизацию распределения ресурсов,
так как оптимизация производится однократно до начала рабочего функционирования
ВС. При этом предполагается, что априорные данные о параметрах, учитываемых
при оптимизации, не изменяются в течение всего времени функционирования ВС при
проведенном распределении ресурсов. Статическое распределение сводится обычно
к решению экстремальной задачи методами математического программирования с
соответствующими ограничениями. Допустимость больших затрат на распределение и
высокая достоверность априорной информации позволяют применять точные методы
оптимизации и получать распределения ресурсов, совпадающие с оптимальными или
очень близкие к ним. Подобные статические задачи встречаются при распределении
объемов многоуровневой
памяти,
при упорядочении последовательности решения задач для однотипного регулярного
поступления всех заявок в один или несколько процессоров и в некоторых других
случаях.
Динамические
методы распределения ресурсов
реализуются в процессе решения основных функциональных задач данной ВС. Для
этого используются память и производительность той же ВС, которая затем
применяет результаты распределения. Поэтому допустимые затраты ресурсов ВС на
распределение в этом случае весьма ограничены и не должны превышать получаемой
экономии ресурсов от использования соответствующего метода. Чем достовернее
априорная информация, используемая при распределении, и чем дольше она сохраняет
свое значение, тем более точным может быть распределение ресурсов ВС и тем
дольше можно пользоваться результатами оптимизации. В тех случаях, когда
априорно известны основные параметры заявок и их обслуживания и гарантировано,
что в течение некоторого времени будут отсутствовать искажения этих параметров,
распределение ресурсов может производиться однократно на этот интервал
времени. Соответственно разовые затраты на распределение могут быть повышены и
его целесообразно проводить с применением более точных методов.
Для сокращения затрат на распределения при частом его
проведении подготавливаются правила, или дисциплины
оперативной диспетчеризации, обеспечивающие распределения, достаточно
близкие к оптимальным. Эти правила основываются на предварительных
исследованиях различных методов распределения ресурсов. Многочисленные
технические ограничения и недостоверность априорной информации приводят к
целесообразности применения простейших правил и дисциплин, приближенно
оптимизирующих распределение ресурсов. Основой этих дисциплин являются
различные правила предпочтения или приоритетов.
Распределение
производительности вычислительных систем методами теории расписаний. В ряде ВС состав решаемых задач и
длительность их решения можно считать достаточно известными и не зависящими от
случайных факторов. Это позволяет рассматривать распределение ресурсов ВС как
строго детерминированную задачу, которую можно сформулировать в понятиях теории расписаний и решать методами этой
теории при следующих предположениях [13], когда:
все подлежащие выполнению работы полностью определены и
известны, т. е. известны последовательность значений времени поступления
заявок на их исполнение и длительность решения каждой вызываемой группы
программ;
• все заданные работы (вызываемые задачи) должны быть
полностью выполнены, т. е. отсутствуют потери заявок из-за ограниченной
буферной памяти или иных факторов, в частности из-за неисправности машин;
из-за отсутствия прореживания потока заявок при неограниченной буферной памяти в
однопроцессорной ЭВМ ограничена суммарная загрузка: р < 1;
одна ЭВМ может одновременно решать только одну задачу и
не допускается прерывание до полного завершения реализации заявки на задачу.
Методы
оперативной диспетчеризации в однопроцессорных ЭВМ. Ниже основным показателем качества
распределения ресурсов рассматривается эквивалентное изменение производительности
ВС при различных дисциплинах по сравнению с простейшими эталонными
дисциплинами распределения ресурсов. Во всех рассматриваемых дисциплинах при
наличии прерывания последующее обслуживание продолжается с прерванного состояния,
так что суммарная длительность обслуживания не изменяется при любом количестве
прерываний, если не учитываются затраты производительности ЭВМ на их
выполнение. Однако затраты на прерывания существенно влияют на эффективность
дисциплин, на что в дальнейшем обращено особое внимание.
Бесприоритетные дисциплины. При отсутствии априорной
информации о характеристиках заявок и их обслуживании нет причин для
предпочтения каким-либо из них. Порядок обслуживания в этом случае может быть
случайным или учитывать последовательность поступления заявок. Простейшими вариантами
являются обслуживание по принципу «первым пришел—первым обслужен» (s=l)
или «последний пришел— первый обслужен». Практически наиболее целесообразно
применять обслуживание в порядке поступления заявок, поэтому ниже эта
дисциплина используется как основная бесприоритетная, с которой сопоставляются
характеристики других дисциплин.
Дисциплины с квантованием времени обслуживания. При
отсутствии априорной информации о длительности исполнения программ тем не менее
во многих случаях желательно прежде всего получать результаты решения задач,
требующих минимального времени исполнения в ВС. Для этого применяется
динамическая адаптация в процессе
исполнения
программ. Выделяются некоторые интервалы (кванты) времени, в пределах которых
задача решается без прерывания. Если задача не решена полностью в пределах
такого кванта, то она прерывается, возвращается в очередь и на исполнение
пропускаются другие программы. Таким образом, вычислительные ресурсы
оперативно предоставляются преимущественно коротким по длительности реализации
задачам, а длинные решаются в течение нескольких квантов, последовательно пропуская
более короткие. Дисциплины ожидания и продолжения обслуживания после выделения
очередного кванта времени на исполнение рассматриваемой задачи различаются
количеством очередей для ожидания и методами изменения размера квантов в
зависимости от длительности ожидания или количества уже использованных квантов.
Приоритетные дисциплины. Если характеристики обслуживания
заявок различны (в зависимости от их типа или источника), то появляется
возможность предпочтения при обслуживании некоторых из них. Наиболее четко
особенности приоритетного обслуживания проявляются при анализе дисциплин с
относительными (s = 2) и с абсолютными (s = 3) приоритетами. Эти дисциплины в наибольшей степени
различаются по использованию априорных сведений о характеристиках обслуживания
обрабатываемой и поступивших заявок. Такими данными являются средняя
длительность обслуживания заявки соответствующего типа и штраф за ожидание в
очереди.
Дисциплина с относительными приоритетами (s = 2)
характеризуется тем, что заявки упорядочиваются и обслуживаются в зависимости
от средней длительности обслуживания и штрафа за ожидание в очереди. Основным
показателем, используемым для распределения типов заявок по приоритетным
уровням, является отношение а./Г; штрафа за единицу времени ожидания (а;) в
очереди к средней длительности обслуживания (Г,) заявок данного типа. При этой
дисциплине дисперсия и другие характеристики длительностей обслуживания на
эффективность дисциплины не влияют и обслуживание любой заявки не прерывается.
Дисциплина с абсолютными приоритетами (s == 3)
характеризуется прерыванием обслуживания любой заявки при появлении заявки более
высокого приоритета с последующим продолжением прерванного обслуживания после
завершения обслуживания заявки высшего приоритета. Распределение типов заявок
по приоритетным уровням, так же как и в предыдущем случае, является априорным в
соответствии со значениями отношения
о./Г,. Однако в этом случае на эффективность дисциплины, оказывает влияние
дисперсия длительностей обслуживания.
Критерии и
эффективность распределения производительности в вычислительных системах
Критерии эффективности распределения ресурсов в ВС. Реальные ограничения на
производительность и другие характеристики ВС приводят к ожиданию результатов
или к неполному
решению
задач. Неравноценность задач по допустимому времени задержки или допустимой
вероятности пропуска решения, а также различия параметров ВС позволяют
изменять качество решения задач выделением соответствующих ресурсов ВС. Упорядочение
последовательности решения задач и рациональное использование ресурсов ВС
сокращает запаздывание в решении задач и в некоторой степени эквивалентно
повышению производительности ВС. Производительность
ВС на некотором наборе задач — важнейшие критерии эффективности ВС в целом
и методов распределения ресурсов в частности. Более сложные и эффективные
методы распределения ресурсов, естественно, требуют больших ресурсов той же ВС
для своей реализации. Таким образом, возникает задача определения оптимальных
параметров ВС для решения некоторой совокупности задач с учетом качества распределения ресурсов и затрат на их реализацию.
Критерии эффективности распределения ресурсов по
штрафам. Ожидание результатов и пропуск решения задач можно описать некоторыми
потерями эффективности или штрафами за то, что задачи не решаются или решаются
не своевременно. В зависимости от назначения и типа ВС задержка может
оцениваться либо по средней длительности ожидания результатов, либо по величине
превышения фиксированного (допустимого) времени ожидания. Соответственно
предполагается, что сообщение или заявка обесцениваются либо пропорционально
длительности задержки, либо скачком при превышении допустимого (директивного)
времени ожидания.
ерациональности
применения дисциплин с абсолютными приоритетами.
Распределение
памяти в вычислительных системах
Принципы распределения буферной памяти для приема и выдачи сообщений. Для исключения связи во времени
процессов приема сообщений и их обработки применяются буферные накопители,
объем которых ограничен. При выдаче сообщений внешним абонентам буферные
накопители используются для временного хранения сообщений, необходимого из-за
несинхронной подготовки сообщений и освобождения каналов связи. Эффективность
использования ограниченных буферных накопителей прежде всего зависит от их
структурного построения и распределения имеющейся памяти на зоны (см. этап 2
на рис. 1.3). Кроме того, на эффективность существенно влияют дисциплины
заполнения памяти заявками-сообщениями и их передачи из накопителей на
обработку [13, 17].
Основной характеристикой, используемой для оценки объема
буферной памяти, а также для определения эффективности накопителей и
оптимизации их объемов, является вероятность
потери сообщений из-за переполнения памяти. В реальных ВС загрузка и
дисперсия длительности обслуживания являются случайными величинами и известны
всегда с некоторой точностью. Эта точность исходных данных определяет
случайную ошибку вероятности потери и должна сопоставляться с методической
ошибкой расчетов и приближенных формул.
Структура систем выдачи сообщений из ВС в большинстве
случаев характеризуется наличием нескольких потребителей информации, каждый из
которых должен получать сообщения только определенного вида. Таким образом,
системы выдачи могут рассматриваться как неполнодоступные
многоканальные системы, в то время как организация вычислительного
процесса в ЭВМ анализируется на моделях одноканальных
систем массового обслуживания. Особенность систем выдачи сообщений — большая
роль детерминированных и управляемых потоков. В ряде случаев выдача сообщений
производится почти периодически с малой дисперсией времени между последовательными
сообщениями. Кроме того, темп формирования сообщений, определяющий
интенсивность потоков, может регулироваться обратной связью от загрузки каналов
передачи сообщений с целью поддержания загрузки в допустимых пределах.
При приеме разнородных сообщений по их характеристикам
может быть определена шкала упорядочения сообщений различных типов.
Распределение по приоритетам производится путем последовательного анализа пар
типов заявок и рекуррентным распределением их по приоритетным уровням. Для систем
с неог
раниченной
памятью правило попарного распределения по приоритетным уровням в порядке
неубывания 7',/а, обеспечивает оптимальное распределение произвольного
количества типов заявок при дисциплинах с относительными и абсолютными приоритетами.
При ограниченной буферной памяти путем такого же рекуррентного распределения
пар типов заявок по приоритетным уровням может быть получено близкое к
оптимальному распределения для всей совокупности типов заявок.
Для дисциплин с относительными приоритетами, когда при
отсутствии свободного места для заявок высшего приоритета исключается самая
старая заявка низшего приоритета, имеется метод расчета вероятностей потери
заявок двух приоритетов при произвольном распределении длительностей
обслуживания заявок. Эта дисциплина при общей буферной памяти отличается
сильной зависимостью вероятностей потери от отношения длительностей обработки
заявок. Следовательно, программы, редко включающиеся, но требующие для своей
реализации относительно большего времени непрерывного счета, целесообразно
делить на части. Каждая из частей должна быть близка по времени реализации к
остальным программам либо следует допускать возможность прерывания программы с
большой длительностью реализации более короткими. При расчете необходимого
объема буферной памяти следует также учитывать соотношение значений загрузки
ВС заявками высшего и низшего приоритетов.
Для дисциплины с абсолютными приоритетами обслуживание
заявок высшего приоритета происходит практически независимо от состояния
процесса обслуживания заявок низших приоритетов. Вероятность потери заявок
высшего приоритета при общей буферной памяти может быть рассчитана как
вероятность потери этих заявок при одном потоке с той же загрузкой и полным
объемом буферной памяти. На вероятность потери заявок низших приоритетов
существенно влияют загрузка, создаваемая заявками высших приоритетов, и сокращение
доступного для заявок низших приоритетов объема буферной памяти, если она не
разделена на зоны.
Отсутствие влияния дообслуживания заявок низшего приоритета
для дисциплины с абсолютными приоритетами приводит к более быстрому изменению
вероятностей потери заявок высших приоритетов при увеличении размеров
автономных зон, чем при относительных приоритетах. При увеличении соотношения
длительностей обслуживания у
вероятность потери заявок высшего приоритета практически не меняется, а
значения вероятности потери заявок низшего приоритета несколько снижаются.
Однако при памяти, разделенной на зоны, снижение вероятности потери заявок низшего
приоритета происходит при малых значениях Y в меньшей степени, чем при
объединенной памяти.
Соотношение
производительности ВС и объема буферной памяти. В ВС, работающих в реальном времени и
имеющих ограниченные ресурсы по памяти и производительности для решения
функциональных задач, возникает задача взаимного размена этих ресурсов. Так,
например, путем увеличения памяти программ или констант возможно снижение
требований к производительности ВС, если набор решаемых задач остается постоянным.
При этом, естественно, возникает вопрос о соотношении взаимных изменений этих
параметров. В частном случае одна из задач состоит в определении соотношения
между производительностью ВС и необходимым объемом буферных накопителей при
условии, что потери заявок не изменяются. Если интенсивность внешнего потока
считать фиксированной, то производительность ВС определяет среднее время
обслуживания заявки Т, а
следовательно, полную загрузку р = КТ.
Таким образом, при фиксированных параметрах потоков и неизменных задачах
загрузка может рассматриваться как показатель использования производительности
ВС в реальном времени.
Принципы
распределения многоуровневой памяти. Использование ие
рархической
многоуровневой памяти в ВС позволяет существенно снизить суммарную стоимость
хранения больших объемов информации при некотором допустимом снижении
быстродействия ВС. Запоминающие устройства используются в порядке убывания
быстродействия и стоимости хранения единицы информации и соответственно в
порядке возрастания объема хранимых данных. Оптимизация построения
иерархической памяти всегда ориентирована на определенную специфику
используемых программ и данных.
Затраты на организацию обмена данными между запоминающими
устройствами различных уровней приводят к снижению производительности ВС на
20...50 % по сравнению с производительностью процессора, использующего память
только верхних иерархических уровней (оперативную и сверхоперативную). Это
определило широкое использование оптимизации распределения памяти на основе показателей производительность — стоимость. 'Для
решения этой задачи проводится анализ [2, 7, 17]: распределения памяти по
уровням иерархии; динамики вызова и замещения массивов данных (страниц) в
оперативной памяти; эффективности взаимодействия в двухуровневой (в основном
вращающейся) памяти.
Распределение
памяти по иерархическим уровням. Одна из задач использования многоуровневой памяти
состоит в оптимальном выборе объемов памяти различных типов. Для этого среднее
время обращения сводится к минимуму при заданной ограниченной стоимости ВС или
минимизируется стоимость системы при заданном среднем времени обращения за
информацией. Предполагается, что устройства памяти образуют иерархическую
систему, компоненты которой известны и различаются временем выборки и стоимостью
единицы хранения, а также объемом одного блока [13]. Для оптимизации необходимо
задать объем памяти, используемой для хранения программ и дан
ных
каждой задачи, а также их «активность» или частоту вызова на решение.
Дисциплины
замещения страниц при многоуровневой памяти. Использование многоуровневой памяти предполагает, что на
высшем уровне памяти может размещаться некоторая ограниченная часть программ с
используемыми ими массивами данных. Программы, размещенные во внешней памяти,
перед исполнением должны быть переписаны в оперативную память, что приводит к
дополнительным затратам времени. Требующаяся программа переписывается из
внешней памяти и «вытесняет» из оперативной памяти какую-либо из находящихся в
ней. Возникает задача выбора дисциплины
замещения программ и обмена с внешней памятью, позволяющей сократить
затраты, обусловленные ограниченным объемом оперативной памяти [13, 21].
В большинстве реальных ВС обмен с внешней памятью производится
порциями фиксированного объема, которые называются страницами. Пересылка любой
страницы из внешней памяти в оперативную занимает одинаковое время. Это
позволяет рассматривать затраты на обмен с внешней памятью, прямо пропорциональными
частости вызова страниц. Поэтому в качестве критерия для оценки эффективности
дисциплин используется частость пересылки страниц или вероятность обращения за
страницей к внешней памяти.
Основной характеристикой процесса обмена является вероятность
смены страницы, т. е. вероятность
такого события, когда
окажется
необходимым обращение к странице, находящейся вне оперативной памяти. Эта
характеристика зависит от объема оперативной памяти, размера страницы,
скоростных характеристик оперативной и внешней памяти, последовательности
обращений к страницам, а также от дисциплины замещения. Основные алгоритмы
замещения следующие.
Случайный
выбор (СВ) —
любая страница оперативной памяти с
одинаковой вероятностью может оказаться замещаемой.
Наиболее
давно использовавшаяся (НДИ) — замещается та страница
из оперативной памяти, к которой дольше всего не было обращений
(предполагается, что для каждой страницы в оперативной памяти запоминается
время последнего обращения к ней).
Прямой
порядок, обслуживания (ППО) — замещается страница, раньше всех остальных оказавшаяся
в оперативной памяти, т.е.
замещается первая по порядку из ранее записанных в ОП страниц. Способ реализации стратегии ППО основан на запоминании
для каждой страницы времени ее последнего ввода в оперативную память.
Наименее
часто используемая (НЧИ) — замещается страница, меньше всего используемая, т. е. имеющая наименьшее
число обращений. Реализация этого алгоритма основана на использовании данных,
характеризующих частоту обращений к страницам.
В тех случаях, когда программы независимы и одинакового
объема, отсутствуют ограничения на использование оперативной памяти и каждая
программа вызывается регулярно с заданным темпом, доказано, что в оперативной
памяти следует замещать программу, к которой следующее обращение произойдет
через максимальный интервал времени. В простейшем случае предполагается, что
все заявки случайны, программы независимы и имеют равную длину. Количество
программ, находящихся в оперативной памяти, определяется ее объемом и
характеризуется количеством одинаковых участков от, достаточных для размещения
каждой программы. Общее количество программ п~>т
и программы, не помещающиеся в оперативной памяти, размещаются во внешней
памяти. При появлении заявки на программу, отсутствующую в оперативной памяти,
определяется программа, подлежащая удалению, и фиксируется обмен с внешней
памятью. В этом случае оптимальной (ОПТ на рис. 3.13) является дисциплина, при
которой программы с наибольшей вероятностью вызова постоянно размещены в
оперативной памяти, и выделен единственный
участок. оперативной памяти, в который записываются по мере вызова все
остальные программы. Таким образом, для обмена целесообразно использовать
только один участок оперативной памяти, а все остальные участки могут быть, в
принципе, заменены постоянной полнодоступной памятью с неизменными программами.