Научная статья на тему 'Анализ производительности многоуровневой подсистемы памяти'

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

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

Аннотация научной статьи по математике, автор научной работы — Биматов Дмитрий Владимирович, Сущенко Сергей Петрович

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

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

Похожие темы научных работ по математике , автор научной работы — Биматов Дмитрий Владимирович, Сущенко Сергей Петрович

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

Performance analysis of multilevel memory

Model of multilevel memory is proposed. Research is devoted to clearing up the problem how memory architecture and applications executed at computer influence on overall performance of memory subsystem. Memory performance is measured by hit rate and average latency.

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

ВЕСТНИК ТОМСКОГО ГОСУДАРСТВЕННОГО УНИВЕРСИТЕТА

2007 Управление, вычислительная техника и информатика № 1

УДК 681.324

Д.В. Биматов, С.П. Сущенко АНАЛИЗ ПРОИЗВОДИТЕЛЬНОСТИ МНОГОУРОВНЕВОЙ ПОДСИСТЕМЫ ПАМЯТИ

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

Современное состояние вычислительной техники характеризуется растущим разрывом между скоростью обработки данных в микропроцессорах и быстродействием оперативной памяти. Многоуровневая организация памяти позволяет сгладить этот разрыв с помощью механизма кэширования - накопления часто используемых данных в верхних, более быстрых, но менее емких уровнях памяти для быстрого доступа к ним.

В наиболее общем случае организации многоуровневой памяти кэш и оперативное запоминающее устройство (ОЗУ) разбиты на блоки фиксированной длины. В кэше блоки объединяются в группы объемом А блоков. Число А называется коэффициентом ассоциативности.

Процесс выбора данных из многоуровневой памяти блокирующего типа производится следующим образом: сначала процессор обращается в кэш уровня 1. Если требуемый блок находится в кэше («попадание»), то элемент извлекается из кэша, иначе («промах») происходит обращение к следующему уровню памяти [1].

1. Модель многоуровневой памяти

Рассмотрим многоуровневую подсистему памяти с количеством уровней в иерархии равным и > 1. На каждом уровне и = 1 ...и -1, кроме последнего, находится кэш; последний уровень и = и занимает ОЗУ (рис. 1). Количество блоков в ОЗУ равно Уи = УОЗУ = V . Время выбора блока из ОЗУ равно Ки = КОЗУ = К , а время поиска и выбора блока из кэша уровня и равно Ки. Кэш каждого уровня характеризуется следующими параметрами: объемом кэша в блоках - V,; количеством групп - Gu, коэффициентом ассоциативности - Аи = V, / Gu; количеством блоков ОЗУ, отображаемых на группу кэша и-го уровня Ми = VОЗУ / Gu. По логике

Рис. 1. Схема многоуровневой памяти

построения многоуровневой памяти с ростом номера уровня времена обращения и объемы памяти возрастают:

К < К; , V, * V; , / < ] .

Для исследования эффективности работы кэша используется модель с идеальной стратегией вытеснения блоков [2]. В этом случае предполагается, что заранее известно распределение вероятностей востребованности блоков памяти вычислителем:

------- V-1

р{1), / = 0, V -1, х р{1) = 1. (1)

г=0

Важнейшей операционной характеристикой кэша заданного уровня и является вероятность попадания в кэш, которая определяется соотношением [2]

-1М„-1

Пи = ЕЕ Пи (8 + °ит) • Р( 8 + °и т) , ()

£=0 т=0

где Пи (g + Gu т) - вероятность того, что т-й блок ОЗУ, отображаемый на g-ю

группу кэша, находится в кэше. Тогда среднее время доступа к адресуемым объ-

ектам многоуровневой памяти блокирующего типа [3]

и и-1

Т (1, К2Ки ) = Е К П Ъ , (3)

и=1 /=1

где Я[ = 1 - Пг- - вероятность промаха в кэш уровня г. Операционная характеристика «среднее время доступа» позволяет оценивать эффективность работы подсистемы памяти в целом. Чем меньше среднее время, тем лучше работает многоуровневая память.

2. Вероятность попадания в кэш

Одна из основных проблем получения вероятностей попадания в кэши различных уровней состоит в построении по одному известному распределению востребованности блоков ОЗУ вычислителем (1) отображений элементов ОЗУ в группу кэша каждого уровня [4]. Поскольку механизм идеального вытеснения обладает свойством концентрации в А-1 блоках каждой группы кэша самых востребованных вычислителем блоков памяти, то без ограничения общности можно считать, что вероятности востребованности блоков памяти, отображаемых на каждую группу кэша первого уровня, упорядочены по убыванию:

Р(Е + 610 > р(Е + ), г < у; г, у = 0, Мх -1, Уg = 0, 6 -1.

Для выполнения сравнительного анализа вероятностей попадания в кэши различных уровней иерархической памяти необходимо по заданному отображению распределения востребованности блоков ОЗУ центральным процессором на один из кэшей (кэш первого уровня) получить отображения на кэши других уровней.

В случае, когда количество групп в кэше и-го уровня кратно количеству групп в кэше первого уровня, то есть

Gи = еи ■ , еи - натуральное число , (4)

последовательность блоков ОЗУ, отображаемых на g-ю группу кэша первого уровня

И + и = 0, G1 -1, тх = 0, Ых -1,

отображается на еи групп кэша уровня и:

8 + ^п + Оити, g = 0, 01 -1,

П = 0, еи -1, ти = 0, Ми -1

Видно, что при (4) последовательность блоков памяти, отображаемых на группу кэша уровня и, также упорядочена по убыванию. Так как процесс накопления блоков в кэше рассматривается независимо от кэшей других уровней, то вероятность попадания блока из основной памяти в идеальный кэш уровня и [2]

пи (8 + Си т) =

1,

Р( 8 + Си т)

т = О, А - 2,

М-1

Ё Р8 + Си О

=А,-1

Соответственно, исходя из общей зависимости (2), вероятность попадания в кэш первого уровня составит

61 -1 Мг-1

п1 = Ё Ё П1 (8 + ^1т) • ^(8 + ^1т) =

%=0 т= 0

6-1

= Ё

%=0

Мх -1

А-2

Ё [(8 + °1т)\

т=А-1

т=0

Мг -1

Ё Р8 + °1т) т=А-1

(5)

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

-1 еи -1

п = ЕЕ

g=0 п=0

Е П2 (Я + °1П + еи С1т) • Р(8 + ^1п + еи °1т)

т=0

Ог-1 е,-1

= ЕЕ

g=0 п=0

м„-1

4-2 Е р(с+°1п+еи°1т)

Е Р(8 + °1п + Ф1т) + т=М±1--------------------

1 _и

т= Е Р С + С1п + еи°1т)

т=4,-1

(6)

Для упрощения вычислений можно ввести верхнюю П и нижнюю П оценки вероятности попадания в кэш уровня и:

П„ <П„ <11 „ .

Верхняя и нижняя оценки вероятности попадания в кэш первого уровня определяются на основе (5) следующими зависимостями:

О, -1

А1 = Е

я=0

'4 -1

0,-1

П = Е

я=0

'Л,-2

Е Р( + От) + р(£ + С(М1 -1)

_ т=0

(7)

(8)

Верхняя и нижняя оценки вероятности попадания в кэш уровня и определяются из (6) соотношениями

G1 -1 eu-1

G, -1 e„-1

п = ZZ

g=0 n=0

in«= z z

g=0 n=0

“ A-2

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

A-1

z pig + G1n + euG1m)

Z p g+G1n+e« G1m)+p g+G1n+e« G1l ~-1

m=0

M1

(9)

(10)

3. Анализ вероятности попадания в кэш при усеченном геометрическом распределении востребованости блоков памяти вычислителем

Для простоты предположим, что вероятность востребованности т-го блока основной памяти, отображаемой на группу кэша первого уровня, не зависит от номера группы:

p(g + Gjm) = p (h + Gjm), Vg, h = 0, Gj -1, m = 0, Mj -1.

