Это время еще не пришло. Для тех, кто не работает на суперкомпьютерах или мощных кластерах, думать об этом пока рано. Но поскольку ОЗУ продолжают дешеветь, видимо, оно наступит очень скоро.
Недалек тот день, когда наши компьютеры будут обладать терабайтовой памятью, а мы будем знать, как ее использовать. Не стоит забывать, что величайший пророк нашего времени Билл Гейтс считал, что 640 килобайт памяти будет вполне достаточно для любых наших нужд. Например, для редактирования видео с высоким разрешением в реальном времени — кто-нибудь пробовал?
На самом деле тот день, о котором я говорю, не так уж и далек. Violin Scalable Memory уже готова продать вам устройство памяти Violin 1010 Memory Appliance на терабайт для присоединения к вашему серверу. Правда, стоит такое удовольствие несколько сотен тысяч долларов. Но мы ведь говорим о самом факте появления подобной возможности.
Но когда начинаешь размышлять о том, как использовать такую бездну памяти, осознаешь техническую проблему доступа к ней. Разработчик Linux Даниэль Филипс (Danial Philips) считает, что надо использовать виртуальный ramback (своего рода “очиститель” для памяти).
В LKML (Linux Kernel Mailing List) Филипс описывает ramback как “виртуальное устройство, позволяющее поддерживать ramdisk с реального диска и обеспечивающее при этом уровень функционирования “рамдиска”, но с продолжительностью хранения данных как на жестком диске”. Чтобы все это волшебство воплотилось в жизнь, для ramback требуется ИБП. Тесты показывают, что ramback уменьшает время операций с файлами с 25 до одной секунды.
“Вот чем ramback отличается от обычного “рамдиска”, — поясняет Филипс. -- Когда внезапно отключается питание компьютера, данные в нем не исчезают, поскольку они постоянно сохраняются в архивном хранилище. Когда же питание опять включается, то данные из хранилища переносятся на “рамдиск”, так что приложения ввода-вывода начинают конкурировать между собой. После восстановления всех данных загорается маленькая зеленая лампочка и работа с файлами возобновляется на скорости «рамдиска»”.
Естественно, что после отключения питания у вас возникает немало проблем с огромным и сверхбыстрым “рамбэк”-драйвером. Чтобы избежать этого, Филипс советует строить всю систему с использованием источников непрерывного питания. “Если электричество отключается при работе “рамбэка”, ИБП запускает специальную программу, которая переключает диск из режима writeback в writethrough” — поясняет он. -- Рамбэк начинает сохранять все оставшиеся сырые данные, давая при этом каждому новому приложению команду немедленно записывать данные в хранилище”.
Короче говоря, Филипс использует некоторые идеи когерентной кэш-памяти, чтобы, применив огромные запасы ОЗУ в качестве виртуальных, ускорить взаимодействие с интенсивным вводом-выводом. К примеру, имея достаточный объем ОЗУ, вы сможете работать с базой данных Oracle с помощью ПО на Oracle или Red Hat Linux в реальном времени.
Конечно, идея Филипса не полностью совпадает с идеей API для приложений, работающих с несколькими гигабайтами памяти, но все равно это очень полезная идея. Возможность резко увеличить взаимодействие с базой данных неизбежно приведет к коммерческому успеху и росту запросов на такие огромные массивы памяти.
Это, в свою очередь, снизит стоимость ОЗУ до приемлемых цен.
Итак, что вы будете делать со своим ноутбуком, когда в нем появится терабайт ОЗУ?
Торопиться не надо: это время пока не пришло. Но это только пока…