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

Я взял два теста, проведенные 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

21 комментарий:

  1. Анонимный29/3/13 10:28 AM

    Дмитрий когда же IBM в твоем лице начнет сравнивать свое железо не с младшеньким T5 а со старшеньким M5? Как у него с performance per core? Все хотят чтобы им открыли глаза. А да... Про SPARC64 X тоже не забудь:)

    ОтветитьУдалить
    Ответы
    1. >сравнивать свое железо не с младшеньким T5 а со старшеньким M5
      График в предыдущем посте...хреново у M5 с performance per core, процессор Power 7 трехлетний давности не догнали

      >Про SPARC64 X тоже не забудь
      Как будут SAPS обязательно не забуду

      Но.... я же написал про 'World’s Fastest Microprocessor' T5 а вы про M5...кто из них самый то быстрый? -)))

      Удалить
  2. Анонимный29/3/13 10:34 AM

    Дим,
    1. немного некорректно сравнивать x86 и SPARC :-)
    Это из серии сравнения x86 и Power 7+ :-)
    Думаю, разница в цене будет побольше...
    2. как известно, SPARC отличается от x86 по максимальной утилизации без деградации производительности (до 80% для SPARC и 50% для х86)
    3. Смотрим RAS функционал, и становится понятно, почему Enterprise системы все таки работают, в подавляющем большинстве не на х86

    4. сравниваем сравнимое:
    SPECInt_rate2006

    IBM P795 - 11200
    http://www.spec.org/cpu2006/results/res2010q3/cpu2006-20100817-12974.html
    Fujitsu M10-64 - 23800
    http://www.spec.org/cpu2006/results/res2013q1/cpu2006-20130117-25401.html

    PS: Ожидается публикация SAP's для М10-64, предполагаемая цифра, в районе 880000 ...

    Enjoy

    ОтветитьУдалить
    Ответы
    1. >1. немного некорректно сравнивать x86 и SPARC :-)
      Каждый заказчик это сравнивает, уж извините
      >Думаю, разница в цене будет побольше
      Вы неправильно думаете. В low end сегменте в феврале этого года объявлена серия машин Power 7+ по цене абсолютно сопоставимых с Intel

      >Смотрим RAS функционал
      В целом с утверждение согласен. Но я не вижу RAS функционала у T5. Whitepaper прочел. Лампочки и дублированный блок питания. Дайте весь список в студию.

      >4. сравниваем сравнимое

      256 Cores дали - 11,200, 1024 Cores дали 23,800

      в 4 раза больше cores дали удвоение результата. Я честно не понимаю где тут Enjoy.

      Сильно извиняюсь, а почему Oracle ничего не рассказывает про эту замечательную машинку M10? Может быть они больше не дружат с Fujitsu ?

      Удалить
    2. Анонимный30/3/13 6:06 PM

      >2. как известно, SPARC отличается от x86 по максимальной утилизации без деградации производительности (до 80% для SPARC и 50% для х86)
      Скажите пожалуйста - откуда это известно? Я про деградацию x86 под нагрузкой ...
      И про какую операционную систему под x86 идет речь ?

      Дмитрий Тарасов

      Удалить
    3. >Скажите пожалуйста - откуда это известно? Я про деградацию x86 под нагрузкой ...
      да-да, и мне тоже скажите! Я то делал тесты, может чего не заметил? -)))

      Удалить
  3. Лукавите, Дмитрий!
    Two integer execution units/core. Да и картинка Figure 10 на стр.14 это подтверждает.

    ОтветитьУдалить
    Ответы
    1. Не прочитали страницу 12, Дмитрий.

      'The primary responsibility of the select unit is to schedule a thread for execution on the SPARC T5 processor's pipeline for each cycle. For each cycle, up to one thread out of eight threads total can be selected for execution.' Еще раз 'up to one thread out of eight threads'

      Вы путаете кол-во execution units и кол-во одновременно исполняемых потоков. Цитата 'it achieves two instructions per cycle (the SPARC T5 processor’s peak rate of instruction execution).' - что значит простым языком что на одном цикле теоретически можно задействовать два integer execution unit...в рамках 1 потока.

      В Power 7 вообще 12 execution units...однако smt4 максимум...

      Удалить
    2. Анонимный29/3/13 12:40 PM

      Во-первых, инструкция может выполняться в течении нескольких циклов, а, во-вторых,
      ...
      The integer execution unit (EXU) is capable of executing up to two instructions per cycle. Single-cycle integer instructions are executed in either the EXU0 (slot0) or EXU1 (slot1) pipeline. Load and store address operations go to EXU0 (slot0). Branch instructions are executed in EXU1 (slot1). Floating point, multicycle integer, and SPU instructions go through the EXU1 (slot1) pipeline. Store data operations go to EXU0 (slot2), but are not considered separate instructions by the EXU since the store address operation must also occur for the same instruction.

      Удалить
    3. Мы говорили о кол-ве одновременно исполняемых потоков, а уехали на тему execution unit. Это разные темы.

      Удалить
  4. Запустили мы тут проект новый, выбирали между Oracle Sun T4-4 и HP DL980 10с. Остальная конфигурация одинакова 512Gb RAM, 4x300 SAS HDD. Ценник тоже почти одинаковый, около 100,000 за сервер. Сделали HP Metrocluster. Второй HP 980 так и не можем запустить. В течении месяца ломается уже 4й раз. Резетится и не включается. И HP не может понять, почему. Меняли уже процессоры, память, какие то там платы. Результат один и тот же. От 1 до 7 дней работает, потом опять то же самое. Вот вам и x86 без RAS. Жалею, что не взяли, как обычно Sun.

    ОтветитьУдалить
    Ответы
    1. Понятно, что надо брать RISC & Unix...'если кто может против, то я только за! (C)' Вот только RAS в понимании IBM у T5 нет, если конечно не считать дублированного блока питания и красивых лампочек....может я чего пропустил конечно, но в whitepaper только про это пишут.

      Удалить
    2. Анонимный29/3/13 12:41 PM

      Эскальните повыше куда-нибудь, вам всю машину поменяют...

      Удалить
    3. Анонимный1/4/13 11:22 AM

      Да делали уже. Без толку. Уже из штаб-квартиры Заказчика в Европе эскалацию делали. Говорят, на замену 3-4 месяца уйдет. HP DL980 - говно!

      Удалить
    4. Анонимный3/4/13 1:09 PM

      у нас в деревне был аналогичный случай - правда на Sun железе (v240)

      сервер стал периодически ребутиться,
      по открытому кейсу сервис последовательно заменил:
      - процессоры
      - память
      - сисборду

      нечего не помогало 8)

      потом таки нашли причину

      Удалить
  5. Анонимный30/3/13 10:47 AM

    Документ, показывающий количество pipeline для Power можно показать ?
    А то ведь доступные источники говорят о той же одной исполняемой нити на Power 7:
    The result is that each core can hold multiple thread states at one time. It can’t be actively executing multiple threads, because there’s still only one pipeline, but it can be holding threads that are waiting partway through the execution process.

    ОтветитьУдалить
    Ответы
    1. Доступные источники, ага -))))
      Ваша цитата из статьи журналиста, которая начинается словами, 'я вообще-то не слежу за тем что делает IBM, поскольку это сложно, но тут решил прочитать статью'

      Вот официальные источники:
      Simultaneous Multi-Threading on POWER7 Processors, www.ibm.com/systems/resources/pwrsysperf_SMT4OnP7.pdf

      'For POWER7 processors, instead of just two instructions streams [for Power 6], POWER7 has support for 4-way SMT; up to four thread’s instruction streams can concurrently use a core', стр 3.

      Цитата справедлива для Power7/Power7+

      Здесь моя презентация про SMT4: http://www.dsvolk.ru/ibm/papers/SMTonP7_dvolkov.pdf,
      Пост как это реально работает: http://dsvolk.blogspot.com/2011/12/smt4.html

      Материал не простой, но если вам действительно интересно, потратьте время.

      Удалить
  6. Анонимный30/3/13 6:14 PM

    У T5 (как и у e7-8870) частота памяти 1066. У e5-2690 - 1600...
    Не это ли причина более низкого performance per core у T5 по сравнению с Sandy bridge ?

    Тарасов Дмитрий

    ОтветитьУдалить
    Ответы
    1. Дима, я честно говоря не знаю, низкая частота памяти, это причина или следствие, но при попытке упаковать много ядер вместе понятно, что увеличивается пропускная способность но и как следствие падает производительность так как приходится снижать частоту процессора, чтобы избежать перегрева. Предполагаю, что частоту памяти уменьшили, поскольку решили, что ядрам высокая частота не понадобится. Те в моей теории, это общее следствие архитектуры..но это только теория.

      Удалить
  7. Анонимный25/4/13 8:18 AM

    Дмитрий, верно понимаю Вас:
    1)SPARC T5 Server - одно ядро одновременно выполняет ровно один поток,
    если расматривать модель T5-8: 8 процессоров и по 16 ядер т.е. одновременно ровно 128 потоков?
    другими словами, у всей линейки T5 - SMT=1. верно ли , понимаю?
    2)если же рассматривать Intel® Xeon E5-2690: 2 процессора по 8 ядер на каждую, итого: 16 ядер,
    и smt=2(верно?).получается 32 потоков одновременно?верно?
    и выше двух - значение "smt": разве что на данный момент только у IBM power 7 ?

    ОтветитьУдалить
  8. >SPARC T5 Server - одно ядро одновременно выполняет ровно один поток,
    Верно

    >T5 - SMT=1
    У линейки T5 нет вообще понятия SMT, у них называется CMT, это другая технология, так что это верно по смыслу, но не совсем верно технически

    >smt=2(верно?).
    не знаю точно, думаю что да, это так

    >и выше двух - значение "smt": разве что на данный момент только у IBM power 7 ?
    Верно

    Если не придираться к терминологии, то теперь видно что T5 заслуживает коэффициента 0.25, Intel - 0.5, IBM -1.
    Найдите отличия с текщими коэффициентами и попробуйте их пояснить себе -)

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