Статья только в электронной версии журнала
Сетевой консультант
Нейл Плотник
Я не часто играю в азартные игры, но готов биться об заклад: работа множества систем сегодня страдает от неожиданных “узких мест”. Многие сетевые администраторы и не подозревают, что если разобраться, каким образом установлена оперативная память на их серверах, и поменять местами некоторые микросхемы ОЗУ, то можно добиться повышения производительности этих серверов, не затратив ни копейки.
Нейл Плотник
Практически все компьютеры используют микросхемы памяти, основанные на той или иной разновидности технологии DRAM (Dynamic RAM). Как следует из названия, эти динамические ОЗУ требуют постоянного обновления представляющих в них хранимую информацию электрических зарядов.
Подобно тому, как наэлектризованный воздушный шарик, прилипший к стене, надо время от времени тереть, чтобы он не падал, данные в DRAM требуют регулярной перезарядки всех своих битов. Если этого не делать, элементы памяти вернутся в нейтральное состояние.
Таким образом, процессор должен разрешать памяти обновиться, прежде чем записать информацию в DRAM или считать ее оттуда. Поскольку процессоры способны читать и записывать данные быстрее, чем это делает системная память, производители системных плат закладывают в них “такты ожидания”, чтобы память могла “угнаться” за процессором. При уменьшении числа тактов ожидания увеличивается производительность, поскольку снижается время простоя процессора.
Чтобы снизить число тактов ожидания, применяется интерливинг (interleaving) памяти, когда системное ОЗУ фактически разделяется на несколько независимых банков. При этом увеличивается вероятность того, что ОЗУ будет готово к выполнению операции чтения - записи.
Разделение системной памяти на два банка называется интерливингом 2:1. Интерливинг 4:1 обеспечивает еще более высокую производительность.
Хотя интерливинг памяти обычно реализуется только в старших моделях серверов и в технических рабочих станциях, он возможен и у некоторых моделей Apple PowerMac.
Раздел технической поддержки Web-сайта Intel подробно описывает, какие из микропроцессорных наборов поддерживают интерливинг. Например, такой возможностью обладает чипсет Intel 450NX, применяемый в серверах множества производителей.
Чтобы определить правильный порядок инсталляции памяти, необходимо знать, как ваша системная плата организует свои банки памяти. Учитывая, что гнездам памяти обычно назначаются алфавитно-цифровые идентификаторы, вы должны просмотреть свою системную документацию, чтобы понять, какие банки памяти работают с интерливингом.
Для каждого из таких банков памяти надо обеспечивать соответствие объема и быстродействия микросхем, работающих с интерливингом. Хотя ваш компьютер так или иначе загрузится, а тесты самопроверки при включении покажут, что вся оперативная память распознана, учтите, что система без интерливинга недобирает от 5 до 20% своей потенциальной производительности.
Приведем простой пример того, как можно установить память для достижения максимального интерливинга. Предположим, ваш сервер должен иметь 128 Мб ОЗУ. Компьютер с единственным DIMM-модулем памяти не позволяет реализовать интерливинг ОЗУ, поэтому для выигрыша в производительности вам придется установить два 64 Мб DIMM-модуля. Еще больший интерливинг возможен при установке четырех 32 Мб DIMM-модулей.
Начните с проверки всех своих серверов, чтобы выяснить расположение и объем микросхем ОЗУ. Простой перестановки чипов может оказаться вполне достаточно. По счастью, стоимость микросхем постоянно снижается, делая модернизацию ОЗУ доступнее, и, вероятно, имеет смысл вместо некоторых старых, не поддерживающих интерливинга моделей чипов ОЗУ установить микросхемы подходящего типа.
Жду ваших рассказов о мучительных проблемах и блестящих решениях. Пишите мне по адресу: neil_plotnick@zd.com.