Сообщение Re[26]: Эльбрус мёртв, да здравствует Эльбрус-Б! от 04.06.2025 6:09
Изменено 04.06.2025 6:11 vdimas
Re[26]: Эльбрус мёртв, да здравствует Эльбрус-Б!
Здравствуйте, Sinclair, Вы писали:
S>А то, что вы описываете, и называется "hyperthreading".
Во-первых, не называется это так ))
Это сугубо tm от Интел со своими тонкостями, допущениями и компромиссами.
Потоков два, а не десятки-сотни.
Потоки не могут аппаратно приостанавливаться и продолжаться по некоему условию/флагу, т.е. не могут синхронизироваться.
Потоки имеют независимые ОоО, чего не требуется при распараллеливании одного цикла по потокам, например (см реализацию в видеокартейках, где "ядром" называют распараллеливаемый код).
И т.д. до бесконечности.
В общем, ожидаемая схема ближе к тому, что происходит в видеокартейках, когда аппаратные потоки исполняют, в том числе, одинаковый код.
В том числе умеют останавливаться и продолжаться по флагам.
В гипертрединге Интел поток всегда работает, он не может не работать. ))
Даже если просто сидит в режиме ожидания — нихера он не сидит, на деле, а крутится в цикле, как это делали любые допотопные одноядерные процы, только теперь многоядерные и многопоточные.
Сравни с гетерогенными ядрами Cell или гетерогенными ARM или видеокартейками, где активностью аппаратных потоков исполнения можно именно управлять.
В общем, некие черты интеловского гипертрединга во всём этом есть, но на деле там разница шириной примерно в пропасть. ))
S>А то, что вы описываете, и называется "hyperthreading".
Во-первых, не называется это так ))
Это сугубо tm от Интел со своими тонкостями, допущениями и компромиссами.
Потоков два, а не десятки-сотни.
Потоки не могут аппаратно приостанавливаться и продолжаться по некоему условию/флагу, т.е. не могут синхронизироваться.
Потоки имеют независимые ОоО, чего не требуется при распараллеливании одного цикла по потокам, например (см реализацию в видеокартейках, где "ядром" называют распараллеливаемый код).
И т.д. до бесконечности.
В общем, ожидаемая схема ближе к тому, что происходит в видеокартейках, когда аппаратные потоки исполняют, в том числе, одинаковый код.
В том числе умеют останавливаться и продолжаться по флагам.
В гипертрединге Интел поток всегда работает, он не может не работать. ))
Даже если просто сидит в режиме ожидания — нихера он не сидит, на деле, а крутится в цикле, как это делали любые допотопные одноядерные процы, только теперь многоядерные и многопоточные.
Сравни с гетерогенными ядрами Cell или гетерогенными ARM или видеокартейками, где активностью аппаратных потоков исполнения можно именно управлять.
В общем, некие черты интеловского гипертрединга во всём этом есть, но на деле там разница шириной примерно в пропасть. ))
Re[26]: Эльбрус мёртв, да здравствует Эльбрус-Б!
Здравствуйте, Sinclair, Вы писали:
S>А то, что вы описываете, и называется "hyperthreading".
Во-первых, не называется это так ))
Это сугубо tm от Интел со своими тонкостями, допущениями и компромиссами.
Потоков два, а не десятки-сотни.
Потоки не могут аппаратно приостанавливаться и продолжаться по некоему условию/флагу, т.е. не могут синхронизироваться.
Потоки имеют независимые ОоО, чего не требуется при распараллеливании одного цикла по потокам, например (см реализацию в видеокартейках, где "ядром" называют распараллеливаемый код).
И т.д. до бесконечности.
В общем, ожидаемая схема ближе к тому, что происходит в видеокартейках, когда аппаратные потоки исполняют, в том числе, одинаковый код.
В том числе умеют останавливаться и продолжаться по флагам.
В гипертрединге Интел поток всегда работает, он не может не работать. ))
Даже если просто сидит в режиме ожидания — нихера он не сидит, на деле, а крутится в цикле, как это делали любые допотопные одноядерные процы, только теперь многоядерные и многопоточные.
Сравни с гетерогенными ядрами Cell или гетерогенными ARM или видеокартейками, где активностью аппаратных потоков исполнения (ядер) можно именно управлять.
В общем, некие черты интеловского гипертрединга во всём этом есть, но на деле там разница шириной примерно в пропасть. ))
S>А то, что вы описываете, и называется "hyperthreading".
Во-первых, не называется это так ))
Это сугубо tm от Интел со своими тонкостями, допущениями и компромиссами.
Потоков два, а не десятки-сотни.
Потоки не могут аппаратно приостанавливаться и продолжаться по некоему условию/флагу, т.е. не могут синхронизироваться.
Потоки имеют независимые ОоО, чего не требуется при распараллеливании одного цикла по потокам, например (см реализацию в видеокартейках, где "ядром" называют распараллеливаемый код).
И т.д. до бесконечности.
В общем, ожидаемая схема ближе к тому, что происходит в видеокартейках, когда аппаратные потоки исполняют, в том числе, одинаковый код.
В том числе умеют останавливаться и продолжаться по флагам.
В гипертрединге Интел поток всегда работает, он не может не работать. ))
Даже если просто сидит в режиме ожидания — нихера он не сидит, на деле, а крутится в цикле, как это делали любые допотопные одноядерные процы, только теперь многоядерные и многопоточные.
Сравни с гетерогенными ядрами Cell или гетерогенными ARM или видеокартейками, где активностью аппаратных потоков исполнения (ядер) можно именно управлять.
В общем, некие черты интеловского гипертрединга во всём этом есть, но на деле там разница шириной примерно в пропасть. ))