2017-01-09 2 views
4

Я прочитал An Introduction to the Intel® QuickPath Interconnect. В документе не упоминается, что QPI используется процессорами для доступа к памяти. Поэтому я думаю, что процессоры не получают доступ к памяти через QPI.Является ли Intel QuickPath Interconnect (QPI), используемым процессорами для доступа к памяти?

Правильно ли я понимаю?

ответ

6

Да, QPI используется для доступа ко всем удаленного памяти на системах с несколькими сокетами, и большая часть его конструкции и производительности предназначена для обеспечения такого доступа разумным образом (то есть, с задержкой и пропускной способности не тоже гораздо хуже, чем местный доступ).

В основном, большинство x86 многопроцессорные системы сокетов слегка NUMA: каждый банк DRAM присоединен к контроллеру памяти конкретного сокета: эта память затем локальная память для этого сокета, в то время как оставшаяся память (прикрепленная к некоторому другому гнезду) равна удаленная память. Весь доступ к удаленным памяти проходит по каналам QPI, а на многих системах , что является полностью половиной всего доступа к памяти и многое другое.

Таким образом, QPI спроектирован так, чтобы обеспечить низкую задержку и высокую пропускную способность, чтобы обеспечить такой доступ. Кроме того, в стороне от чистой памяти доступа, QPI является связующим звеном, через которое происходит когерентность кэша между гнездами, например, сообщив об этом другом разъеме инвалидации, линии, которые перешли в общем состояние и т.д.


То есть коэффициент NUMA довольно низкий, обычно менее 2 для задержки и пропускной способности.

Например, с чередованием NUMA и 4 разъемами, 75% вашего доступа является дистанционным.

3

Intel QuickPath Interconnect (QPI) не подключен к DRAM DIMM и, как таковой, не используется для доступа к памяти, подключенной к контроллеру встроенной памяти процессора (iMC).
В статье вы связаны эта картина присутствует

Intel Socket connection, with QPI connections separated from memory lines

Это показывает, что соединения процессора, с сигналами QPI изображенных отдельно от интерфейса памяти.

Текст как раз перед картиной подтверждают, что QPI не используется для доступа к памяти

Процессор также обычно имеет один или более интегрированной памяти контроллеров. Основанный на уровне масштабируемости , поддерживаемом в процессоре, он может включать интегрированный кросс-маршрутизатор и более одного Разъем Intel® QuickPath Interconnect.

Кроме того, если вы посмотрите на типичное техническое описание, вы увидите, что CPU pins for accessing the DIMMs не те, что используются QPI.


QPI, однако, используется для доступа к корпусу процессора, который содержит контроллер памяти.

QPI to access the DRAM controller, from Wikipedia Предоставлено QPI статьи в Википедии

QPI быстрая шина внутреннего общего назначения, в дополнение к предоставлению доступа к Uncore процессора дает доступ к Uncore других процессоров. Благодаря этой ссылке каждый доступный ресурс, доступный в uncore, может быть доступен с QPI, включая iMC удаленного CPU.

QPI определяет протокол с несколькими классами сообщений, два из них используются для чтения памяти с использованием другого CPU iMC.
Поток использует стек, аналогичный обычному сетевому стеклу.

Таким образом, путь к удаленной памяти включает сегмент QPI, но путь к локальной памяти этого не делает.

Обновления

Для Xeon E7 v3-18C CPU (предназначено для систем с несколькими гнездовыми), домашний агент не имеет доступа к модулям DIMM напрямую вместо этого он использует Intel SMI2 ссылку, чтобы получить доступ к Intel C102/C104 Scalable Memory Buffer, что в своей очереди доступ к DIMMS.

Ссылка SMI2 работает быстрее, чем DDR3, а контроллер памяти реализует надежность или чередование с помощью DIMMS.

Xeon E7 v3 18C with SMI2 links


Изначально процессор использовал FSB для доступа к North bridge, этот имел контроллер памяти и был связан с South bridge (ICH - IO Controller Hub в терминологии Intel) через DMI.

Позже FSB был заменен на QPI.

Затем контроллер памяти был перемещен в CPU (используя собственную шину для доступа к памяти и QPI для связи с ЦП).

Позже Северный мост (IOH - IO Hub в терминологии Intel) был интегрирован в процессор и был использован для доступа к PCH (что теперь заменяет южный мост) и PCIe использовали для быстрого доступа к устройствам (например, внешний контроллер графического) ,

В последнее время PCH также интегрирован в процессор, который теперь предоставляет только разъемы PCIe, DIMM, SATAexpress и любую другую общую внутреннюю шину.


Как правило, автобусы, используемые процессорами являются:

  • на другие процессоры - QPI
  • К IOH - QPI (если IOH настоящее время)
  • К торренту - QPI
  • К DIMM - Штырьки как технологии DRAM (DDR3, DDR4, ...) поддерживают мандаты. Для Xeon v2 + Intel использует быструю ссылку SMI (2) для подключения к внешнему контроллеру памяти (Intel C102/104), который обрабатывает DIMMS и каналы на основе двух конфигураций.
  • Для PCH - DMI
  • Для устройств - PCIe, SATAexpress, I2C, и так далее.
+1

Это относится к корпусу с одним гнездом, но для многопроцессорного процессора DRAM обычно разделяется между сокетами, причем любой доступ к нелокальной памяти происходит через QPI к домашнему разъему для драм и ответа обратно через API. Таким образом, в этом случае QPI определенно находится на пути к ОЗУ (хотя это определенно не весь путь - последняя миля, так сказать, просто шина памяти, такая как локальный случай). – BeeOnRope

+1

@BeeOnRope Итак, для, скажем, системы с двойным гнездом (A, B), гнездо A имеет QPI в разъем B и «концентратор DRAM» или только в гнездо B uncore (которое, в свою очередь, обеспечивает доступ к локальной DRAM B)? Проще говоря, имеется локальная память для A и B и нелокальная память или только локальная память A и B? –

+1

@BeeOnRope Все документы NUMA, которые я прочитал (не очень признателен), определяют * удаленную память * как тот, который подключен к другому процессору. [Эта дипломная работа] (https://os.inf.tu-dresden.de/papers_ps/danielmueller-diplom.pdf), связанная с Intel, предполагает, что процессоры Intel получают доступ к удаленной памяти через другие процессоры, а не напрямую. Это то, что указано в моем ответе, QPI подключается (в настоящее время) к другим процессорам (и это возможно только в случае с несколькими гнездами). Я думаю, что так работает Intel NUMA, что вы думаете? –

Смежные вопросы