Научная статья на тему 'Моделирование иерархической памяти вычислительных систем неблокирующего типа'

Моделирование иерархической памяти вычислительных систем неблокирующего типа Текст научной статьи по специальности «Компьютерные и информационные науки»

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

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

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

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

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

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

Modelling of hierarchical memory of non-blocking computer systems

A model is proposed which describes the influence of depth of non-blocking of cache on operational characteristics of two-leveled memory. Operation of hierarchical memory is described by two-staged pipeline. The first stage performs access to cache, and the second, in case of the first stage failure, performs access to operational memory (lower level memory). The operation of the second stage is modelled by Markov's system featuring multi-staged service and discrete timing. Wide range of depth of non-blocking values were investigated for write-back cache and probability-timing characteristics of memory subsystem were found. An average time of access to an object is found, given various parameters of cache.

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

УДК 621.327

С.П. Сущенко, М.С. Сущенко

МОДЕЛИРОВАНИЕ ИЕРАРХИЧЕСКОЙ ПАМЯТИ ВЫЧИСЛИТЕЛЬНЫХ СИСТЕМ НЕБЛОКИРУЮЩЕГО ТИПА

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

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

Принципы функционирования и модель кэша неблокирующего типа

Рассмотрим двухуровневую память, имеющую кэш неблокирующего типа с обратной записью [1,2]. Будем полагать, что процессором порождается неограниченный поток обращений к подсистеме памяти. Функционирование многоуровневой памяти с кэшем неблокирующего типа может быть описано работой двухстадийного конвейера.

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

В случае промаха одновременно происходит обработка текущего запроса на второй фазе (доступ к оперативной памяти) и следующей транзакции - на первой фазе. Факт обработки транзакции доступа к иерархической памяти на второй фазе является случайным событием. Время обработки транзакции на второй фазе Т в К>2 раз превышает время обращения к кэш-памяти t. При глубине неблокируемости N>1 подсистема многоуровневой памяти имеет буфер емкости N для хранения запросов к оперативной памяти, которые последовательно обрабатываются элементами управления памятью на второй фазе конвейера.

Если количество транзакций, обрабатываемых в фазе обращения к оперативной памяти, совпадает с N, то кэш-память оказывается заблокированной. В заблокированном состоянии первая стадия конвейера не работает. Разблокирование первой фазы наступает при завершении обработки одной транзакции на второй фазе конвейера.

Для описания процесса обработки запросов к двухуровневой памяти с глубиной блокировки, равной N, смоделируем стадию доступа к оперативной памяти Марковской системой масового обслуживания

(СМО) с дискретным временем и Л-этапным обслуживающим прибором [3] с детерминированным временем обслуживания. Длительность цикла дискретной СМО составляет время /. Время между поступлениями заявок (транзакций обращения к оперативной памяти) кратно t и имеет геометрическое распределение с параметром, равным вероятности промаха Л.

Считаем, что доступ к многоуровневой памяти выполняется только на чтение или только на запись. Будем полагать, что в каждом такте выполняется обращение к кэш-памяти (при незаблокированной первой фазе конвейера) и с вероятностью промаха R в СМО поступает заявка с временем обработки Т, равным трудоемкости выполнения К этапов СМО длительности t. Обработка различных запросов к оперативной и кэш-памяти выполняется параллельно, и цепь Маркова, описывающая динамику количества этапов обработки совокупности заявок на доступ к оперативной памяти, будет содержать KN состояний.

Номер состояния цепи Маркова соответствует количеству этапов обслуживания транзакций доступа к оперативной памяти, накопленных в СМО. Вероятность того, что в стационарном режиме система находится в состоянии к, обозначим через Рк , k=0,NK~l. Заблокированным соответствует множество состоя-ний / i=K ( N-1 )+1 JCN-1, в которых СМО содержит N транзакций. Переходные вероятности цепи Маркова имеют вид

R,i = 0,j = K-,

_ R,i=\,K(N-l),j = i + К-1\ l-R,i = l,K(N-\),j = i-\’,

l,i = K(N-l) + l,KN-l,j = i-\.

Система уравнений равновесия для вероятностей состояний Д(, / = 0, N К -1, стационарного режима функционирования дискретной СМО, описывающей процесс доступа к иерархической памяти, для произвольной конечной глубины неблокируемости N £ 2 и целочисленного отношения времен обращения к оперативной памяти и кэш-памяти К £ 2 записывается следующим образом:

Я0Л = Л,(1-Л); ____

/>=/>*, (1-Л),/=1,Л-1;

/>х = ^+1 + (Л + Л)Л,^=2;

• рк-рк*\ (1-Л) + (Л0 + Л )R,N>2\ (1)

Р, = Рм (1 - Л) + Pl_K+]R,i = K + \,(N-1)К -1; P^PM + P^R.i-iN-VK.NK^-,

,Pnk-i = P(N-i)k+iR’

87

Для неограниченного N данная система уравнений переписывается в виде

'/>„* = /> (1-Л); _____

. Я, = Л/+1(1-Л),/ = 1,Л-1;

Я* = Л*+1(1-Л) + (Л0 + Л,)Л; ./’=/>й1(1-Л)-Я<_,+1Л,»** + 1.

Для кэш-памяти блокирующего типа (N=1) уравнения равновесия принимают вид

>оЯ = Л; _______

• Я, = Я/+1,/=1,Л-1; (2)

Л = ЯЯ0.

Важнейшими операционными характеристиками иерархической памяти являются вероятность блокировки кэш-памяти, среднее время доступа и пропускная способность. Вероятность блокировки определяется суммой вероятностей состояний, в которых на фазе доступа к оперативной памяти (в СМО) выполняется обработка N транзакций:

ЫК-1

Q(N,K)= £Я( . (3)

/ЦЛГ-|)ЛГ+|

Среднее время доступа к адресуемым объектам складывается из времени разблокирования кэш-памяти, времени обращения к кэшу и времени обращения к оперативной памяти (при промахе в кэше):

f(N,K) = RTb + (\-R)t+RT,<. (4)

Здесь Тл и Т„ - условное среднее время разблокиро-

вания и обращения к оперативной памяти соответственно, определяемые по формуле Литтла [3]:

_ ЛЙГ-1 _ ЛИГ-1

Х(/-(^-1)Л)я,,7’,=г' (5)

|-( ЛГ-1) /Г+1 , = |

X = KR(l-Q(N ,К)) - принятый (пропущенный) поток.

Вероятностно-временные характеристики

Найдем аналитический вид решения системы уравнений равновесия и показателей быстродействия многоуровневой памяти. Для кэш-памяти блокирующего типа (N = 1) найденные из (2) вероятности состояний второй фазы конвейера записываются как

*о =

1

1+АЛ

>Л =

R

1+KR'

/=1, К, а операционные харак-

теристики определяются зависимостями

Из этих соотношений нетрудно видеть, что с ростом К при Л>0 вероятность блокировки стремится к 1. Среднее время выборки адресуемых объектов растет от Т(l,K) = t приЛ = 0 до f (l,K) = t(\+K) приЛ=1.

При N = 2 и конечном К £ 2 решение системы уравнений равновесия (1) с учетом условия нормировки вероятностей Я,, j = 0,2 К -1 принимает вид

я, = я0 R ,/=Гк;

(1-Л)'

п2 ЛГ-/-1 ______

Р*+> = Р°7Г^7F 1(1-Я)',/ = 1,К-1;

(1-Л)* j.о

р0 = -

(1-Л)'

i + л2 ^(л-у-ПО-яУ

J=о

Вероятность блокировки (3) при этом определяется зависимостью

я2 Kt(K-jX\-R)J-'

Q(2,K) =----^-----------------.

1 + Л2 ±Uc-l-jXl-R)J о

Среднее время доступа к адресуемым объектам (4) при К = 2 и К = 3 соответственно составит:

Г(2,2) = ^1 + |(1 + ЗЛ)^

Я(2,3) = ^1 + |(3 + 13Л-4Л2)|

С дальнейшим увеличением К сложность аналитического вида соотношения (4) стремительно возрастает.

Для К = 2 и конечной глубины неблокируемости NZ 2 решением (1) являются соотношения

<-***=»■

В случае неограниченного N стационарное состояние существует при Л > 1/2 и решение системы уравнений равновесия принимает вид

Р0 = 1 -2 Л, Я, = (1 -2 Л) /» = (1 -2 Л ) i Я.

1-Я (1-Л)'

Операционные показатели для N = <х> описываются соотношениями

0(со,2) = О,Г(оо,2) = ^1 + Л2Ь||].

При N = 3 и А" > 2 решение (1) имеет вид Л

Я-А

(1-Л)'

Р, =Р0^[Н 1-Я)(1+Я(i-K-\))],i=K+\,2K;

(1+Я(Л-1-у))],

(1-Л) ;=0

1=\, к-и

Х-1

Я0 = (1-Л)2М(1-Л)* +лХ(1-я)АГ',"х

х[1-(1-Л)АГ'1 (1 + /Л)]+Л2 ХС^-0(1-Л)'-1 X

/ = 0

1-(1-л)*-'(1+(л-оя

Для глубины неблокируемости N = 4 и произвольном К к 2 решение (1) записывается следующим образом:

Л

Я = Я„

(1-Я)'

-,/ = 1,Я;

Р, =Я0 —Щи 1-Я) (1+Л (i-K-l)) ], i=K+l ,2 К ;

(1-Л)'

Я(=я0

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

Л

(1-Я)'

■, i=i, АТ;

88

данных (операций записи) введем вероятность г того, что вытесняемая при промахе строка кэш-памяти с обратной записью изменена. Будем полагать, что неизмененная вытесняемая строка требует К\ интервалов длительности t для замещения новым блоком памяти, востребованным вычислителем, а измененная - требует сохранения вытесняемого блока в оперативной памяти и загрузки в кэш новой строки с общим временем выполнения транзакции, равным K2t. Очевидно, что АГ)<А^ и, как правило, K2 = 2Ki. Тогда цепь Маркова, описывающая процесс обработки транзакций доступа к основной памяти на второй фазе конвейера, задается множеством состояний в двумерном пространстве (/, Д где

i = 0, К, - количество этапов обрабатываемых в СМО транзакций чтения блоков оперативной памяти без сохранения вытесняемой строки кэша, a j = О, К2 - с сохранением. Переходные вероятности цепи Маркова я”

из состояния (/, J) в состояние (от, п) данной СМО для произвольных К\, К2 и ТУ задаются в таблице.

к j m n

R(\-r) 0 0 Ri 0

1,/Г, (ЛГ-1) 0 i + К,-1 0

1К,, 1 = 0, N-2 1,K2 (N-\-l) * +AT, j-1

1К, + 1,(1 + \)К,-1, 1 + 0, N -2-s sK2,* = Г/У^2 /+a:,-i j

Rr 0 0 0 Кг

0 \,K2(N-\) 0 j + K2- 1

1,Л, (N-\-l) IK2, 1 = 0,N -^2 l j + K2

IK,, l = \,N-2 sa:2+i,(*+i)*2-i, s=0,N-2-l I j + K2-1

1-Л 0 /-1 0

0 \,K2 (N-\) 0 j- 1

/Л,, 1 = 1,N-2 iK2 + i,(j+i)*2-i, s = 0,N-2-1 i 7-1

1К, + 1,(1 + \)К,-1, l = 0,N-\-s sK2,s = \,N-2 i-i 7

(1-ЛУ IK,, 1 = 1,N-2 sK2,s = \,N-\-1 / 7-1

(1 -Л)х х(1-г) IK,, 1 = 1,N-2

р, =po~^{l-V-R'>K~] [1 + Л(»-*-1)]+ + (i-2K)R(l-R)nK-'} НЛ'-2*'1],

i = 2K + l,3K;

Р _ P*R*

Г4 КЧ~

(1-Л)3*

*1а-Д)7 {i-(i-*)/r-,(i+/?(2A:-y-i))+

j=0 [ _

+(A:-y)/?(i-/?)2(Jf-,)^ ■

1+ R-

/ = 1, AT -1.

Вероятность Р0 находится из условия нормировки.

Влияние частоты изменений данных на операционные характеристики

Для учета влияния на операционные характеристики иерархической памяти интенсивности изменений

Операционные характеристики при этом по аналогии с (3-5) определяются следующим образом:

q(n,k1 ,к2) = 5У*(и:, +», К2 (N-1-1))+

/ = 0 ( i = l

+^(^,(^-/-1),/а:2+у)|;

f(N,K, ,К2 )=Rfb + (l-R)t + RTu ;

Тр = Г* ^(Ж. +i,(N-l-\)K2 )+

L /=*

+ K*£jP((N-l-\)K,,lK2+j)

7 = 1 .

а=[к,(1-г)+а:2/-];

тп =r' X К«+ж2 )/>(/, ж2н

/=о|_ ы о

+"£‘1(Ж, +sK2 +j)P(lK{ ,sK2 +j)

s=0 J=Q m

При N=0. решение системы уравнений равновесия имеет вид

Р(/, 0) = />(1,0) —, / =17^7;

(1 -НУ

R(l-r)

X,-!

Р(к, +/,0)=Р(1,0)—2(1-л)'^1Л,-1;

(1—/?) 1 м

Р(1,К2)=Р(1,0); g—■ Х(1-Л)7

(1-л ) 1 1=0

ЛГ.-Ы

89

Л(0,у) = Л(0,1) P(0,K2+j) = P(0,\)

1

(1-Я)

Rr

(1 -R)

7T .M,K2l

K7-\-j

«гг •

/ = 0

nK]tj)=P(0,1) Z(1-^) ,7

(1-Л)"* • /=0

f Kj-г

ЛП-Л 2(1-Л)'-г(1-Л)**-1

Л(1,0)=Л(0,0>

л(о,1)=л(о,о>

Г X2-Kt-i

(1—Л)| l-Rr В 1-Л)'

л{л *5](1-Л)'-К1-Л)*,",|

/=*2-АГ,-1

1-л- 1(1-Л)'

/-о

Вероятность состояния (0,0) определяется из условия нормировки. Для набора параметров Ку=2, Л2=3 вероятность Л(0,0) записывается следующим образом:

«в.о,-------

(1-Л)2 (1-Л) + Л(2-г) а для К\ = 2, К2=4 принимает вид

(1-Л)2[1-Лг(2-Л)]

Р{0,0)=

(1-Л)2[1-Лг(2-Л)] + 2Л(1 + г)

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

бины неблокируемости, а среднее время выборки операндов и команд из иерархической памяти падает.

Заключение

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

Получены аналитические соотношения для вероятностно-временных характеристик параллельного процесса обработки транзакций доступа к различным уровням иерархической памяти.

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

ЛИТЕРАТУРА

1. Кохонен Т. Ассоциативные запоминающие устройства. М.: Мир, 1982.

2. Компьютеры на СБИС: В 2 кн. Кн. 1 / Пер. с япон.; Мотоока Т, ТомитаС, Танака X. и др. М.: Мир, 1988.

3. КлейнрокЛ. Теория массового обслуживания. М.: Машиностроение, 1979.

Статья представлена кафедрой теоретических основ информатики факультета информатики Томского государственного университета, поступила в научную редакцию «Кибернетика и информатика» 25 декабря 2000 г.

90

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