Непростые компромиссы Intel VROC

Непростые компромиссы Intel VROC

Экстремальную под­сис­те­му хра­не­ния дан­ных на ос­но­ве двух плат рас­ши­ре­ния ASUS Hyper M.2 x16, об­слу­жи­ва­ю­щую в об­щей слож­нос­ти во­семь NVMe-уст­ройств, мож­но рас­смат­ри­вать как пер­вые ша­ги по ор­га­ни­за­ции VMD RAID-мас­си­вов. По­тен­ци­ал но­вой ар­хи­тек­ту­ры в пер­спек­ти­ве по­зво­ля­ет го­во­рить о сто­рид­жах в де­сят­ки и сот­ни на­ко­пи­те­лей с при­це­лом на вы­со­ко­у­ров­не­вые сер­ве­ры. А по­то­му за­да­ча фи­зи­че­ско­го под­клю­че­ния и оп­ти­маль­но­го ди­зай­на PCIe-то­по­ло­гии при­об­ре­та­ет осо­бую ак­ту­аль­ность. Ра­зум­но пред­по­ло­жить, что в плат­фор­мах для эн­ту­зи­ас­тов и в сер­вер­ном сег­мен­те ре­шать­ся она бу­дет по-раз­но­му.

ASUS Hyper M.2 x16

Реализация концепции Intel VROC with VMD Technology в устройстве ASUS Hyper M.2 x16 подразумевает под­клю­че­ние раз­ме­щен­ных на плате-адаптере четырех NVMe-накопителей к порту PCIe x16. Каждому из накопителей плата Hyper пред­о­став­ля­ет линк PCIe Gen3 x4. В условиях минимума официальной информации, попробуем смо­де­ли­ро­вать два ва­ри­ан­та развития событий, представляющих компромиссы производительности, совместимости и, ко­неч­но, сто­и­мос­ти новейших решений.

Проприетарное решение на основе CPU PCIe bifurcation

Диаграмма ниже (Рис 1) показывает варианты конфигурации до 44 PCIe-линков процессоров Intel Core X-серии. Порт DMI (Direct Media Interface), используемый для связи CPU и системной логики, не входит в это число и по­ка­зан от­дель­но (слева), хотя также реализован в виде линка PCIe x4.

Диаграмма показывает поддерживаемые варианты бифуркации до 44 PCIe-линков для процессоров Intel Core X-Series с разделением PCIe-портов x16 и x12 на несколько портов меньшей ширины
Рис 1. Диаграмма показывает поддерживаемые варианты бифуркации до 44 PCIe-линков для процессоров Intel Core X-Series с разделением PCIe-портов x16 и x12 на несколько портов меньшей ширины (фрагмент документации Intel Core X-Series Processor Families)

Очевидно, гибкость конфигурирования ресурсов CPU, в частности, — способность PCIe-портов к бифуркации (раз­де­ле­нию на порты меньшей ширины), упрощает задачу разработчиков платформ, делая ненужными внешние ком­му­та­ци­он­ные элементы, минимизируется как стоимость платы-адаптера, так и латентность доступа к ад­ре­су­е­мым ре­сур­сам.

Вместе с тем, подобное решение оптимально для компонентов, установленных непосредственно на системную плату, топология и функциональность которых заранее известна и не может быть изменена, либо для разделения линков меж­ду PCIe-слотами, но не в пределах одного слота.

Строго говоря, разработчик платы-адаптера PCIe x16 не вправе ставить работоспособность устройства в за­ви­си­мость от способности x16-порта к бифуркации, ведь такая способность не нормируется стандартом как обя­за­тель­ная. Это оз­на­ча­ет, что устройство оптимально использует возможности некоторой частной конфигурации, но его ра­бо­то­спо­соб­ность зависит от производителя и модели системной платы, процессора и даже используемого слота PCIe.

Стандартное решение на основе PCIe-switch

Согласно спецификации PCI Express, унифицированное решение, обеспечивающее разветвление шины, ос­но­вы­ва­ет­ся на применении PCIe Switch. Такой коммутатор определяется как набор виртуальных мостов PCI-to-PCI. Вир­ту­аль­ность в данном случае означает соблюдение требований программной модели PCI-PCI Bridge, в то время, как право выбора внутренней физической реализации остается за разработчиком электронного прибора.

Определение устройства Switch, применяемого для разветвления топологии PCIe
Рис 2. Определение устройства Switch, применяемого для разветвления топологии PCIe
(фрагмент документа PCI Express Base Specification Revision 4.0)

Установив на плате-адаптере дискретный PCIe-switch, разработчик реализует стандартное устройство PCIe x16, устраняя зависимость от недокументированной способности порта x16 выполнить разделение на четыре порта x4.

VMD в серверном контексте

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

Топология высокоуровневой мультипроцессорной платформы, использующей коммутаторы для подключения mass storage подсистемы
Рис 3. Топология высокоуровневой мультипроцессорной платформы, использующей коммутаторы для подключения mass storage подсистемы (фрагмент документации IDT 89H64H16G3 64-Lane 16-Port PCIe Gen3 System Interconnect Switch)

Перечислим четыре ситуации, требующие установки дополнительных дискретных компонентов, расширяющих функциональность PCIe-подсистемы.

  1. Доступное количество дифференциальных пар PCIe физически недостаточно для подключения требуемого количества NVMe-устройств.
  2. Платформа обладает необходимым количеством дифференциальных пар; бифуркация PCIe-порта обеспечивает подключение заданного количества устройств, но входит в противоречие с требованиями совместимости для платы-адаптера.
  3. Необходимо обеспечить доступность дискового массива для нескольких процессоров (Рис 3). Рассматривая этот пример, акцентируем внимание на том, что процессоры, совместно использующие фрагмент PCIe-топологии могут быть расположены на разных платформах и не связаны шиной межпроцессорной связи (QPI), создающей обходной путь.
  4. Геометрические особенности системы (длина соединительных проводников и количество разъемных соединений) требуют восстановления электрофизических характеристик сигналов с помощью ретаймеров и редрайверов.

Вместо послесловия

Повышать себестоимость устройств, одновременно жертвуя производительностью и унифицируя решения в це­лях совместимости с изделиями конкурентов, — шаг, в современных условиях несколько эксцентричный. А значит, для SOHO экстремальных платформ, приоритет должен принадлежать первому проприетарному варианту, «вы­жи­ма­ющему максимум» из расширенных возможностей CPU PCIe-портов.

В то время как для высокоуровневых серверов и рабочих станций, «игрушечные» решения такого рода не­при­ем­ле­мы. Здесь следует ожидать реализаций второго унифицированного варианта, сочетающего функциональность VMD RAID и внешних коммутаторов.