М.С. Сущенко
АНАЛИЗ ПРОИЗВОДИТЕЛЬНОСТИ МНОЖЕСТВЕННОГО АССОЦИАТИВНОГО КЭША
Предложен сравнительный анализ различных моделей организации кэша, позволяющий судить об их эффективности. В качестве меры эффективности используется вероятность обнаружения в кэше нужного блока памяти при заданных объемах кэша и памяти, размерах блока и известном распределении приложения (кода и данных) в адресном пространстве. Найдено среднее время выборки объекта, адресуемого приложением, при различных параметрах кэша.
В настоящее время при разработке микропроцессорных архитектур, построении вычислительных систем и сетей, создании распределенных прикладных систем для обеспечения быстрого доступа к наиболее часто используемым данным широко применяется многоуровневая организация памяти. На верхнем уровне находится самая быстрая и, как следствие, самая дорогая и имеющая наименьший объем память в иерархии, а на нижнем - самая медленная, дешевая и емкая [1-4]. Память верхнего уровня принято называть кэшем. Функция кэширования (накопления и сохранения данных для быстрого доступа к ним) используется при выборе процессором адресуемых объектов из оперативной памяти (кэш памяти), при доступе к данным, записанным на магнитных дисках (кэш диска, размещенный в оперативной памяти), при получении информации, распределенной во всемирной паутине сети Internet в виде гипертекста (кэш WWW, размещенный на локальных магнитных дисках или на магнитных носителях, существенно приближенных к получателю информации по сравнению с основным источником).
Принципы функционирования ассоциативного кэша
Идейной основой применения кэшей различных типов является принцип пространственной и временной локальности [2, 5]. Различают три модели организации чтения (выборки) данных из кэша: кэш прямого отображения, полностью ассоциативный кэш и множественный ассоциативный кэш [4-8]. В работе предложена общая модель, в параметрической форме определяющая различные типы кэша.
В общем случае организации иерархической памяти кэш и основная память разбиты на блоки (строки) длиной 1. В кэше блоки объединяются в группы объема A > 1, называемого коэффициентом ассоциативности кэша. При A=1 имеем кэш прямого отображения. Если размер группы совпадает с общим числом блоков в кэше, то получаем полностью ассоциативный кэш. Промежуточное значение параметра A приводит к множественному ассоциативному кэшу.
На каждую g-ю группу блоков кэша ассоциативности A (g = 0, G —1) отображается последовательность блоков памяти с номерами g+jG, где G=K/Al - количество групп кэша, M=AP/K - число строк памяти, отображаемых на одну группу кэша, K и P - объем кэша и памяти соответственно. При выборе данных из кэша младшая часть адреса объекта в памяти (индекс) однозначно определяет номер группы, в которой может быть расположен адресуемый объект, а старшая часть, называемая признаком, используется для идентификации требуемого блока памяти среди множества строк памяти, отображаемых на данную группу кэша. Для этого старшая часть адреса сравнивается с признаком, записанным в признаковую (теговую) память каждой строки кэша при загрузке данных. Если признак одной из строк группы совпал со
старшими разрядами адреса, то необходимая информация находится в кэше, в противном случае - запрашиваемых данных в кэше нет и необходимо обращаться к памяти. Если все блоки группы заполнены, то возникает «конфликт адресов» блоков памяти, отображаемых на данную группу кэша [4, 5], и приходится вытеснять какой-либо из блоков кэша этой группы. Важнейшими операционными показателями кэша являются среднее время доступа к объектам кэшируемой памяти и вероятность попадания в кэш, которые определяются прежде всего распределением приложений по основной памяти. Данное распределение задается вероятностями р^+От) потребности вычислителя в т-м блоке памяти, отображае-
íc
мом на g-ю группу кэша
— 1M — I
ЕЕр(я+От)=! •
V £=0т=0 )
Среднее время выбора объекта (т-го блока), отображаемого на ,-ю группу кэша, из двухуровневой памяти (кэш - память) определится следующим выражением:
Tgm = Р gmt+(1—P gm )T•
(1)
Здесь Р т - вероятность обнаружения объекта в
кэше; t - время выборки объекта из кэша; Т - время выборки объекта из памяти. При последовательной реализации этапов доступа к адресуемому объекту соотношение (1) можно переписать в виде
Tgm =Р gm (а +tcA +^Ь )+(1-Р gm )^а +1сА+1т+
+Та +1ТЬ ) =а +tcA +^Ь Р gm +^с (А-А )+Та +
+1 (т+Ть )](1-Р т),т=Щ^=1О,
где ta - время адресации объекта в кэше; tc - время сравнения признакового поля кэша со старшей частью адреса; А - среднее количество сравнений при условии обнаружения блока в кэше; I - длина блока; 4 -время выборки байта из кэша; т - время вытеснения блока данных из кэша; Та - время адресации объекта в памяти; Ть - время выборки байта из памяти и записи в кэш. Среднее время доступа к объектам кэшируемой памяти определится соотношением
_ О-1М-1_
Т = ЕЕ TgmP( g + От) (2)
g=0 т=0
а вероятность попадания в кэш - зависимостью
О -1 М -1
Р =ЕЁР gmP(g + От). (3)
g=0 т=0
Урновая модель кэша
Считаем, что для группы g известны условные вероятности потребности вычислителя в т-м блоке памяти
Г, (т)=мё^Ь, (т)=1,
£р(з+О0 —
m=0
отображаемом на эту группу кэша. При априорных сведениях только о вероятностях ¡(т) поиск нужного блока памяти описывается урновой моделью выбора без возвращения [9]. Вопрос состоит в определении вероятности выбора необходимого объекта т за А попыток.
Пусть А=2. Вероятность попадания блока т в кэш определится вероятностью обнаружения его в первой либо второй строках кэша:
М-1
Р gm = ¡2 (т) + Ё fg (т 1 О’
г'=0,г'Фт
где ¡¿т | г) - вероятность выбора т-го блока памяти во второй строке кэша при условии, что в первой строке обнаружен г-й блок. Поскольку при проверке блоков группы кэша на наличие адресованного объекта число возможных исходов сокращается на количество уже выполненных сравнений, то для величины | г) в предположении произвольного рас-
пределения приложений по пространству адресов
f (т)
справедливо f (т | г) = f (т)—я^ . Тогда окон-
чательно имеем Р = / (т)
і=0 /іт -1-
/я (/) - /я (/)
Для кэша ассоциативности А=3 вероятность попадания в кэш составит
М -1 М -1 М -1
Рят = Л (т) + Ё ¡г(т 1 г) + Ё Ё¡г (т 1 }}■
г'=0,г'Фт г'=0,г'Фт у=0, jФm,i
Здесь¡.(т | у) - вероятность выбора т-го блока памяти в третьей строке ,-й группы кэша при условии обнаружения г-го блока в первой строке кэша и у-го - во второй, которая определяется соотношением
Л (т | /, Л) = / (т)
Л (/) /я (л)
(1 - /я (/))(1 - /я (/) - /я (Л))
В случае кэша произвольной ассоциативности А вероятность попадания в ,-ю группу т-го блока памяти определится зависимостью
М-1 М-1 М-1
Р ят = ¡Я (т)+ Ё¡Я (т|^1)+ Ё Ё¡Я
¿1=0, ^Фт ¿1=0,^1^т^2=0к Фт,к\
М -1 М -1
...+ Ё... ЁЛ (т|к1,...,кА-1).
к!=0,к1^ткА-1=0,кА-1^т,к1...кА-2
Условные вероятности при этом имеют вид
/я(т 1 кт,..., ка) = /я (т)П-
/я (к)
, а = 1, А -1.
=Т 1 -I /я к)
л=1
Условное среднее количество сравнений до обнаружения нужного блока с номером т, отображаемого на я-ю группу кэша Аят , задается зависимостью
Аят = рЧ"/я (т) +1а/я (т|к1,...,ка-1)>| .
ят \ а=2 )
При равномерном распределении приложений по пространству адресов памяти (/я(т)=\1М=К1АР) вероятность попадания в кэш блока памяти т определится зависимостью
Р =^у[1-I П\М±-А-К ят мОім) ЇП-і/м м р
Отсюда видно, что при равномерном распределении приложений в памяти вероятность попадания в кэш инвариантна к коэффициенту ассоциативности кэша. Среднее число сравнений при этом равно А = (А +1) / 2, из
чего следует, что для приложений с равномерной загрузкой поля памяти (частотой обращения) наилучшим является кэш прямого отображения. Однако, как правило, реальные приложения имеют существенно неоднородное по частоте обращения расположение адресуемых объектов в оперативной памяти.
Модель кэша с идеальным вытеснением блоков
Важнейшим фактором, определяющим частоту попадания в кэш ассоциативности А>1, является стратегия вытеснения блоков из группы кэша при возникновении конфликта адресов. Очевидно, что наиболее предпочтительной является стратегия вытеснения самого неиспользуемого блока в группе, т.е. имеющего наименьшую вероятность ¡(т) быть востребованным. Определим влияние оптимальной стратегии вытеснения самого неиспользуемого блока в группе на общую производительность кэша (частоту попадания в кэш). Для простоты будем анализировать отдельную группу кэша и при рассмотрении опустим индекс принадлежности к различным группам кэша я.
Предположим, что вероятности fт) упорядочены по убыванию значений и априори известны механизму вытеснения блоков кэша. Функционирование группы кэша можно описать случайным Марковским процессом вА-мерном пространстве {т1, т2,...,тА}, где та -
номер блока памяти, находящегося в а-м блоке группы кэша. Переходные вероятности цепи Маркова, описывающей динамику процесса замещения блоков данных в кэше, имеют вид перемещений вдоль координатной оси с максимальным значением координаты:
%и = f (т),1 ^г!,^,...,^},^ = 0,М-1,а=1, А;
^ j2’•••’ jA}’ ук = т,к=агя{тах та}’ у = га,
__ а=1,А
а=1, А,а Ф к.
Здесь 1 и J - координаты исходного и измененного состояний соответственно.
Рассмотрим кэш ассоциативности, равной двум. В стационарных условиях уравнения равновесия для вероятностей состояния Ру полностью заполненной группы кэша принимают вид
М -1 М -1 М -1
Р Ё f (I) = f (г) Ё Ру+ f (у) Ё Ра,
I=0,1 Фг, у' I=у'+1,1 Фг I=г+1,1 Ф у
г, у = 0,М -1, г Ф у.
С учетом условия нормировки отсюда находим, что вероятные состояния симметричны и расположены вдоль координатных осей:
/ (і)
, г, у=1,м-1. (4)
2(1-f (0))
Вероятность попадания в кэш буфера с номером т = 0, М -1 определится соотношением
м-1
р = Ё (р. + р )
т / , У гт тг/
г=0
С учетом вероятностей состояний Р у получаем
М-1
Р 0 = 1, Р m =
f (m) і - f (0);
m = 1, M -1.
Т.е. самый используемый блок (с номером т=0) в стационарном режиме всегда находится в кэше.
Пусть А=3. Уравнения равновесия записываются так:
М-1 М-1 М-1
Рук I / (I) = / (і) I Рук + / (Л) I Рік +
/=0,/і/, Л,к І=тах{ у ,к}+1,/і/ /=тах(/,к}+1,/і у
+ f (k) Z Pji , i, k = 0,M -1,i ф j, k, j ф k.
l=max{i, j}+1,/ф к
Для вероятностей состояния справедливо :
P000 = P111 = Pijk = 0, i, j, k = 2,M - 1
P01i = P10i = P0i1 = P1i0 = p01 = p10 =
= f(i)
6(1 - f (0) - f (1))
i = 2, M -1.
Вероятности обнаружения необходимых блоков памяти в кэше определяются из выражения
M-1M-1
р =УУ(Р.. + P + Р . + P + р.. + p..).
m / j v ijm jim imj jmi mij mji J i=0 j=i+1
Из данного соотношения окончательно получаем
Р = p = 1 р =
Г0 Г 1 А? Г m
f (m)
1 - f (0) - f (1)
, m = 2, M -1.
l = max {mè }+1,l ima
è=1,A,è*ma
P
f(m)
k1-ka-1mka+1-k^
' A-2
1 -Z f (/)
V /=0
A!
ка = 0, А - 2, к, Ф к,, г, у = 1, А -1, т = А -1,М -1.
а 7 7 г J 7 7 J 7 7 7
Таким образом, цепь Маркова, описывающая динамику вытеснения блоков кэша, распадается на совокупность замкнутых множеств состояний, образующих А! неприводимых подцепей Маркова [10].
Для вероятностей обнаружения блоков памяти в кэше в силу симметричности вероятностей состояний цепи Маркова справедливо
М-1 М-1 М-1
Р = Ё Ё Ё А!Р
т "■ " тт^.-.тА-х*
mj =0 m2 =mj + 1 mA- =m^-2 +1
При этом
p a =1,a = 0, A - 2; Р m =-
f (m)
1-Z f (k )
, m = A-1,M-1. (5)
Отсюда следует, что О(А-1) строк кэша достоверно содержат самые необходимые блоки памяти, а О строк (по одной в каждой группе) используются для попеременной подкачки недостающих вычислителю блоков памяти. Из этого можно заключить, что вероятность попадания в кэш (3) принимает максимальное значение при полностью ассоциативном кэше, в котором только одна строка используется для замещения блоков памяти, в то время как в других находится самая востребованная процессором информация.
В силу симметричности вероятностей состояний условное среднее число сравнений признакового поля кэша с признаком, выделенным из адреса объекта, для любого т составляет
1 А М -1 М -1 М -1 М -1
Ат =— ЁЁ Ё ... Ё Ё ...
р.
=1 k1 = 0k2 =k1 +1 ka-1 =ka-2 +1 ka+1 = ka-1 +1
Отсюда следует, что при ассоциативности А=3 два самых используемых блока памяти, отображаемых на данную группу, гарантированно находятся в кэше.
Для кэша произвольной ассоциативности А система уравнений равновесия принимает следующий вид:
М-1
РЩт I / (І) =
І=0,Іі тіт а
та = 0, М -1, а = 1, А, ті і ту, і, у = 1, А,
а вероятные состояния симметричны и находятся на отрезках прямых, параллельных различным координатным осям, общее количество которых равно числу перестановок А координат:
Рщ...тл = 0, та = А - 1М -1 а = 1 А;
... Ё а(А - 1)!Рк1...ка-1тка+1...кА = (А + IV2.
кА =кА-1 + 1
Рассмотренная схема вытеснения основана на априорном знании вероятностей f (т). В реальной ситуации
эти показатели заранее неизвестны, а оцениваются по количеству обращений программ к различным блокам группы кэша. При этом возможны ошибки оценивания величин f (т) для блоков, находящихся в кэше. Исследуем влияние таких ошибок на частоту попадания в кэш.
Модель кэша со случайным вытеснением блоков
Предположим, что как и прежде, пространство состояний построено в соответствии с убывающим порядком объективных вероятностей востребованности блоков памяти центральным процессором ¡т), т =0,М-1. Считаем, что механизму вытеснения блоков неизвестно распределение приложений по оперативной памяти и в каждой точке {ть...,тА} пространства состояний процесса функционирования группы кэша производится оценивание частоты обращения к блокам кэша, позволяющее определить взаимный порядок величин т) для блоков, находящихся в кэше. При этом с
____ А
вероятностями Чт1..тл 0'Х г 1 A’ Ё Чщ...тл (г) = ^
г=1
происходит замещение блоков
к1 = аrg{ _тах та}, г = 1, А .
а=1, А,аФк1,...,кг_1
Переходные вероятности для цепи Маркова, описывающей поведение механизма замещения с оцениванием взаимного порядка блоков группы кэша, имеют вид
п и = f (т)^1 (I ),1=1,А, 1 ={i1’•••’iл}’iа =0М-1,а=1,А;
п и = f (т)^1 (1),1=1,А,1 ^г!,...,^},^ =0М -1,а=1,А;
и ={jl’•••’jл}’ук, =т,к1 =arg{ -т;Р , та}
Л =га ,а = 1А,аФк1 •
Величину ф(1) можно интерпретировать как вероятность правильного решения (идеального вытеснения), а
величины дХа), а = 2, А - вероятности замещения обь-ективно нужных строк кэша, упорядоченные по возрастанию степени востребованности блоков группы кэша. Значения а>1 характеризуют вероятности нерациональ-
M-1
а
a=1
k=0
ного движения в пространстве состояний, обусловленные неверной оценкой величин /т). Уравнения равновесия записываются так:
Рт^т, I /(/) =
і=0,/і т^.т,
А М-1
= I /(та ) I Чт1..та_1/та+1тА (і')Рп
mт...ma_тlma+т...mA *
та = 0,М -1, а = 1, А, т1 Ф ту, г, у = 1, А.
Здесь 5 - порядковый номер (индекс) величины I в упорядоченном по убыванию множестве {ть..., та-1, I, та+1,..., тА}.
Будем полагать, что вероятности д/а) одинаковы в различных точках пространства состояний: д/а)=д(а), . Рассмотрим систему уравнений равновесия при А=2 и М=3. Положим д(1)=д, д(2)=1-д. Тогда вероятности состояний симметричны и имеют вид
Р01 = Р10 = д(2 - д) л (0) л (1)/2{д(2 - д) л (0) л (1) +
+ (1 - д + д2) Л (0) Л (2) + (1 - д2) Л (1) Л (2)},
(1 - д + д 2) Л (2)
Р = Р = Р -
1 02 1 20 01
Р = Р = Р
М2 1 21 і 01
9(2 - ?) / (1) (1 - 92) / (2)
д(2 - д)Л (0)
Нетрудно видеть, что при д=1 данное решение совпадает с решением для идеального вытеснения (4). При д=0 вероятности состояний принимают вид:
Л (0) Р = Р = Л (1)
Р = Р =0- Р = Р =--1 01 М0 ^?і02 1 20
Р = Р =-
' 12 21
2(1-/(2)) 2(1-/(2))
что эквивалентно решению (4), если вероятности востребованности блоков упорядочены по возрастанию значений /(т). Значение д = 1/2 соответствует равновероятному замещению блоков кэша и приводит к следующему соотношению:
р =______________/ (і) / (Л)____________
у 2[/(0) / (1) + /(0) / (2) + / (1) / (2)]
/,Л = 0,2, і і у.
На рис. 1 приведены сравнительные кривые зависимостей вероятностей попадания в кэш различных блоков памяти. Нетрудно видеть, что максимальное значение ве-роятности попадания в кэш (1) достигается для стратегии идеального вытеснения д=1.
Рис.1. Зависимость вероятностей обнаружения блоков памяти в кэше от вероятности правильного решения при/(0)=1/2, /(1)=1/3, Х2)=1/6
Динамические свойства идеального кэша
При выполнении вычислительных процессов из-за динамики вычислений и перемещения страниц виртуальной памяти в общем случае распределение приложений в памяти изменяется, и важными параметрами кэша являются вероятностно-временные характеристики движения марковского процесса замещения блоков кэша к стационарному состоянию. Найдем функцию вероятностей РА), к>Л-1, распределение времени движения к
п
стационарному состоянию Ра(п)= ЁРл (к),п>А-1 и
к=А-1
да
среднее время Бл = Ё кРА (к), в течение которого из
к=А-1
любого нестационарного состояния можно попасть в одну из неприводимых подцепей Маркова. Время движения к стационарному состоянию - это время попадания А-1 координат цепи Маркова в область значений пространства состояний т = 0, А - 2 .
При А =2 время движения распределено по геометрическому закону с параметром Л(0) и среднее
время определяется соотношением £2 = 1/ Л (0).
С ростом ассоциативности геометрический характер функции вероятностей сохраняется, но по мере достижения координат стационарного состояния меняется параметр распределения. Для кэша ассоциативности А=3 вероятность Рз(к), к>2, достижения стационарного состояния ровно за к шагов сначала имеет геометрический вид с вероятностью неуспеха, равной 1-/(0)-/(1), и вероятностями успеха /(0) и ¡(1) событий т=0 и т=1 соответственно. После попадания в состояние т=0 или т=1 параметр распределения принимает значение ¡(1) или ¡(0) соответственно. Определение функции вероятностей имеет вид:
р3 (к) = Л(0)Л(1) Ё [1 - Л(0) - Л(1)Г ^ {[1 - Л(0)]к-г-2 + г=0
+[1 - Л(1)]к-г-2 }= Л(0)[1 - Л(0)]к-1 + Л(1)[1 - Л(1)]к-1 -
-[/(0)+Л(1)] - Л(0) - Л(1)]к-1.
Вероятность достижения стационарного состояния за время п>2 задается зависимостью Р3 (п) = 1 - (1 - л(0))п - (1 - л(1))п + (1 - л(0) - л(1))п, а среднее время движения к стационарному состоянию составит
^ = Л3 (0)+Л3 (1)+2 Л (0) л 2 (1)+2Л2 (0) л (1)
3 Л (0) Л (1)1/-(0)+Л (1)]2 _ '
В случае Л(0) = Л(1) = Л отсюда получаем £3 = 3/2Л . При А=4 для функции вероятностей имеем
р4 (к) = Л(0)Л(1)Л(2)Ё [1 - /(0) - Л(1) - Л(2)] X
к-3-і ґ
■ I { [-/ (0)-/(1)]
у=0
х[(1- / (0))к-3-/-у +(1- / (1))к-3-/-у ]+
[1-/(0)^./ (2)]Л [(1-./ (0))к-3-/- Л +(1-./ (2))к-3-/-Л ]+■ [1-/ (1)-/ (2)]у [(1-/ (1))к-3-/-Л +(1-./ (2))к-3-/-Л ]}=
а=1
/=0./іт
/=0
=Zjf(a)(1- f (a))k-1 - £ f (i) 1- £f (i)
у i=0 ,fca J
i=0,fca 2
+Ё / (г')| 1-Ё/(г)
г=0 \ г-0 /
Распределение времени движения к стационарному состоянию имеет вид
2 Г Г 2 V 1 ( 2 >
Р4 (п)=1_Ё (1-/(а))п - 1- Ё/(г) Н 1-Ё/(г)
а=0 I у г=0,гФа /IV г=
а среднее время составит
^4 = Ё |/Г / + / (а) - 2 / 2 (а)]
а=0 I * (а)
1 - Ё ¡(г)
£ f (i)
i=0,i^ a
2 ( 2 > 2 "
1 + Z f (i) - 2 Z f (i)
i=0,i^a 4i=0,i^ a J
1-Z f (i)
Z f (i)
i=0
i+Z f(i) - 2I £ f(i)
При/а)=/ а = 0,2 получаем £4 =11/6/.
Для произвольного А функция вероятностей определится следующим соотношением:
Л_2 к+1_л( Л_2 V1 к+1_Л-г1 Л_2( Л_2 V2
Рл(к)=П/(а) Ё 1-Ё/(у) Ё Ё 1- Ё/(у)
а=0 г\=0 у у=0 / =0 а1=0у у=0,уФа1 /
к+1_Л_4_/2 л_2 ( Л_2 У3
х Ё Ё 1- Ё/(/) •••
г3=0 а2=0,а2Фа1у j'=0, уФа^а /
A-2
k+l-A-Z-tfi,
••• Z Z
‘A-2=° aA-3=0.aA-3*q,-aA-4
A-2
VA-2
X If))'
j=0,;'*ai,-,aA-3
1- I/o)
V j'=0/ta1.-aA-3 J 1k+1-A-Ziii2‘i
При /а)=/ а=0,А-1, (Л-1)/^1 вероятностно-временные характеристики переходных процессов функционирования кэша принимают вид
Рл (к )=( А-1) / ]>:(-1)а (А_2 )(1_(а+1) /)к-1,
Л_1
Рис. 2. Зависимость среднего времени движения к стационарному состоянию от вероятности востребованности блока
P (n)=1+£(-1)a ( Aa1|(1-af Г
- 1 A-1, * \ a+1 1 (A-1^ 1 AP1
1 A -1
Sa =- Z(-1)a
J a=1
1
КZ- f < An-
aV u J fa=i a A-1
Характерная зависимость среднего времени движения к стационарному состоянию от вероятности востребованности блоков памяти приведена на рис. 2. Область возможных значений параметра f0) при этом принадлежит отрезку /0)е[/(1), 1—(1)], f(1)<0,5. Из рис. 3 видно, что минимальное значение показателя Sa при ограничении
ZA=02 f (a) = const достигается для однородных вероятностей штребности/a)=/ a=0,A-2.
0,0 0,2 0,4 0,6 0,8 /( 0 ) 1,0
Рис. 3. Зависимость среднего времени движения к стационарному состоянию от вероятности востребованности самого используемого блока при С=/(0)+/(1)
Анализ времени доступа
В силу предположения об упорядоченности вероятностей / (т), а следовательно и р(я + От), внутри групп кэша по убыванию для среднего времени выбора адресуемых объектов (2) при идеальном вытеснении с учетом (5) справедливо
Т = РА + Т (1 - Рл) - (Т - О!1 Ё МУ + От))2 ,
я=0 т=А-1 Ё р( я + Ог)2
i=A-1
G-1A-2
РА =ЁЁР( Я + От). (6)
Я=0т=0
Здесь РА имеет смысл доли распределения востребованных данных, расположенных в (А-1)О блоках всех групп кэша, и характеризует степень локализации кода программ и данных в кэше. Нетрудно видеть, что с ростом емкости и ассоциативности кэша доля РА растет. Среднее время доступа принимает максимальное значение для равномерного распределения р(я +От)=1/ ОМ=1/ Р:
к-1
г=0л^ a
2
i=0
+
X
X
a=1
- = Kt + (P - K)T
max p
PA при этом имеет минимальное значение:
Pa = A-1 = K (1 -1
A M P V A
Минимальное время доступа Tmin = t достигается тогда, когда все востребованные данные размешаются в кэше, т.е. либо PA=1 либоPA<1, но G(A-1)>0, p(g+p(g+ Gm))=0, g = 0, G -1, m = A,M -1. Если равномерно распределен «хвост» распределения 1-P
p(g + Gm) =---------A—, g = 0, G -1, m = A -1,M -1,
M +1 - A
то среднее время выборки объекта получает значение
1-P
T = tPA + T (1 - PA) - (T -1)-----. (7)
A y AJ y M +1 - A
Вид зависимости среднего времени доступа (7), выраженного в длительностях t, от доли PA представлен на рис. 4.
Рис. 4. Зависимость среднего времени доступа к объекту от степени локализации приложения в кэше при М=500, А=4 Для распределения «хвоста» в отдельных группах кэша в виде однородных треугольников (арифметических прогрессий) при
, _ . 1(1 - РА) (, т +1 - А ^
р( Я + От) =---------------^—| 1------I
О(М + 2 - А) V М +1 - А /
т = А -1, М -1 среднее время доступа (6) составит Т = ГРА + Т (1 - РА) - 2(Т - 0(1 _ РА) х (М - 1)(2М-1) -
- (А-1)(А - 2) х (2А _ 3) _ 6(А _22)М(М +1 _ А).
3(М +1 - А)2(М + 2 - А)2
Область допустимых значений степени локализации
2(А -1) л , тт при этом имеет вид----------< Рл < 1. Численные ис-
М + А л
следования показывают, что среднее время доступа к адресуемым объектам (6) слабо зависит от вида «хвоста» распределения
р(Я + От), я = 0, О -1, т = А -1, М -1.
Заключение
Проведенный анализ направлен на исследование операционных показателей кэша при различных условиях его функционирования. Получены аналитические соотношения для вероятностно-временных характеристик процесса движения блоков памяти. Обнаружена инвариантность вероятности попадания в кэш к его ассоциативности при равномерном распределении приложений по пространству адресов. Показано, что в кэше ассоциативности А с идеальным вытеснением при неравномерном распределении приложений А-1 строк группы содержат самые востребованные строки памяти, а при случайном вытеснении - происходит перераспределение вероятностей обнаружения в кэше блоков памяти Р ,т и снижение показателя вероятности попадания в кэш. Кроме того, установлено, что условное среднее число сравнений признака кэша со старшей частью адреса объекта инвариантно к распределению приложения в памяти. Установлено, что среднее время доступа к адресуемым объектам имеет линейную зависимость от степени локализации приложения в кэше РА.
Дальнейшим развитием полученных результатов может быть анализ вероятностных моделей многоуровневого кэша и оптимизация его параметров.
ЛИТЕРАТУРА
1. Цикритзис Д., Бернстайн Ф. Операционные системы. М.: Мир, 1977.
2. Катцан Г. Вычислительные машины системы 370. М.: Мир, 1974.
3. Корнеев В.В., Киселев А.В. Современные микропроцессоры. М.: Нолидж, 1998. 240 с.
4. Корнеев В.В. Параллельные вычислительные системы. М.: Нолидж, 1999. 320 с.
5. Озерецковский С. Кэш // Hard and Soft. 1995. № 5. C. 31-34.
6. Рош У.Л. Идеальный системный блок // PC Magazine/RE. 1994. № 6. C. 32-48.
7. Головкин Б.А. Вычислительные системы с большим числом процессоров. М.: Радио и связь, 1995. 320 с.
8. Intel architecture software developer's manual. Vol. 3: System programming guide - Order number 243192. Intel Corporation, 1997.
9. ФеллерВ. Введение в теорию вероятностей и ее приложения. М.: Мир, 1984. Т. 1.
10. Клейнрок Л. Теория массового обслуживания. М.: Машиностроение, 1979.
Статья поступила в научную редакцию номера 3 декабря 2001 г.