Intel QuickPath Interconnect
Intel QuickPath Interconnect (QPI) — это высокоскоростная последовательная точка-точка (point-to-point) шина, разработанная корпорацией Intel для соединения процессоров и процессоров с чипсетом (контроллером-концентратором) в многопроцессорных системах. QPI пришла на смену более ранней архитектуре Front Side Bus (FSB) и используется в процессорах на микроархитектурах Nehalem, Westmere, Sandy Bridge, Ivy Bridge и Haswell, а также в серверных платформах, таких как Intel Xeon.
История
До внедрения QPI основным способом взаимодействия процессора с чипсетом и другими компонентами в системах Intel была шина Front Side Bus (FSB). FSB являлась параллельной шиной, разделяемой между несколькими процессорами, что приводило к ограничениям по пропускной способности и масштабируемости. С ростом числа ядер и потребностей в пропускной способности памяти, а также с появлением интегрированного контроллера памяти, архитектура FSB стала узким местом.
Разработка QPI началась в середине 2000-х годов как ответ на аналогичную технологию HyperTransport от AMD, которая уже использовала последовательные соединения и интегрированный контроллер памяти. Первая реализация QPI была представлена в ноябре 2008 года с выходом процессоров Intel Core i7 (серия 9xx) на микроархитектуре Nehalem. В серверном сегменте QPI дебютировала с процессорами Intel Xeon серии 5500 (Nehalem-EP).
В последующих поколениях процессоров (Sandy Bridge, Ivy Bridge, Haswell) QPI оставалась основным интерфейсом для соединения процессоров в многопроцессорных конфигурациях, а также для связи с чипсетом (например, с Intel X58, X79, X99). Начиная с микроархитектуры Skylake (2015 год), в настольных и серверных платформах Intel QPI была заменена на более новую шину Intel Ultra Path Interconnect (UPI), которая является её эволюционным развитием.
Архитектура и принцип работы
QPI представляет собой последовательную шину, работающую по принципу точка-точка. Это означает, что каждое соединение (линк) связывает напрямую два устройства, без разделения канала между несколькими участниками. Каждый линк состоит из двух однонаправленных каналов (один для передачи, другой для приёма), что позволяет одновременно передавать данные в обе стороны (полнодуплексный режим).
Физический уровень
Физически QPI использует дифференциальные сигнальные пары. Каждый канал (направление) содержит 20 дифференциальных пар (20 сигнальных линий), что соответствует ширине канала в 20 бит. Однако из этих 20 бит 2 являются служебными (для контроля целостности и синхронизации), а полезная нагрузка составляет 16 бит (2 байта) за такт.
Тактовая частота QPI варьируется в зависимости от поколения и модели процессора. Типичные значения лежат в диапазоне от 2,4 ГГц до 6,4 ГГц (в режиме передачи данных). Поскольку данные передаются по обоим фронтам тактового сигнала (Double Data Rate, DDR), эффективная скорость передачи данных вдвое выше тактовой частоты.
Скорость передачи данных
Пропускная способность одного линка QPI определяется по формуле: (тактовая частота × 2 × 16 бит) / 8. В результате получается количество байт в секунду. Например, для QPI с тактовой частотой 3,2 ГГц эффективная скорость составляет 6,4 ГТ/с (гигатранзакций в секунду), а пропускная способность — 12,8 ГБ/с в одном направлении (25,6 ГБ/с полнодуплексная). В серверных системах часто используются более высокие частоты, например, 6,4 ГТ/с (пропускная способность 25,6 ГБ/с на направление).
Протокольный уровень
QPI использует пакетную передачу данных. Пакеты состоят из заголовка (header) и полезной нагрузки (payload). Протокол поддерживает несколько типов транзакций, включая чтение, запись, снупинг (snooping) кэшей и управляющие сообщения. QPI реализует протокол когерентности кэш-памяти (cache coherence) на аппаратном уровне, что критически важно для многопроцессорных систем, где несколько процессоров могут иметь копии одних и тех же данных в своих кэшах.
Топология
В многопроцессорных системах QPI позволяет строить различные топологии соединений. Наиболее распространённые:
- Линейная (daisy-chain): процессоры соединяются последовательно, каждый с соседним.
- Звезда (star): один процессор (или чипсет) выступает центральным узлом.
- Кольцо (ring): процессоры образуют замкнутое кольцо, что обеспечивает избыточность путей передачи данных.
- Полносвязная (full mesh): каждый процессор соединён с каждым, что даёт максимальную производительность, но требует большого количества линков.
Выбор топологии зависит от количества процессоров и требований к производительности и отказоустойчивости.
Версии и поколения
Intel выпускала несколько поколений QPI, отличающихся тактовой частотой и пропускной способностью.
| Поколение | Тактовая частота (ГТ/с) | Пропускная способность (ГБ/с, на направление) | Применение |
|---|---|---|---|
| QPI 1.0 | 4,8 — 6,4 | 9,6 — 12,8 | Nehalem, Westmere (Xeon) |
| QPI 1.1 | 6,4 — 8,0 | 12,8 — 16,0 | Sandy Bridge-EP, Ivy Bridge-EP |
| QPI 1.2 | 8,0 — 9,6 | 16,0 — 19,2 | Haswell-EP (Xeon E5 v3) |
В настольных системах (например, на чипсетах X58) частота QPI была фиксированной (обычно 6,4 ГТ/с), в то время как в серверных платформах она могла варьироваться в зависимости от модели процессора.
Применение
Многопроцессорные серверы
Основная область применения QPI — серверные системы с двумя и более процессорами (2S, 4S, 8S). В таких конфигурациях QPI обеспечивает:
- Когерентность кэшей: процессоры могут обмениваться данными о состоянии кэшей, что позволяет избежать устаревших данных.
- Доступ к удалённой памяти: процессор может обращаться к памяти, подключённой к другому процессору, через QPI. Это называется NUMA (Non-Uniform Memory Access) — неоднородный доступ к памяти. Время доступа к «своей» памяти (локальной) меньше, чем к «чужой» (удалённой), что учитывается операционной системой и приложениями.
- Масштабирование производительности: добавление процессоров увеличивает вычислительную мощность, но требует эффективного межпроцессорного обмена.
Связь с чипсетом
В некоторых платформах (например, настольных с чипсетом Intel X58) QPI использовалась для соединения процессора с чипсетом (контроллером-концентратором ввода-вывода, IOH). В этом случае QPI обеспечивала высокоскоростной канал для передачи данных между процессором и периферийными устройствами (видеокартами, дисками, сетевыми картами), подключёнными через чипсет. Однако в более поздних платформах (Sandy Bridge и новее) для связи с чипсетом стала использоваться шина Direct Media Interface (DMI), а QPI осталась только для межпроцессорных соединений.
Высокопроизводительные вычисления (HPC)
В кластерных системах и суперкомпьютерах, построенных на процессорах Intel Xeon, QPI играла ключевую роль в обеспечении низкой задержки и высокой пропускной способности при обмене данными между узлами. Это было особенно важно для приложений, требующих интенсивного межпроцессорного взаимодействия (например, научные расчёты, моделирование).
Сравнение с аналогами
HyperTransport (AMD)
Основным конкурентом QPI является шина HyperTransport, разработанная компанией AMD. Обе технологии решают схожие задачи — обеспечение высокоскоростного соединения между процессорами и с чипсетом. Основные различия:
- Происхождение: QPI — разработка Intel, HyperTransport — AMD (изначально разработана компанией HyperTransport Consortium, в которую входила AMD).
- Архитектура: HyperTransport также является последовательной шиной точка-точка, но использует другую ширину канала (от 2 до 32 бит) и другой протокол.
- Скорость: Обе технологии обеспечивают сопоставимые скорости передачи данных (до 6,4 ГТ/с и выше), но HyperTransport исторически предлагала более гибкие конфигурации.
- Распространение: HyperTransport использовалась не только в процессорах AMD, но и в некоторых чипсетах Intel (до внедрения QPI), а также в сетевых и графических устройствах. QPI была проприетарной технологией Intel.
Intel Ultra Path Interconnect (UPI)
UPI является прямым преемником QPI, представленным в 2015 году с процессорами Intel Xeon Scalable (Skylake-SP). Основные улучшения:
- Более высокая скорость: UPI поддерживает скорости до 10,4 ГТ/с и выше.
- Улучшенная энергоэффективность: снижено энергопотребление на один линк.
- Совместимость: UPI обратно совместима с QPI на уровне протокола, что позволяет подключать процессоры разных поколений в одной системе (при определённых условиях).
Критика и ограничения
Несмотря на высокую производительность, QPI имела ряд недостатков:
- Сложность реализации: Протокол когерентности кэшей и управление топологией требуют сложных аппаратных и программных решений.
- Энергопотребление: Высокая тактовая частота и большое количество линков (особенно в полносвязных топологиях) приводили к значительному энергопотреблению и тепловыделению.
- Зависимость от топологии: Производительность системы сильно зависела от топологии соединений. В линейных топологиях задержки при доступе к удалённой памяти могли быть значительными.
- Проприетарность: QPI была закрытой технологией Intel, что ограничивало её использование в сторонних решениях и затрудняло конкуренцию.
Источники
- Intel Corporation. «Intel QuickPath Interconnect Architecture». White Paper, 2008.
- Intel Corporation. «Intel Xeon Processor E5-2600 v3 Product Family: Datasheet, Vol. 1». 2014.
- Hennessy, J. L., & Patterson, D. A. «Computer Architecture: A Quantitative Approach». 5th Edition, Morgan Kaufmann, 2011.
- «Intel QuickPath Interconnect (QPI)». Intel Developer Zone, 2010.
- «HyperTransport vs. QuickPath: A Comparison of High-Speed Interconnects». Real World Technologies, 2008.
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →