powered by simpleCommunicator - 2.0.50     © 2025 Programmizd 02
Форумы / Hardware [игнор отключен] [закрыт для гостей] / Поясните по гипертрейдингу
35 сообщений из 35, показаны все 2 страниц
Поясните по гипертрейдингу
    #39299609
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот допустим есть одно физическое ядро и 2 потока.
Допустим 1 процесс использует одно ядро на максимум. Следовательно мы видим в общей картине, что нагрузка на процессор составляет 50%. Понятно, что все зависит от природы процесса, но я так понимаю при сложных вычислениях показатель 50% будет обманчивым? Т.е. запускаем мы второй такой же процесс на втором ядре и оказывается, что первый процесс стал работать в два раза медленнее?
...
Рейтинг: 0 / 0
Поясните по гипертрейдингу
    #39300062
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HettВот допустим есть одно физическое ядро и 2 потока.
Допустим 1 процесс использует одно ядро на максимум. Следовательно мы видим в общей картине, что нагрузка на процессор составляет 50%. Понятно, что все зависит от природы процесса, но я так понимаю при сложных вычислениях показатель 50% будет обманчивым? Т.е. запускаем мы второй такой же процесс на втором ядре и оказывается, что первый процесс стал работать в два раза медленнее?
Это зависит не от сложности вычислений, а от их способности распараллеливаться.

В одном ядре 2 вычислителя, ALU (ну, упрощённо говоря).

Планировщик выполнения пытается найти в вашем последовательном коде команды, которые могут выполнится одновременно, без ошибки в итоговом результате (то есть команды не зависят друг от друга), и выполняет их одновременно на двух ALU. Это техника в процессоростроении называется "суперскалярность".
Если все команды в одном потоке могут выполнится парами, то поток будет выполняться в 2 раза быстрее. Если ни одна команда не может выполняться в паре с другой, то половина ALU будет незадействована.

Гипертрединг гарантированно загружает оба ALU. Но тогда, если один из потоков хорошо параллелится "внутри себя", то гипертрединг действительно его замедлит, до двух раз в пределе.

В целом почти всегда гипертрединг повышает производительность, исключения редки. Просто проверьте на конкретном ПО.
...
Рейтинг: 0 / 0
Поясните по гипертрейдингу
    #39300221
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо,
сколько не наблюдал за работой процессоров с HT, - один процесс однопоточный грузит строго 1 поток.
Если запустим 4 таких процесса, то он займет все нечетные потоки (точнее сказать threads), т.е. будет выполняться на 1,3,5,7 "виртуальном" ядре. Вот в таком случае ведь нельзя сказать, что процессор загружен на половину? Хотя загружено только половина его ядер. Получается в данной ситуации явно нельзя определить, загружен на данный момент процессор на 50% или на все 100% ?
...
Рейтинг: 0 / 0
Поясните по гипертрейдингу
    #39300484
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
куда-то вас понесло...
гипертрейдинг - никоим образом не есть эквивалент многоядерности.
скорее некий суррогат.
а точнее маркетинговый буллшит.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Поясните по гипертрейдингу
    #39300521
a_shats
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hett,

Всо было савсэм нэ так (с)
Гипертридинг (а не трейдинг всё же) непрозрачен для ОС - она не отличает физические ядра от логических.
Для того, чтобы он начал всерьез мешать - грубо говоря, нужно загрузить все ядра на большой промежуток времени (расчеты/видеокодирование/да SuperPi банальная).
В большинстве остальных ситуаций он помогает - опять-таки грубо говоря, при включенном гипертридинге реакция ПК/сервера на управляющие воздействия от пользователя или операционной системы быстрее.
И да, накладные расходы на него - отнюдь не 50%: реальные потери производительности на одно физическое ядро с включенным HT при полной загрузке всех ядер той же SuperPI - 30% и менее.
...
Рейтинг: 0 / 0
Поясните по гипертрейдингу
    #39300638
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
a_shatsГипертридинг (а не трейдинг всё же) непрозрачен для ОС - она не отличает физические ядра от логических.

Отличает. Мало того, то о чем говорит Hett легко видеть "невооруженным глазом" в Windows в Task Manager. Scheduler балансирует нагрузку по core, а не по cpu / thread.


Вывод команды lscpu на одном из компьютеров. Видно, что socket, core, cpu / thread вполне себе отличаются. И о них явно знает scheduler.

Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 40
On-line CPU(s) list: 0-39
Thread(s) per core: 2
Core(s) per socket: 10
Socket(s): 2
NUMA node(s): 2
Vendor ID: GenuineIntel
CPU family: 6
Model: 62
Stepping: 4
CPU MHz: 1200.000
BogoMIPS: 5987.46
Virtualization: VT-x
L1d cache: 32K
L1i cache: 32K
L2 cache: 256K
L3 cache: 25600K
NUMA node0 CPU(s): 0-9,20-29
NUMA node1 CPU(s): 10-19,30-39
...
Рейтинг: 0 / 0
Поясните по гипертрейдингу
    #39300704
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящий, a_shats
вы меня не правильно поняли,
вот на картинке на сколько реально загружен CPU? Когда каждое нечетное ядро будет 100% на сколько будет реально загружен процессор физически? Я уже второй раз пытаюсь вопрос с формулировать этот, но в ответ получаю какую-то теорию.
...
Рейтинг: 0 / 0
Поясните по гипертрейдингу
    #39300705
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
top показывает нагрузку 25%, но на самом деле нагрузка 25% или 50% ?
...
Рейтинг: 0 / 0
Поясните по гипертрейдингу
    #39300706
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
UPD: ну не 25 он показывает, а 20, но не суть, пусть все примерно.
...
Рейтинг: 0 / 0
Поясните по гипертрейдингу
    #39300736
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вопрос изначально был сильно теоретический - такие и ответы

На деле - пофиг. Полностью загрузить ALU на 100% - это нужно писать __очень оптимальный__ код. Т.ч. ALU обычно загружен не на 100%, вот HyperTrading и позволяет его загрузить использует этот резерв.

Теоретически, если Вы сможете написать реальную задачу, загружающую ALU на 100 - то да, Вы правы. Но в реальности, таких задач/кода __очень мало__, здесь HT и позволяет использовать простаивающие мощность ALU / CPU для параллельного выполнения фоновых задач.

На практике, или CPU достаточно для решения задач (удовлетворение клиента) или нет. Какие либо проценты, это все фикция. Ну или это я воспринимаю мир исключительно черно-белым )))

IMHO & AFAIK
...
Рейтинг: 0 / 0
Поясните по гипертрейдингу
    #39300843
Фотография Вася да Гама
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HettВот допустим есть одно физическое ядро и 2 потока.
Допустим 1 процесс использует одно ядро на максимум. Следовательно мы видим в общей картине, что нагрузка на процессор составляет 50%. Понятно, что все зависит от природы процесса, но я так понимаю при сложных вычислениях показатель 50% будет обманчивым? Т.е. запускаем мы второй такой же процесс на втором ядре и оказывается, что первый процесс стал работать в два раза медленнее?

Гипертрейдинг - просто еще один набор регистров в процессоре и еще один контроллер прерываний - всё.
Копеечная доработка, а всё остальное - маркетинг :)
...
Рейтинг: 0 / 0
Поясните по гипертрейдингу
    #39300856
schi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вася да ГамаГипертрейдинг - просто еще один набор регистров в процессоре и еще один контроллер прерываний - всё.
Копеечная доработка, а всё остальное - маркетинг :)

Экспертов развелось - плюнуть некуда, всяко в эксперта попадешь. Кухонные инженеры, блин.
...
Рейтинг: 0 / 0
Поясните по гипертрейдингу
    #39300918
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hett,

вот неплохое объяснение, с картинками
https://www.percona.com/blog/2015/01/15/hyper-threading-double-cpu-throughput/
Чувак взял 12-ядерный проц, т.е. 24 якобы ядер с включенным HT.
Так вот, начиная с 8 тредов, грузящих проц, т.е. с 33% виртуальной утилизации проца, время выполнения тредова начинает расти. Вывод такой:
если нужна пропускная способность проца, то HT - хорошо. Если же нужно более быстрое "время отклика", то HT надо выключать.
HettПолучается в данной ситуации явно нельзя определить, загружен на данный момент процессор на 50% или на все 100% ?
ну вот он и пишет, что когда с HT загрузка проца показывается как 33%, она уже реально примерно 60%.
...
Рейтинг: 0 / 0
Поясните по гипертрейдингу
    #39300928
