|
| ||||||||||||
| ||||||||||||
|
2008 г.
Правило пяти минут двадцать лет спустя, и как флэш-память изменяет правилаГоц Грейф
Оригинал: Goetz Graefe. The Five-minute Rule: 20 Years Later and How Flash Memory Changes the Rules, ACM QUEUE, July/August 2008 Резюме и выводыПравило пяти минут двадцатилетней давности для основной памяти и дисков продолжает действовать, но для гораздо более крупных дисковых страниц. Кроме того, его следует дополнить двумя новыми правилами пяти минут: одно для небольших страниц, перемещающихся между основной памятью и флэш-памятью, и другое – для крупных страниц, перемещающихся между флэш-памятью и традиционными дисками. Для небольших страниц, перемещающихся между основной памятью и дисками, Грей и Пуцолу поразительно точно предсказали появление через двадцать лет пятичасового интервала равнозатратности. Исследования флэш-памяти и ее места в системной архитектуре являются неотложными и важными. Через несколько лет флэш-память будет использоваться для ликвидации разрыва между традиционной основной памятью и традиционными дисковыми устройствами во многих операционных системах, файловых системах и системах баз данных. Флэш-память можно использовать для расширения основной памяти или персистентного хранилища. В данной статье эти модели называются «расширенным буферным пулом» и «расширенным диском». Обе модели кажутся жизнеспособными в операционных системах, файловых системах и системах баз данных. Однако из-за особенностей характеристик этих систем в них будут применяться разные модели использования. В обеих моделях содержимое основной памяти и флэш-памяти будет управлять алгоритмами замещения в стиле LRU, которые направлены на то, чтобы удерживать более полезные страницы в основной памяти, а менее полезные страницы – на традиционных дисках. Связанный список или другая структура данных, реализующая политику замещения для флэш-памяти, будет поддерживаться в основной памяти. В операционных системах и файловых системах флэш-память будет, главным образом, использоваться как временное хранилище (например, как быстрая резервная копия виртуальной памяти или как дополнительный кэш файловой системы). Оба эти вида применения относятся к модели расширенного буферного пула. При выполнении запланированного останова системы содержимое флэш-памяти могло бы записываться в персистентное хранилище. Однако при отказе системы описание содержимого флэш-памяти, сохраняемое в основной памяти, будет утрачено, и его потребуется реконструировать путем анализа содержимого способом, очень близким к тому, который применяется при восстановлении традиционных файловых систем. В качестве альтернативы содержимое флэш-памяти можно было бы аннулировать и загружать по требованию. С другой стороны, в системах баз данных флэш-память будет использоваться как персистентное хранилище на основе модели расширенного диска. Текущее содержимое будет описываться персистентными структурами данных (например, родительскими узлами индексов на основе B-деревьев). Традиционные механизмы поддержки долговечности данных (в частности, журнализация и контрольные точки) обеспечивают согласованность данных и их эффективное восстановление после отказов системы. При запланированном останове системы нет потребности в переписи содержимого флэш-памяти на диск. Имеются две причины использования разных моделей флэш-памяти. Во-первых, системы баз данных полагаются на регулярное выполнение операций установки контрольных точек, во время которого измененные страницы выталкиваются из буферного пула в персистентное хранилище. Перемещение измененной страницы из основной памяти в расширенный буферный пул во флэш-памяти приводит к существенным накладным расходам при выполнении следующей операции установки контрольной точки. Необходимо найти свободный буфер в основной памяти, прочитать в основную память содержимое страницы из флэш-памяти и затем записать эту страницу на диск. Совершенно ни к чему добавлять такие накладные расходы к операции установки контрольной точки, которая в системах баз данных выполняется довольно часто. С другой стороны, в операционных системах и файловых системах контрольные точки не используются, и поэтому в них флэш-память можно использовать как расширенный буферный пул. Во-вторых, в основных персистентных структурах данных баз данных – B-деревьях – обеспечиваются механизмы отображения и отслеживания местоположений, требующие выполнения частых перемещений и замещений страниц. Следовательно, для отслеживания местоположения страницы данных при ее перемещении между диском и флэш-памятью можно использовать ту же структуру данных, которая поддерживается для обеспечения эффективного поиска в базе данных. Кроме того, что удается обойтись без описателей буферного пула и т.д. для страниц во флэш-памяти, отсутствие косвенности при адресации страницы позволяет максимально ускорить поиск в базе данных. Наконец, поскольку у флэш-памяти и дисков существенно отличаются соотношения времени задержки доступа и скорости передачи данных, для них являются оптимальными разные размеры узлов B-дерева. О’Нейл в своей работе о SB-дереве показывает, что в многоуровневой иерархии памяти требуются два разных размера узлов. Для перемещения отдельных страниц требуются недорогие механизмы, точно такие же, как те, которые нужны для перемещения страниц между флэш-памятью и диском. БлагодарностиЭта статья посвящается Джиму Грею, который посоветовал выполнить данное исследование и много раз в разных обстоятельствах помогал как автору, так и многим другим исследователям. Барб Питерс (Barb Peters), Лили Джоу (Lily Jow), Харуми Куно (Harumi Kuno), Хосе Блейкли (José Blakeley), Мехул Шах (Mehul Shah) и рецензенты DaMoN 2007 внесли несколько предложений по улучшению статьи после прочтения ее раннего варианта. Литература
|
|
CITForum © 1997–2025