Принцип организации кэш памяти. Полностью ассоциативная

advertisement
17.1 Принцип организации кэш памяти. Полностью ассоциативная кэш память. Формирование
виртуального адреса.
Кэш-память (КП), или кэш, представляет собой организованную в виде
ассоциативного запоминающего устройства (АЗУ) быстродействующую буферную
память ограниченного объема, которая располагается между регистрами процессора и
относительно медленной основной памятью и хранит наиболее часто используемую информацию
совместно с ее признаками (тегами), в качестве которых выступает часть адресного кода.
В процессе работы отдельные блоки информации копируются из основной памяти в кэш-память.
При обращении процессора за командой или данными сначала проверяется их наличие в КП. Если
необходимая информация находится в кэше, она быстро извлекается. Это кэш-попадание. Если
необходимая информация в КП отсутствует ( кэш-промах ), то она выбирается из основной
памяти, передается в микропроцессор и одновременно заносится в кэш-память. Повышение
быстродействия вычислительной системы достигается в том случае, когда кэш-попадания
реализуются намного чаще, чем кэш-промахи.
Ассоциативная кэш-память. Это предельный случай предыдущего варианта, когда объем кэшбанка становится равным одной строке кэш-памяти (дальше делить уже некуда). При этом любая
строка ОЗУ может быть сохранена в любом месте кэш-памяти.
Запоминающий кэш-массив состоит из строк равной длины. Емкость такой строки равна размеру
пакета, считываемого из ОЗУ за 1 цикл. Строка загружается в кэш и извлекается только целиком.
Достоинства: максимальная эффективность использования пространства кэш-памяти.
Недостатки: наибольшие затраты времени на поиск информации.
Логический адрес, также называемый виртуальным, состоит из селектора сегмента (в реальном
режиме – просто адреса сегмента; Селектор - это индекс-расстояние от базового адреса
дескрипторной таблицы до нужного элемента-дескриптора в этой таблице) и эффективного адреса
называемого также смещением (offset). Эффективный адрес формируется
суммированием компонентов base(содержимое базового регистра), index(содержимое индексного
регистра), displacement(смещение) с учетом масштаба scale(масштаб,
множитель). Поскольку каждая задача может иметь до 16 К селекторов, а
смещение, ограниченное размером сегмента, может достигать 4 Гбайт, логическое адресное
пространство для каждой задачи может достигать 64 Тбайт.
Все это пространство виртуальной памяти в принципе доступно программисту (при
условии поддержки со стороны операционной системы). Блок сегментации транслирует
логическое адресное пространство в 32-битное пространство линейных адресов.
17.2 RAID массивы.
RAID (Redundant Array of Independent/Inexpensive Disks) – массив из нескольких жестких дисков,
управляемых контроллером, взаимосвязанных скоростными каналами и воспринимаемых как
единое целое. В зависимости от типа используемого RAID массива, система хранения может
обеспечивать различные степени отказоустойчивости и/или быстродействия.
JBOD – (от англ. Just a Bunch Of Disks, просто набор дисков) – RAID массив, в котором дисковое
пространство распределено по жёстким дискам последовательно. Ёмкость массива JBOD равна
сумме ёмкостей составляющих дисков. Массив может состоять из дисков различной ёмкости и
скорости.Поскольку избыточность не предусмотрена, данный подход не обеспечивает высокой
надежности хранения данных. Отказ одного диска позволяет восстановить файлы на остальных
дисках (если их начало/конец не принадлежат повреждённому диску).
Работу в режиме JBOD поддерживают все NAS-массивы Thecus с двумя и более дисками.
RAID 0 («striping» или «страйпинг») – дисковый массив из двух или более жёстких дисков с
отсутствием избыточности. Информация разбивается на блоки данных и записывается на
несколько дисков одновременно, за счёт этого существенно повышается производительность
чтения и записи. Главным минусом такой конфигурации является низкая надёжность. При выходе
из строя любого из входящих в RAID 0 дисков полностью и безвозвратно пропадает информация
всего массива.
RAID 1 («mirror» или «зеркало») обеспечивает высокую надёжность, так как работает до тех пор,
пока функционирует хотя бы один диск в массиве. Кроме того, RAID 1 обеспечивает хорошую
скорость записи, а также отличные показатели скорости чтения благодаря распараллеливанию
запросов.Ключевой недостаток RAID 1 заключается в том, что потребуется два диска для
получения полезного объема всего одного жёсткого диска. Таким образом, эффективность
использования ёмкости диска не превышает 50%.
RAID 5 подразумевает разбивку данных на блоки, для каждого блока рассчитывается контрольная
сумма на случай необходимости коррекции или восстановления поврежденных дисков. Блоки
данных и контрольные суммы циклически записываются на все диски массива, благодаря чему нет
необходимости в выделенном диске для хранения информации о четности. RAID 5 – это самый
популярный RAID массив благодаря своей экономичности (в конфигурации из 5 дисков по 1TB
доступная емкость составит около 4TB или 80% от физической емкости). Минимальное
количество используемых дисков в RAID 5 равно трём.Запись информации на том RAID 5 требует
дополнительных процессорных ресурсов для вычисления четности. При этом при чтении данных
достигаются отличные результаты благодаря распараллеливанию запросов к нескольким дискам.
RAID 6 («Advanced Data Guarding») похож на RAID 5, но имеет более высокую степень
надежности – под контрольные суммы выделяется емкость 2-х дисков, и рассчитываются 2 суммы
по разным алгоритмам. Такой подход требует более серьезных вычислительных ресурсов массива,
однако обеспечивает работоспособность сетевого хранилища после выхода из строя одновременно
2-х дисков.Для организации RAID массива 6-го уровня требуется минимум 4 диска.
RAID 1+0 (10) – комбинированный уровень, сочетающий в себе «зеркалирование» и «страйпинг».
Благодаря такому подходу становится возможным использовать в виде «страйпов» RAID 0
зеркала, что обеспечивает высокую скорость и отличную надежность. Не стоит забывать, что
полноценный RAID 1+0 должен содержать как минимум 4 диска, а доступная ёмкость при этом
будет соответствовать объему всего 2-х дисков.
RAID 5+0 (50) также является комбинированным уровнем, представляющим собой RAID 5 из
массивов RAID 0. «Страйпинг» или RAID 0 помогает увеличить емкость и производительность без
добавления дисков в каждый массив RAID 5.Том RAID 5+0 строится минимум на шести
физических дисках. Возможно и большее число жестких дисков, однако оно должно быть четным.
Предпочтение стоит отдавать дискам одинаковой ёмкости и одной модели.
RAID 6+0 (60) является симбиозом RAID 0 и RAID 6, при котором фактически строится RAID 6,
но его составляющими элементами являются не жесткие диски, а массивы RAID 0. Для
реализации такого решения необходимо 8 дисков или более, причем их количество так же, как и в
RAID 5, должно быть четным.Конфигурация RAID 6+0 демонстрирует высокую
отказоустойчивость и надежность при большом объеме данных. Двойная четность допускает отказ
двух дисков в каждом массиве RAID 6. Для RAID 6+0 также предпочтительно использование
жестких дисков одинаковой ёмкости и одной модели.
Download