Hyper-T

Разработка систем с максимальной вычислительной мощьностью.

Технология развития процессорных микрочипов неразрывно связана с историей развития программного обеспечения и спектра задач, которые решал компьютер. Если раньше электронно-вычислительной машине надо было работать только алгоритмами и с массивами цифровых данных, то сейчас мультимедийные и игровые программы генерируют не десятки, а сотни и тысячи таких алгоритмов и потоков данных в секунду.

Одному-единственному процессору приходилось всё это обрабатывать. Существенно мощные и разогнанные сервера работали тогда не на одном процессоре, а на двух. Они стояли парно на одной материнской плате, и эти два процессора удваивали свои мощности: когда первый процессор был загружен, а в очереди ждала вторая задача, второй процессор брался за неё, и система не простаивала зря.

Однако такое решение было очень затратным: во-первых, требовалась особенная материнская плата с поддержкой одновременно двух процессоров, а во-вторых, нужно было два процессора, двойной комплект оперативной памяти и двойное питание — каждому процессору своя мощность. Тогда инженерам пришла в голову идея сделать такой протокол, который позволит процессору решать две задачи.

Допустим, первая задача решена не до конца, но не занимает процессор. В классическом одноядерном процессоре при этом систем не позволяет занимать простаивающий без дела, но логически всё ещё занятый процессор. В новой технологии инженерами было предложено следующее решение: процессор ставит на паузу простой первой задачи и берёт вторую. Если же надо снова решать первую — он ставит на паузу вторую, из паузы возвращает моментально первую и работает уже с ней. Логически это выглядит, будто у системы два процессора — но на самом деле, его одно физическое ядро процессора умеет решать почти две задачи одновременно.

Технологию процессоров новой линейки были названы Hyper-Threading — гипер-поточность. То есть, процессор в одно ядро имел два потока команд, а не один как ранее. Фактически не нужно было покупать новые материнские платы — поддержу такого режима возможно было активировать программно, при помощи обновления BIOS, потому для пользователей это было чрезвычайно выгодным решением. Но после появления настоящих многоядерных процессоров, в корпус которого было зашито два отдельных и реальных аппаратных ядра актуальность Hyper-Threading процессоров ставится под сомнение. В самом деле, корпорация Intel в одном поколении даже приостановила выпуск таких процессоров — скажем, в линейке Core 2 ни одному из процессоров не был зашит в ядро этот протокол.

Минус таковы: Hyper-Threading не мог полностью эмулировать второе ядро, операционной системе было сложно загрузить большое количество ядер. Приложения старого типа и большая часть программ нового поколения не мели работать и с двумя-то ядрами. К тому же, использование Hyper-Threading повышало производительность только на шестьдесят процентов, тогда как использование реальной двухъядерности увеличивало её вдвое. Но с появлением линейки Core i ситуация изменилась опять: технологи встроили в процессоры Core i5 и Core i7 — вероятно, в штабе разработки процессоров после прохождения тестов и симуляций протокол Hyper-Threading выиграл по скорости обработки вычислений, а именно ими и занимается процессор в компьютере, по сравнению с обычными процессорами. И действительно, эмуляция второго ядра при использовании технологии Hyper-Threading по сравнению с обычными процессорами может выигрывать в тех программах, которые используют много алгоритмических задач с низким приоритетом.

Однако обычные процессоры с несколькими ядрами хоть и проигрывают в цене, то стоят они гораздо дороже, чем Hyper-Threading — они выигрывают в производительности в мощных приложениях. Какие же решение выбирать из этих двух — только вам решать, с упором на текущие задачи.