автореферат диссертации по информатике, вычислительной технике и управлению, 05.13.11, диссертация на тему:Математическое моделирование многоуровневой памяти вычислительных систем

кандидата технических наук
Биматов, Дмитрий Владимирович
город
Томск
год
2009
специальность ВАК РФ
05.13.11
Диссертация по информатике, вычислительной технике и управлению на тему «Математическое моделирование многоуровневой памяти вычислительных систем»

Автореферат диссертации по теме "Математическое моделирование многоуровневой памяти вычислительных систем"

На правах рукописи

Биматов Дмитрий Владимирович

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

Специальность 05.13.11 — «Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей»

Автореферат диссертации на соискание ученой степени кандидата технических наук

и М-а

Томск —

2009

003468097

Работа выполнена в Томском государственном университете. Научный руководитель

Официальные оппоненты:

доктор технических наук, профессор Сущенко Сергей Петрович

доктор технических наук, профессор Назаров Анатолий Андреевич (Томский государственный университет)

кандидат технических наук, доцент Замятин Александр Владимирович (Томский политехнический университет)

Ведущая организация Сибирский государственный универси-

тет телекоммуникаций и информатики (г. Новосибирск)

Защита состоится 28 мая 2009 г в 10:30 на заседании диссертационного совета Д 212.267.08 при Томском государственном университете (634050, г. Томск, пр. Ленина, 36) в аудитории 102 второго корпуса ТГУ.

С диссертацией можно ознакомиться в Научной библиотеке Томского государственного университета

Автореферат разослан 17 апреля 2009 г.

Ученый секретарь

диссертационного совета Д 212.267.08 доктор технических наук, профессор

ОБЩАЯ ХАРАКТЕРИСТИКА РАБОТЫ

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

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

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

Фундаментальные исследования по организации высокопроизводительных вычислительных систем провели российские и зарубежные ученые, среди них: Б.А. Бабаян, Е.П. Балашов, B.C. Бурцев, В.В. Воеводин, В.М. Глушков, Э.В. Евреинов, A.B. Забродин,

A.B. Каляев, С.А. Лебедев, И.В. Прангишвили, Д.В. Пузанков,

B.Г. Хорошевский, H.H. Яненко, A. Agarwal, S. Cray, М. Flynn, J.L. Hennessy, D.A. Patterson, и другие. Основные классические результаты по исследованию и моделированию многоуровневой памяти получили Т. Кохонен, Э. Таненбаум, К. Хамахер, 3. Вранешич,

C. Заки, А. Пом, Ю. Лускинд. Новейшие исследования по организации современных вычислительных систем изложены в работах М. Кузьминского, Л. Черняка, В.З. Шнитмана. Однако известные модели многоуровневой памяти не учитывают в явном виде влияние архитектурных параметров памяти на ее операционные характеристики.

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

Работа проводилась в рамках гранта А04-3.16-426 для поддержки научно-исследовательской работы аспирантов государственных образовательных учреждений высшего профессионального образования, находящихся в ведении Федерального агентства по образованию (конкурс 2004 года, головная организация - Санкт-Петербургский государственный университет).

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

1) построить и исследовать модели многоуровневой памяти;

2) разработать способы расчета операционных характеристик памяти;

3) получить методику оптимизации архитектуры многоуровневой памяти.

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

Научная новизна определяется следующими положениями:

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

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

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

Теоретическая значимость. На основе предложенных моделей многоуровневой памяти получены явные аналитические зависимости

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

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

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

Достоверность аналитических зависимостей, полученных в данной работе, подтверждается (а) строгими математическими выкладками, проведенными в соответствии с теорией вероятностей, теорией массового обслуживания; (б) результатами численных расчетов; (в) а также результатами внедрения.

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

Результаты диссертационной работы используются в ООО «Триаксес Вижн» для оптимизации аппаратно-программных комплексов обработки графических изображений и видео-потоков.

Положения, выносимые на защиту:

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

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

3. Методика расчета операционных характеристик и оптимизации количества уровней подсистемы памяти при заданном классе выполняемых на вычислительной системе прикладных задач.

Апробация работы и публикации. По результатам выполненных исследований опубликовано 10 печатных работ, в том числе 2 публикации в журналах из списка ВАК. Основные результаты диссер-

тационной работы докладывались и обсуждались на следующих научно-технических форумах: V Всероссийской конференции «Наука и образование» (Томск, 2001); Н-ой Международной конференции молодых ученых и аспирантов «Актуальные проблемы современной науки» (Самара, 2001); Х1Л Международной научной студенческой конференции «Студент и научно-технический прогресс» (Новосибирск, 2003); Всероссийской конференции «Наука и практика: диалоги нового века» (Анжеро-Судженск, 2003); III Всероссийской научно-практической конференции «Информационные технологии и математическое моделирование» (Анжеро-Судженск, 2004); XI Всероссийской научно-практической конференции «Научное творчество молодежи» (Анжеро-Судженск, 2007); 1У-ой Сибирской школе-семинаре по параллельным и высокопроизводительным вычислениям (Томск, 2007).

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

Структура и содержание диссертационной работы. Диссертационная работа состоит из введения, четырёх глав, заключения, списка литературы. Общий объем диссертации - 144 страницы, включая 61 рисунок, 3 таблицы и список литературы из 152 наименований.

СОДЕРЖАНИЕ РАБОТЫ

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

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

ется последовательность блоков памяти с номерами £ + йт, т = О, М -1, где й = ^ — количество групп в кэше, а V /

М= 01 у— количество блоков памяти, отображаемых на группу кэша.

В качестве меры эффективности памяти используются операционные характеристики «вероятность попадания в кэш» П и «среднее время доступа к блоку памяти» Г. Предполагаются, что заданы вероятности р^ + Спг) обращения вычислителя к блоку памяти с номером ^ + которые отражают класс задач, выполняемых на вычислительной системе. Естественно, что распределение ^7(g + G7й) должно удовлетворять условию нормировки.

В общем случае вероятность попадания в кэш может быть вычислена по формуле:

0-1М-1

П^ХЩ^ + С,,«) ■/>(£ +С«), (1)

2=0 т-0

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

Г = т + (1-П)-А:т = (1 + Ж)х, (2)

где г - время поиска и выбора блока из кэша, Кх — время выбора блока из оперативной памяти (К — натуральное число), Л = 1 - П — вероятность промаха в кэш. Отметим, что часто множитель т опускают, вычисляя среднее время доступа в тактах работы кэша.

Для исследования эффективности работы кэша в настоящей работе используется модель кэша с идеальной стратегией вытеснения блоков. В этом случае предполагается, что исследователю заранее известно распределение вероятностей востребованности блоков памяти вычислителем. В работах С.П. Сущенко доказано, что при идеальном вытеснении вероятность нахождения блока памяти с номером g+Gm в кэше равна:

П(£ + Ст) =

1, т = 0,А-2

Р^ + вт)

, т = А-\,М (3)

о

Соответственно при идеальном вытеснении (3) вероятность попадания в кэш (1) вычисляется так:

п = 1

М -i

I [МЯ + Ст)]2

(4)

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

(5)

р(2 + Ст) =

О, т = о(А, М -1

1 М

Здесь — < а <--доля оперативной памяти, занятая востребованны-

А А

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

При усеченном геометрическом распределении (5) на основе выражения (4) получена зависимость для вычисления вероятности попадания в кэш:

П =

1 +

-^>(1 + <0

(6)

Очевидно, что при ц = О (вероятностная масса сосредоточена в одном элементе группы) кэш работает без промахов и выражение (6) упрощается: П = 1; при ц = 1 (равномерное распределение) вероятность попадания в кэш минимальна и составляет: П = —.

а

Далее рассмотрено влияние увеличения размера блока на производительность двухуровневой памяти. Отдельно рассматриваются два типа архитектуры кэша: 1 — полностью ассоциативный кэш; 2 — множественный ассоциативный кэш, включая кэш прямого отображения. В каждом случае рассматривается по два крайних способа объединения блоков: (а) объединение максимально далеких по вероятности востребованности блоков; (б) объединение соседних по вероятно-

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

Установлено, что увеличение размера блока не увеличивает вероятность попадания в кэш с произвольным коэффициентом ассоциативности на всем диапазоне изменения параметра д. При равномерном распределении вероятность попадания в кэш инвариантна к размеру блока.

ч

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

раз

Также выполнены численные исследования влияния размера блока на индексы быстродействия подсистемы памяти. Показано (рис. 3), что размер интерфейсного блока подсистемы памяти имеет оптимальное значение, минимизирующее показатель среднего удельного времени доступа (среднее время доступа к одному байту - вычисляется на основе выражения (2)).

я

Рис. 2. Зависимость вероятности попадания в кэш от параметра геометрического распределения ц при исходном (жирная линия) и вдвое увеличенном размере блока при различных способах объединения блоков

к

Рис. 3. Зависимость удельного среднего времени доступа Тп от размера блока 2к1 при различных способах объединения блоков (случаи 1а и 16) и различных параметрах геометрического распределения д (кэш полного отображения) В третьей главе вводится модель многоуровневой памяти с количеством уровней равным и > 1. На каждом уровне и = 1, С/ -1 кроме последнего, находится кэш; последний уровень и = 11 занимает оперативная память. Количество блоков в оперативной памяти равно У(г = Уа!у. Время выбора блока из оперативной памяти равно Ки = К03У, а время поиска и выбора блока из кэша уровня и равно Кц.

Кэш каждого уровня характеризуется объемом кэша в блоках Уи, ко-

V /

личеством групп Ои, коэффициентом ассоциативности Ли = у^ , количеством блоков оперативной памяти, отображаемых на группу кэша

и-го уровня Ми =

К,:

'о-

В общем случае соотношение для вычисления вероятности попадания в кэш уровня и с точностью до индексов аналогично соотношению для двухуровневой подсистемы памяти (1):

С„-1М„-1

П„ = ££П а(Е + Сит)-р(ё + Оит), (7)

g=0 О

где П„ + С^т) — вероятность того, что т-н блок оперативной памяти, отображаемый на g-ю группу кэша уровня и, находится в нем. Среднее время доступа к блоку многоуровневой памяти Т вычисляется по следующей формуле:

^■По-п,)

=1

Пд

(8)

где Я, = 1 - П, - вероятность промаха в кэш уровня / (7). В рамках рассматриваемой модели очевидно, что = О, П,; = 1.

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

м,-1

£ [р^ + С.т)]2

0,-1

п, = 1

8=0

4-2

^Р^ + Схгп)-

т=А,-1

1

(9)

и в кэш уровня и:

С, -1 е, -I л=0

£ + Схп + е&т) + ^-

X р(Я + С,]п + е,С,1т)

т^Ац-1

• (Ю)

В случае усеченного геометрического распределения востребованности блоков памяти вычислителем (5) на основе (9), (10) получены зависимости для вычисления вероятностей попадания в кэши различных уровней:

1 +

(П)

п„ =

1 +

0<д<1. (12)

При равномерном распределении зависимости (11), (12) упрощаются:

1 е А V П, =—;П„ =-а-2- = —где Уь (=1,2-емкость кэшаг'-гоуровня.

а аА, а К,

Анализ влияния коэффициента ассоциативности на производительность многоуровневой памяти показал, что его увеличение снижает среднее время доступа к многоуровневой памяти на всем диапазоне изменения параметра геометрического распределения д. (рис. 4).

А=2 />60Ц

• V]

А =1 /у/ NNк /

\ А^У А,=4

а > Зг/ /

Рис. 4. Зависимость среднего времени доступа Г трехуровневой памяти от параметра усеченного геометрического распределения при различных значениях ассоциативности кэша первого и второго уровней: Аь Аг.

Далее предложена методика выбора количества уровней иерархической памяти и получены условия целесообразности архитектурной реструктуризации подсистемы памяти. Предположим, что в исходную многоуровневую подсистему иерархической памяти (количество уровней — Ц) добавляется еще один уровень памяти перед уровнем с номером а. Пусть время доступа к добавляемому уровню памя-

ти — К,, а вероятность промаха — К.. Тогда целесообразность добавления уровня памяти в существующую систему перед уровнем с номером а выражается неравенством:

.. к.,ка,:,ки)>ъ. (13)

Здесь Ти (К^-.^Кц ) - среднее время доступа к исходной подсистеме памяти (8), а Т^1\(К1,...,Ка_1,К.,Ка,...,Ки') - среднее время доступа к подсистеме памяти с дополнительно введенным на а-ом уровне кэшем. При подстановке и приведении подобных в выражение (13) получаем критерий целесообразности добавления уровня к подсистеме памяти:

То есть добавление еще одного уровня памяти перед уровнем с номером а целесообразно, если отношение длительности обращения к добавляемому уровню памяти к вероятности попадания в добавляемый уровень памяти меньше среднего времени доступа к уровням памяти более высокого уровня (рис. 5).

Рис. 5. Области целесообразности добавления кэша первого и второго уровней к двухуровневой подсистеме памяти с параметрами К]=0,5; К.1=8; Козу=64. Целесообразность добавления кэша к двухуровневой подсистеме памяти выражается на основе (14) следующими неравенствами:

——<К1 + К1К03У — при добавлении кэша первого уровня; 1-Я.

—— < Коп, — при добавлении кэша второго уровня.

(14)

к.

Рис. 6 показывает выигрыш (выраженный в разнице среднего времени доступа к исходной и измененной подсистеме памяти) от добавления кэша второго уровня к двухуровневой памяти при заданном параметре геометрического распределения ц и различных временах обращения к добавляемому кэшу К2. Видно, что чем больше время обращения к добавляемому кэшу Кг, тем уже диапазон изменения параметра ц, при котором целесообразно добавлять дополнительный кэш (кривая выше оси ординат).

Рис. 6. Выигрыш от добавления кэша второго уровня объемом Уг=32 и ассоциативностью Л2=2 с различными временами обращения Кг к двухуровневой подсистеме памяти с параметрами У]=16, Уозу=64 (а=4); Л 1=2, К) =8, Козу=64 В четвертой главе исследовано влияние параметра глубины неблокируемости кэша на операционные характеристики подсистемы памяти многопроцессорной вычислительной системы.

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

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

ным обслуживанием и конечным накопителем. Функционирование данной системы массового обслуживания в стационарном режиме задается цепью Маркова в М-мерном пространстве, где М - количество процессоров. Время между поступлениями заявок от т-того процессора (транзакций обращения к основной памяти) кратно / и имеет геометрическое распределение с параметром, равным вероятности промаха в кэш данного процессора Ят. Для завершения одной транзакции оперативной памяти требуется выполнить К этапов.

Выделяются следующие параметры моделируемой подсистемы памяти: число процессоров в вычислительной системе (М)\ глубина неблокируемости кэша каждого процессора (¿V); время выбора элемента из оперативной памяти К (в тактах обращения к кэшу /); вектор вероятностей промаха Л = где Кт - вероятность промаха

в кэш от-го процессора.

Затем вычисляются вероятности состояний цепи Маркова, описывающей функционирование подсистемы памяти многопроцессорного вычислителя конвейерной моделью. Аналитически получены вероятности состояний марковских цепей, соответствующих некоторым подсистемам памяти вычислительных систем с количеством процессоров до четырех (коэффициент неблокируемости N=1, 2). Численно возможно вычислить вероятности состояний марковской цепи, соответствующей подсистеме памяти с произвольными значениями параметров М, N. К, К.

На рис. 7 приведена марковская цепь, соответствующая подсистеме памяти двухпроцессорного вычислителя (М=2) с параметрами: N=2, К=2. Номер состояния состоит из двух чисел, каждое число - это количество этапов для обработки на второй фазе конвейера от соответствующего процессора. При увеличении значений параметров К, неблокируемости Ы, количества процессоров М количество состояний и сложность соответствующей марковской цепи стремительно растут.

В качестве операционных характеристик подсистемы памяти используются «среднее время доступа» и «пропускная способность»; сформулированы способы их расчета на основе вероятностей состояний марковской цепи.

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

ную способность при любом значении вероятности промаха в кэш (рис. 9).

Рис. 7. Марковская цепь для подсистемы памяти двухпроцессорного вычислителя

(М=2)с коэффициентом неблокируемости N=2 (К=2) Для вычисления операционных характеристик по предлагаемым моделям необходимо задать распределение вероятностей обращения вычислителя к блокам основной памяти. Далее предложен способ определения частот обращений к блокам памяти вычислителем (рис. 10), а также способ определения вероятности промаха при выполнении тес-

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

Рис. 8. Влияние вероятности промаха в кэш Я, на среднюю задержку Г, при различных значениях коэффициента неблокируемости N (М= 1, К-2)

Ш1

Рис. 9. Влияние вероятности промаха в кэш на пропускную способность С, при различных значениях коэффициента неблокируемости Ы(М=\, К=2) Сравнительный анализ теоретически вычисленных и практически полученных вероятностей промаха в кэши различных уровней вычисли-

теля на основе процессора Intel Pentium М показал достаточную адекватность разработанных моделей и позволил обнаружить неучтенный

ОСНОВНЫЕ РЕЗУЛЬТАТЫ РАБОТЫ

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

1. Из сравнительного анализа подходов к изучению процессов управления доступом к данным в многоуровневой памяти вычислительных систем, выделены наиболее существенные факторы и структурные особенности различных уровней, определяющие операционные характеристики подсистемы памяти.

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

3. Установлено, что для широкого класса распределений востребованности данных вычислителем с увеличением длины блока вероятность попадания в кэш не возрастает, но среднее удельное время доступа к адресуемым объектам имеет унимодальный характер с неярко выраженным минимумом.

4. Предложен способ получения распределений востребованности приложений процессором для отображений основной памяти на кэши различных уровней по известному распределению отображения памяти на кэш первого уровня. На основе получаемых распределений определены операционные характеристики многоуровневой памяти.

5. Сформулированы условия целесообразности изменения структуры многоуровневой памяти блокирующего типа, обеспечивающие повышение ее быстродействия.

6. Показано, что с ростом ассоциативности и коэффициента не-блокируемости кэша общая производительность подсистемы памяти возрастает до режима насыщения.

7. Построена конвейерная модель двухуровневой памяти симметричной многопроцессорной вычислительной системы, на основе которой разработано программное обеспечение БМРМетМагк для численного расчета вероятности состояний моделирующей цепи Маркова и операционных характеристик подсистемы памяти с произвольными значениями числа процессоров и параметров памяти. Получены численные зависимости производительности подсистемы памяти от количества процессоров.

8. Разработана утилита МетМар тестового мониторинга выполнения прикладных программ для экспериментального сбора частот обращений к блокам оперативной памяти. Также утилита позволяет вычислять вероятности промаха в кэши различных уровней.

ПУБЛИКАЦИИ ПО ТЕМЕ ДИССЕРТАЦИИ

Статьи в периодических изданиях из списка ВАК для публикации результатов диссертаций:

1. БиматовД.В., СущенкоМ.С., СущенкоС.П. Моделирование разделяемой памяти двухпроцессорной вычислительной системы // Вестник Томского гос. ун-та, 2003, №280. — С. 319-323.

2. Биматов Д.В., Сущенко С.П. Об эффективности многоуровневой памяти вычислительной системы // Обозрение прикладной и промышленной математики, 2008, Т. 15, вып. 1. — С. 117-118.

Публикации в других изданиях:

1. БиматовД.В., СущенкоС.П. Анализ производительности многоуровневой подсистемы памяти // Вестник Томского гос. ун-та. Серия «Управление, вычислительная техника и информатика», 2007, № 1. —С. 92-100.

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

3. Биматов Д.В. О целесообразности изменения количества уровней в многоуровневой памяти // Материалы IV Сибирской школы-семинара по параллельным и высокопроизводительным вычислениям. — Томск, 2008. — С. 185-191.

4. Биматов Д.В., Севостьянов Д.В., Сущенко М.С., Сущенко С.П. Вероятностные модели кэша: анализ эффективности // Сборник трудов V Всероссийской конференции «Наука и образование». — Томск: Изд-во ТГПУ, 2001. — С. 28-30.

5. Биматов Д.В., Севостьянов Д.В, Сущенко С.П. Анализ эффективности процессорного кэша // Тезисы докладов 2-ой Международной конференции молодых ученых и аспирантов «Актуальные проблемы современной науки». Естественные науки. 4.4. — Самара: Изд-во СамГТУ, 2001. — С. 20.

6. Биматов Д.В., Сущенко С.П. Исследование эффективности кэша неблокирующего типа // Материалы ХЫ Международной научной студенческой конференции «Студент и научно-технический прогресс»: Информационные технологии. — Новосибирск: Изд-во Новосиб. гос. ун-та, 2003. — С. 102.

7. Биматов Д.В., Сущенко С.П. Моделирование современных высокопроизводительных вычислителей // Материалы Всероссийской конференции «Наука и практика: диалоги нового века», Ч.З. — Томск: Изд-во Том. ун-та, 2003. — С. 98-99.

8. Биматов Д.В., Сущенко С.П. Численное моделирование иерархической неблокируемой памяти для вычислительных систем с разделяемой памятью // Материалы III Всероссийской научно-практической конференции «Информационные технологии и математическое моделирование», 4.1. — Томск: Изд-во Том. унта, 2004,—С. 113-115.

Оглавление автор диссертации — кандидата технических наук Биматов, Дмитрий Владимирович

ВВЕДЕНИЕ.

1. ПРОБЛЕМЫ ПОСТРОЕНИЯ ЭФФЕКТИВНОЙ ПАМЯТИ ВЫЧИСЛИТЕЛЬНЫХ СИСТЕМ.

1.1. Архитектура многоуровневой памяти.

1.2. Типы кэш-памяти.

1.3. Анализ моделей многоуровневой памяти.

1.4. Выводы о направлениях работ.

2. АНАЛИЗ ПРОИЗВОДИТЕЛЬНОСТИ ДВУХУРОВНЕВОЙ ПАМЯТИ.

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

2.1.1. Описание модели.

2.1.2. Операционные характеристики подсистемы памяти.

2.1.3. Идеальная модель вытеснения блоков.

2.1.4. Геометрическое распределение востребованности блоков памяти.

2.2. Влияние размера блока на вероятность попадания в кэш.

2.2.1. Полностью ассоциативный кэш.

2.2.2. Множественный ассоциативный кэш.

2.3. Влияние размера блока на среднее время доступа.

2.4. Выводы.

3. ИССЛЕДОВАНИЕ ЭФФЕКТИВНОСТИ МНОГОУРОВНЕВОЙ ПАМЯТИ.

3.1. Описание модели многоуровневой памяти.

3.2. Операционные характеристики многоуровневой памяти.

3.2.1. Вероятность попадания в кэш заданного уровня.

3.2.2 Среднее время доступа.

3.3. Анализ влияния коэффициента ассоциативности на производительность подсистемы памяти.

3.4. Выбор оптимального количества уровней памяти.

3.5. Выводы.

4. ПОДСИСТЕМА ПАМЯТИ МНОГОПРОЦЕССОРНОГО ВЫЧИСЛИТЕЛЯ.

4.1. Описание модели.

4.2. Вычисление вероятностей состояний.

4.2.1. Однопроцессорная вычислительная система.

4.2.2. Двухпроцессорная вычислительная система.

4.2.3. Трехпроцессорная вычислительная система.

4.2.4. Четырехпроцессорная вычислительная система.

4.2.5. Численный расчет вероятностей состояний подсистемы памяти многопроцессорного вычислителя.

4.3. Операционные характеристики.

4.4. Влияние параметров подсистемы памяти на ее производительность.

4.5. Методика определения распределения востребованности блоков памяти вычислителем.

4.5.1. Сбор статистики обращения процессора к памяти.

4.5.2. Описание эксперимента.

4.5.3. Вычисление процента промаха в кэш

4.6. Выводы.

Введение 2009 год, диссертация по информатике, вычислительной технике и управлению, Биматов, Дмитрий Владимирович

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

С широким распространением многопроцессорных систем с общей памятью, а также с появлением многоядерных процессоров, позволяющих выполнять несколько независимых потоков команд, нагрузка на подсистему памяти существенно возрастает [51, 52, 55, 57, 58, 110]. При построении высокопроизводительных вычислителей задача построения эффективной подсистемы памяти принимает особое значение, так как реальная производительность многих систем значительно ниже пиковой, в частности, из-за неоптимальной организации работы с памятью [71, 72, 109, 111, 112].

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

Фундаментальные исследования по организации высокопроизводительных вычислительных систем провели российские и зарубежные ученые, среди них: Б.А. Бабаян, Е.П. Балашов, B.C. Бурцев, В.В. Воеводин, В.М. Глушков, Э.В. Евреинов, А.В. Забродин,

A.В. Каляев, С.А. Лебедев, И.В. Прангишвили, Д.В. Пузанков,

B.Г. Хорошевский, Н.Н. Яненко, A. Agarwal, S. Cray, М. Flynn, J.L. Hennessy, D.A. Patterson, и другие [1,2, 20, 22, 30, 31, 70, 104, 119, 121, 129]. Основные классические результаты по исследованию и моделированию многоуровневой памяти получили Т. Кохонен, Э. Та-ненбаум, К. Хамахер, 3. Вранешич, С. Заки, А. Пом, Ю. Лускинд. Новейшие исследования по организации современных вычислительных систем изложены в работах М. Кузьминского, Л. Черняка, В.З. Шнитмана. Однако известные модели многоуровневой памяти не учитывают в явном виде влияние архитектурных параметров памяти на ее операционные характеристики.

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

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

1) построить и исследовать модели многоуровневой памяти;

2) разработать способы расчета операционных характеристик памяти;

3) получить методику оптимизации архитектуры многоуровневой памяти.

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

Научная новизна определяется следующими положениями:

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

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

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

Теоретическая значимость. На основе предложенных моделей многоуровневой памяти получены явные аналитические зависимости для вычисления операционных характеристик памяти по заданным архитектурным параметрам и заданному распределению востребованности блоков основной памяти.

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

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

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

Результаты диссертационной работы используются в ООО «Триаксес Вижн» для оптимизации аппаратно-программных комплексов обработки графических изображений и видео-потоков.

Положения, выносимые на защиту

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

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

3. Методика расчета операционных характеристик и оптимизации количества уровней подсистемы памяти при заданном классе выполняемых на вычислительной системе прикладных задач.

Апробация работы и публикации. По результатам выполненных исследований опубликовано 10 печатных работ, в том числе 2 публикации в журналах из списка ВАК. Основные результаты диссертационной работы докладывались и обсуждались на следующих научно-технических форумах:

• V Всероссийской конференции «Наука и образование» (Томск, 2001);

• П-ой Международной конференции молодых ученых и аспирантов «Актуальные проблемы современной науки» (Самара, 2001);

• XLI Международной научной студенческой конференции «Студент и научно-технический прогресс» (Новосибирск, 2003);

• Всероссийской конференции «Наука и практика: диалоги нового века» (Анжеро-Судженск, 2003);

• III Всероссийской научно-практической конференции «Информационные технологии и математическое моделирование» (Анжеро-Судженск, 2004);

• XI Всероссийской научно-практической конференции «Научное творчество молодежи» (Анжеро-Судженск, 2007);

• IV-ой Сибирской школе-семинаре по параллельным и высокопроизводительным вычислениям (Томск, 2007).

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

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

Заключение диссертация на тему "Математическое моделирование многоуровневой памяти вычислительных систем"

4.6. Выводы

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

2. Получены аналитические зависимости для вероятностей состояний цепи Маркова, описывающей процесс обработки стохастическим конвейером транзакций доступа к подсистеме памяти в широком спектре значений коэффициента неблокируемости кэша N, длительности фазы обращения к оперативной памяти К, вектора вероятностей промаха в кэши отдельных процессоров R. Для характерных значений набора параметров N, К, R найдены аналитические связи между вероятностями состояния цепи Маркова и операционными характеристиками подсистемы памяти.

3. На основе численного анализа операционных характеристик с помощью разработанного автором программного комплекса SMPMemMark установлено, что для широкого спектра значений параметров К и М и низких вероятностей промаха в кэши процессоров увеличение коэффициента неблокируемости N позволяет увеличивать производительность подсистемы памяти, однако чем больше коэффициент неблокируемости, тем уже этот эффективный диапазон значений параметров для максимально возможного потока транзакций доступа к общей памяти. Увеличение количества процессоров снижает производительность подсистемы памяти, поскольку при увеличении количества процессоров происходит существенный рост конкуренции за доступ к общей памяти вычислительной системы.

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

ЗАКЛЮЧЕНИЕ

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

1. Из сравнительного анализа подходов к изучению процессов управления доступом к данным в многоуровневой памяти вычислительных систем, выделены наиболее существенные факторы и структурные особенности различных уровней, определяющие операционные характеристики подсистемы памяти.

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

3. Установлено, что для широкого класса распределений востребованности данных вычислителем с увеличением длины блока вероятность попадания в кэш не возрастает, но среднее удельное время доступа к адресуемым объектам имеет унимодальный характер с неярко выраженным минимумом.

4. Предложен способ получения распределений востребованности приложений процессором для отображений основной памяти на кэши различных уровней по известному распределению отображения памяти на кэш первого уровня. На основе получаемых распределений определены операционные характеристики многоуровневой памяти.

5. Сформулированы условия целесообразности изменения структуры многоуровневой памяти блокирующего типа, обеспечивающие повышение ее быстродействия.

6. Показано, что с ростом ассоциативности и коэффициента неблокируемости кэша общая производительность подсистемы памяти возрастает до режима насыщения.

7. Построена конвейерная модель двухуровневой памяти симметричной многопроцессорной вычислительной системы, на основе которой разработано программное обеспечение SMPMemMark для численного расчета вероятности состояний моделирующей цепи Маркова и операционных характеристик подсистемы памяти с произвольными значениями числа процессоров и параметров памяти. Получены численные зависимости производительности подсистемы памяти от количества процессоров.

8. Разработана утилита МетМар тестового мониторинга выполнения прикладных программ для экспериментального сбора частот обращений к блокам оперативной памяти. Также утилита позволяет вычислять вероятности промаха в кэши различных уровней.

Библиография Биматов, Дмитрий Владимирович, диссертация по теме Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей

1. Бабаян Б.А., Бочаров А.В., Волин А.С. Многопроцессорные ЭВМ и методы их проектирования. — М.: Высшая школа, 1990. — 143 с.

2. Балашов Е.П., Пузанков Д.В., Смолов В.Б. Микропроцессоры и микропроцессорные системы. — М.: Радио и связь, 1981. — 326 с.

3. БашаринГ.П., Богуславский Л.Б., Штейнберг В.И. Анализ конфликтов в общей памяти мультипроцессорных систем // Автоматика и вычислительная техника, 1980, №6. — С. 27-32.

4. Башарин Г.П., Бочаров П.П., Коган Я.А. Анализ очередей в вычислительных сетях. Теория и методы расчета. — М.: Наука. Гл. ред. физ.-мат. лит., 1989.

5. Беркович С .Я., Кочин Ю.Я. Ассоциативная память. — М.: Знание, 1976.

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

7. Биматов Д.В. О целесообразности изменения количества уровней в многоуровневой памяти // Материалы IV Сибирской школы-семинара по параллельным и высокопроизводительным вычислениям. — Томск, 2008.

8. Биматов Д.В., Севостьянов Д.В., Сущенко М.С., Сущенко С.П. Вероятностные модели кэша: анализ эффективности // Сборник трудов V Всероссийской конференции «Наука и образование». — Томск: Изд-во ТГПУ, 2001.

9. Биматов Д.В., Сущенко М.С., Сущенко С.П. Моделирование разделяемой памяти двухпроцессорной вычислительной системы //Вестник Томского государственного университета, 2003, №280. — С. 319-323.

10. Биматов Д.В., Сущенко С.П. Анализ производительности многоуровневой подсистемы памяти // Вестник Томского гос. ун-та. Серия «Управление, вычислительная техника и информатика», 2007, № С. 92-100.

11. Биматов Д.В., Сущенко С.П. Моделирование современных высокопроизводительных вычислителей. // Материалы Всероссийской конференции «Наука и практика: диалоги нового века», Ч.З. — Томск: Изд-во Том. ун-та, 2003.

12. Биматов Д.В., Сущенко С.П. Об эффективности многоуровневой памяти вычислительной системы // Обозрение прикладной и промышленной математики, 2008, Т. 15, вып. 1. — С. 117-118.

13. Богуславский JI.Б., Ляхов А.И. Методы оценки производительности многопроцессорных систем. — М.: Наука, 1992.

14. Богуславский JI.Б., Ляхов А.И., ШевчикК.С. Сравнительный анализ стратегий доступа с обратной связью в многопроцессорных системах // Автоматика и телемеханика, 1996, №5. — С. 160-176.

15. Брехов О.М., Слуцкин А.И. Имитационное моделирование иерархической памяти MB С // Автоматика и вычислительная техника, 1986, №1. —С. 48.

16. Брехов О.М., Слуцкин А.И. Исследование способов обеспечения идентичности информации в буферной памяти многопроцессорных вычислительных систем // Автоматика и телемеханика, 1988, №8.— С. 156-169.

17. Бурцев B.C. Параллелизм вычислительных процессов и развитие архитектур суперЭВМ. — М.: ИВВС РАН, 1997. — 352 с.

18. Вейцман К. Распределенные системы мини- и микро-ЭВМ. М.: Финансы и статистика, 1983. — 382 с.

19. Воеводин В.В., Воеводин Вл.В. Параллельные вычисления. СПб.: БХВ-Петербург. 2002. — 608 с.

20. Волков Д., ФроловА. Оценка быстродействия нерегулярного доступа к памяти // Открытые системы, 2008, №1.

21. Головкин Б.А. Анализ факторов, влияющих на скорость вычисления в параллельных и конвейерных системах // Автоматика и телемеханика, 1988, №5. — С. 152-164.

22. Головкин Б.А. Вычислительные системы с большим количеством процессоров. -М.: Радио и связь, 1995. — 320 с.

23. Головкин Б.А. Параллельные вычислительные системы. — М.: Наука. Гл. ред. физ.-мат. лит-ры, 1980. — 519 с.

24. Головкин Б.А. Соотношения между показателями производительности супер-ЭВМ и метод ее оценивания // Автоматика и телемеханика, 1989, №12.— С. 141-152.

25. Гурвиц М. Многопроцессорные серверы в новом масштабе // LAN, 1988, №4. —С. 30-38.

26. Жожикашвили В.А., Вишневский В.М. Сети массового обслуживания. Теория и применение к сетям ЭВМ. — М.: Радио и связь, 1988.

27. Каляев А.В., Левин И.И. Модульно-наращиваемые многопроцессорные системы со структурно-процедурной организацией вычислений. — М.: Янус-К, 2003. — 380 с.

28. Каляев И.А. Реконфигурируемые мультиконвейерные вычислительные структуры. — Ростов-на-Дону: ЮНЦ РАН, 2008. — 320 с.

29. КатцанГ. Вычислительные машины системы 370. — М.: Мир, 1974.

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

31. Коваленко Е. Система Sequent NUMA-Q // Открытые системы, 1997, №2.—С. 6-13.

32. Коган Я.А., Ляхов А.И., Нерсесян С.Г. Асимптотический анализ эффективности использования кэш-памяти в многопроцессорных системах // Автоматика и телемеханика, 1986, №11. — С. 142-151.

33. Корячко В.П., Сускин В.В. Анализ эффективности распределения данных в памяти специализированных микропроцессорных вычислительных систем // Автоматика и вычислительная техника, 1984, №2. —С. 66-68.

34. Корячко В.П., Су скин В.В. Анализ функционирования микропроцессорной вычислительной системы с буферной памятью // Автоматика и вычислительная техника, 1985, №3. — С. 75-77.

35. Кохонен Т. Ассоциативная память. М.: Мир, 1980. — 239 с.

36. Кохонен Т. Ассоциативные запоминающие устройства: Пер. с англ. М.: Мир, 1982. — 384 с.

37. Кошман Е.А., Соловьев С.П. Оценка номинальной производительности универсальных ЭВМ // Вопросы радиоэлектроники, сер. ЭВТ, 1977, вып. 5. — С. 60-70.

38. Кузьминский М. 64-разрядные микропроцессоры AMD // Открытые системы, 2002, №4. — С. 10-15.

39. Кузьминский М. Архитектура на базе Power4 // Открытые системы, 2004, №1. —С. 10-14.

40. Кузьминский М. Архитектура серверов HP Superdome // Открытые системы, 1997, №3. — С. 9-13.

41. Кузьминский М. Архитектура S2MP свежий взгляд на сс-NUMA // Открытые системы, 1997, №2. — С. 14-21.

42. Кузьминский М. Архитектурные особенности микропроцессоров РА-8000/8200/8500 // Открытые системы, 1997, №3. — С. 6-10.

43. Кузьминский М. Будущее архитектуры Power 4 // Открытые системы, 2000, №4. — С. 16-20.

44. Кузьминский М. Дорога к высоким частотам // Открытые системы, 2001, №2, —С. 8-14.

45. Кузьминский М. Краткий обзор IA-64 // Открытые системы, 1999, №9-10.— С. 8-14.

46. Кузьминский М. Микроархитектура DEC Alpha21264 // Открытые системы, 1998, № 1, — С. 7-11.50