Windows - статьи

       

ENTERPRISE MEMORY ARCHITECTURE


Datacenter может работать с физической памятью размером до 64 Гбайт; Windows 2000 AS работает с 8-Гбайт памяти. Windows 2000, как и NT - 32-разрядная операционная система, поэтому в распоряжение процессов предоставляется плоское адресное пространство в 4 Гбайт (2^32 байт). Какие же преимущества можно извлечь из увеличения памяти Datacenter и Windows 2000 AS? В архитектуре памяти предприятия (Enterprise Memory Architecture - EMA) предусмотрено два способа работы с расширенной памятью серверов семейства Windows 2000: 4Гбайт RAM Tuning (4GT) компании Microsoft и Physical Address Extension (PAE - расширение физического адреса) компании Intel. Прикладные программы, использующие технологии EMA, масштабируются лучше приложений, авторы которых отказались от возможностей, предоставляемых этой архитектурой. От способа использования EMA приложениями зависит, удастся ли реализовать преимущества технологии без модернизации прикладных программ или придется вносить в них изменения.

4GB RAM Tuning. В соответствии с методом 4GT корпорации Microsoft (предложенным еще для NTS/E), операционная система обычно выделяет каждому процессу 4 Гбайт виртуальной памяти: 2 Гбайт приложению и 2 Гбайт системе. Поскольку все 2 Гбайт системного адресного пространства не используются процессами полностью, метод 4GT позволяет расширить виртуальную память приложения с 2 до 3 Гбайт и уменьшить виртуальную системную память с 2 до 1 Гбайт, не добавляя новых API. Благодаря методу 4GT повышается быстродействие таких программ, как Microsoft SQL Server, авторы которых задействовали преимущества дополнительной памяти.

Чтобы включить режим 4GT при запуске Datacenter, необходимо добавить ключ /3GB к пути Advanced RISC Computing (ARC) в системном файле boot.ini:


multi(0)disk(0)rdisk(0)
partition(1)\WIN2K="MicrosoftWindows 2000 Datacenter Server"
/basevideo /3GB

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


Установить бит можно с помощью ключа компоновщика / LARGE ADDRESSAWARE или утилиты Imagecfg следующим образом:

imagecfg l <BigApp>.exe

Более подробная информация о 4GT содержится в статье Microsoft "Information on Application Use of 4GT RAM Tuning" (http://support.microsoft.com/support/kb/articles/q171/7/93.asp).

Метод 4GT может применяться лишь в двух продуктах семейства Windows 2000: Windows 2000 AS и Datacenter. В режиме 4GT Datacenter автоматически игнорирует ОЗУ выше 16 Гбайт, поскольку машины, использующие память выше 16 Гбайт, нуждаются в 2-Гбайт виртуального адресного пространства для хранения всех необходимых элементов таблицы страниц. Включив режим 4GT, администратор тем самым отказывается от использования памяти более 16 Гбайт, даже если она установлена в машине.

PAE. Другая технология EMA, PAE фирмы Intel - нововведение в Windows 2000, обеспечивающее доступ к 64-Гбайт памяти в среде Datacenter (8 Гбайт для Windows 2000 AS). В прошлом 32-разрядные процессоры Intel адресовали лишь 4 Гбайт памяти. Однако инженеры Intel расширили адресное пространство PAE-совместимых процессоров до 64 Гбайт (36 разрядов). Для PAE необходим процессор Pentium Pro или более поздний, системная память более 4 Гбайт и набор микросхем 450NX или выше. Выясните у своего поставщика, проверены ли аппаратные средства на совместимость с PAE.

Компания Microsoft изменила Windows 2000, предусмотрев режим PAE в ядре, поэтому можно предположить, что преимущества PAE удастся реализовать, не изменяя операционной системы и приложений. До некоторой степени эти ожидания оправдываются. Системы Windows 2000 AS и Datacenter работают с памятью выше 4 Гбайт на уровне ОС без изменения приложений - если выполнять несколько прикладных программ, каждая из которых занимает не более 4 Гбайт памяти. Данный подход к использованию PAE проиллюстрирован в левой части Рисунка 1.



Рис. 1

В этом случае каждое приложение работает без изменений в обычном 4-гигабайтном виртуальном адресном пространстве (2 Гбайт для приложений и 2 Гбайт для системы).


Datacenter играет роль объединяющей платформы, обеспечивая одновременное выполнение большего числа программ, чем любая прежняя версия Windows 2000. Кроме того, данный подход PAE существенно снижает число операций обмена страниц, так как увеличивается память, выделяемая для системного кэша. Изменять приложения не нужно, поскольку ядро Windows 2000 управляет положением 4-Гбайт адресного пространства каждой программы в физической памяти. Однако к пути ARC в файле boot.ini необходимо добавить параметр /PAE:

multi(0)disk(0)rdisk(0)
partition(1)\WIN2K="Microsoft Windows 2000 Datacenter Server"
/PAE /basevideo

Второй способ использования PAE позволяет изменить приложения, чтобы расширить их память сверх 4 Гбайт. Address Windowing Extensions (AWE - оконные расширения адреса) - небольшой набор новых API операционной системы Windows 2000, которые позволяют задействовать в программах большие области памяти. Программист выделяет "окно" памяти в 4-Гбайт виртуальном адресном пространстве процесса приложения и область физической памяти, после чего программа может обращаться к памяти через окно виртуального адресного пространства процесса. Теоретически прикладной программе может быть выделена вся память (до примерно 62 Гбайт в системе Datacenter). Проблема быстродействия не возникает, поскольку окном памяти управляют аппаратные средства процессора. Операционная система не тратит времени на отображение памяти в окно. AWE-приложения могут работать с большими структурами данных, расположенными в памяти, более крупными кэшами и базами данных - все эти возможности повышают масштабируемость и производительность Windows 2000. Данный подход проиллюстрирован в правой части Рисунка 1.



Рис. 1


Содержание раздела