Непростые компромиссы 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)