В литературе, посвященной политикам замещения, подробно анализируются различные схемы, включая алгоритмы, которые подсчитывают частотность и давность использования, алгоритмы, которые отслеживают время предпоследнего обращения к определенной информации, и т. д. Однако, несмотря на изобилие инновационных схем кеширования (некоторые из них могли бы при благоприятных условиях побить метод вытеснения по давности использования), сам по себе этот метод – и небольшие его вариации – безоговорочный фаворит специалистов по информатике и используется в широком спектре развертываемых приложений на различных уровнях. Этот подход учит нас: следующее, что нам может понадобиться, – это то, что нам было нужно в последний раз. А после, вероятно, нам будет нужно то, что мы использовали до этого. А то, без чего мы обходились дольше всего, вряд ли скоро станет для нас необходимостью.
Если у нас нет разумных причин думать иначе, мы можем решить, что нашим лучшим проводником в будущее является зеркальное отображение прошлого. Чтобы максимально приблизиться к ясновидению, нужно просто признать, что история повторяет себя – в обратном порядке.
Вывернуть библиотеку наизнанку
Глубоко в дебрях библиотеки Гарднер Стакс в Калифорнийском университете в Беркли, за закрытыми дверями с большой табличкой «Вход только для персонала», располагается одна из жемчужин библиотечной системы университета. Кормак Маккарти, Томас Пинчон, Элизабет Бишоп, Дж. Д. Сэлинджер; Анаис Нин, Сьюзан Зонтаг, Хунот Диас и Майкл Шейбон; Энни Пру, Марк Стрэнд и Филип К. Дик; Уильям Карлос Уильямс, Чак Паланик и Тони Моррисон; Дэнис Джонсон, Джулиана Спар, Джори Грэм и Дэвид Седарис; Сильвия Плат, Дэвид Мэмет, Дэвид Фостер Воллас и Нил Гейман… Это не коллекция редких книг библиотеки. Это ее кеш.
Как мы уже говорили, библиотеки – «жизненный» пример иерархии памяти, если сочетать использование их ресурсов с работой за письменным столом дома. По факту внутреннее устройство библиотек с их различными секциями и хранилищами – это также прекрасный пример многоуровневой иерархии памяти. В результате библиотеки сталкиваются со всеми вышеупомянутыми проблемами использования кеша.
Им приходится решать, какие книги выложить в ограниченном витринном пространстве, какие оставить в книгохранилище и какие отправить на хранение за пределами библиотеки. Политика по распределению книг для хранения вне библиотечного склада в каждой библиотеке разная, но почти все применяют различные версии метода вытеснения по давности использования. «Для основного книгохранилища, например, действует такое правило, – рассказывает Бет Дюпьи, руководитель операционных процессов библиотек Калифорнийского университета в Беркли, – если книгу не брали в течение 12 лет, ее передают в хранилище за пределами библиотеки».