SPEC(ulation)


Читаем блог Oracle про тест  SPEC CPU2006. Цитата:  

'The SPARC T5-8 server beat the 8 processor IBM Power 760 with POWER7+ processors by 1.7'. 

Очень красиво, очень. Хочется купить немедленно.  Правда результата этого на сервере spec.org на момент написания этого текста еще не было, но давайте верить на слово. Скриншот с вышеупомянутого блога:

Несколько комментариев: IBM Power 760 был 4-х сокетный, dual chip module, но Oracle упорно говорит что там было 8 сокетов. Хорошо, считаем per  cores:  T5 3750/128  =  29.2,  Power 760 2170/48 = 45.   И это не самый быстрый Power 7+. Берем результат Power 740 Power 7+, 16 ядер, peak result - 884. 884/16 = 55. Что видим: В 1.9 ( 55/29.2)  раз превосходство Power 7+  per core. Пересчитаны результаты колонки Peak. 

Ну а теперь посмотрим на результаты per core, в графическом виде. T5 не дотягивает ни до одного Power, даже старого, и проигрывает Xeon 2690 с меньшей частотой. 




*** Вечные вопросы и ответы на них ***

Q: Почему per core?   A: Потому что именно так лицензируется Oracle. 
Q: Почему нужно сравнивать T5 с Intel? Потому что сам Oracle делает тоже самое
Q: Все равно у Oracle фактор 0.5 для своих систем. A: если вы не слышали про вирутализацию, то Intel выходит дешевле (см пред пост). А если слышали - IBM выходит дешевле за счет виртуализации (см след. пост) 


PS

Давайте сравним еще  результаты Oracle T5 и  T3 per core (к сожалению результат T4 так и не был опубликован).  Увеличение частоты в 2.1 раза  (3.6 / 1.67)  привело к увеличение per core результата в 2.8 раза (29.2/ 10.4).  Понятно что это не только увеличение частоты, но и  общая оптимизация чипа. Т.е. оптимизация чипа дала ~25% прироста производительности через два поколения процессоров. 

Теперь сравниваем с тем, что делает IBM.  Понижает частоту и ...увеличивает результат. Или увеличивает частоту в 1.16 раз ..а результат увеличивается в 1.5 раз. Какая огромная работа проводится с самим чипом, алгоритмами, из множества возможностей находят наиболее эффективные.  


Теперь вот еще какой момент. Во время презентации Ларри сказал:  'double performance again as it has done with the Sparc T3 to T4 to T5'.  Итого в  4 раза для T5 если сравнивать с T3. Нажмите на картинку чтобы посмотреть поближе самим. 

Cравнение T5 и T3 дает мне ~2.8 что per core, что per system (ну нужно же учитывать что T3 был только 4-х сокетным).  Попросите Oracle пояснить,  как они посчитали удвоение производительности в каждом поколении, если тесты этого не показывают. 


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

Если у вас есть миллион

Я взял два теста, проведенные Oracle, с одной и тоже версией БД (Oracle 11gR2), примерно в одно и тоже время на системах на основе T5 и Intel.  В обоих системах 8 сокетов.   Посчитал tpmC/core. Разница в 5% в пользу T5. Было бы наверное неплохо, но посмотрите стоимость - она различается на 1 миллион долларов (прайс лист). 
Внимательный читатель обратит внимание, что указанная мной стоимость не совпадает с общей стоимостью в  отчетах TPC-C.  Действительно это так,  потому   что я исключил стоимость системы хранения. Я сравниваю  процессоры, а не системы хранения. 




5% это неплохо, если бы не одно 'но'. 10-ти ядерные процессоры Intel обладают частотой 2.4 GHz. Если посмотреть, что может выдать Intel Xeon 2.9 GHz с большим L3 кэшем (тест Cisco, с Oracle 11gR2), то окажется что tpmC/core гораздо выше: 100 против 66 у T5.

Почему это происходит, почему такой ужасный performance per core у T5 ? Если прочитать 'SPARC T5 Server architecture', стр 12, то  окажется что несмотря на наличие 8 потоков в ядре только один может выполняться в один момент времени - сравните с 4-мя в Power 7/Power 7+, двумя у Intel.

Не могу найти ни одной причины, чтобы потратить лишний миллион долларов на T5.  Лучше уж купить еще  один  X2-8 и немного пива. Ну HA кластер то вам понадобиться.   Ну а если вам не нужно 8 сокетов, подойдет и поменьше, то с x86 вы получите несравненно  лучший performance/core. Да и лицензируется Oracle все еще по ядрам, а не по серверам. Да, можно и по пользователям, но не забывайте про минимум 25 пользователей на ядро.