svcoder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проблема действительно есть, в том что ОС не разделяет полноценные ядра и дополнительные. Также как в процессорах AMD один блок FPU на два блока ALU. На мой взгляд наилучшим решением была бы возможность управлять тем, как ОС воспринимает каждое из ядер. Например в BIOS должна быть опция не отключать hyperthreading, а как воспринимать ядро с поддержкой hyperthreading как одно или как 2. По умолчанию оставить как одно и этот вариант подойдет подавляющему большинству пользователей, а второй вариант пригодится только тем, кто занимается оптимизацией кода для hyperthreading.
То же самое сделать и для AMD. Те кто занимается расчетами ставят одно ядро, те кто работает с базами данных - 2.
...
Рейтинг: 0 / 0
Поясните по гипертрейдингу
    #39300933
a_shats
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv,

Вообще-то он (тестирующий) там все перепутал. Конкретно - перепутал время отклика и производительность.
То есть на самом деле производительность на ядро с включенным НТ меньше (при полной загрузке всех ядер), а время отклика (т.е. завершения неких малоресурсоемких (под)задач) - наоборот, лучше.
...
Рейтинг: 0 / 0
Поясните по гипертрейдингу
    #39300976
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HettПолучается в данной ситуации явно нельзя определить, загружен на данный момент процессор на 50% или на все 100% ?Так определить нельзя, по графикам в таск-менеджере.

Если механизм суперскалярности хорошо использует все ALU, то гипертрейдинг будет даже мешать, из за дополнительных накладных расходов. А если плохо, то помогать.

Определить это можно для конкретного приложения, прогнав его как нагрузочный тест с включённым и выключенным гипертрейдингом. И сравнить время.
Как правило, гипертрейдинг помогает, потому что суперскалярность работает в принципе неидеально, а спекулятивное выполнение ещё хуже.
Гипертрейдинг по определению эффективнее этих техник, потому что все узлы процессора используются для полезных вычислений, а не для попыток что то "выгадать", на всякий случай исполняя "бесполезные" команды.

Фактически, можно сказать, что гипертрейдинг может замедлять (но может и не замедлять) работу только в одном случае - когда задача плохо распараллеивается, в остальных случаях он работает в плюс.
...
Рейтинг: 0 / 0
Поясните по гипертрейдингу
    #39300986
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvвот неплохое объяснение, с картинками
https://www.percona.com/blog/2015/01/15/hyper-threading-double-cpu-throughput/
Чувак взял 12-ядерный проц, т.е. 24 якобы ядер с включенным HT.
Так вот, начиная с 8 тредов, грузящих проц, т.е. с 33% виртуальной утилизации проца, время выполнения тредова начинает расти. Вывод такой:
если нужна пропускная способность проца, то HT - хорошо. Если же нужно более быстрое "время отклика", то HT надо выключать.Нельзя делать такой общий вывод на основании анализа одного приложения (одного набора команд), или на своих предположениях.

Автор, похоже, даже не понимает, что обычное однопоточное приложение выполняется со скоростью более одной команды за такт, и вот это как раз и делает гипертрейдинг в некоторых случаях очень полезным.
...
Рейтинг: 0 / 0
Поясните по гипертрейдингу
    #39301048
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hello, Alexeyvg!
You wrote on 31 августа 2016 г. 13:14:13:

Alexeyvg> Нельзя делать такой общий вывод на основании анализа одного приложения (одного набора команд), или на своих предположениях.
поройся в архивах msdn и найди рекомендацию M$ отключать HT на MSSQL
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Поясните по гипертрейдингу
    #39301098
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящий,

это был типа "старый HT". был один HT, потом его убрали, а потом сделали новый. С новым таких (старых) проблем уже нет.
Тем не менее, и новая HT может как давать прирост, так и делать хуже. Так что в любом случае надо тестить оба режима.
...
Рейтинг: 0 / 0
Поясните по гипертрейдингу
    #39301284
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
всё это попытка достать из одного кармана сразу две фиги.
в то время как нормальная многоядерность - каждая фига в своём кармане.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Поясните по гипертрейдингу
    #39301324
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящийвсё это попытка достать из одного кармана сразу две фиги.
в то время как нормальная многоядерность - каждая фига в своём кармане.

Я так понимаю, что у IBM, Sun архитектур еще круче. Там thread на core до одури. Правда, скорее всего, фиги там другой системы. Но это не отменяет то, что в ряде случаев HT может быть сильно полезен.

IMHO & AFAIK
...
Рейтинг: 0 / 0
Поясните по гипертрейдингу
    #39301638
rahzer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторЯ так понимаю, что у IBM, Sun архитектур еще круче. Там thread на core до одури. Правда, скорее всего, фиги там другой системы
Вот, вот - смотря для чего..
Для подавляющего большинства контор, у которых приложения на винде, ну или на никсах, но х86, всякие Пауры, Чпуксы не годятся..
Я же как-то писал, что делали тестирование 1С УПП на 600 пользователей, так 2 сервака х86 в скромной набивке+МС СКЛ, вполне спокойно уделали Пауэр с ДБ\2 в 2 раза (по времени выполнения операций)
...
Рейтинг: 0 / 0
Поясните по гипертрейдингу
    #39301686
locked
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Leonid KudryavtsevМимопроходящийвсё это попытка достать из одного кармана сразу две фиги.
в то время как нормальная многоядерность - каждая фига в своём кармане.

Я так понимаю, что у IBM, Sun архитектур еще круче. Там thread на core до одури. Правда, скорее всего, фиги там другой системы. Но это не отменяет то, что в ряде случаев HT может быть сильно полезен.

IMHO & AFAIK
Понятно. Весь стэк состояния процессов можно засунуть в силикон. Как минимум время переключения контекстов будет нулевым.
...
Рейтинг: 0 / 0
Поясните по гипертрейдингу
    #39301778
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МимопроходящийHello, Alexeyvg!
You wrote on 31 августа 2016 г. 13:14:13:

Alexeyvg> Нельзя делать такой общий вывод на основании анализа одного приложения (одного набора команд), или на своих предположениях.
поройся в архивах msdn и найди рекомендацию M$ отключать HT на MSSQLПоройся в архивах msdn и найди рекомендацию M$ включать HT на MSSQL для новых процессоров и новых версий сиквела.
...
Рейтинг: 0 / 0
Поясните по гипертрейдингу
    #39301787
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lockedLeonid KudryavtsevЯ так понимаю, что у IBM, Sun архитектур еще круче. Там thread на core до одури. Правда, скорее всего, фиги там другой системы. Но это не отменяет то, что в ряде случаев HT может быть сильно полезен.

IMHO & AFAIK
Понятно. Весь стэк состояния процессов можно засунуть в силикон. Как минимум время переключения контекстов будет нулевым.Там нету переключения контекстов.
Это всё равно, что утверждать, что на 2х разных физических ядрах 2 потока выполняются быстро, потому что "время переключения контекстов будет нулевым"
Как бы формально да, отдельных яизических ядер, или для гипертрединга (в реализациях Intel, IBM или Sun) "время переключения контекстов будет нулевым", к утверждению не придирёшся, но так говорить неправильно.
Там просто нету понятия "переключение контекста", поэтому время его переключения действительно нулевое. (Если говорить именно про гипертрейдинг, а не про аппаратную поддержку многопоточности)
...
Рейтинг: 0 / 0
Поясните по гипертрейдингу
    #39301954
locked
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
alexeyvglockedпропущено...

Понятно. Весь стэк состояния процессов можно засунуть в силикон. Как минимум время переключения контекстов будет нулевым.Там нету переключения контекстов.
Это всё равно, что утверждать, что на 2х разных физических ядрах 2 потока выполняются быстро, потому что "время переключения контекстов будет нулевым"
Как бы формально да, отдельных яизических ядер, или для гипертрединга (в реализациях Intel, IBM или Sun) "время переключения контекстов будет нулевым", к утверждению не придирёшся, но так говорить неправильно.
Там просто нету понятия "переключение контекста", поэтому время его переключения действительно нулевое. (Если говорить именно про гипертрейдинг, а не про аппаратную поддержку многопоточности)
Это тоже понятно. При мэнфрэймоновском пакетном режиме так и будет. Поэтому ни IBM-а ни Sun-а на десктопах и тем более в ревл-тайме нет и небудет.
...
Рейтинг: 0 / 0
Поясните по гипертрейдингу
    #39301995
locked
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
a_shatskdv,

Вообще-то он (тестирующий) там все перепутал. Конкретно - перепутал время отклика и производительность.
То есть на самом деле производительность на ядро с включенным НТ меньше (при полной загрузке всех ядер), а время отклика (т.е. завершения неких малоресурсоемких (под)задач) - наоборот, лучше.
время отклика будет хуже поскольку "переключение между" или точнее, исполнение гипертредов на ядре недетерминированно.
...
Рейтинг: 0 / 0
Поясните по гипертрейдингу
    #39302288
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
locked....Поэтому ни IBM-а ни Sun-а на десктопах и тем более в ревл-тайме нет и небудет.
Потому что IBM и Sun'у / Oracle нафиг не сдались Ваши копеечные десктопы ))) они на нишебродов не расчитывают

