AME - это сокращение от Active Memory Expansion, технология IBM, которая позволяет вам увеличить кол-во физической памяти на машине за счет..ее компрессии. IBM подошла к решению проблемы ускорения ввода-вывода с неожиданной стороны - большинство предлагают использовать flash в качестве кэша, IBM работает над тем, как поместить больше данных в память и таким образом уменьшить обращение к дискам -). Немного о том, почему обращение к DRAM и flash - это две больше разницы: доступ к flash имеет гораздо большую latency, потому что мы вынуждены идти через путь обращения к обычному блочному устройству.
AME работает начиная с Power 7 и AIX 6.1. Чтобы оценить возможный эффект - можете
посмотреть мою презентацию. На примере приложения SwingBench я получил прирост кол-ва транзакций в 1.7 раза при сохранении времени отклика.
Важное дополнение: когда данная технология появилась, компрессией занимался центральный процессор (Power 7). Если он простаивает из-за медленного ввода-вывода, имеет смысл его загрузить.
Но с выходом Power 7+ данная технология получила второе рождение. Дело в том, что в Power 7+ есть специальный акселератор (чип 842), задача которого обслуживать именно компрессию памяти. Мое понимание (поправьте меня), что он просто стоит в разрыве между каналом обращения к памяти и делает компрессию совершенно прозрачной.
Фактически, если вы не используете этот механизм, вы не полностью задействуете возможности нового процессора!
Закончили с маркетингом, теперь серьезно. Во первых технология AME поддерживается только для Oracle 11.2. Во вторых, как только вы установили в профиле своей LPAR галочку AME и перегрузили LPAR вы увидите что у вас ...пропали страницы памяти 64K!
pagesize -fa
16M
4K
Небольшое исследование этой чертовщины показывает, что виновата переменная vmo vmm_mpsize_support которая магическим образом установилась в 0, вместо 1 (значение по умолчанию). vmo -F -r -o vmm_mpsize_support=1 после перезагрузки возвращает страницы 64K, но оказалось, что это не баг, а фича - сжимать страницы 64K может оказаться очень дорого, и поэтому, для спокойствия, в окружении Power 7 эти страницы просто выключали (страницы 16M не сжимаются по определению). Я провел несколько экспериментов с сжатием страниц 64K, но окончательный вывод, ускоряется ли приложение или замедляется, сделать мне не удалось. Я конечно же надеюсь на волшебный акселератор Power 7+, но к сожалению такого оборудования у меня пока нет.
В целом, на данный момент рекомендация звучит так - можно получить коэффициент сжатия от 1.5 до 3 (экстремальный случай), и это позволяет вам увеличить кол-во транзаций при сохранении времени отклика также в разы ( в 1.7 раза при коэффициенте 3 в моем тесте). 64K я бы с удовольствием потестировал бы на Power 7+ (вздыхает...) и если пройдет успешно, переводим работу Oracle (и SGA и PGA) на страницы 64K, включаем AME и получаем профит!