Что такое Hyper-Threading?

Что такое Hyper-Threading?

Hyper-Threading (HT) - это технология многопоточной обработки команд, превращающая одноядерный процессор Intel Pentium 4 в псевдодвухъядерный, позволяя выполнять некоторые команды параллельно и увеличивая, тем самым, производительность в отдельных приложениях (оптимизированных под HT). Прирост производительности в таких приложениях может достигать 30%.

Данная технология предназначена для увеличения эффективности работы процессора. По оценкам Intel, большую часть времени работает всего 30% всех исполнительных устройств в процессоре. Поэтому возникла идея каким-то образом использовать и остальные 70% (как вы уже знаете Pentium 4, в котором применяют эту технологию, отнюдь не страдает от избыточной производительности на мегагерц). Суть Hyper Threading состоит в том, что во время исполнения одной "нити" программы, простаивающие исполнительные устройства могут перейти на исполнение другой "нити" программы. Т. е. получается нечто вроде разделение одного физического процессора на два виртуальных. Возможны и ситуации, когда попытки одновременного исполнения нескольких "нитей" приведут к ощутимому падению производительности. Например, из-за того, что размер кэша L2 довольно мал, а активные "нити" будут пытаться загрузить кэш. Возможна ситуация, когда борьба за кэш приведет к постоянной очистке и перезагрузке данных в нем (следовательно будет падать скорость). Очень важно помнить, что пока наблюдается отсутствие нормальной поддержки со стороны операционных систем и, самое главное, необходимость перекомпиляции, а в некоторых случаях и смены алгоритма, приложений, чтобы они в полной мере смогли воспользоваться Hyper Threading. Первые тесты это уже доказывают, ощутимого прироста в скорости нет, иногда наблюдается даже некоторое падение производительности.

Hyper-Threading - это очень эффективный подход к увеличению быстродействия процессора. При минимальных затратах с точки зрения дополнительной площади кристалла, прирост производительности может быть весьма ощутимым. Симметричная многопоточность была реализована Intel в процессорах Intel Pentium 4 в виде технологии Hyper-Threading. В новых процессорах Intel Core i7, технология Hyper-Threading получила дальнейшее развитие. Каждое из четырех ядер процессора Intel Core i7, поддерживает одновременное выполнение двух программных потоков. Отдельные приложения показывают прирост нескольким более 30% при включении технологии Hyper-Threading. При необходимости технология HT может быть выключена.