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

Анализ производительности множественного ассоциативного кэша Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
233
53
i Надоели баннеры? Вы всегда можете отключить рекламу.

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Сущенко Максим Сергеевич

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

The analysis of performance of multiple associative cache

The comparative analysis of different cache models is suggested, allowing to judge their performance. As a measure of effectiveness the probability of necessary data block detection, given cache and base memory sizes and application memory distribution, is taken. Average time of data retrieval against different cache parameters is found.

Текст научной работы на тему «Анализ производительности множественного ассоциативного кэша»

М.С. Сущенко

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

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

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

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

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

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

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) справедливо

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Т = РА + Т (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 г.

i Надоели баннеры? Вы всегда можете отключить рекламу.