Почему такой шум с T5? Посмотрите на цену выше, при, грубо говоря, схожей цене на железо, за счет большего числа ядер колоссальная разница в цене лицензий. А поддержка лицензий, как мы помним стоит 22% в год. Сравните с поддержкой железа за 12% в год.

PS
Все данные по производительности и стоимости взяты из отчетов tpc.org


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

World’s Fastest Microprocessor


После вчерашнего поста про SAPS были опубликованы результаты T5 & M5 в  SAP Standard Application Benchmark.  Они совершенно неплохие, но в пересчете на ядро не могут догнать процессор Power  3-х летней давности. Не могу дождаться как  будет объявлено,  что мы видим word's fastest microprocessor -)

Update 1. TPC-C результат SPARC T5-8:


Вот так выглядит 5-ка лидеров (нажмите на картинку чтобы увеличить). Впечатляет, 3 из 5 первых мест.

Следующая картинка показывает какая впечатляющая работа была проведена - performance per core по сравнению с T3 и  T2 подскочил в 3 раза, что позволило  обогнать  даже Xeon 2690 (на 5%). Сильно мешают только рядом стоящие графики результатов IBM -)))))




Время доступности системы -  25 сентября 2013 года. Этот квартал продажами закрыть не удастся...Ну и конечно же стоит обратить внимание, что достичь впечатляющих результатов по цене помогло...лицензирование на 3 года, а не пожизненное. Вы ведь так и делаете, не так ли? Каждые три года покупаете Oracle заново?

Update 2. Внимательно послушал Ларри. В каждом, реально в  каждом слайде упоминается IBM. Я не знаю сколько IBM платит за эту рекламную компанию, но идея мне нравится -)))

Вот пример риторики Ларри:

'Наша маленькая машинка побила целый кластер IBM из 3-х high end  машин' -  красиво.












Смотрим с другой стороны (картинка ниже), спустя пять лет удалось достать +25% к результату теста. Ежу понятно, что спустя пять лет одно новое ПО даст гораздо больше чем все эти инженерные достижения...



А вот это интересно:


Если вы не знаете, SUN собирался сделать это в ..2005 году, процессор Rock. Зря его так назвали, сделать его помешал злой рок...


PS Скажите кто нибудь Ларри, что у IBM есть процессор Power 7+, он этого не знает похоже...


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

Power 7+, SCM & DCM

В октябре 2012 года у IBM появились первые модели серверов на основе процессора Power 7+. Но в феврале 2013 года к ним добавились модели на основе Power 7+ dual chip module (DCM). Это весьма интересно - фактически на место одного кристалла поместили сразу два. Это значит, что на данный момент есть сервер который в формально в 4-х сокетах обладает 48 ядрами Power 7+ или 192 потоками.  К сожалению, на такой сервер формально нельзя устновить SE. Цитата:  'When licensing Oracle programs with Standard Edition One or Standard Edition in the product name, a processor is counted equivalent to an occupied socket; however, in the case of multi-chip modules, each chip in the multi-chip module is counted as one occupied socket'.

Но есть и хорошие новости: данная модель обладает самым большим memory bandwith в своем классе (4-х сокетных серверов)  - 272 GBps,  все потоки Power могут исполняться одновременно (в отличии от скажем потоков T4), и не нужно забывать про виртуализацию - сейчас можно создавать до 20 виртуальных машин на одно ядро. Как наверное многие знают, при правильной организации LPAR придется заплатить Oracle не за все 48 ядер, а только за те, что используются базой/базами  данных.

Если добавить к такому серверу ssd полку (EXP30 EDR1) или Ramsan, получается прекрасная машинка для консолидации.

Небольшая иллюстрация: лучший результат на Xeon E5 2690 (Oracle 11g, Solaris 10) 16 core - 45,770 SAPS (для сравнения  последний результат от Cisco  30,270 SAPS), результат IBM Power 760 (AIX7, DB2), 48 cores  - 139, 220 SAPS.  В переводе на сокеты (нам нужно удвоить результат Xeon 2690 x2) получается 91K против 139K.

Вы также видите, что  DCM сервера обладают весьма скромной частотой (3.4 Ghz) и если нужна производительность 'per core' стоит задуматься о  моделях c single chip module.

Собственно весь длинный рассказ до этого был к тому, что я решил разобраться что же такое Power 7+, зачем был весь сыр бор с single chip module & dual chip module и как это следует использовать -).

PS
Но не стоит и затевать религиозных войн про то, какой процессор быстрее -)  Уже завтра нам покажут 'World’s Fastest Microprocessor'.  


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

µs


Read Latency: 110 µs Write Latency: 25 µs. µs  это 10−6  s, или 11000  ms.  Total capacity up to  20TB. 450,000 READ IOPS в размере 1U. Виртуализация и автоматический Tier-иринг c SVC. Любые варианты установки и подключения (internal/SAN/FC/Infiniband). Читать здесь или про конкретную модель здесь.