Когда был спрос на нормальные рабочие станции за 10-20 тыс. дол. - они свои процы туда ставили. Нормальный, элитный десктоп. Но сейчас на рабочие станции спрос упал, т.ч. они больше по серверам )))

lockedи тем более в ревл-тайме
А Intel'овского Pentium'а в ревл-тайме много?

Интересно, управление спутниками относится к ревл-тайму или нет? Что-то вроде буржуйские спутники все больше на PowerPC ядрах работают, а отнюдь ни на Intel Pentium. В 1998-году пришлось 80386SX-20 в космос запустить, наверное потому, что его еще Intel HyperThread'ингом испортить не успел )))

http://www.cpushack.com/space-craft-cpu.html
...
Рейтинг: 0 / 0
Поясните по гипертрейдингу
    #39302305
Фотография Вася да Гама
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
schiВася да ГамаГипертрейдинг - просто еще один набор регистров в процессоре и еще один контроллер прерываний - всё.
Копеечная доработка, а всё остальное - маркетинг :)

Экспертов развелось - плюнуть некуда, всяко в эксперта попадешь. Кухонные инженеры, блин.

Нельзя плевать в экспертов. У них вам еще косультироваться надо будет.
...
Рейтинг: 0 / 0
Поясните по гипертрейдингу
    #39302420
locked
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Leonid Kudryavtsevlocked....Поэтому ни IBM-а ни Sun-а на десктопах и тем более в ревл-тайме нет и небудет.
Потому что IBM и Sun'у / Oracle нафиг не сдались Ваши копеечные десктопы ))) они на нишебродов не расчитывают

Когда был спрос на нормальные рабочие станции за 10-20 тыс. дол. - они свои процы туда ставили. Нормальный, элитный десктоп. Но сейчас на рабочие станции спрос упал, т.ч. они больше по серверам )))


Да, я и имел ввиду рабочие станции. Они и сейчас стоят 10-20K Вот только IBM-ы и Sun-ы исчезли.


Leonid Kudryavtsevlockedи тем более в ревл-тайме
А Intel'овского Pentium'а в ревл-тайме много?

Интересно, управление спутниками относится к ревл-тайму или нет? Что-то вроде буржуйские спутники все больше на PowerPC ядрах работают, а отнюдь ни на Intel Pentium. В 1998-году пришлось 80386SX-20 в космос запустить, наверное потому, что его еще Intel HyperThread'ингом испортить не успел )))

http://www.cpushack.com/space-craft-cpu.html

IBM много чего выпускет. но это все за пределами этого топика из за наличия отсутствия гипертрединга. :))
.
.
...
Рейтинг: 0 / 0
Поясните по гипертрейдингу
    #39302488
just_vladimir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HettВот допустим есть одно физическое ядро и 2 потока.
Допустим 1 процесс использует одно ядро на максимум. Следовательно мы видим в общей картине, что нагрузка на процессор составляет 50%. Понятно, что все зависит от природы процесса, но я так понимаю при сложных вычислениях показатель 50% будет обманчивым? Т.е. запускаем мы второй такой же процесс на втором ядре и оказывается, что первый процесс стал работать в два раза медленнее?
В описываемом случае, если оба потока занимаются идентичными операциями, то гипертрединг действительно может оказаться не очень эффективным, т.к. обоим потокам будут требоваться однотипные execution unit'ы, за которые и будут конкурировать потоки, а те которые не востребованы будут простаивать, как при работе одного потока, так и при работе двух потоков. А вот если потоки разнородные, условно (на самом деле это все очень тонкие материи) в одном крутится некий алгоритм работающий с целочисленными вычислениями, а во втором с плавающей точкой, то в теории в этой ситуации должен быть неплохой профит от гипертрединга.
...
Рейтинг: 0 / 0
Поясните по гипертрейдингу
    #39302522
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
just_vladimirВ описываемом случае, если оба потока занимаются идентичными операциями, то гипертрединг действительно может оказаться не очень эффективным, т.к. обоим потокам будут требоваться однотипные execution unit'ы, за которые и будут конкурировать потоки, а те которые не востребованы будут простаивать, как при работе одного потока, так и при работе двух потоков. А вот если потоки разнородные, условно (на самом деле это все очень тонкие материи) в одном крутится некий алгоритм работающий с целочисленными вычислениями, а во втором с плавающей точкой, то в теории в этой ситуации должен быть неплохой профит от гипертрединга.
Если обоим потокам будут требоваться однотипные execution unit'ы, но по одной штуке, а однотипных execution unit'ов пара или больше, то гипертрейдинг повысит производительность ровно в два раза.
HettДопустим 1 процесс использует одно ядро на максимум. Следовательно мы видим в общей картине, что нагрузка на процессор составляет 50%.Ещё раз - по процентикам в таск-менеджере вы не увидите, насколько эффективно используются execution unit'ы одним потоком.
Он не показывает, команды в одном потоке выполняются парами за такт, или по одной за такт.
Он показывает, все ли такты процессора были использованы потоком, не было ли перехода процессора в режим ожидания.
...
Рейтинг: 0 / 0
Поясните по гипертрейдингу
    #39302679
just_vladimir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexeyvgЕсли обоим потокам будут требоваться однотипные execution unit'ы, но по одной штуке, а однотипных execution unit'ов пара или больше, то гипертрейдинг повысит производительность ровно в два раза.
Говорю же, здесь тонкие материи и много если, которые знают только инженеры Intel, а остальные только догадываются. Я дак вообще дилетант :-) Но тем не менее мне в целом сложно представить такую ситуацию, что один поток использует всего один execution unit, а остальные простаивают и их конвеер никак не нагружает.

alexeyvgЕщё раз - по процентикам в таск-менеджере вы не увидите, насколько эффективно используются execution unit'ы одним потоком.
Он не показывает, команды в одном потоке выполняются парами за такт, или по одной за такт.
Он показывает, все ли такты процессора были использованы потоком, не было ли перехода процессора в режим ожидания.
Даешь вывод IPC в таск-менеджере :-)
...
Рейтинг: 0 / 0
Поясните по гипертрейдингу
    #39303016
Фотография Scott Tiger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
https://en.wikipedia.org/wiki/Simultaneous_multithreading - вот здесь в разделе "Modern commercial implementations" вкратце пояснено, чем интеловский гипертрединг отличается от сходно называющихся реализаций Sun/Oracle, IBM и пр.
...
Рейтинг: 0 / 0
Поясните по гипертрейдингу
    #39303404
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
just_vladimiralexeyvgЕсли обоим потокам будут требоваться однотипные execution unit'ы, но по одной штуке, а однотипных execution unit'ов пара или больше, то гипертрейдинг повысит производительность ровно в два раза.
Говорю же, здесь тонкие материи и много если, которые знают только инженеры Intel, а остальные только догадываются. Я дак вообще дилетант :-) Но тем не менее мне в целом сложно представить такую ситуацию, что один поток использует всего один execution unit, а остальные простаивают и их конвеер никак не нагружает.Если вы вообще можете представить такую необычную ситуацию, когда "поток использует более одного execution unit", то представить, что поток "не может" это делать, по моему, достаточно просто.
Вы знаете, как вообще это работает, "одновременное использование нескольких execution unit"?

Всё таки использование более одного execution unit - это результат очень сложных техник, особых последовательностей в выполняемом коде, и некоторого везения.

Причём некоторые из этих техник (да, наверное, все) делают это использование заведомо избыточным, уничтожая часть его результатов.
Т.е., скажем, при использовании 3х execution unit, особенно однотипных, 2 из 3х результатов вычислений может быть уничтожено, если процессор поймёт, что результат обработки недостоверен.
Что ещё более повышает эффективность гипертрейдинга, где таких проблем в принципе быть не может.

Scott Tiger https://en.wikipedia.org/wiki/Simultaneous_multithreading - вот здесь в разделе "Modern commercial implementations" вкратце пояснено, чем интеловский гипертрединг отличается от сходно называющихся реализаций Sun/Oracle, IBM и пр.Нет, нету там про "чем интеловский гипертрединг отличается от ...". Там просто упомянуты некоторые особенности конкретных реализаций гипертрединга на разных процессорах, в т.ч. для интеля - на пентиуме 4 (14-летней давности).
...
Рейтинг: 0 / 0
35 сообщений из 35, показаны все 2 страниц
Форумы / Hardware [игнор отключен] [закрыт для гостей] / Поясните по гипертрейдингу
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]