P7 (SMT4 — SMT2)


В этой теме 15 ответов, 4 участника, последнее обновление  Sever 7 года/лет, 2 мес. назад.

  • Автор
    Сообщения
  • #9538

    Sever
    Участник

    Не могу найти «крыжик», который отвечает за режим мультитрединга в power7 системах. Где переключается SMT4 в SMT2? Подскажите, кто знает, где это спрятано?

  • #9539

    Oldnick
    Участник

    может это и есть настройка в параметрах LPAR, где можно выбрать Power7/Power6/Power5… ? 🙂

  • #9540

    Sever
    Участник

    Погуглил.
    Похоже, что именно там этот крыжик.
    По мнению andrewk SMT4 в SMT2 переключается переводом партиции в power6+ compatibility режим. Надо это проверить.

  • #9541

    andrewk
    Участник

    да, это один вариант. второй вариант — чисто аиксовый — должен быть через команду smtctl.

  • #9542

    Sever
    Участник

    Спасибо.
    Предчувствие у меня, что smt2 для большинства приложеий на i покажет результаты лучше чем smt4.

  • #9543

    andrewk
    Участник

    в общем небольшое исследование инфоцентров выявило, как всегда, преимущество AIX над OS/400 🙂
    В AIX 7.1 действительно можно переключать режимы SMT с помощью команды smtctl:
    smtctl -t 4
    smtctl -t 2
    В IBM i V7R1M0 переменная QPRCMLTTSK позволяет только либо включить, либо выключить SMT, либо оставить это на усмотрение системы. Поэтому для IBM i видимо действительно единственный способ — выставить LPAR в режим совместимости с Power6+.
    По поводу предчувствий — это, как известно, все очень сильно зависит от приложения. Если оно умеет горизонтально масштабироваться на много процессоров, то использование SMT4 должно давать выигрыш в производительности. Если не умеет — то лучше, естественно, выключать всю эту мультитредовость.

  • #9546

    Sever
    Участник

    andrewk писал(а):

    все очень сильно зависит от приложения. Если оно умеет горизонтально масштабироваться на много процессоров, то использование SMT4 должно давать выигрыш в производительности. Если не умеет — то лучше, естественно, выключать всю эту мультитредовость.

    Я бы сказал так — у IBM нет заточенных под эффективную работу на POWER7-SMT4 приложений для бизнеса. SMT4 будет эффективен для задач, которые будут использовать 4 блока процессора для обработки Double precision floating point. Данный формат данных не используется в бизнес приложениях. Процессор изначально разрабатывался для HPC задач, которым нужны эти «идиотские флопсы».

    Кстати, размер L3 кеша на ядро в P7 меньше чем у P6 в 8 раз. Очень сомнительно, что это положительным образом сказывается на производительности P7.

  • #9551

    Sever
    Участник

    Нагуглил интересный черновик результатов бенчмарка Оракла на AIXe на 750 машине. В настройках ОС явно указано, что ядра переведены в режим SMT2. 12 потоков гонялись на 6ти ядрах Power7.

  • #9552

    andrewk
    Участник

    интересно. IBM утверждает, что в AIX 6.1 нет смысла пинить SHM для Оракла в памяти и делать Large Pages, а они для бенчмарка все равно это делают. Это было сделано, потому что так все делают/мы так привыкли, или реально производительность все равно лучше со старыми проверенными временем настройками?

  • #9656

    Sever
    Участник

    Сравнил SMT2 и SMT4.
    Взял партицию с двумя ядрами и запустил 4 пакетные вычислительные задачи в двух режимах SMT2 и SMT4.
    В SMT2 система сбалансированно загрузила ядра — по две задачи на ядро. Все четыре задачи завершились одновременно через 168-172 секунды.
    В SMT4 три задачи «сели» на одно ядро, а четвертая на другое. В итоге, работавшая отдельно задача завершилась через 122 секунды, а три оставшиеся работали 189 секунд.

    Получается, что в режиме SMT4 система не умеет балансировать нагрузку. SMT2 более предсказуем по результатам.

  • #9658

    andrewk
    Участник

    я бы рекомендовал открыть PMR на это дело — баг, при чем неприятный.

  • #9659

    Sever
    Участник

    В том то и дело, что это не баг. Система работает «as designed». Задачи «сели» на кеши ядра процессора и (с точки зрения системы) ядро эффективно обрабатывает задачи.
    При получении такого PMR все уровни поддержки замучают вопросами каким образом я определил на каких ядрах выполняются задачи и что это за задачи. Если PMR дойдет до разработчиков, то они выдадут рекомендацию использовать SMT2 супротив SMT4, если уж мне так нравится, или запускать число задач из расчета 4 потока на ядро в режиме SMT4.
    Формально IBM предоставляет все возможности и заказчику остается только выбирать то, что ему более всего подходит. К примеру, мне для дневной нагрузки больше подойдет SMT4, так как в этом режиме процессоры суммарно смогут выполнить больше работы. Для ночной нагрузки мне будет нужен SMT2, так как в этом случае можно гарантировать минимальное время выполнения для процессов EOD.

    PMR конечно нужен, но на тему того, как в IBM i можно динамически переключаться между SMT2 и SMT4, и как определять текущий режим. Нужен аналог AIXового smtctl

  • #9712

    Sever
    Участник

    Для инфо.
    PMR открыл.
    Пока получил ожидаемый ответ, что система умная и сама знает в каком режиме гонять процессоры и сама динамически переключает режим между SMT1-2-4.
    Попробую убедить лабу, что мне нужен ручной режим…

  • #9734

    Sever
    Участник

    http://www.spscicomp.org/ScicomP16/presentations/Power7_Performance_Overview.pdf

    Написано черным по белому:

    Capacity-oriented workload: lot of serial jobs
    – Both SMT2 and SMT4 are likely to improve performance

    Capability oriented workload: turnaround time is critical
    – SMT2 may show some benefit
    SMT4 is very unlikely to show benefit

    Capability-capacity: (lot of parallel jobs)
    – SMT2 – may show up to 10% benefit
    – SMT4 – may show a few percent more than with SMT2

    ++ Довольно итересный документ для желающих поглубже погрузиться в тонкости работы POWER7. Все разложено по полочкам.
    http://www.power.org/events/Power7/Performance_Guide_for_HPC_Applications_on_Power_755-Rel_1.0.1.pdf

  • #9780

    warlock
    Участник

    sever писал(а):

    http://www.spscicomp.org/ScicomP16/presentations/Power7_Performance_Overview.pdf

    Написано черным по белому:

    Capacity-oriented workload: lot of serial jobs
    – Both SMT2 and SMT4 are likely to improve performance

    Capability oriented workload: turnaround time is critical
    – SMT2 may show some benefit
    SMT4 is very unlikely to show benefit

    Capability-capacity: (lot of parallel jobs)
    – SMT2 – may show up to 10% benefit
    – SMT4 – may show a few percent more than with SMT2

    ++ Довольно итересный документ для желающих поглубже погрузиться в тонкости работы POWER7. Все разложено по полочкам.
    http://www.power.org/events/Power7/Performance_Guide_%5Bb%5Dfor_HPC_Applications_%5B/b%5Don_Power_755-Rel_1.0.1.pdf%5B/quote%5D%5Bb%5D%5B/b%5D

    Как бы между HPC Application и Commercial Workload, например, OLTP, есть существенная разница, разве нет?

  • #9782

    Sever
    Участник

    warlock писал(а):

    Как бы между HPC Application и Commercial Workload, например, OLTP, есть существенная разница, разве нет?

    В системах с большим числом процессоров, которые хорошо утилизируются разница постепенно стирается.

    В чем есть разница, так это в подходе IBM к подготовке документации для потребителей своей продукции. Для коммерческой области достаточно маркетинговых буклетов, в которых поверхностно описано, что SMT4 это круто. Для рынка HPC «выходит» технарь и готовит документ, в котором помимо всяческих результатов HPCтестов написано, что потоки обработки на POWER7 не являются равновесными и что процессор не может переключиться в SMT1 или SMT2 если у него занят хоть и всего один «третичный» поток…. А вот в «саппорте» по моей платформе уверены в обратном :laugh:

Для ответа в этой теме необходимо авторизоваться.