Hyper-threading

Процесор Pentium 4 (Nortwood), в якому Intel ввів Hyper-threading[1]

Hyper-threading (англ. Hyper-threading — гіперпотоковість,[2] гіпернитевість, гіпернитковість, багатонитковість, офіційна назва Hyper-Threading Technology (HTT) — «надбагатопотокова»[2]) — торгова марка компанії Intel для реалізації технології одночасної багатопотоковості, яка використовує можливості незадіяних регістрів і блоків процесора, дозволяючи йому підняти продуктивність[яку?] до 30%.[джерело?] Вперше реалізованої в процесорі Pentium 4.[2]

Розширена форма супер-нитевості (англ. Super-threading), що вперше з'явилася у процесорах Intel Xeon і пізніше додана в процесори Pentium 4. Ця технологія збільшує продуктивність процесора за певних робочих навантажень шляхом завантаження «корисною роботою» виконавчі блоки процесора (англ. execution units), які без цієї функції не будуть використовуватись (наприклад, у випадках кеш-промаху). На процесорах з увімкненим Hyper-threading операційна система «знаходить» вдвічі більше процесорів, у порівнянні з кількістю ядер, фізично присутніх у машині. Тому іноді цю технологію називають технологією віртуальної багатоядерності.

Основні переваги Hyper-threading представлені як: покращена підтримка багатонитевого коду, що дозволяє запускати ниті одночасно; поліпшена реакція і час відгуку; збільшена кількість користувачів, що може підтримувати сервер.

Компанія Intel стверджує що перша реалізація призвела до 5-відсоткового збільшення площі кристала але натомість дозволяла збільшити продуктивність на 15 — 30%.

Intel стверджує, що надбавка до швидкості становить 30% в порівнянні з ідентичними процесорами Pentium 4 без технології «Simultaneous multithreading». Однак надбавка до продуктивності змінюється від застосунку до застосунка: деякі програми взагалі дещо сповільнюються при включеній технології Hyper-threading. Це, в першу чергу, пов'язано з «системою повторення»[що це?] процесорів Pentium 4, що займає необхідні обчислювальні ресурси, від чого і починають «голодувати» інші ниті.

Сучасний стан

Технологія Hyper-threading не була успадкована в сімействі процесорів Intel Core.

Intel в листопаді 2008 випустив процесор Core i7 (кодова назва Nehalem), в якому технологія hyper-threading була відроджена. Nehalem містить 4 ядра і ефективно масштабується до 8 нитей в пікових режимах.[3]

Черговим процесором, де інкарнувалася технологія hyper-threading, став Intel Atom, який використовується для енергоефективних мобільних пристроїв і дешевих настільних комп'ютерів.

Також Hyper-Threading підтримують процесори з ядром Sandy Bridge: Core i3, Core i5, Core i7.

Уразливості

У червні 2018 року проєкт OpenBSD повідомив про рішення учасників проєкту вимикати функції Hyper-threading при роботі цієї операційної системи на мікропроцесорах виробництва Intel. На думку учасників проєкту система з увімкненим Hyper-threading може бути уразлива як до відомих, так і поки що не відомих атак сторонніми каналами типу Spectre та Meltdown та TLBleed[en][4].

Джерела

  1. Intel Processor Spec Finder: SL6WK. Архів оригіналу за 21 лютого 2010. Процитовано 17 січня 2010.
  2. а б в Англо-український тлумачний словник з обчислювальної техніки, інтернету і програмування. Київ: Видавничий дім «СофтПрес». 2005. с. 254.
  3. Intel explains the new Core i7 CPU (англ.). Intel. Архів оригіналу за 3 жовтня 2009. Процитовано 17 січня 2010.
  4. Catalin Cimpanu (19 червня 2018). OpenBSD Disables Intel CPU Hyper-Threading Due to Security Concerns (англ.). Bleeping Computer. Архів оригіналу за 26 червня 2018. Процитовано 26 червня 2018.

Посилання

  • High level overview of Hyper-threading (англ.). Intel. Архів оригіналу за 5 січня 2010. Процитовано 17 січня 2010.
  • Hyper-threading on MSDN Magazine [Архівовано 23 січня 2010 у Wayback Machine.]
  • HyperThreading Overview from OSDEV Community
  • An introductory article [Архівовано 9 червня 2005 у Wayback Machine.] from Ars Technica
  • Hyper-Threading Technology Architecture and Microarchitecture, technical description of Hyper-Threading (1.2 MB PDF-file)
  • United States Patent 4847755: Parallel processing method and apparatus for increasing processing throughout by parallel processing low level instructions having natural concurrencies
  • Merom, Conroe, Woodcrest lose HyperThreading [Архівовано 6 вересня 2009 у Wayback Machine.]
Безпека
  • KernelTrap discussion: Hyper-Threading Vulnerability
Швидкодія
  • ZDnet: Hyperthreading hurts server performance, say developers [Архівовано 29 грудня 2005 у Wayback Machine.]
  • ARM is no fan of HyperThreading (окреслює загальні проблеми SMT) (англ.). Архів оригіналу за 13 березня 2007. Процитовано 17 січня 2010.
  • п
  • о
  • р
Загальне
Рівні паралелізму
Bit · Instruction · Data · Task
Нитки
Super-threading · Hyper-threading
Теорія
Елементи
Координація
Програмування
Апаратне забезпечення

Багатопроцесорність (Симетрична · Асиметрична· Пам'ять (NUMA · COMA · distributed · shared · distributed shared) · SMT

Масово-паралельна архітектура · Суперскалярність · Векторний процесор · Суперкомп'ютер · Beowulf
API
Проблеми
  • п
  • о
  • р
Архітектура
Архітектура системи команд
Розрядність
Виконання інструкцій
Паралельні обчислення
Багатонитевість
Таксономія Флінна
Типи
Складові
Управління живленням[en]
  • APM
  • ACPI
  • Динамічна зміна частоти[en]
  • Динамічна зміна напруги[en]
  • Clock gating
{{{alt}}} Це незавершена стаття про апаратне забезпечення.
Ви можете допомогти проєкту, виправивши або дописавши її.