При лучшей latency от двух (read) до 4- х раз (на write), 1U устройство имеет больше flash (20Tb против 11 Tb) по сравнению Exadata X3-2 Half которому нужен 19'' шкаф, стоит (сравнивая только железо) 2 раза дешевле, учитывая Exadata software  - в 4 раза дешевле. Никакой миграции не нужно - просто подключите ее в свой SAN, cкопируйте туда горячие табличные пространства. Насколько станет  быстрее?  Если оценить время доступа  из  кэша дискового массива в 1 ms, то чтение ускорится в 10 раз. Все операции, независимо от текста запроса. Запись - в 40 раз.  Если оценить время доступа с дисков дискового массива в 10 ms, чтение данных ускорится в 100 раз. Менять текст  запросов, думать над параметрами оптимизатора, менять операционную систему вам не потребуется.   Миграция состоит из команды dd.
 
* оценки стоимости произведены по price-list, оценки производительности по соответствующим техническим документам производителей.


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

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.


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

OOW - Day 3 (UEK R2)

В день 3 (или 4-ый,  я, честно говоря, сбился со счета) в выступлении Edward Screven, Chief Corporate Architect for Oracle, прозвучала информация о новом TPC-C рекорде который был получен на Oracle Enterprise Kernel R2 и Oracle Database 11gR2.

В своем пресс-релизе, посвященном рекорду  Oracle указывает, что победил DB2, в то время как Cisco, которая  предоставляла серверное оборудование, указывает, что был побежден IBM Flex System -)). Что интересно, так это то, что в обоих тестах использовался один и тот же Intel Xeon (E5-2690, 8 Cores) и одинаковое кол-во  памяти (768 Gb).

Ниже я скопировал картинку из блога Cisco.  Разница в 7%. Спору нет, инженерные усилия дали свой результат. И это, кстати,  очень показательно. Давайте посмотрим, а что было разного в этих тестах:


Cisco использовал Oracle Enterprise Kernel, 11gR2, Violin memory array + SAS array.

IBM использовал Red Hat Linux, DB2, SAS + SSD диски.

Т.е. ни одной похожей буквы, кроме  буквы Linux.

Посмотрите на Think Times ниже:  я честно говоря не вижу отличий. 7% о которых пишут, и это действительно так, выражается в Maximum Qualified Throughput. Но, повторюсь, по временам отклика - мне кажется одинаково.

Т.е. если вы изо всех сил выбираете, какой вам взять Linux, да на каком железе будет лучше, да еще и не дай бог какую взять БД для своего проекта - вы рискуете промахнуться на 7%.  Это совсем немного, принимая во внимание цены, и то, что оптимизацией кода получить ускорение в разы - не проблема. Выбирать по производительности стало бессмысленно, по крайне мере для небольших систем. Еще раз, 7% разницы в максимальной пропускной способности при совершенно разных конфигурациях.  Лучше обратить внимание на то, с чем вам удобнее работать, где лучше поддержка, виртуализация  и прочее. IBM кстати, очень стала пропагандировать PowerLinux именно из-за виртуализации и консолидации приложений  в первую очередь. Набор мелких коробок  наверно будет быстрее чем одна большая, в которой собраны все задачки, но потери в управляемости, гибкости, надежности будут несравненно выше.


PS обратите внимание на размещение файлов Oracle: redo на sas, файлы данных на violin memory

Результаты: IBM








Результаты: Oracle/Cisco













Поздравляю команду Oracle/Cisco с отличным результатом!

Полная версия видео с OOW


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

OOW - Day 2

В этом году почему то не сделали доступными презентации с OOW, так что следить за происходящим не так просто.

Конечно самое интересное - что приготовили для нас в Database 12c. Я ожидал услышать что-то реально интересно в интервью Andrew Mendelsohn ...но оно очень высокоуровневое оказалось, к большому сожалению.  В целом там было несколько пунктов:
- Cloud (без комментариев -) есть официальный пресс-релиз)
- Pluggable Database (с демонстрацией)
- Database heat map и Automatic Data Optimization. Теперь можно составить правила по которым, если какая-то  секция (partition) долго не обновляется,  ее будут пережимать из обычной компресс в columnar query, а затем и в columnar archive. Думаю, что это магия конечно потребует Exadata

- Real Application Testing (но демо не было и что там нового осталось непонятным. Очевидно возможность проигрывать сразу несколько записанных workload, но точно нельзя сказать)

Я считаю, что можно потратить 15 минут времени и посмотреть 50 минутное выступление -)

На самом деле в 12c сделали грандиозное кол-во изменений, некоторые ужасно интересные, но информации по ним я найти пока не могу: режим Far Sync для Standby, Application Continuity - приложение сможет повторять запросы автоматически в случае потери узла RAC (сейчас только select), Global Data Services - балансировки между Active DataGuard  базами данных (?)

