turbo core

У старшего поколения Power  машин (начиная с 780)  есть интересная возможность - называется turbo core. Подробное описание вы найдете (правда для System I, зато с картинками) здесь, а своими словами:  половина ядер отключается, зато вторая половина ядер начинает работать с повышенной частотой и получает в два раза L3 cache на ядро.  Повышение частоты при этом составляет с 4.0 GHz до 4.31 GHz (+13%), что прямо скажем - не очень много.

Включается эта возможность весьма легко - но конечно же потребует перезагрузки машины.

Основной (для меня) вопрос - как этот режим влияет на производительность СУБД остается непонятным.

Ниже вы найдете картинку (я не знаю ее источника и даже не до конца понимаю что там нарисовано) из которой  вроде бы следует что производительность single thread возрастает незначительно (~ частоте), а вот SMT4 здорово добавляют. Не знаю, можно ли из этого сделать вывод что если у нас уж больно много потоков то лучше не переключаться с SMT2 а перейти в turbo.




Но есть и интересная деталь к Turbo Core режиму - это примечание из Oracle Overview of licensing policies for partitioned environments:

"Using IBM processors in TurboCore mode is not permitted as a means to reduce the number of software licenses required; all cores must be licensed"

В интернете считается что это значит что  Oracle требует оплаты всех (для Power 7)  8 ядер, хотя на самом деле у меня всего 4 в  turbo. Так вот нет, я уверен что есть вполне легальный способ заплатить за 4 ядра и называется он LPAR. Переводя процессор (или ядра) в turbo вам необходимо выделить capped LPAR с 4 ядрами и заплатить за 4 ядра. Где еще 4 ядра - никого не волнует. Их может и не быть (как в случае с turbo), а могут быть заняты App Server'ом - главное что Oracle использует всего 4 ядра. В чем же тогда смысл фразы ? Он очень простой, (ведь вы помните что мы читаем про partitioned enviroment) - пожалуйста если в вашей LPAR 8 ядер не нужно рассказывать что на самом деле их 4 и они в turbo - Oracle не будет в этом разбираться. Так что делайте как я написал выше и все в порядке. Это мое оценочное мнение, если что -).