Полагаем, что вероятности востребованности блоков основной памяти определены на интервале m = 0, aAl -1 и убывают с ростом m по усеченному геометрическому закону (заданному на конечной области определения): p(g + Gjw) = р(g) • qm, g = 0, Gj -1.

Здесь — < a < -—1 - доля ОЗУ, занятая востребованными вычислителем прило-

A

A

жениями, выраженная в количестве объемов кэша первого уровня, а 0 < # < 1 -

параметр усеченного геометрического распределения. Учитывая условие нормировки

Иг-1

m=0 G1

первый элемент геометрической прогрессии

р( g) =

l-q

G • (l - qMl У

Тогда вероятность попадания в кэш первого уровня будет вычисляться из (5) по формуле

(l + q )■( - ,"A‘ )

а вероятность попадания в кэш уровня и

l + qe“ - 2qe“A + qaA‘ (l - qe« )

Пи =---------------------—:---------—-------------. 0 < q < l.

U (l + qe“ ) • (l — qaA )

(12)

В случае равномерного распределения (д = 1) вероятности попадания в кэш первого и и-го уровней выражаются из (5), (6) следующими соотношениями:

1 е А V

п = -, п„ = еи-^ = —^,

а аА1 aVl

где V, г = 1,2 - емкость кэша г-го уровня. Верхняя и нижняя оценки вероятности попадания в кэш первого уровня, вычисленные из (7) и (8) с использованием формулы суммы геометрической последовательности, равны соответственно

п = 1 - дА п = 1 - дА -1 + (1 - д )■ даА-1

1 1 - даА , 1 1 - даА .

Верхняя и нижняя оценки вероятности попадания в кэш уровня и, найденные по формуле (9), (10), определятся следующими зависимостями:

1 _ де„А „ 1 - де“(А-1) + (1 - де“) ■ да

^1 аА ’ и 1 аА-|

1 _ д 1 1 - д 1

В случае, когда коэффициенты ассоциативности в кэше первого и второго уровней совпадают (Д = А2 = А), соотношения (11) и (12) для нахождения вероятности попадания упрощаются:

п _ 1 + д - 2дА + даА (1 - д) п 1 + Яе - 2#еЛ + #“А (1- 4е)

1 _ (1+д )• (1 - даА) ; 2 = (1 + *е )• (1 -^) .

При равном количестве групп в кэшах первого и второго уровней (е=1) функцио-

нальные зависимости (11) и (12) принимают вид

п = 1 + д - 2дА + даА (1 - д) _ = 1 + д - 2дА + даА (1- д)

1_ (1 + д )-(1 - д"1) ; 2" (1+д )•( - д“*) .

В случае, когда кэш первого уровня является кэшем прямого отображения

(Ах = 1) из (11) и (12), получаем

_ = (1 - д )■(! + да ) _ = 1 + де - 2д^ + да (1 - де )

1_ (1+д )■ (1 - да ) 2" (1+д)-(1-д“) .

Если при этом кэш второго уровня также является кэшем прямого отображения (А2 = 1), то выражение для вероятности попадания в кэш второго уровня преобразуется к следующему виду:

(1 - де) ■ (1 + да)

П 2 =

(1 + де )(1 - да )

Вид зависимости вероятностей попадания в кэши первого и второго уровней, а также их оценки от параметра усеченного геометрического распределения д представлены на рис. 2. Здесь У = 16, У2 = 32, УОЗУ = 64. Л\ = 2, А2 = 4, а = 4, е = 1. Видно, что оценки П и П наиболее точно представляют вероятность попадания П при д близком к единице (равномерное распределение) и при д, близком к нулю (вся вероятностная масса сосредоточена в одном блоке каждой группы). Рис. 3 и 4 иллюстрируют эффект от добавления кэша второго уровня к двухуровневой подсистеме памяти с параметрами У = 16, А\ = 16 (полностью ассоциативный кэш), УОЗУ = 128, а = 8. Объем добавляемого кэша У2 = 64, коэффициент е вычисляется

из соотношения (4). На рис. 3 изображено влияние параметра ассоциативности А2 на вероятность промаха в кэш второго уровня Я2 при различных параметрах усеченного геометрического распределения д.

Видно, что при увеличении параметра ассоциативности вероятность промаха снижается, однако при равномерном распределении (д = 1) вероятность промаха не зависит от коэффициента ассоциативности. Характерная зависимость вероятности промаха в кэш от параметра усеченного геометрического распределения д при различных коэффициентах ассоциативности кэша второго уровня А2 приведена на рис. 4. Видно, что полностью ассоциативный кэш (А2 = У2) обладает наиболее низкой, а кэш прямого отображения (А2 = 1) - наиболее высокой вероятностью промаха на всем диапазоне изменения параметра д.

Рис. 2. Вероятность попадания в кэш и ее оценки

Л

0,8-

0,6-

0,4

0,21

-О- Яг(А2), я =

ЛСД), я -ЛСД), я -

-О- л2(а2), я =

— ЛСД), я --