Update 1. Опубликовали SPARC roadmap, все развивается, будут и T -series, и M-series, но...в 2013 году. Или я нашел старый roadmap, или планы изменились - все ожидали объявление T5 на этой неделе. 


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

IBM, October 3

C 3 октября IBM начнет  целую серию объявлений об новых продуктах  и обновлении старых. В том числе будет объявлен и  Power 7+ 




Невозможно становится за всем уследить, хоть бери отпуск -)))


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

OOW - Day 1



Выступил Ларри и сразу в бой:  выложил несколько анонсов. Перечисляю те, которые мне удалось запомнить:
- Cloud Computing - теперь Oracle будет готво не только дать вам в аренду где то там далеко свои приложения, но привезти к Вам и поставить Exadata + Exalogic, поддерживать и взимать плату за использование (надо понимать и приложений Oracle в том числе). Идея отличная - вопрос цены -)






- Pluggable Database Architecture - теперь несколько баз данных можно будет объединить в рамках одних background процессов и SGA (?). Технических подробностей нет. Мысль здравая, много баз данных жрут много ресурсов, а если у вас нет нормальной виртуализации (на Exadata) то вам совсем плохо.


- Новая Exadata - тут тебе и write cache, и даже возможность купить 1/8 и обновить до 1/4. Это когда вам поставляют 1/4 но блокируют в bios половину ядер. Удачный маркетинговый ход.




Чтобы не отступать от традиции всех запутать Ларри сообщил, что в новой Exadata будет 26 Tb memory и in - memory database. На самом деле 4 Tb memory и 22 Tb flash (наверно будет использоваться database flash cache)  и иерархическое управление памятью. Обещают cделать write cache для тех у кого Exadata X-2/V2 за счет обновления software.




- Напоследок - традиционное - железо у IBM совсем негодное. На слайде все верно, за исключением:
- ядро Power <> ядру Intel
- Ларри забыл про $10,000 за диск на Exadata Software. При этом слайдом выше явно говорится, что на этих самых дисках и хранить то уже нечего - все будет на flash. Не знаю, как будут выходить из этой немного неловкой ситуации -)


Выступление, как и всегда, у Ларри отличное вышло! 


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

Oracle OpenWorld: 30 сентября - 4 октября

Осталось 2 дня до OpenWorld.
Если вы не смогли задушить жабу убедить свое начальство, что вам жизненно необходимо поехать в OOW  - то как и мне, вам остается смотреть Oracle OpenWorld Live -)

По опыту прошлого года - там все весьма оперативно выкладывают. Также в прошлом году в свободном доступе появились и презентации с OOW.  Буду обновлять этот пост как только будет появляться ссылки на материалы. Вы тоже пишите, если что найдете -)


Update 1. Сегодня (ночью) выступает Ларри.
Update 2. В OEL 6.3 в качестве root file system - brtfs
Update 3. Нас ожидают объявление T5, Database 12c, обновление Exadata.
Update 4. Live on YouTube



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

читатели vs считатели

На последней конференции Hot Chips Oracle и IBM предоставили описания своих будущих процессоров. Oracle обещает 16  cores и до 8 сокетов в одной машине.  IBM обещает до двух раз  больше производительности (вообще интересно, в чем они ее меряли ?) по сравнению с Power 7.

Для тех кто умеет считать, 16 cores T5 больше чем 8 cores Poweer 7+ ,  а учитывая processor core factor вопрос где же надо запускать нашу любимую СУБД можно считать закрытым.  Для тех кто умеет читать рекомендую мурзилку (ненавижу того,  кто так сложно ее написал!). L3 cache в Power 7+  в 10 раз больше, чем у T5.  Я люблю такие сравнения , в 10 раз больше -)))

Update 1. Простая мурзилка про Power 7+.  






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

IBM покупает Texas Memory Systems (TMS)



Если что-нибудь подобное представленное на картинке выше подключить к Power 740 ... я хочу такую машинку !  Если почитать сайт TMS можно обнаружить 1U flash с capacity 12 Tb. Проблемы хранилищ становятся всего лишь проблемой денег -)  (шутка)

PS В тоже время IBM работает над новым типом памяти...интересно какой подход победит в результате -)


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

AIX CPU Performance Management


Соверешенно потрясающий курс - AIX CPU Performance Management




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

Exadata Case Study - IDS

Прекрасная ссылка - IDS рассказывает о внедрении Exadata. Так им очень дорога репутация, то я очень верю их рассказу. Очень неплохие показатели - сразу заработало в 3 раза быстрее, компрессия помогла им сжать данные от 50% до 80%.

Для пытливых - указывается объем данных в 50 Tb, было приобретено 4 half Rack, в том числе для 'test and integration enviroment' + Expansion Rack.  

Это очень важно, что появляются такие документы, это дает представление о том, сколько реально железа прийдется купить заказчику. Так что, достижения TCO - это всего лишь вопрос скидок -) 


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

DNFS. Часть 2

Я уже писал про DNFS. Так вот, оказалось, что в  мае этого года Oracle анонсировал Sun ZFS Backup Appliance -  специализированное решение для  резервного копирования Exadata.  Вы конечно не поверите, но судя по документации,  этот самый Appliance подключается к Exadata ...по NFS.  Over Infiniband конечно же. Мое понимание (пожалуйста поправьте меня), что там IP over Infiniband. И этот самый Appliance просто представляет собой большую группу FRA в ASM.  Так вот следуюший логический шаг - это выкинуть Infiniband и перейти на 10GBE. Надеюсь,  Oracle так и сделает через год.

Для безденежных донов мне кажется это самый лучший способ  осуществлять резервное копирование их систем на основе  Linux x86  - цеплять внешний NFS как дисковую группу FRA в ASM.  Кстати FRA можно далее копировать на ленту!


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

The Walking Dead

Oracle через суд обязали продолжать выпускать новые продукты для Intanium.  Хочу напомнить, что Oracle никогда не отказывался продолжать поддерживать существующие продукты в соответствии с lifetime support policy.  Однако  Oracle уже ответил на решение суда: (простыми словами, точный перевод мне не по силам) "В суде не было ничего, чтобы изменило наше мнение и мы будем подавать аппеляцию".

Итого, радость преждевременна - обязать то обязали, но ничего реально происходить пока не будет. Причин для волнения у заказчиков Itanium тоже пока небольшие: как я уже писал,  для Oracle Database 11.2 Premier support закончится в 2015 году, а extended в 2018 (отличия смотри в Oracle Tech Support Policy). Для 10.2 -   дата конца света немного ближе, в 2013.


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

IBM AIX with Oracle Database performance: a beginner’s guide

Пока я тут с трудом раз в неделю пишу по 1 посту про Oracle Database on AIX коллеги успевают написать целую статью: IBM AIX with Oracle Database performance: a beginner’s guide. Кстати, и вовсе у не такой и beginner's как скромничает автор - там тебе и примеры с OSWatcher, и Nmon, и Responce Time формула. Главное - это наличие разобранных примеров.
Наверно, можно найти в этом документе какие-то шероховатости, но в целом я очень доволен и рекомендую к изучению.

В качестве демонстрации шероховатостей я захотел придраться вот к этой формуле (стр 3):
"
On Power 7 system performance is degraded when Number of Active Sessions  >  4 x Number of Cores x 3. 
"
4 - это максимально возможное число одновременных потоков для Power 7.
3 - это магическая константа, которую я также долго использовал для определения загруженности процессоров на старых Sun машинах - если на каждый поток приходится больше 3 ожидающих процессов  - значит  процессоры не справляются. Ну по порядку:

0. К сожалению, нет точной цифры сколько пользовательских задач (мы понимаем, что задачи это сессии Oracle)  на thread приводят к его 100% утилизации. Скорее, можно было бы говорить сколько потоков на ядро, но и таких оценок официально нет.  Представляется вероятным, что скорее всего это будет где то между 4 и  8. Другими словами, 4 ядра в режиме SMT OFF у меня выдерживали 32 одновременно работающие задачи (коэфф 8),  и эти же 4 ядра в режиме SMT 4 справлялись с 64 потоками (кoэф 4). Процессор Power 7 вообще потрясающе устойчив к большим загрузкам. 256 ядерная машина может работать в 100% загрузке затрачивая  на ядро порядка 7% (и это при некоторых отягощяющих обстоятельствах)

Есть еще одно обстоятельство: правду о загрузке LPAR дает только команда

lparstat

System configuration: type=Dedicated mode=Capped smt=Off lcpu=256 mem=2020352MB 

%user  %sys  %wait  %idle
----- ----- ------ ------
  0.5   0.7    0.3   98.5 


А правду о загрузке фического ядра дает специальный регистр PURR. Если вы задумаетесь, то поймете, что можно вполне увидеть 4 потока одного ядра загруженные на 100%, это же не значит, что ядро загружено на 400%, так ли  ?


1. Теперь  необходимо убедиться, а сколько действительно  работает потоков - режим smt может быть как выключен, так и включен в 2 и 4.  В AWR на AIX число потоков показывается в колонке CPUs, число ядер - в колонке  Cores -)


Однако, это самый простой случай в мире, когда у нас в нашу LPAR выделены физические ядра и наша LPAR - dedicated. Это значит, что другие задачи в других LPAR не могут претендовать на ресурсы наших ядер (Cores).

