Алгоритмы для жизни: Простые способы принимать верные решения (Гриффитс, Кристиан) - страница 75

Иерархия памяти

У одной женщины было обостренное чувство ответственности и почти не было памяти.

Она помнила достаточно, чтобы работать. И работала она упорно.

Лидия Дэвис

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

Чего может не знать средний покупатель, так это того, что подобный компромисс достигается внутри любого компьютера на ряде уровней – до такой степени, что его можно признать одной из фундаментальных основ вычислительной деятельности.

В 1946 году Артур Беркс, Герман Голдстайн и Джон фон Нейман, трудясь в Институте специальных исследований в Принстоне, выработали проект предложения, который они назвали «электрический орган памяти». По их словам, в идеальном мире техника, разумеется, обладала бы безграничным количеством молниеносно работающей памяти, но на практике это невозможно (до сих пор). Вместо этого тройка экспертов предложила другой вариант, по их мнению, лучший из реальных: «иерархия слоев памяти, каждый из которых обладал бы большей мощностью, чем предыдущий, но при этом был бы менее доступным». По сути, имея пирамиду из различных форм памяти (маленькой, но быстрой и большой, но медленной), мы могли бы извлечь максимум выгоды из обоих видов. Основная идея иерархии интуитивно будет понятна любому человеку, который хоть раз пользовался библиотекой. Если вы проводите исследование для дипломной работы, вам наверняка понадобятся некоторые книги, на которые вы будете многократно ссылаться. Вместо того чтобы каждый раз идти в читальный зал, вы, разумеется, возьмете нужные книги домой, чтобы они были у вас всегда под рукой.

Идея иерархии памяти оставалась лишь теорией до изобретения суперкомпьютера, или ЭВМ сверхвысокой производительности, который получил название «Атлас» (это произошло в 1962 году в Манчестере). Основная память компьютера состояла из огромного барабана, который вращался при чтении и записи информации в отличие от его предшественника – воскового цилиндра. Однако у «Атласа» была более быстрая оперативная память меньшего объема, работающая на поляризованных магнитах. Данные считывались из цилиндра и передавались на магниты, где быстро обрабатывались, и затем результаты записывались на цилиндр. Вскоре после изобретения «Атласа» кембриджский математик Морис Вилкес пришел к выводу, что быстрая память небольшого объема – не самое подходящее место для хранения данных до их повторного сохранения на цилиндре. Оперативную память также можно было использовать для хранения фрагментов информации, которые могли бы пригодиться позднее. Ожидание аналогичных будущих запросов на эту информацию существенно ускоряло операционные процессы компьютера. Если информация, которую вы ищете, все еще находится в оперативной памяти, то вам не нужно выгружать ее из цилиндра. Как отметил Вилкес, память меньшего объема «автоматически накапливает в себе слова, которые переходят в нее из основной медленной памяти, и сохраняет их для последующего использования без необходимости вновь обращаться к основной памяти». Главное здесь, конечно, возможность использовать эту небольшую, быструю драгоценную память так, чтобы в ней всегда было то, что вам нужно, и вы могли обращаться к ней максимально часто. Если развить аналогию с библиотекой, это тот случай, когда вы можете один раз сходить за всеми нужными книгами и затем всю неделю работать с ними дома. Это так же удобно, как если бы все книги библиотеки уже лежали на вашем рабочем столе. Чем больше походов в библиотеку вы совершаете, тем больше замедляются темпы вашей работы.