Гиперпоточность
Гиперпоточность(официальное название —Hyper-Threading Technology,HTTилиHT) — технология, разработанная компаниейIntelдля повышения производительностипроцессоровсобственного производства. Стала исторически первой полноценной реализацией концепцииодновременной многопоточности(англ.simultaneous multithreading,SMT), созданной в развитие технологиисуперпоточности(англ.super-threading,реализовывавшейвременную многопоточность). После включения гиперпоточности одно физическоепроцессорное ядроопределяетсяоперационной системойкак два отдельных логических ядра. При определённых рабочих нагрузках использование гиперпоточности позволяет увеличить производительность процессора. Суть технологии: передача «полезной работы» (англ.useful work) бездействующим исполнительным устройствам (англ.execution units).
Изначально технология была реализована в одноядерных серверных процессорахXeon(февраль 2002 года) и одноядерных настольных процессорахPentium 4(ноябрь 2002 года)[1].В первых многоядерных процессорах Intel, в том числе серияхCore 2(Core 2 Duo, Core 2 Quad), технология реализована не была. В 2008 году поддержка гиперпоточности добавлена и в многоядерные процессоры (в линейкеCore i7на архитектуреNehalem). Впоследствии поддержка технологии появилась в процессорах серииItanium[2],Atom[3]и всех сериях Xeon.
Принцип работы
[править|править код]Процессорное ядро, поддерживающее технологию гиперпоточности, может хранить состояние сразу двухпотоков выполнения,содержит по одному наборурегистрови по одномуконтроллеру прерываний(APIC) на каждоелогическое ядро.Дляоперационной системыэто выглядит как наличие двух логических ядер. У каждого логического ядра имеется свой наборрегистровиконтроллер прерываний(APIC). Остальные элементы физического ядра являются общими для всех логических ядер.
Например, когда физическое ядро выполняет поток команд первого логического ядра, то выполнение потока команд приостанавливается по одной из следующих причин:
- произошёлпромахпри обращении ккэшу процессора;
- выполнено неверноепредсказание ветвления;
- ожидается результат предыдущей инструкции.
Физическое ядро не будет бездействовать, а передаст управление потоку команд второго логического ядра. Таким образом, пока одно логическое ядро ожидает, например, данные изпамяти,вычислительные ресурсы физического ядра будут использоваться вторым логическим ядром[4].
Производительность
[править|править код]Преимуществами технологии считаются:
- возможность запуска несколькихпотоководновременно (многопоточныйкод);
- уменьшение времени отклика;
- увеличение числа пользователей, обслуживаемыхсервером.
По утверждениям Intel, после реализации гиперпоточности вPentium 4иXeon 2001—2002 года:
- площадь кристалла иэнергопотреблениев первой реализации увеличились менее чем на 5 %[5][6];
- в некоторых задачахпроизводительностьувеличилась на 15—30 %[7][6]
- прибавка к скорости составила 30 %[8]по сравнению с аналогичными процессорамиPentium 4,не поддерживающими гиперпоточность;
Прибавка к производительности изменяется от приложения к приложению. Скорость выполнения некоторых программ может даже уменьшиться. Это, в первую очередь, связано с «системой повторения» (англ.replay) процессоров Pentium 4, занимающей необходимые вычислительные ресурсы, отчего и начинают «голодать» другие потоки[9][10].
Информация в этой статье или некоторых её разделахустарела. |
Примечания
[править|править код]- ↑Процессоры [[Intel]] [[Pentium 4]] 3.06GHz с технологией «hyper-threading» .X-bit labs. Дата обращения: 4 июня 2014.Архивировано31 мая 2014 года.
- ↑Процессоры Itanium с поддержкой Hyper-threading .Дата обращения: 20 мая 2015.Архивировано12 сентября 2015 года.
- ↑Процессоры Atom с поддержкой Hyper-threading .Дата обращения: 20 мая 2015.Архивировано12 сентября 2015 года.
- ↑Техническое описаниеАрхивировано24 февраля 2008 года.(англ.)технологии «hyper-threading» на сайте компанииIntel.
- ↑Hyper-Threading Technology// Intel Technology Journal Volume 06 Issue 01 (February 14, 2002), ISSN 1535766X p.7 « This implementation of Hyper-Threading Technology added less than 5 % to the relative chip size and maximum power requirements»
- ↑12How to Determine the Effectiveness of Hyper-Threading Technology with an ApplicationАрхивная копияот 5 февраля 2015 наWayback Machine// Intel, April 28, 2011
- ↑Hyper-Threading Technology// Intel Technology Journal Volume 06 Issue 01 (February 14, 2002), ISSN 1535766X p.14: "Measured performance on the Intel Xeon processor MP with Hyper-Threading Technology shows performance gains of up to 30 % on common server application benchmarks for this technology."
- ↑Summary: In Some Cases The P4 3.0HT Can Even Beat The 3.6 GHz Version: Single CPU in Dual Operation: P4 3.06 GHz with Hyper-Threading Technology .Tomshardware.com (14 ноября 2002). Дата обращения: 5 апреля 2011.
- ↑Керученько Я., Малич Ю., Левченко В.Replay: неизвестные особенности функционирования ядра NetburstАрхивная копияот 4 июня 2010 наWayback Machine// F-center.ru, 2005
- ↑Ватутин Э. И., Титов В. С.Особенности реализации технологии «hyper-threading» в процессорах Intel «Pentium 4» на примере выполнения кода разного типаАрхивная копияот 11 января 2012 наWayback Machine,2005
Ссылки
[править|править код]- Hyper-Threading(MSDN)(рус.)
- Обзор технологии на сайте Intel(рус.)
- Intel® 64 and IA-32 Architectures software developer’s manual, volume 1,section 2.2.8. «Intel® hyper-threading technology» (253665-039US May 2011)
- Hyper-threading technology architecture and microarchitecture// статья о технологии «hyper-threading» в выпуске журнала «Intel Technology Journal» от Q1, 2002 года (копия)
- Hyperthreading technology in the «Netburst» microarchitecture// IEEE micro, volume 23, issue 2, март 2003, стр. 56-65doi:10.1109/MM.2003.1196115
- Нужен ли Hyper-Threading в играх?// TestLabs.kz, 15.03.2013