Однако весьма распространены ситуации, когда LPAR сделаны как shared , или dedicated donation. Надо быть тут очень внимательным чтобы не попасться в ловушку -)


2.   Average Active Sessions определятся как DB Time/Elapsed Time. Прекрасные ссылки (первая, вторая) из которых можно найти, что в DB Time входят не только время on CPU, но и I/O wait, и время на прочие ожидания.


Если рассмотреть как вырожденный случай, систему в которой сессии постоянно ждут ввода-вывода (db file sequencial read/db file scattered read) DB Time получится высокий и мы сможем прийти к заключению что проблемы с загрузкой процессоров, в то время как они с вводом-выводом.

Повторю - статья мне понравилась, рекомендую. Нормальный баланс между объемом информации и детальностью изложения. 


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

только правда, ничего кроме правды

В начале было слово. И слово это было: в 20 раз. В 20 раз быстрее. 
Источник: http://www.oracle.com/us/corporate/advertising/412m-exd-eurortl-sec-1556931.pdf

Правда, немного подумав, Oracle решил взять свое слово обратно, ну а затем,  что и  5 раз будет достаточно


И, чтобы уж совсем быть уверенным добавил, цитата: "Oracle, the “sponsor will select the queries for measurement"", что в переводе на русский язык значит: я сам выберу те запросы,  которые окажутся у меня быстрее.
Я также обратил внимание, что ничего не говорится о числе пользователей - предполагается запускать единичные запросы ? Или я что то пропустил ?

Но даже это не важно. Важно то, что несмотря на то, что Exadata, цитата: "Exadata is optimized for Oracle Data Warehouse and OLTP database workloads", сравнивать хотят именно производительность Warehouse. Это гениально, я считаю. Ответным ходом было бы сравнить производительность Netezza против T4 -)

PS. Тем временем те, кому надо просто и без геморроя, чтобы стало быстрее, ставят SSD диски. Проект миграции между Power 550 и Power 740 занял 6 часов.  Цитата: "end-of-year batch jobs dropping from a minimum of eight hours to just one hour".  Почему я про это вспомнил ? Да в этом европейском ритейлере наверняка стояла Power 550. Данных найти мне не удалось, но по времени выходит, что больше нечему там еще было быть. 


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

Oracle on AIX. Part 2. Memory.

IBM Development совместно с Oracle Development обнаружили, что при совпадении некоторых условий работа Oracle Database 11.2 на AIX 7 может замедляться по происшествии нескольких дней.  Проявления этого замедления могут быть разные, в том числе (но не обязательно) медленный login в базу данных через sqlnet. Или крайне медленные операции parse. Странные вещи короче, которые проходят после рестарта Oracle.

Условия:  AIX 7, TL0 или TL1, Oracle 11.2.0.3 (строго, в 11.2.0.2 такой ошибки не случается).

Рекомендация: выключить параметр shm_1tb_unsh_enable.

vmo -r -o shm_1tb_unsh_enable=0

Для того, чтобы разобраться есть ли в вашей системе эта проблема (обратите внимание еще раз на версии ОС и СУБД) можно выдать следующую команду:

echo "pfhdata -lsa" | kdb 

Если в обведенных красном колонках будут не нулевые значения - применяйте параметр.


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

Oracle on AIX. I/O. Part I

Update 1. disk_asynch_io=true (значение по умолчанию) рекомендуется для любых вариантов установки Oracle on AIX


Update 2. AIX6 + 10GR2 все в порядке, детали в комментариях. Кажется проблема только с 11gR2 .


Если вы эксплуатируете  Oracle on AIX вы обязаны прочитать вот эту whitepaper. Замечательный документ.  Однако в нем есть несколько тонких моментов. Один из них - рекомендации по монтированию файловой системы для файлов данных. Стр 55 в частности сообщает:


Это абсолютно правильное сообщение.
Oracle Support также  согласен с вышеприведенной рекомендацией (MOS ID 960055.1)


Здесь нужно сделать маленькое отступление, чтобы понять, почему так много уделяется внимания этому вопросу. Без указание опции cio производительность СУБД Oracle во многих слуаях была неудовлетворительной. C опциями монтирования по умолчанию происходило двойное кэшировние данных, в кэше файловой системы и buffer cache Oracle. Дополнительно. такая конструкция  потребляет лишнее процессорное время.   Кстати, это же справедливо  и для  СУБД DB2 -).   Многие заказчики почему-то забывали   про это, и данная рекомендация всегда была одной из первых которая выдавалась в случае наличия проблем.

Итак - вывод очевиден, теперь filesystemio_options=setall и никаких больше cio?
Однако инженеры IBM из Montpelier, считают по другому, их строгая рекомендация использовать  filesystemio_options=async и строго cio. Один из заказчиков попросил аргументировать.  Пожалуйста !

Итого, рассматриваем конфигурации:
#1, filesystemio_options=setall, опция монтирования rw
#2, filesystemio_options=async, опция монтирования  cio

Использовалась Oracle Database 11.2.0.2, AIX 7. Для начала мы провели эксперимент используется ли кэш файловой системы. Оказалось, что в обоих случаях он не использовался. Т.е. кажется что рекомендация #1 имеет право на жизнь. Правда при более внимательном рассмотрении оказалось, что при использовании рекомендации #1 ...не используется Async I/O. Мониторинг проводился командой:

iostat -A 1 | awk '/avg/ {if(x!=1){print; getline; print; x=1}else{getline; print}}'
aio: avgc avfc maxgc maxfc maxreqs avg-cpu: % user % sys % idle % iowait physc % entc
      0.0  0.0     0     0      48             0.3   1.8   97.9      0.0   0.0    4.4
      0.0  0.0     0     0      48             0.2   1.8   97.9      0.0   0.0    4.5

Данная команда показывает кол-во асинхронных операций ввода-вывода.  Опять нужно сделать небольшое отступление, что в AIX  есть несколько вариантов Async I/O. Исторически в AIX существали async I/O сервера и async I/O шел черех них (AIX 5). Однако позже (AIX 6) сделали  kernel async I/O для сырых устройств и, главное файловой системы.  Так вот оказывается, если у вас идет async I/O для сырых устройств то не нулевые значения появляются в колонке avfc, а если kernel file system asycn I/O то в колонке avgc.  В обоих случаях, если async I/O - kernel, то async I/O сервера (процессы aioserver)  не поднимаются.  Мониторить кол-во aio серверов удобно в nmon,  там показывают пиковое кол-во активных (в идеальном случае должно быть близким к 0).

При помощи команды lsof удалось выяснить, как именно открывает Oracle файлы данных в варианте #1:

oracle  39846142 oracle   12u  VREG     R,W,CIO,DSYN,LG,0x800000000;CX   39,1 1069555712   33 /oradata/data (/dev/dsvolkssdlv)



grep -i "0x800" vmount.h
#define VFS_DIO         0x80000000      /* O_DIRECT mount               */


На мой взгляд это объясняет все происходящее: вариант #1 работает с direct I/O, что для AIX не слишком оптимально.  Это значит, что все описанное в IBM whitepaper и MOS верно, но не самый оптимальный вариант. Вариант #2 сохраняет оптимальный ввод-вывод, формально называемый file system fast patch async I/O.

Резюме: пожалуйста продолжайте использовать опции монтирования cio для размещения файлов данных Oracle на AIX. 


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

DNFS

DNFS (direct NFS)  это новая возможность 11gR2, и надеюсь вы о ней слышали.   Все, что содержало  слово NFS для меня, как  способ хранения файлов  данных,  не существовало. Oracle тоже устал от не оптимальности протокола NFS  и решил включить поддержку прямо в ядро СУБД.

Все это было здорово, но как то меня не зацепило.  На этой неделе я  несколько раз натыкался на то, как же DNFS это здорово.

Для начала была статья  от компании Netapp, по ходу которой  выясняется, что DNFS over 10GBE  чуть ли не однозначно "рвет" все остальные комбинации.  Совершенно техническая статья, масса подобностей и параметров. OET на графике это число транзакций.


Я тут же вспомнил, что с помощью DNFS можно даже сделать  клон базы данных, не используя возможность storage (если storage этого делать не умеет). И наконец, благодаря опечатке Oracle в одном из патчей, можно было попробовать Hybrid Columnar Compression на таблицах, подключенных по DNFS. Это была бы серьезная заявка на победу DNFS над всеми остальными, но Oracle, к сожалению, опечатку исправил (я так думаю). 

Если вам все это понравилось, то рекомендую вот эту заметку для начала. 

Все круто. Можно брать. Остается две заминочки:

 - не нашел сравнения DNFS с iSCSI.
- не понятно как устроить требуемую балансировку сетевых адаптеров (или это все гораздо ниже лежит и можно выдать уже агрегированный link для использования Oracle  ? )

Желающие поделиться опытом - you are welcome !



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

UEK + 11.2.0.3

Update 1: Oracle Linux 6.3 RPMs Now Available

