Анализ производительности множественного ассоциативного кэша

М.С. Сущенко

АНАЛИЗ ПРОИЗВОДИТЕЛЬНОСТИ МНОЖЕСТВЕННОГО АССОЦИАТИВНОГО КЭША

Предложен сравнительный анализ различных моделей организации кэша, позволяющий судить об их эффективности. В качестве меры эффективности используется вероятность обнаружения в кэше нужного блока памяти при заданных объемах кэша и памяти, размерах блока и известном распределении приложения (кода и данных) в адресном пространстве. Найдено среднее время выборки объекта, адресуемого приложением, при различных параметрах кэша.

В настоящее время при разработке микропроцессорных архитектур, построении вычислительных систем и сетей, создании распределенных прикладных систем для обеспечения быстрого доступа к наиболее часто используемым данным широко применяется многоуровневая организация памяти. На верхнем уровне находится самая быстрая и, как следствие, самая дорогая и имеющая наименьший объем память в иерархии, а на нижнем - самая медленная, дешевая и емкая [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•

Здесь Р т - вероятность обнаружения объекта в

кэше; t - время выборки объекта из кэша; Т - время выборки объекта из памяти. При последовательной реализации этапов доступа к адресуемому объекту соотношение (1) можно переписать в виде

Tgm =Р gm (а +tcA +^Ь )+(1-Р gm )^а +1сА+1т+

+Та +1ТЬ ) =а +tcA +^Ь Р gm +^с (А-А )+Та +

+1 (т+Ть )](1-Р т),т=Щ^=1О,

где ta - время адресации объекта в кэше; tc - время сравнения признакового поля кэша со старшей частью адреса; А - среднее количество сравнений при условии обнаружения блока в кэше; I - длина блока; 4 -время выборки байта из кэша; т - время вытеснения блока данных из кэша; Та - время адресации объекта в памяти; Ть - время выборки байта из памяти и записи в кэш. Среднее время доступа к объектам кэшируемой памяти определится соотношением

_ О-1М-1_

Т = ЕЕ TgmP

g=0 т=0

а вероятность попадания в кэш - зависимостью

О -1 М -1

Р =ЕЁР gmP

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=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.

2

Вероятность попадания в кэш буфера с номером т = 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

6

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

1 - f

, m = 2, M -1.

l = max {mè }+1,l ima

è=1,A,è*ma

P

f

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

1-Z f

, m = A-1,M-1.

Отсюда следует, что О(А-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 02 1 20 01

Р = Р = Р

М2 1 21 і 01

9

д

Нетрудно видеть, что при д=1 данное решение совпадает с решением для идеального вытеснения (4). При д=0 вероятности состояний принимают вид:

Л

Р = Р =0- Р = Р =--1 01 М0 ^?і02 1 20

Р = Р =-

' 12 21

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

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

у i=0 ,fca J

i=0,fca 2

+Ё /

г=0 \ г-0 /

Распределение времени движения к стационарному состоянию имеет вид

2 Г Г 2 V 1 ( 2 >

Р4

а=0 I у г=0,гФа /IV г=

а среднее время составит

^4 = Ё |/Г / + / (а) - 2 / 2 (а)]

а=0 I *

1 - Ё ¡

£ f

i=0,i^ a

2 ( 2 > 2 "

1 + Z f

i=0,i^a 4i=0,i^ a J

1-Z f

Z f

i=0

i+Z f

При/а)=/ а = 0,2 получаем £4 =11/6/.

Для произвольного А функция вероятностей определится следующим соотношением:

Л_2 к+1_л( Л_2 V1 к+1_Л-г1 Л_2( Л_2 V2

Рл

а=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. Зависимость среднего времени движения к стационарному состоянию от вероятности востребованности самого используемого блока при С=/

Анализ времени доступа

В силу предположения об упорядоченности вероятностей / (т), а следовательно и р(я + От), внутри групп кэша по убыванию для среднего времени выбора адресуемых объектов (2) при идеальном вытеснении с учетом (5) справедливо

Т = РА + Т (1 - Рл) - (Т - О!1 Ё МУ + От))2 ,

я=0 т=А-1 Ё р( я + Ог)2

i=A-1

G-1A-2

РА =ЁЁР

Я=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

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 г.