Memory. Static memory; dynamic memory; flash memory. Memory in FPGA. Firmware machines on ROM. RAM. RAM for temporary storage of information. RAM as an information buffer.
Анализ и оценка систем адресации данных в современных ЭВМSergey Gerasimov
Часть операционной системы, которая «отвечает» за корректное хранение данных и предоставление доступа к ним пользователю и прикладным программам
Порядок, определяющий способ организации, хранения и именования данных на носителях информации ИТ-оборудования
Система адресации данных является одной из самых существенных составных частей файловой системы. Именно система адресации позволяет находить нужный файл среди множества как пустых, так и занятых блоков на диске.
Ceph является одной из мнообещающих архитектур для построения облачных хранилищ данных. В презентации приведены основные возможности, описана архитектура, дан краткий обзор команд CLI
Memory. Static memory; dynamic memory; flash memory. Memory in FPGA. Firmware machines on ROM. RAM. RAM for temporary storage of information. RAM as an information buffer.
Анализ и оценка систем адресации данных в современных ЭВМSergey Gerasimov
Часть операционной системы, которая «отвечает» за корректное хранение данных и предоставление доступа к ним пользователю и прикладным программам
Порядок, определяющий способ организации, хранения и именования данных на носителях информации ИТ-оборудования
Система адресации данных является одной из самых существенных составных частей файловой системы. Именно система адресации позволяет находить нужный файл среди множества как пустых, так и занятых блоков на диске.
Ceph является одной из мнообещающих архитектур для построения облачных хранилищ данных. В презентации приведены основные возможности, описана архитектура, дан краткий обзор команд CLI
Спецкурс Разработка серверов и серверных приложений лекция №1Eugeniy Tyumentcev
В 70-годах прошлого века в ИТ-отрасли сложилось стойкое убеждение, что будущее будет за многопроцессорными системами. Активно разрабатывались методы написания параллельных программ, в том числе и модель акторов Карла Хьюита. Однако все попытки создать многопроцессорную систему завершились провалом - полученные системы оказались дорогими и существенно не превосходили однопроцессорные системы. Самым известным провалом стал японский проект по разработке вычислительных машин 5-го поколения, на который было потрачено 500 млн. долларов. Причина заключается в законе Амдала, который устанавливает ограничения на увеличение производительности при распараллеливании программ. Кроме того, на рынке появилась компания Intel, которая сумела создать успешный однопоточный процессор и постепенно наращивать производительность своих процессоров. Это было время, когда программистам для ускорения своих программ не надо было делать ничего - достаточно дождаться более мощной версии процессора. Только спустя 30 лет, когда Intel уперлась в технологические проблемы наращивания производительности процессоров в лоб, интерес к параллельным технологиям опять возрос. Возникает резонный вопрос: этот интерес надолго или опять повторится история 70-х? В статье Герба Саттера 2005 года Бесплатного супа больше не будет: фундаментальный поворот к параллельности в программном обеспечении утверждается, что нет - больше не возврата к однопоточным программам, и программисты теперь будут вынуждены заботиться о параллельности...
• Мировой рынок ЦОД. Изменение динамики роста ЦОД, появление новых технологий, закрытие старых ЦОДов.
• Крупнейшие ЦОДы в мире.
• Российский рынок ЦОД. Объемы, выручка, рост.
• Определяющие тенденции ЦОДо-строения: модульность, PUE, масштабируемость, экологичность
• Рынок ЦОД в России. Операторы связи, коммерческие, корпоративные.
• Статистика рынка ЦОД. Игроки, объемы, распределение по стране.
• Модульные технологии Stack Data Network, новые проекты.
Зайцев Сергей Валерьевич, директор Управления регионального развития Stack Data Network(Москва)[/b]
1. Лекция 11. КЭШ-память и специальная память.
Кэш
Кэш или кеш (англ. cache, от фр.cacher — прятать; произносится [kæʃ] — кэш) —
промежуточный буфер с быстрым доступом, содержащий копию той информации, которая
хранится в памяти с менее быстрым доступом, но с наибольшей вероятностью может быть
оттуда запрошена. Доступ к данным в кэше идёт быстрее, чем выборка исходных данных из
медленной памяти или их перевычисление, за счёт чего уменьшается среднее время доступа.
История
Впервые слово «кэш» в компьютерном контексте было использовано в 1967 году во
время подготовки статьи для публикации в журнале «IBM Systems Journal». Статья касалась
усовершенствования памяти в разрабатываемой модели 85 из серии IBM System/360. Редактор
журнала Лайл Джонсон попросил придумать более описательный термин, нежели
«высокоскоростной буфер», но из-за отсутствия идей сам предложил слово «кэш». Статья была
опубликована в начале 1968 года, авторы были премированы IBM, их работа получила
распространение и впоследствии была улучшена, а слово «кэш» вскоре стало использоваться в
компьютерной литературе как общепринятый термин.
Функционирование
Диаграмма кэша памяти ЦПУ
Кэш — это память с большей скоростью доступа, предназначенная для ускорения
обращения к данным, содержащимся постоянно в памяти с меньшей скоростью доступа (далее
«основная память»). Кэширование применяется ЦПУ, жёсткими дисками, браузерами и веб-
серверами.
Кэш состоит из набора записей. Каждая запись ассоциирована с элементом данных или
блоком данных (небольшой части данных), которая является копией элемента данных в
основной памяти. Каждая запись имеет идентификатор, определяющий соответствие между
элементами данных в кэше и их копиями в основной памяти.
Когда клиент кэша (ЦПУ, веб-браузер, операционная система) обращается к данным,
прежде всего исследуется кэш. Если в кэше найдена запись с идентификатором, совпадающим с
идентификатором затребованного элемента данных, то используются элементы данных в кэше.
Такой случай называется попаданием кэша. Если в кэше не найдено записей, содержащих
затребованный элемент данных, то он читается из основной памяти в кэш, и становятся
доступным для последующих обращений. Такой случай называется промахом кэша. Процент
обращений к кэшу, когда в нём найден результат, называется уровнем
попаданий иликоэффициентом попаданий в кэш.
Например, веб-браузер проверяет локальный кэш на диске на наличие локальной копии
веб-страницы, соответствующей запрошенному URL. В этом примере URL — это
идентификатор, а содержимое веб-страницы — это элементы данных.
Если кэш ограничен в объёме, то при промахе может быть принято решение отбросить
некоторую запись для освобождения пространства. Для выбора отбрасываемой записи
используются разные алгоритмы вытеснения.
При модификации элементов данных в кэше выполняется их обновление в основной
памяти. Задержка во времени между модификацией данных в кэше и обновлением основной
памяти управляется так называемой политикой записи.
В кэше с немедленной записью каждое изменение вызывает синхронное обновление
данных в основной памяти.
2. В кэше с отложенной записью (или обратной записью) обновление происходит в случае
вытеснения элемента данных, периодически или по запросу клиента. Для отслеживания
модифицированных элементов данных записи кэша хранят признак модификации
(изменённый или «грязный»). Промах в кэше с отложенной записью может потребовать два
обращения к основной памяти: первое для записи заменяемых данных из кэша, второе для
чтения необходимого элемента данных.
В случае, если данные в основной памяти могут быть изменены независимо от кэша, то
запись кэша может стать неактуальной. Протоколы взаимодействия между кэшами, которые
сохраняют согласованность данных, называют протоколами когерентности кэша.
Кэш центрального процессора
Ряд моделей центральных процессоров (ЦП) обладают собственным кэшем, для того
чтобы минимизировать доступ к оперативной памяти (ОЗУ), которая медленнее, чемрегистры.
Кэш-память может давать значительный выигрыш в производительности, в случае
когда тактовая частота ОЗУ значительно меньше тактовой частоты ЦП. Тактовая частота для
кэш-памяти обычно ненамного меньше частоты ЦП.
Уровни кэша
Кэш центрального процессора разделён на несколько уровней. Для универсальных
процессоров — до 3. Кэш-память уровня N+1 как правило больше по размеру и медленнее по
скорости обращения и передаче данных, чем кэш-память уровня N.
Самой быстрой памятью является кэш первого уровня — L1-cache. По сути, она является
неотъемлемой частью процессора, поскольку расположена на одном с ним кристалле и входит в
состав функциональных блоков. Состоит из кэша команд и кэша данных. Некоторые
процессоры без L1 кэша не могут функционировать. На других его можно отключить, но тогда
значительно падает производительность процессора. L1 кэш работает на частоте процессора, и,
в общем случае, обращение к нему может производиться каждый такт (зачастую является
возможным выполнять даже несколько чтений/записей одновременно). Латентность доступа
обычно равна 2−4 тактам ядра. Объём обычно невелик — не более 128 Кбайт.
Вторым по быстродействию является L2-cache — кэш второго уровня. Обычно он
расположен либо на кристалле, как и L1, либо в непосредственной близости от ядра, например,
в процессорном картридже (только в слотовых процессорах). В старых процессорах — набор
микросхем на системной плате. Объём L2 кэша от 128 Кбайт до 1−12 Мбайт. В современных
многоядерных процессорах кэш второго уровня, находясь на том же кристалле, является
памятью раздельного пользования — при общем объёме кэша в 8 Мбайт на каждое ядро
приходится по 2 Мбайта. Обычно латентность L2 кэша, расположенного на кристалле ядра,
составляет от 8 до 20 тактов ядра. В отличие от L1 кэша, его отключение может не повлиять на
производительность системы. Однако, в задачах, связанных с многочисленными обращениями
к ограниченной области памяти, например,СУБД, производительность может упасть в десятки
раз.
Кэш третьего уровня наименее быстродействующий и обычно расположен отдельно от
ядра ЦП, но он может быть очень внушительного размера — более 32 Мбайт. L3 кэш
медленнее предыдущих кэшей, но всё равно значительно быстрее, чем оперативная память. В
многопроцессорных системах находится в общем пользовании.
Отключение кэша второго и третьего уровней обычно используется в математических
задачах, например, при обсчёте полигонов, когда объём данных меньше размера кэша. В этом
случае, можно сразу записать все данные в кэш, а затем производить их обработку.
Кэширование внешних накопителей
Многие периферийные устройства хранения данных используют кэш для ускорения
работы, в частности, жёсткие диски используют кэш-память от 1 до 64 Мбайт (модели с
поддержкой NCQ/TCQ используют её для хранения и обработки запросов), устройства чтения
CD/DVD/BD-дисков также кэшируют прочитанную информацию для ускорения повторного
обращения. Операционная система также использует часть оперативной памяти в качестве кэша
дисковых операций (в том числе для внешних устройств, не обладающих собственной кэш-
памятью, в том числе жёстких дисков, flash-памяти и гибких дисков).
Применение кэширования внешних накопителей обусловлено следующими факторами:
3. 1. скорость доступа процессора к оперативной памяти во много раз больше, чем к
памяти внешних накопителей;
2. некоторые блоки памяти внешних накопителей используются
несколькими процессами одновременно и имеет смысл прочитать блок один раз, затем хранить
одну копию блока в оперативной памяти для всех процессов;
3. доступ к некоторым блокам оперативной памяти происходит гораздо чаще, чем к
другим, поэтому использование кэширования для таких блоков в целом увеличивает
производительность системы;
4. для некоторых блоков памяти внешних накопителей не требуется
непосредственной записи после модификации, и использование кэша для таких блоков
оптимизирует использование ввода-вывода.
Специальная память
К устройствам специальной памяти относятся постоянная
память (ROM), перепрограммируемая постоянная память (Flash Memory), память
CMOS RAM, питаемая от батарейки, видеопамять и некоторые другие виды памяти.
Постоянная память (ПЗУ, англ. ROM, Read Only Memory — память только для
чтения) — энергонезависимая память, используется для хранения данных, которые
никогда не потребуют изменения. Содержание памяти специальным образом "зашивается"
в устройстве при его изготовлении для постоянного хранения. Из ПЗУ можно только
читать.
Перепрограммируемая постоянная память (Flash Memory) — энергонезависимая
память, допускающая многократную перезапись своего содержимого с дискеты.
Прежде всего в постоянную память записывают программу управления работой
самого процессора. В ПЗУ находятся программы управления дисплеем, клавиатурой,
принтером, внешней памятью, программы запуска и остановки компьютера, тестирования
устройств.
Важнейшая микросхема постоянной или Flash-памяти — модуль BIOS. Роль BIOS
двоякая: с одной стороны это неотъемлемый элемент аппаратуры, а с другой строны —
важный модуль любой операционной системы.
BIOS (Basic Input/Output System — базовая система ввода-вывода) —
совокупность программ, предназначенных для автоматического тестирования
устройств после включения питания компьютера и загрузки операционной системы в
оперативную память.
Разновидность постоянного ЗУ — CMOS RAM.
CMOS RAM — это память с невысоким быстродействием и минимальным
энергопотреблением от батарейки. Используется для хранения информации о
конфигурации и составе оборудования компьютера, а также о режимах его работы.
Интегральные схемы BIOS и CMOS
Содержимое CMOS изменяется специальной программой Setup, находящейся в BIOS
(англ. Set-up — устанавливать, читается "сетап").
Для хранения графической информации используется видеопамять.
4. Видеопамять (VRAM) — разновидность оперативного ЗУ, в котором хранятся
закодированные изображения. Это ЗУ организовано так, что его содержимое доступно
сразу двум устройствам — процессору и дисплею. Поэтому изображение на экране
меняется одновременно с обновлением видеоданных в памяти.