Happy new year 2013!


Традиционно, хочу поздравить всех читателей блога с наступающим 2013 годом! 

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

Что касается результатов  - вы все видите на картинке выше. По моему, совсем неплохо  для человека,  который пришел  из Software сompany (Oracle на тот момент формально уже завершил сделку по приобретению Sun, но это была формальность) в ведущую Hardware company. Честно говоря, я думал, что это невозможно сделать  - слишком разные технологии, слишком разные подходы. Но, если вы знаете,  что задача имеет решение, какой  смысл ее решать?  ( ( (C) Братья Стругацкие). 

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

С наступающим новым годом, друзья! 


Читать дальше...

AME

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  и получаем профит! 


Читать дальше...

RuOUG

На RuOUG  я послушал презентацию Ю. Пудовченко про Exadata (все презентации с RuOUG доступны тут). Хочу отметить очень высокое качество презентации. Хотя и не обошлось без слайда про ускорение в 300 раз -)), в целом презентация была очень взвешенной и основанной на реальном опыте. Безусловно рекомендую ее к просмотру. Особенно ценным, мне показались слайды с упоминанием мест в коде, с которыми могут возникнуть проблемы,  а также как понять из AWR есть ли смысл в переносе приложения на Exadata.


Единственное в чем я не согласен с Юрием, это с его определением, что Exadata storage   выполняет sql.  Возможно это чисто теоретический спор, однако мне он кажется важным.

Давайте посмотрим, что Oracle понимает под выполнением sql запроса. Слева, вы видите семантическую диаграму.

 Думаю, что большинство согласится, что parsing выполняет ядро СУБД Oracle. К фазам Optimization/Row Source Generation  кажется тоже нет претензий - делается на стороне СУБД. Надеюсь пока все согласны.

Итак, мы подошли к Execution. Насколько я понял Юрия, поскольку Exadata storage выполняет I/O это и позволяет говорить, что она выполняет sql. Однако, берем определение:  During execution, the SQL engine executes each row source in the tree produced by the row source generator.

Еще раз - все делает SQL Engine. Нужно ли говорить, что нет SQL Engine на стороне Exadata storage ? Exadata storage даже не получает текстов sql запросов, а только условия фильтрации и/или  битовые маски для join. Если же аргумент 'Exadata storage делает ввод-вывод' для вас достаточен, чтобы решить,  что это выполнение sql запроса, тогда любой storage, который делает ввод-вывод также выполняет sql запросы -)


Читать дальше...

Oaktable world

Пока в Москве идет снег (и не ходит снегоуборочная техника)  лучший способ провести время - посмотреть презентации (видео и ppt) одних из лучших технических специалистов - Cary Millsap, Jonathan Lewis, Tanel Poder (и это далеко не полный список!)

Эти презентации были записаны во время Oracle OpenWorld, но проводились в рамках  Oaktable World, в отдельном очень прикольном павильончике.

Очень, очень рекомендую!

PS
Картинка справа cлева взята из презентации Jonathan Lewis. 


Читать дальше...

Work of art

Update 1. Формальное описание позиции.

Как вы заметили, я очень долго не писал в блог. Совершенно нет времени, заказчики массового переходят на IBM Power, просто вздохнуть некогда.

Если вы  знаете как работает Oracle на AIX/ Power, я просто умоляю вас прийти на работу в  IBM в Московском офисе. Это интересно. Вы поймете, что вы ничего не знаете. Это work of art, не продажи коробок  с интеловскими серверами и предустановленным  ПО. Будете в курсе, чем один TL AIX отличается от другого, как работает Hypervisor, и вообще high-end системы. А если вы уже в курсе, то, поверьте мне, всегда найдется что изучить дальше и чем пополнить свое резюме.  Те, кто ходит на мероприятия IBM знают, что на каждом, в котором  я участвую, показывается живая демонстрация, а не только PowerPoint.

Присылайте резюме на dsvolk at gmail.com. Пишите простым языком, чтобы я понял, какой(ая) вы крутой(ая).


Не дайте погибнуть блогу! -)))))))

PS Вопросы можно будет задать лично 6 декабря на RuOUG.


Читать дальше...