0,93

0,95

0,97

0,99

1

Л

0,75

0,50

0,25

Я^) ^2(9), А2

*2(9), А *2(9), А2

У

Рис. 3. Влияние коэффициента ассоциативности А2 на вероятность промаха К2 при различных значениях параметра распределения д

0,90 0,92 0,94 0,96 0,98 Я

Рис. 4. Влияние коэффициента ассоциативности А2 на вероятность промаха К2

0

0

4. Сравнительный анализ подсистем памяти с двумя и тремя уровнями

Полагаем, что среднее время доступа к адресуемым объектам многоуровневой памяти определяется выражением (3). Предположим, что в подсистему иерархической памяти добавляется еще один уровень памяти перед уровнем с номером а. Пусть время доступа к добавляемому уровню памяти - К*, а вероятность промаха - Я*. Естественно, что параметры добавляемого уровня памяти должны соответствовать логике построения многоуровневой памяти: кэш более высокого уровня характеризуется большим временем доступа и меньшей вероятностью промаха:

Ка-1 - К* — Ка ,

яа-1 > Я* > я

Целесообразность добавления уровня памяти в существующую систему перед уровнем с номером a выражается неравенством

АТ(а) = Ти (Кц) - Т^ (Ка_1, К*, КаКи) > 0 .

Здесь Ти+1 (Ка-1,К*,КаКи) - среднее время доступа к подсистеме памяти с дополнительно введенным на а-м уровне кэшем. Подставляя в это неравенство соотношение (3), после приведения подобных получим

к _и и-1

< Е к П

1 и=а 1=а

Отсюда следует, что добавление еще одного уровня памяти в иерархию перед уровнем с номером a целесообразно, если отношение скорости обращения к добавляемому уровню памяти к вероятности попадания в добавляемый уровень памяти меньше среднего времени доступа к уровням памяти более высокого уровня. Для удобства последнее выражение можно переписать в виде

Л и и-1 Л / и и-1

