Render.ru

Многопоточность

ЛМА

Смотритель
Рейтинг
1 181
#1
Подумалось тут. Всем известно, что макс многие операции делает одним потоком. Отсюда получается, что если включен НТ, т.е. вместо, скажем 4 физических ядер у вас 8 виртуальных потоков, то операция будет выполняться одним потоком, т.е. половиной одного ядра. Проверил в диспетчере задач. И действительно, при выполнении такой однопоточной задачи процессор нагружен на 12,5 % (1/8 от общей загрузки) вместо 25% если бы НТ не был включен и потоков было бы столько же, сколько и ядер. Т.е. выходит, что лучше НТ отключить что ли?
Вообщем я в недоумении...
 

ЛМА

Смотритель
Рейтинг
1 181
#3
??? Странный вопрос. НТ это Hyper-threading Технология разделения физического ядра на два виртуальных для увеличения производительности многопоточных задач. С 2002 года применяется, еще с Пентиума 4. Повышает производительность на 30% в идеале. Система понимает эти виртуальные ядра как отдельные физические ядра и показывает их в диспетчере задач как отдельные ядра. Эта функция есть не у всех процессоров.
В характеристиках процессоров так и пишут, например : 8 ядер 16 потоков, вот эти 16 потоков и есть работа НТ. если эту функцию отключить в биосе, то будет 8 потоков, столько же, сколько и ядер.
 
Последнее редактирование:

damien

Мастер
Рейтинг
976
#4
??? Странный вопрос. НТ это Hyper-threading Технология разделения физического ядра на два виртуальных для увеличения производительности многопоточных задач. С 2002 года применяется, еще с Пентиума 4. Повышает производительность на 30% в идеале. Система понимает эти виртуальные ядра как отдельные физические ядра и показывает их в диспетчере задач как отдельные ядра. Эта функция есть не у всех процессоров.
В характеристиках процессоров так и пишут, например : 8 ядер 16 потоков, вот эти 16 потоков и есть работа НТ. если эту функцию отключить в биосе, то будет 8 потоков, столько же, сколько и ядер.
А можете перечислить эти многопоточные задачи, где, когда надо их ставить и решать? Может и ссылку на информацию о них в уроках интернета?
 

ЛМА

Смотритель
Рейтинг
1 181
#5
А можете перечислить эти многопоточные задачи, где, когда надо их ставить и решать?
Я то откуда могу знать чего вы там у себя на компе делаете. Включите диспетчер задач и сами посмотрите какие задачи у вас многопоточные, а какие однопточные, смотреть в разделе "быстродействие" в графике "Загрузка ЦП", там отображается загрузка всего ЦП, и в графиках "Хронология загрузки ЦП", там отображается загрузка потоков. И если у вас процессор без НТ, то количество потоков будет равно количеству ядер (в диспетчере задач это показывает количество графиков в разделе "Хронология загрузки ЦП", каждый график для одного потока) , а если процессор с НТ, то количество потоков (количество этих графиков) будет в 2 раза больше, чем количество ядер.

Что же касается 3Д, то там точно многопоточная задача это рендер, отсюда чем больше ядер и потоков, тем рендер быстрее.
А однопоточные задачи это в основном работа в вьюпорте (моделирование), отсюда чем выше производительность процессора на одно ядро, тем легче работать в вьюпорте. Вот последнее я и имел ввиду в этой теме, потому как получается, что работает не одно ядро все целиком, а только один поток, т.е. часть ядра разделенного на потоки технологией НТ.

А ставить (включать) их негде, они сами ставятся автоматически. Какие они есть, как их программисты написали, такие они и есть. Одни однопоточные, другие многопоточные. Программисты конечно стараются все задачи делать многопоточными, но не всегда это возможно технически. Вот работу в вьюпорте так и не смогли сделать многопоточной.
 
Последнее редактирование:

damien

Мастер
Рейтинг
976
#6
Я то откуда могу знать чего вы там у себя на компе делаете. Включите диспетчер задач и сами посмотрите какие задачи у вас многопоточные, а какие однопточные, смотреть в разделе "быстродействие" в графике "Загрузка ЦП", там отображается загрузка всего ЦП, и в графиках "Хронология загрузки ЦП", там отображается загрузка потоков. И если у вас процессор без НТ, то количество потоков будет равно количеству ядер (в диспетчере задач это показывает количество графиков в разделе "Хронология загрузки ЦП", каждый график для одного потока) , а если процессор с НТ, то количество потоков (количество этих графиков) будет в 2 раза больше, чем количество ядер.

Что же касается 3Д, то там точно многопоточная задача это рендер, отсюда чем больше ядер и потоков, тем рендер быстрее.
А однопоточные задачи это в основном работа в вьюпорте (моделирование), отсюда чем выше производительность процессора на одно ядро, тем легче работать в вьюпорте. Вот последнее я и имел ввиду в этой теме, потому как получается, что работает не одно ядро все целиком, а только один поток, т.е. часть ядра разделенного на потоки технологией НТ.

А ставить (включать) их негде, они сами ставятся автоматически. Какие они есть, как их программисты написали, такие они и есть. Одни однопоточные, другие многопоточные. Программисты конечно стараются все задачи делать многопоточными, но не всегда это возможно технически. Вот работу в вьюпорте так и не смогли сделать многопоточной.
Спасибо, конечно, но я не об этом-то спрашивал, даже выделил жирным то, что интересовало, ну не знаете, что у меня, так напишите какие "многопоточные задачи" вы решаете на своём компе. Я же не программист, а для увеличения скорости мне достаточно увеличить оперативню память, это реально ощутимо будет.
 

ЛМА

Смотритель
Рейтинг
1 181
#7
так напишите какие "многопоточные задачи" вы решаете на своём компе.
Какие задачи программисты сделали многопоточными, такие автоматически и решаются в многопоточном режиме. Это в самих программах заложено. Пользователи (т.е. мы с вами) тут ничего сами делать не можем. А какие именно эти программы нужно смотреть в диспетчере задач когда эти программы работают. Вот рендер в максе - это точно многопоточная задача. Игры современные тоже многопоточные. А что еще многопоточное я не интересовался т.к. без надобности, у меня кроме рендера ничего долго не делается что бы интересоваться.
А вам то это зачем? С какой целью интересуетесь?

Я же не программист, а для увеличения скорости мне достаточно увеличить оперативню память, это реально ощутимо будет.
Если у вас памяти и так хватает для работы, то ее увеличение вам ничего не даст. А вот если не хватает, то безусловно это очень сильно увеличит производительность. А вот хватает вам ее или нет вы так же можете посмотреть в диспетчере задач в разделе "Быстродействие" в графике "Память".
 
Последнее редактирование:
Сверху