Cегодня уже каждый ребенок знает, что такое Unbreakable  Enterprise Kernel (UEK)  и почему нужно использовать его и только его.  Но сухой язык фактов хотелось бы разбавить чем-нибудь красивым, и лучшего источника,  чем блок Vim Coekaerts не найти. Здесь Vim рассказывает как они делали рекорд TPC-C, а здесь показывает  новую и фантастическую возможность запуска нескольких виртуальных машин, формально требующих больше памяти, чем есть в dom0 (Требуется OVM 3  и UEK R2). Кстати, несколько лет назад я встречался с Vim на одном из семинаров, и скажу вам, что он находясь в ранге тогда еще самого обычного Vice President of Oracle приезжал рассказывать про то, зачем Oracle стал делать свой дистрибутив  Linux. В майке и джинсах. Он успевает делать карьеру занимаясь любимыми техническими вещами. Я немного ему завидую.

Но вернемся к теме поста. Так как понятно, что я хотел поставить СУБД, то решил проверить сертификацию. И вовсе не зря, оказывается.  11gR2 сертифицирована пока только с UEK R1.

Проверим, что там с 11gR2 64 bit

Все в порядке, UEK 2 сертифицирована. Это даже и лучше, серьезные парни используют только 64 bit версии!

Так как я экспериментировал, то  я  использовал последнюю версию  VirtualBox, где указал для своей виртуальной машины следующие настройки:


(хинт: если начать имя виртуальной машины с комбинации OEL VirtualBox сразу понимает, о чем идет речь) 

Не забываем указать правильный media source, 


И через какие 10-15 минут у нас появляется Oracle Linux 6.
Посмотрим на uname -a и отметим, что в у нас по умолчанию теперь грузится ядро которое называется el6uek.x86_64 !  UEK теперь ядро по умолчанию ! Это удобно, кстати.

Как опять таки знает все прогрессивное человечество, Oracle позволяет бесплатно обновлять Oracle Linux, поэтому я это и немедленно выполнил


# cd /etc/yum.repos.d
# wget http://public-yum.oracle.com/public-yum-ol6.repo
# yum update 


Радость оказалось неполной, и мой kernel хоть и обновился, но все таки не оказался последним.

Пришлось явно указать, что проводить обновление и с репозитория UEK (а это отдельный репозиторий от Oracle Linux 6 !)  тоже:

[ol6_UEK_latest]
name=Latest Unbreakable Enterprise Kernel for Oracle Linux $releasever ($basearch)
baseurl=http://public-yum.oracle.com/repo/OracleLinux/OL6/UEK/latest/$basearch/
gpgkey=http://public-yum.oracle.com/RPM-GPG-KEY-oracle-ol6
gpgcheck=1
enabled=1



Наконец я увидел то, что хотел:


[root@ora112 ~]# uname -a
Linux ora112 2.6.39-100.10.1.el6uek.x86_64 #1 SMP Wed Jun 20 02:17:42 EDT 2012 x86_64 x86_64 x86_64 GNU/Linux

Дальше я попытался найти пакет oracle-validated, который в OEL5 устанавливал параметры ядра перед установкой базы данных, но ...не смог. После короткой перепалки с google, удалось осознать, что уже давно этот пакет называется oracle-rdbms-server-11gR2-preinstall. После его установки обновились правильным образом параметры ядра, завелся пользователь oracle и группы dba, oinstall.  Казалось бы, бери и ставить Oracle Database 11.2.0.3, доступный как patchset 10404530  с сайта support.oracle.com ? Э....нет.

Старожилы со стажем  помнят этот прикол, для остальных сообщу, что инсталлятору 64 bit версии нужны некоторые 32 bit пакеты. Спокойно, это все документировано, так что не нужно грязи. Чтобы поставить 32 bit пакеты удобнее всего опять таки воспользоваться yum, разрешив репозиторий 32 bit версии Oracle Linux 6.

Дальше все штатно, runInstaller, install software only, бум!  Что это так бумкнуло ?

INFO: /usr/bin/ld: skipping incompatible /u01/app/oracle/product/11.2.0/lib//libctx11.a when searching for -lctx11
/usr/bin/ld: skipping incompatible /u01/app/oracle/product/11.2.0/lib/libctx11.a when searching for -lctx11
/usr/bin/ld: cannot find -lctx11
collect2: ld returned 1 exit status


Не нашел пока, что с этим делать, но можно игнорировать. Далее не забываем в файле /etc/fstab установить строчку вида

shmfs      /dev/shm        tmpfs   size=2g         0

и вы готовы запускать dbca.  Опустим формальности, и попросим поставить базу клонированием, что гораздо быстрее. Бум!

ORA-06553: PLS-801: internal error [56319]

Как оказывается, это известная проблема и для нее есть workaround, но это когда клонирование делаешь сам, а его не делает  инсталлятор.  Обойти мне это удалось, только сделав custom database, что даже лучше, поскольку я смог выбрать только нужные мне опции ! Custome database всегда лучше !

И вот оно счастие:


[oracle@ora112 ~]$ sqlplus / as sysdba


SQL*Plus: Release 11.2.0.3.0 Production on Mon Jun 25 13:45:37 2012


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