К* <П -[X КиП*,'], П. > К* XКиП,

Vи=а , =а / / и=а г=а

где П* = 1 - Я* - вероятность попадания в добавляемый кэш. Тогда целесообразность добавления кэша первого уровня к двухуровневой памяти «Кэш - ОЗУ» будет выражаться неравенством

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

АТ(1) = Т2 (, Козу ) - 73(1) (К*, Кх, Козу ) 0 .

К*

Отсюда получаем -------< К1 + Я1КОЗУ ,

1 — Я*

К,

К* ^ (1-)• (К1 + ^козу ) или (1-)-^ 7^ .

К1 + ^1КОЗУ

Целесообразность добавления кэша второго уровня к исходной подсистеме памяти задается условием

АТ(2) = Т2 (К1, Козу ) - Т(2) (К1, К*, Козу ) > 0, которое приводит к неравенствам:

К,

—— ^ КОЗУ ,

1 - Я*

К* < (1 - Я») • КОЗУ или (1 - Я») > К» / КОЗУ .

Рис. 5 иллюстрирует в пространстве быстродействия и вероятности промаха в кэш добавляемого уровня области целесообразности добавления кэша к двухуровневой подсистеме памяти с параметрами: Я1 = 0,5, К1 = 8, КОЗУ = 64. Область 0 < Я* < Я1 соответствует добавлению уровня между центральным процессором и существующим кэшем (добавление кэша первого уровня), а область Ях < Я* < 1 -добавлению кэша между существующим кэшем и ОЗУ (добавление кэша второго уровня). Рис. 6 - 8 показывают эффект от добавления кэша второго уровня к двухуровневой системе памяти с параметрами: У1 = 128, УОЗУ = 512 (а = 4), К1 = 8, КОЗУ = 64 при равномерном распределении востребованности блоков ОЗУ вычислителем. На рис. 6 изображена зависимость среднего времени доступа от времени обращения к добавляемому кэшу К*. Горизонтальная линия соответствует среднему времени доступа к исходной двухуровневой памяти. Видно, что чем больше объем добавляемого кэша, тем шире диапазон значений К*, при которых трех-

уровневая память имеет меньшее среднее время доступа. Рис. 7 иллюстрирует влияние объема добавляемого кэша на среднее время доступа к модифицированной подсистеме памяти. Горизонтальная линия соответствует среднему времени доступа к исходной подсистеме памяти. Видно, что чем меньше время обращения к добавляемому кэшу, тем шире диапазон объемов добавляемого кэша V*, при которых имеет смысл использовать трехуровневую память вместо двухуровневой. Наконец, рис. 8 представляет область целесообразности добавления кэша с объемом V* и временем доступа К*.

Рис. 5. Области целесообразности введения кэша первого и второго уровней

Рис. 7. Влияние объема V* добавляемого кэша второго уровня на среднее время доступа Т при равномерном распределении

8 16 24 32 40 48 56 К*

Рис. 6. Влияние времени обращения К* к добавляемому кэшу второго уровня на среднее время доступа Т при равномерном распределении

Рис. 8. Область целесообразности добавления кэша второго уровня с объемом V* и временем доступа К* при равномерном распределении

Рис. 9 и 10 показывают эффект от добавления кэша второго уровня к двухуровневой подсистеме памяти при усеченном геометрическом распределении востребованности блоков ОЗУ вычислителем. Исходная подсистема памяти характеризуется параметрами: V1 = 16, VОЗУ = 64 (а = 4); А1 = 2, К1 = 8, КОЗУ = 64. Добав-

ляемый кэш имеет объем У2 = 32 и ассоциативность А2 = 2. На рис. 9 приведен график среднего времени доступа исходной (Т2) и модифицированной (Г3(2)) подсистем памяти от параметра усеченного геометрического распределения д при различных временах доступа к добавляемому кэшу К2. Рис. 10 показывает выигрыш от добавления кэша при заданном параметре д и различных временах обращения к добавляемому кэшу К2.

0,0 0,2 0,4 0,6 0,8 д 0,0 0,2 0,4 0,6 0,8 д

Рис. 9. Зависимость среднего времени досту- Рис. 10. Выигрыш от добавления кэша па к исходной и измененной подсистемам второго уровня с различными временами памяти от параметра распределения д при обращения К2 различных временах доступа к добавляемому кэшу второго уровня К2

Заключение

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

ЛИТЕРАТУРА

1. Лускинд Ю.И. Буферные запоминающие устройства типа кэш // Зарубежная радиоэлектроника. 1990. № 11. С. 155 - 165.

2. Сушенко М.С., Сущенко С.П. Анализ производительности множественного ассоциативного кэша // Вестник ТГУ. 2002. № 275. С. 218 - 223.

3. Сущенко М.С., Сущенко С.П. Анализ эффективности многоуровневой памяти вычислительных систем // Обозрение прикл. и промышл. матем. 2001. Т. 8. Вып. 1. С. 336 - 337.

4. Биматов Д.В. Моделирование трехуровневой подсистемы памяти // Материалы XI Всероссийской научно-практической конференции «Научное творчество молодежи». Ч. 3. Томск: Изд-во Том. ун-та, 2007. С. 61 - 64

Статья представлена кафедрой прикладной информатики факультета информатики Томского государственного университета, поступила в научную редакцию 2 июля 2007 г.

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