Классика баз данных - статьи

       

Правило пяти минут


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

Грей и Пуцолу предложили следующую формулу [,]:

BreakEvenIntervalinSeconds = (PagesPerMBofRAM / AccessesPerSecondPerDisk) x (PricePerDiskDrive / PricePerMBofRAM)

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

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

(256/83) x ($80/$0.047) = 5,248 seconds = 90 минут = 1,5 часа

(Знак «=» в этой статье означает округление.) Сравните полученное значение c двумя минутами (для страниц размером 4 килобайта) 20 лет назад.

Если в этом изменении и есть нечто удивительное, так это то, что интервал равнозатратности вырос менее чем на два порядка. Напомним, что в 1987 г. основная память стоила около $5000 за мегабайт, а в 2007 г. – примерно $0.05 за мегабайт, т.е. цена отличается на пять порядков. С другой стороны, цены на диски тоже упали (в 1987 г. стоимость диска составляла $15000), задержки обменов существенно сократились, а скорость обмена – повысилась (с 15 обменов в секунду до 100 на SATA и 200 на высокопроизводительных дисках SCSI).


Для основной памяти и флэш-дисков объемом в 32 гигабайта интервал равнозатратности составляет

(256/6,200) x ($999/$0.047) = 876 секунд = 15 минут

В 2007 г. цена флэш-дисков включала «надбавку за новизну» и без ее учета приближалась к цене «сырой» флэш-памяти, около $400 (эта цена также предвиделась Греем и Фицджеральдом []). При этой цене интервал равнозатратности составляет 351 секунду = 6 минут.

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



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

(256/83) x ($80/$0.03) = 8,070 секунд = 2,25 часа

Таким образом, все активные данные будут оставаться в основной и флэш-памяти.

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

В 1987 г. Грей и Пуцолу рассуждали о будущем через двадцать лет и предсказывали «правило пяти часов» для основной памяти и дисков. Для записей длиной в 1 килобайт при ценах и спецификациях, типичных для 2007 г., их формула дает 20978 секунд, или немного меньше шести часов. Предсказание оказалось поразительно точным.
Размер страницы 1 Кб 4 Кб 16 Кб 64 Кб 256 Кб
ОЗУ-SATA 20978 5248 1316 334 88
ОЗУ-флэш 2513 876 467 365 339
Флэш-SATA 32253 8070 2024 513 135
ОЗУ-$400 1006 351 187 146 136
$400-SATA 80553 20155 5056 1281 337
<


Таблица 3. Интервалы равнозатратности

В табл. 3 показаны интервалы равнозатратности, включая те, которые упоминались выше, для разных размеров страниц и комбинаций технологий хранения. «$400» обозначает 32-гигабайтный NAND-флэш-диск, который стоил в 2007 г. $999 (просто «флэш» в табл. 3), а за вычетом «надбавки за новизну» должен был стоить $400.

Старое правило пяти минут для основной памяти и дисков теперь применимо к страницам размеров в 64 килобайта (334 секунды). В 1987 г. пять минут составляли приблизительный интервал равнозатратности для страниц размером в один килобайт [], а в 1997 г. – для страниц размером в 8 килобайт []. В этой тенденции отражаются разные скорости сокращения задержек доступа к дискам и повышения скорости передачи данных.

Пятиминутный интервал равнозатратности также применим к комбинации основной памяти и дорогостоящей флэш-памяти в ценах 2007 г. для страниц размером в 64 килобайта и более (365 секунд для 64-килобайтных страниц и 339 секунд для 256-килобайтных). По мере сокращения стоимости флэш-памяти сокращаются и интервалы равнозатратности (146 и 136 секунд соответственно).

Два новых правила пяти минут соответствуют ячейкам табл. 3, значения в которых выделены полужирным курсивом. Мы вернемся к этой таблице и этим правилам при обсуждении оптимальных размеров узлов индексов на основе B-дерева.


Содержание раздела