Hyper-Threading — что это и как влияет на производительность | Глоссарий FREEHOSTING

Hyper-Threading

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

Определение простыми словами

Hyper-Threading (HT) — фирменное название технологии симметричной многопоточности (SMT) от Intel. На каждом физическом ядре создаются два логических потока, которые делят между собой кэш, исполнительные блоки и регистры. Если один поток ждёт данные из памяти, второй сразу занимает свободные модули ядра, и время простоя сокращается.

Прирост производительности зависит от нагрузки: на чисто вычислительных задачах он близок к нулю, на смешанных — даёт 15–30%. Для веб-серверов и баз данных HT почти всегда заметен, потому что запросы постоянно ждут диск и сеть. Подробнее о ядрах рассказано в материале CPU, а о выделенной частоте — в гарантированной частоте CPU.

Сравнение

Параметр Без Hyper-Threading С Hyper-Threading
Логические потоки на ядро 1 2
Прирост многопоточных задач 0% 15–30%
Накладные расходы планировщика Минимальные Выше из-за конкуренции за кэш
Уязвимости спекулятивного выполнения Меньше векторов L1TF, MDS требуют патчей

Кейсы использования

  • Виртуальный хостинг и контейнеры — сотни параллельных PHP-FPM воркеров эффективно делят ядра.
  • Серверы баз данных MySQL и PostgreSQL — короткие транзакции хорошо переключаются между потоками.
  • Сборка проектов и CI-раннеры — компиляция выигрывает от удвоения логических ядер.
  • Негативный сценарий: финансовые расчёты с реальным временем и шифрование на одном ядре. Конкуренция за исполнительные блоки замедляет критичные операции, поэтому HT в HPC и трейдинговых стеках часто отключают.

Технические детали

lscpu | grep -E 'Thread|Socket|Core'
cat /sys/devices/system/cpu/smt/active
echo off | sudo tee /sys/devices/system/cpu/smt/control
grep -c processor /proc/cpuinfo

Команды показывают число потоков на ядро, текущий статус SMT и временно выключают Hyper-Threading без перезагрузки. На уровне BIOS/UEFI параметр обычно называется «Hyper-Threading Technology» или «SMT». Отключение помогает митигировать уязвимости класса side-channel, но снижает плотность контейнеров на VPS-узле.

Частые вопросы

Hyper-Threading удваивает производительность?

Нет. Реальный прирост 15–30% на смешанных нагрузках. Удваивается лишь число логических ядер, а исполнительные блоки физического ядра остаются общими.

Стоит ли отключать HT на VPS?

На обычном веб-проекте — нет, плотность и отзывчивость пострадают. Отключают только при жёстких требованиях к безопасности или предсказуемой латентности.

Как понять, что хостер продаёт HT-потоки под видом ядер?

Сравните показатели lscpu: если Thread(s) per core = 2, значит часть ядер — логические. Уточняйте в тарифе количество физических ядер.