Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
На графиках по оси X отложен размер блока
Принципиально то, что когда мы делим потоки по логическим процессорам одного ядра, промахи начинаются в два раза раньшеНа раньше. Если у вас два потока пользуются одним кэшем, то суммарно падение начинается при том же объеме обрабатываемых данных.
Вот на этой особенности Hyper-Threading мы и акцентировали внимание.Я все равно не понимаю, почему это именно Hyper-Threading. Узким местом в задаче является только кэш. Хоть вы используете HT, хоть не используете, как только на одном кэше у вас обрабатывается данных больше, чем в него влазит, скорость падает. И падает она одинаково, используете вы один поток на одном логическом процессоре, два потока на разных логических процессорах, или же десять потоков на одном логическом процессоре. Без разницы.
Это может быть 32K одного потока (без HT) или сумма размеров блоков, обрабатываемых двумя логическими процессорами одного ядра.Или же нескольких потоков на одном ядре без всякого гипертрейдинга, что вы продолжаете игнорировать. Еще раз: дело не в гипертрейдинге, а в количестве данных, обрабатываемых на одном экземпляре кэша (в данном случае на одном ядре). Способ достижения порога в 32Кб роли не играет.
Еще раз о Hyper-Threading