10 комментариев:

  1. В Exadata кстати этот режим работает на лету, и не требует перезагрузки машины !

    Это технология Turbo Boost (http://ru.wikipedia.org/wiki/Intel_Turbo_Boost), которая используется в интеловских x86-процессорах, на которых в свою очередь сделана Exadata.

    ОтветитьУдалить
  2. >В Exadata кстати этот режим
    Игорь - Игорь -). Я плохо спал и ворочался. Как это возможно, неужели Intel уже круче самых крутых hi end серверов ? В данном случае скорее всего мы в очередной раз стали жертвой маркетинговых терминов. Я думаю что Turbo Boost и Turbo Core это принципиально разные технологии. У IBM аналогичная Intel Turbo Boost технология называется
    Intelligent Energy и цитата "Users can select whether Intelligent Energy Optimization favors maximizing performance or energy savings based on their needs"
    (см здесь
    http://www-03.ibm.com/systems/power/software/energy/about.html)

    Но чтобы не быть голословным, посмотри вот на эту ссылку на сайте Oracle
    http://www.oracle.com/us/solutions/benchmark/apps-benchmark/results-166922.html

    Там ты найдешь детальный отчет про тестирование OEBS на Power 710 (low end) http://www.oracle.com/us/solutions/benchmark/apps-benchmark/e-bus-r12-o-to-c-ora-med-ibm-p7-330187.pdf

    в котором написано
    6 core 3.72 Ghz with IBM Power 7 ..Intellegent Energy Optimization jas been deployed with settings for 'maximum perfomance' (3,920 Ghz reported) - т.е. частота ядра совершенно бесплатно поднялась с 3.7 до 3.9 и это был не режим turbo core -))

    ОтветитьУдалить
  3. Анонимный2/5/11 4:03 PM

    Дима, а сколько регистров у последних Power ?

    ОтветитьУдалить
  4. Анонимный2/5/11 7:38 PM

    >> В Exadata кстати этот режим работает на лету,
    >> и не требует перезагрузки машины !

    О! Мельников вернулся. В комментариях только пока, но уже хорошо. Welcome back!

    ОтветитьУдалить
  5. Анонимный3/5/11 12:46 PM

    Дим, слушай, почитал комментарий еще раз и решил уточнить у тебя.

    Я так понимаю, что фича TurboCore позволяет "эскпортировать" процессорную мощность с одних ядер на другие.

    Дальше ты предлагаешь сделать hardware partitioning при помощи LPAR (правда, я не знаю что именно такое capped LPAR и это может быть ключевым словом). Потом лицензировать Oracle только с одной стороны LPAR, что конечно же разрешается правилами лицензирования, но потом все равно "контрабандой" экпортировать вычислительную мощность из других ядер "через границу" LPAR.

    Если я понимаю суть твоего проекта правильно, то он естественно идет вразрез с замечанием "Using IBM processors in TurboCore mode is not permitted as a means to reduce the number of software licenses required; all cores must be licensed", которая была добавлена в документ именно для того, чтобы прикрыть "лазейку".

    ОтветитьУдалить
  6. нет, turbo core физически выключает половину ядер, они больше не работают. Но Oracle говорит что ему все равно, если стоят ядра в машине - плати. С другой стороны, платить надо только за то что используется в LPAR - тогда я и говорю, чтобы не вступать в конфликт с правилами лицензирования для turbo режима надо обязательно делать LPAR с только turbo ядрами. И все. Никакой контрабанды, ни-ни. Мы ни в UK, тут не обманывают -) И да - capped - это важно, значит что ядра только в этой LPAR больше нигде.

    ОтветитьУдалить
  7. >Дима, а сколько регистров у последних Power ?

    Ох, я не лучший источник таких знаний.
    То что я слышал совпадает с информацией
    http://en.wikipedia.org/wiki/IBM_POWER

    The system used 32 32-bit integer registers and another 32 64-bit floating point registers, each in their own unit. The branch unit also included a number of "private" registers for its own use, including the program counter.

    Но я спросил у гуру, жду ответа..

    ОтветитьУдалить
  8. Анонимный3/5/11 2:49 PM

    >> Но Oracle говорит что ему все равно,
    >> если стоят ядра в машине - плати.

    Не совсем так. Оракл в этом случае не говорит что если ядра просто стоят в машине то надо платить.

    В общем случае Oracle говорит, что ядра можно отрезать при помощи hardware partitioning (LPAR признается как hardware partitioning). Можно использовать ядра в LPAR-ах где не установлен Oracle для чего угодно и не платить за них. Можно даже выключить эти ядра (если это технически возможно).

    "Using IBM processors in TurboCore mode is not permitted as a means to reduce the number of software licenses required; all cores must be licensed" понимается как запрещение "экспортировать" процессорную мощность из соседнего LPAR если он не лицензирован. При этом Oracl-у все равно включены ли ядра, которые используются как доноры вычислительной мощности или выключены.

    Если делать LPAR только с turbo ядрами, а выключенные ядра-доноры находятся за пределами этого LPAR, то "Using IBM processors in TurboCore mode is not permitted as a means to reduce the number of software licenses required; all cores must be licensed".

    ОтветитьУдалить
  9. я думаю ты не прав. Нет такого закона платить за ядра вне данного LPAR. Так что если отрезал 4 ядра - платишь за 4 ядра ( capped processor capacity).

    Другое дело если у тебя в LPAR их 8, а ты говоришь да мол они в turbo, хочу платить за 4 - тот тут да, тебе говорят что turbo не является основанием чтобы заплатить за 4.

    Тут надо понимать в чем проблема - не хочет Oracle разбираться в turbo они ли нет - сколько вижу ядер в LPAR - за столько беру.

    Давай официальный ответ от infoprice -)

    ОтветитьУдалить
  10. Анонимный3/5/11 3:18 PM

    Да, давай проверим.

    Напиши вопрос по-английски если можно. Я спрошу infoprice и опубликую ответ.

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

    ОтветитьУдалить