- •«Оценка эффективности управления технологическим процессом при использовании вычислительных систем с иерархической памятью»
- •Теоретическая часть
- •Память в эвм
- •Модель вычислительного процесса. Организация иерархической памяти
- •Формальная постановка задачи определения числа межуровневых обменов
- •Реализация алгоритма lru
- •Практическая часть
- •Аналитический метод определения числа межуровневых обменов
Модель вычислительного процесса. Организация иерархической памяти
Процесс
решения на ЭВМ задач, обладающих
определенной стационарностью
статистических характеристик, можно
описать, используя математический
аппарат конечных цепей Маркова. Будем
считать, что процесс выполнения программы
описывается марковской цепью первого
порядка, в которой каждому из состояний
ставится в соответствие одна из страниц
программы.
При реализации такой программы в машинах со страничной организацией памяти широко используются алгоритмы: RAND – любая страница может с одинаковой вероятностью оказаться заменяемой; LRU – выводится из оперативной памяти страница, к которой дольше всего не было обращения; FIFO – выводится из оперативной памяти страница, которая раньше всех там оказалась. Для определенности далее рассматривается алгоритм LRU.
Полагается, что иерархическая память состоит из двух уровней: оперативной памяти и внешнего запоминающего устройства (ВЗУ). Эти уровни обозначим соответственно через u и (u+1) (рисунок 3).
Рисунок 3 – Два уровня иерархической памяти
Формальная постановка задачи определения числа межуровневых обменов
Введем следующие обозначения:
- множество страниц программы;
m – число страниц, размещающихся в верхнем уровне памяти;
x1, xk – соответственно начальная и конечная страницы программы;
Pij – вероятность перехода от страницы xi к xj странице;
Nu(u+1) – среднее число обменов между уровнями u и (u+1) в процессе реализации программы;
(Nu(u+1)) – среднее число перезаписей страницы xi из уровня u в уровень (u+1) в процессе реализации программы;
Rl – кратность обращений (среднее обращение к l–й странице после одной перезаписи с нижнего уровня памяти в верхний до ее удаления из верхнего уровня памяти).
Требуется определить Nu(u+1) , если известны ; m, x, x2, Pij.
При решении задачи предполагается, что в системе применен алгоритм смены страниц LRU.
Реализация алгоритма lru
Управление
замещением страниц при том или ином
алгоритме осуществляется посредством
определения действий операционной
системы с некоторым списком страниц
верхнего уровня памяти. Страницам
верхнего уровня присваиваются номера
от 1 до m, а всем страницам, находящимся
в ОЗУ, - номера m+1. Для алгоритма LRU
считается, что при обращении к странице
xl (l=
)
ей присваивается номер 1 (страница xl
ставится на первое место в списке). Пусть
- момент времени, в который произошло
обращение к странице xl. Тогда для любого
момента времени
и такого, что в интервале [
,
]
не было ни одного обращения к странице
xl, ей присваивается номер
по правилу:
где
- число различных страниц, к каждой из
которых произошло обращение в интервале
времени [
,
].
Такая дисциплина перемещения страниц
в списке страниц отвечает требованию
алгоритма LRU: выводится из ОП страница,
к которой дольше всего не было обращений.
Ниже приводятся некоторые моменты
перераспределения страниц в списке при
m = 4:
а) страница xl вызывается из ВЗУ. Она ставится на первое место в списке, занимающая m–е место удаляется из списка (удаляется из верхнего уровня памяти);
;
б)
страница xl вызывается с третьего места
в списке. Ей присваивается первый номер,
а номера страниц
и
увеличиваются на единицу:
в) страница xl находится на третьем месте, и происходит обращение к странице . Страница меняется местом со страницей , а позиция страницы xl не изменяется:
