Оглавление
Введение ........................................................................................................................... 7
Глава 1. Выбор направления научного исследования ........................................... 15
1.1. Введение ......................................................................................................... 15
1.2. Производительность вычислительных систем ........................................... 15
1.3. Роль подсистемы памяти в производительности вычислительных систем .
......................................................................................................................... 22
1.4. Использование компрессии данных для повышения производительности
подсистемы памяти ................................................................................................. 26
Глава 2. Обзор и анализ существующих подходов ................................................ 28
2.1. Введение ......................................................................................................... 28
2.2. Алгоритмы аппаратной компрессии данных .............................................. 30
2.2.1. Frequent Value Compression ................................................................. 31
2.2.2. Frequent Pattern Compression ............................................................... 32
2.2.3. C-Pack .................................................................................................... 32
2.2.4. Base-Delta-Immediate ........................................................................... 33
2.2.5. Выводы .................................................................................................. 35
2.3. Увеличение эффективного объёма кэша при использовании в нем
компрессии данных ................................................................................................. 36
2.3.1. Compressed Cache и Frequent Value Cache ......................................... 36
2.3.2. Variable Segment Cache ........................................................................ 38
2.3.3. Zero-Content Cache ............................................................................... 39
2.3.4. Base-Delta-Immediate Cache ................................................................ 40
2.3.5. Decoupled Compressed Cache и Skewed Compressed Cache .............. 40
2.3.6. Base-Victim Compression Cache .......................................................... 41
3
2.3.7. Выводы .................................................................................................. 42
2.4. Увеличение пропускной способности каналов передачи данных за счёт
использования компрессии данных ....................................................................... 43
2.4.1. Использование статического справочника в контроллере шины .... 44
2.4.2. Использование статического справочника для каждого абонента
шины ................................................................................................................ 44
2.4.3. Использование справочников для пары отправитель-приёмник .... 45
2.4.4. Выделение типов локальности передаваемых данных .................... 46
2.4.5. Особенности передачи сжатых данных по сети-на-кристалле ....... 47
2.4.6. Применение справочников с часто встречающимися значениями к
сети-на-кристалле ............................................................................................. 48
2.4.7. Содержание справочников для отдельных направлений передачи . 49
2.4.8. NoΔ: использование в сети-на-кристалле алгоритма компрессии на
основе слабо отличающихся значений............................................................ 49
2.4.9. DISCO: перенос компрессии из устройств в коммутаторы ............. 50
2.4.10. Выводы ................................................................................................. 51
2.5. Увеличение эффективного объёма оперативной памяти при
использовании аппаратной компрессии данных .................................................. 52
2.5.1. IBM MXT .............................................................................................. 52
2.5.2. Устранение основных недостатков IBM MXT .................................. 53
2.5.3. Linearly Compressed Pages ................................................................... 53
2.5.4. MemZip .................................................................................................. 55
2.5.5. CRAM .................................................................................................... 56
2.5.6. Compresso .............................................................................................. 57
2.5.7. Qualcomm Centriq 2400 ........................................................................ 58
4
2.5.8. Выводы .................................................................................................. 59
2.6. Обеспечение защиты информации при использовании аппаратной
компрессии данных ................................................................................................. 61
Глава 3. Теоретические результаты работы ............................................................ 63
3.1. Введение ......................................................................................................... 63
3.2. Алгоритм аппаратной компрессии BΔI*-HL .............................................. 63
3.2.1. Упрощённая версия BΔI: алгоритм компрессии B+Δ ....................... 64
3.2.2. Алгоритм компрессии BΔI .................................................................. 65
3.2.3. Модификация для упрощения вычислений: алгоритм компрессии
BΔI* (BΔI Modified) .......................................................................................... 66
3.2.4. Поддержка сжатия до половинного размера: итоговый алгоритм
компрессии BΔI*-HL ........................................................................................ 68
3.3. Структурные решения для увеличения эффективного объёма кэш-памяти
за счёт аппаратной компрессии данных ................................................................ 71
3.3.1. Структура кэш-памяти последнего уровня в современных
процессорах архитектуры «Эльбрус» ............................................................. 71
3.3.2. Предлагаемые структурные решения для поддержки увеличения
эффективного объёма кэш-памяти .................................................................. 73
3.3.3. Модификация логики записи и чтения кэш-строк ............................ 75
3.3.4. Особенности выдачи данных чтения из кэш-памяти с поддержкой
компрессии данных ........................................................................................... 77
3.4. Метод размещения данных в кэш-памяти с поддержкой аппаратной
компрессии данных ................................................................................................. 79
3.4.1. Алгоритм размещения и вытеснения в кэш-памяти последнего
уровня современных процессоров архитектуры «Эльбрус» ........................ 79
3.4.2. Дополнительные действия при работе алгоритма размещения и
5
вытеснения данных в рамках предлагаемого метода .................................... 84
3.4.3. Поддержка целостности данных в ходе транзакций, имеющих
доступ к одной и той же ячейке памяти данных ............................................ 89
3.5. Метод увеличения пропускной способности каналов передачи данных 92
3.5.1. Рассматриваемая конфигурация сети ................................................. 94
3.5.2. Предлагаемый метод ............................................................................ 97
3.5.3. Дополнительные оптимизации передачи данных ........................... 101
Глава 4. Практические результаты работы ........................................................... 106
4.1. Введение ....................................................................................................... 106
4.2. Алгоритм аппаратной компрессии BΔI*-HL ............................................ 106
4.2.1. Инструментарий исследования ......................................................... 106
4.2.2. Сравнение алгоритмов B+Δ и BΔI с прочими алгоритмами с быстрой
декомпрессией ................................................................................................. 109
4.2.3. Алгоритмы с модифицированным вычислением B+Δ* и BΔI* и их
сравнение с базовыми алгоритмами B+Δ и BΔI .......................................... 114
4.2.4. Характеристики алгоритма BΔI*-HL ............................................... 119
4.2.5. Результаты синтеза реализаций алгоритмов BΔI, BΔI* и BΔI*-HL ....
.............................................................................................................. 122
4.3. Структурные решения и метод размещения данных для увеличения
эффективного объёма кэш-памяти при использовании аппаратной компрессии
данных .................................................................................................................... 123
4.3.1. Инструментарий исследования ......................................................... 123
4.3.2. Оценка эффективности предлагаемых структурных решений и
метода размещения данных на модели процессора ..................................... 125
4.3.3. Оценка эффективности предлагаемых структурных решений и
метода размещения данных на FPGA-прототипе процессора .................... 127
6
4.3.4. Результаты синтеза кэш-памяти с поддержкой аппаратной
компрессии данных ......................................................................................... 133
4.4. Метод увеличения пропускной способности каналов передачи данных ....
....................................................................................................................... 134
4.4.1. Инструментарий исследования ......................................................... 134
4.4.2. Теоретическая оценка эффекта аппаратной компрессии на
межпроцессорные каналы связи .................................................................... 135
4.4.3. Влияние аппаратной компрессии данных на пропускную
способность сети-на-кристалле ..................................................................... 137
4.4.4. Влияние аппаратной компрессии данных на пропускную
способность межпроцессорных каналов связи ............................................ 139
Заключение ................................................................................................................... 141
Список сокращений и условных обозначений ......................................................... 143
Список литературы ...................................................................................................... 146
Список иллюстраций .................................................................................................. 154
Список таблиц .............................................................................................................. 159
Приложение А (Свидетельство о государственной регистрации программы для
ЭВМ) ............................................................................................................................. 160
Приложение Б (Акты внедрения) .............................................................................. 161


