Каналы upi в процессоре что это
Количество каналов памяти у процессора и что это такое?
Здравствуйте, дорогие читатели! Сегодня обсудим количество каналов памяти процессора — что это означает, какое максимальное может быть в компьютере, что значит это в практическом плане для пользователя. О том, что такое разрядность процессора, можно почитать тут.
Что означает двухканальный режим работы ОЗУ
Современная архитектура компьютера позволяет при выполнении некоторых условий запускать RAM в двухканальном режиме. Планки должны быть одинакового объема и совпадать по таймингам. В этом случае их можно вставить в сопряженные слоты для повышения производительности.
Замечено, что при активации двухканального режима ОЗУ будет работать немного шустрее. Например, 2 планки по 8 Гб справятся лучше, чем одна на 16 Гб. Если же вставить модули 2 и 4 Гб, совсем не факт, что такой режим активируется.
Каналов необязательно должно быть 2 — их может быть и 3, и 4. Также необязательно парное использование модулей — на одном канале можно ставить и 4. Однако найти материнскую плату с таким количеством сопряженных слотов уже сложнее — разве что какое-нибудь серверное решение.
Что такое каналы центрального процессора
Однако и это еще не все. Что дают сопряженные модули памяти в плане производительности, определяется, в том числе параметрами CPU. Если он поддерживает только 2 канала памяти, «колдовать» над трех или четырехканальной сборкой нет смысла: она не будет работать все равно.
И плюс ко всему прочему такой режим должна поддерживать и системная плата. В бюджетных моделях подобной опции иногда не предусмотрено, несмотря на количество слотов под модули ОЗУ. Так что, собирая многоканальный комп, учитывайте все эти характеристики.
Также вам полезно будет узнать, как изготавливают процессоры, и что такое процессор в упаковке Tray. Подписывайтесь на меня в социальных сетях, чтобы не пропустить уведомление о публикации новых материалов. До скорой встречи!
Что такое FSB, Intel® QPI и Intel® UPI?
Окружающая среда
Используемое аппаратное/программное обеспечение: процессоры Intel® Core™ i7 7-го поколения (процессоры Intel® в целом)
Информация о частотах системной платы, Intel® QPI и Intel® UPI
Что такое FSB, QPI и UPI?
FSB — это системная шина спереди. Это старый переход подсистемы.
Intel® QPI означает Quick Path Interconnect. Это система, которая используется сейчас, когда она сообщает о значении «0». Это означает, что процессор имеет другую технологию передачи шины, например, Intel® Ultra Path Interconnect (Intel® UPI).
Вам нужна дополнительная помощь?
Оставьте отзыв
Отказ от ответственности
Все публикации и контент на этом веб-сайте регулируются Условиями использования Intel.com.
Содержание данной страницы представляет собой сочетание выполненного человеком и компьютерного перевода оригинального содержания на английском языке. Данная информация предоставляется для вашего удобства и в ознакомительных целях и не должна расцениваться как исключительная, либо безошибочная. При обнаружении каких-либо противоречий между версией данной страницы на английском языке и переводом, версия на английском языке будет иметь приоритет и контроль. Посмотреть английскую версию этой страницы.
Для работы технологий Intel может потребоваться специальное оборудование, ПО или активация услуг. // Ни один продукт или компонент не может обеспечить абсолютную защиту. // Ваши расходы и результаты могут отличаться. // Производительность зависит от вида использования, конфигурации и других факторов. // См. наши юридические уведомления и отказ от ответственности. // Корпорация Intel выступает за соблюдение прав человека и избегает причастности к их нарушению. См. Глобальные принципы защиты прав человека в корпорации Intel. Продукция и программное обеспечение Intel предназначены только для использования в приложениях, которые не приводят или не способствуют нарушению всемирно признанных прав человека.
Один vs Два канала ОЗУ в современных процессорах
В этой статье посмотрим на то как одноканал уменьшает скорость работы современных процессоров. Стоит напомнить, что во времена выхода DDR4 платформы с двумя каналами были у 4-х ядерных процессоров, тогда как сейчас есть 16 ядер у AMD и 10 ядер у Intel. И, естественно, шина к памяти теперь делиться на все эти ядра, тогда как и во времена 4-х ядер двухканал не был абсолютно достаточным.
Само собой производители в курсе проблемы. Так и Intel и AMD улучшают работу кеш памяти. Собственно следующее обновление AMD будет как бы минорным, то есть особо не инновационным, но благодаря трёхмерному кешу большого объёма от не самых архитектурно значимых изменений появится большой прирост в производительности. Intel же, кроме оптимизации работы с кешами, форсирует выход памяти DDR5, которая тоже немного уменьшит проблемы недостаточности двухканала для современных процессоров.
Уже есть первые тесты с DDR5 правда на диких таймингах и задержках, но в части пропускной способности — там всё сильно лучше. а для огромного числа ядер — пропускная способность это тоже очень важно, то есть надо смотреть не только на задержки.
Собственно в этой статье мы как раз и посмотрим на изменение пропускной способности, так как по задержкам разницы не будет.
Что такое каналы памяти?
Если кто не в курсе — коротко поясняю по тому что за каналы такие.
В современных процессорах контроллер оперативной памяти встроен в сам процессор и для обычных не серверных решений он имеет два канала.
То есть своего рода два независимых контроллера, каждый из которых работает со своими планками памяти. Естественно они на самом деле не независимые, так как общая адресация памяти и всё такое. Но в части работы с памятью — можно считать их раздельными.
И эта связь физическая, то есть контакты планок памяти физически приходят в разные контроллеры. Часть планок в один контроллер, часть во второй.
Ну и работают эти контроллеры параллельно, а значит и пропускная способность их работы — складывается.
Если же к одному из контроллеров память не подключена, то этот контроллер ничего и не делает.
Собственно и планки памяти зачастую продаются как раз таки комплектами по две штуки, а иногда и по 4, так как есть платформы с 4-х канальными контроллерами памяти в процессорах.
Почему изменение каналов влияет на производительность?
Дефицит данных из оперативной памяти приводит к очень нехорошим последствиям. И тут есть две нехороших вещи. Первая — это если процессор из-за голода информации не знает что ему делать. В этом случае — весь процессорный конвейер начинает пустовать, и от этого хуже удаётся заполнять исполнительные устройства. То есть падает производительность на такт, процессору нечего делать, он находится в ожиданиях задач.
Второе проявление этой проблемы — это отсутствие данных для работы. То есть что делать процессор знает, а вот значения того, с чем нужно производить операции процессору доступны только через оперативную память. В таком случае процессор периодически может допускать в исполнение то, для чего нет данных, потом это приходится повторять, есть и системы в процессоре, которые задерживают операции в очередях на выполнения. Но и очереди эти не резиновые. Так что если нет большого количества данных, то очереди просто забиваются невыполнимым для текущего момента мусором. В следствии чего падает производительность на такт. И по мониторингу точно так же это время вынужденных простоев в ожидании данных выглядит как занятое время. Естественно есть куча сложных оптимизаций как не допускать это замусоривание, но они не могут быть на 100% результативны и в их возможностях только снижение влияния на падение производительности. Но если недостаток информации катастрофический, то тут ничего уже не поможет. Процессор будет большую часть времени заниматься ничем, а при этом будут показываться какие-то проценты загрузки.
Как понять, что процессор ограничен ПСП памяти?
В общем и целом — никак, по мониторнгу это определить нельзя, но есть косвенные признаки.
Особенно это хорошо заметно в видеокартах некоторых моделей до тех поколений, где частоты динамически задаются от ограничения TDP. Там от разгона памяти увеличение энергопотребления самой памяти может составлять 2-3 Ватта, а при этом сама видеокарта начинает потреблять на 20-30 Ватт больше несмотря на то, что и до разгона памяти и после него показывалась загрузка в 100%. Просто раньше было 100%, но с простоями от ожидания информации, а после разгона памяти 100% стали с меньшими простоями. Сейчас с ограничением TPD и динамической частотой на картах от разгона памяти ситуация другая. Эффективная работа приводит к увеличению потребления из-за чего на 10-50 МГц режутся частоты ядер. Но при этом на меньших частотах видеокарта при разогнанной памяти всё равно быстрее, чем с более высокими, но с простоями от недостатка информации.
С процессорами это проявляется не так сильно и видно чаще у тех, кто вначале до предела разгоняет ядра, а после этого начинает до предела гнать память. И в этом случае чуть больший нагрев процессора от более эффективно работающей подсистемы памяти делает процессор менее стабильным в разгоне.
Ну и теперь приступим к практике.
Тестовая система
Процессор: intel i9 9900k в стоке,
Видеокарта: RTX 2070 в стоке.
Память во всех конфигурациях согласно базовому для DDR4 JEDEC стандарту на 2133 МГц. В одной группе тестов — две планки по 8 ГБ, в другой группе тестов — одна планка на 16 ГБ.
Бенчмарки.
Что касается самой памяти — для начала посмотрим на ПСП (пропускная способность памяти) и задержки.
Данные AIDA 64
По задержкам по цифрам есть небольшая разница, и она обусловлена тем, что на один контроллер всё таки больше нагрузки, но разница по задержкам мизерная и сильно повлиять на результаты она не может. А вот пропускная способность меняется очень сильно.
По чтению и записи падение практически двукратное.
Ну и теперь посмотрим как это отражается на производительности компьютера.
Тесты в архиваторах
Логично, что им нужны большие объёмы для работы, а значит широкая шина к памяти — это очень важно.
Добавление второго канала даёт прирост почти на 70%.
Возьмём другой архиватор. 7-Zip.
Тут прирост уже всего около 20%.
Бенчмарки
А есть задачи где прироста нет в принципе, то есть задача оптимизирована так, что максимально эффективно использует кеш процессора.
Например Cinebench R15.
Что с двумя, что с одним каналом — разницы в результатах — нет.
В общем — где-то есть огромная разница, а где-то её нет вообще.
Тесты в играх
Теория по играм
Ну и главный вопрос — к чему относятся игры. К той задаче, где есть разница или где её нет.
Понятное дело, что тут важна практика, но давайте всё таки цепанём немного теории.
В целом — процесс обработки игры для процессора можно разделить на два этапа:
Первый — просчёт игрового движка, то есть каждый кадр есть какая-то физика игровая, и периодически нужно отрабатывать какие-то алгоритмы сценария мира.
За имитацию обсчётов у нас будет CPU тест в 3D Mark.
В тесте анимация происходит не за счёт отрисовки элементов, а за счёт просчёта положения частиц.
В этом тесте разницы между системами — нет. Это, конечно, не значит, что это характерно для всех игр. Но в целом — для игровой физики не надо большого количества данных, вероятно тут кеша процессора было достаточно для того чтобы хватало и половины ширины шины.
Но это только первая часть работы процессора.
Вторая часть — это работа процессора на этапе отрисовки, то есть обработка вызовов на отрисовку для совместной работы с видеокартой.
Тут нам поможет тест 3D Mark API бенчмарк.
Он делает тесты в DX11, DX11 мультипоточном, DX 12 и Вулкане.
Начнём с однопоточного DX11.
Тут видно небольшое преимущество у двухканала. Вообще у теста большая погрешность — процентов 10. И в целом — можно сказать, что результаты в эту погрешность укладываются.
Дальше у нас DX11 мультипоток.
Тут уже точно это не погрешность. От двухканала прирост больше 35%.
Ну оно и логично. Одному ядру хватало ширины и половины от возможной, а вот 8-ми ядрам уже этого не хватает.
Однако — у этих вызовов на старых API есть свои задержки, собственно которые и устранятся в новых API. И из-за врождённых задержек — задержки от памяти становятся не столь критичными.
В новых API ситуация уже кардинально отличается.
На 12 DX прирост от второго канала — 80%
На вулкане прирост около 75%.
В общем — разница почти двукратная.
Что касается практики — стоит понимать, что и алгоритмы с обсчётами могут быть менее оптимизированы, но и в играх вызовов на отрисовку не так много, как в бенчмарке.
Но главное отличие, конечно, ещё и в том, что данные в видеопамять поступают через северный мост процессора. То есть в моменты, когда идёт подгрузка текстур ширина канала ещё сильнее начинает ограничивать производительность процессора.
Этот процесс в бенчмарках сложно было бы подловить. Но думаю все знакомы с какими-то подлагами игры на подгрузках и с одноканалом эти подлагивания будут сильнее.
И, конечно, результаты будут зависеть и от видеокарты. У меня в тесте 8-ми гиговая RTX 2070, и она реже производит какие-то подгрузки данных. Была бы в тесте 2-х гиговая, она бы постоянно лила свой трафик данных через северный мост процессора к памяти, и ухудшала бы работу процессора при голоде памяти.
Практические тесты в играх
Игр в тест я взял не много, но выбрал на разных движках и API. Есть на 11DX, есть на 12 и есть на вулкане. Всего игр 4. Во всех играх стоят максимальные настройки, но со сниженным разрешением рендеринга.
С 8-ми гиговой картой, когда данные для видеокарты не кешируются в оперативной памяти разница от одного или двухканала будет только при ограничении производительности процессора. Но, собственно, те тесты что будут показывать AMD презентуя большой кеш и Intel показывая прирост на такт в играх — будут показываться также с ограничением в процессор.
В тестах важно рассматривать как изменяются показатели в динамики в зависимости от текущей сцены, так что этот раздел статьи стоит смотреть в видео версии:
Выводы
И естественно, что чем больше ядер и чем они быстрее — тем выше требования к ширине шины к оперативной памяти. Но многое зависит и от задачи, в которой производится сравнение. Внутри одной и той же игры разница тоже очень сильно зависит от происходящего конкретно в текущий момент, поэтому назвать какую-то конкретную цифру влияния — не получится. Так же надо понимать, что в этом тесте и двухканал не был каким-то заоблачным, так как была стоковая память, и хороший разгон памяти ещё даст прирост до 15-20% в некоторых задачах. Собственно и большой кеш и переход на DDR5 как раз и смогут отбить эти самые проценты, и вдобавок сделать не бессмысленным дальнейший рост производительности ядер и увеличение их числа. Ну и так же — если вы заходили в статью с целью понять — стоит ли экономить на двухканале — очевидно, что не стоит. Прирост на десятки процентов, а разница по цене всей сборки компьютера от двух планок вместо одной единицы процентов.
Видео на YouTube канале «Этот компьютер»
7 узких мест серверной NVMe-платформы
Значимые показатели производительности требуют глубокого понимания различных потенциальных узких мест, которые могут возникнуть в современных серверах и инфраструктурах центров обработки данных, в которых они находятся.
Обзор стандартной платформы под NVMe-накопители
Системы хранения данных во многом используют стандартные серверные платформы x86, и RAIDIX — не исключение. Поэтому с точки зрения производительности мы рассмотрим обычный сервер, который поддерживает NVMe-накопители. Как правило, используются двухсокетные платформы на процессорах Intel или односокетные на процессорах AMD. Блок-схема платформы на базе сервера Intel Xeon показана на рисунке ниже, а места потенциальных узких мест производительности обведены кружками и пронумерованы.
Разберем возможные узкие места платформы на базе PCIe 3.0, так как эти платформы менее сбалансированы с точки зрения пропускной способности компонентов и NVMe-накопителей. Общие же принципы останутся неизменными и для платформ с PCIe 4.0, хотя они и изначально более оптимизированы для использования NVMe-накопителей и высокоскоростных сетевых интерфейсов.
Типичный сервер на базе процессоров Intel Scalable Gen 2 представляет собой двухсокетную систему с межпроцессорными соединениями. Каждый сокет обычно обеспечивает 48 линий PCIe 3.0, а все ядра совместно используют когерентный кэш L3. Такая архитектура называется NUMA («неравномерного доступа к памяти»). В процессорах Intel два сокета соединены каналами Ultra Path Interconnect (UPI), которые передают любой трафик, адресованный PCIe, DRAM или кэш-памяти, связанной с другим сокетом. Интерконнект AMD называется AMD Infinity Fabric, но, так как у процессоров AMD значительно больше PCIe-линий (128), то чаще используются однопроцессорные платформы.
Рисунок 1.
Правда, чаще всего на накопители и слоты для плат расширения отводится примерно 40 линий PCIe 3.0 c одного сокета, так как часть линий используется для интегрированных на материнскую плату устройств, таких как сетевые адаптеры, BMC/IPMI и т.п. На схеме выше из 80 доступных линий PCIe 3.0 две сетевые карты используют 32 линии, оставляя 48 для обслуживания 24 NVMe-накопителей. Поскольку enterprise NVMe-накопители обычно имеют по четыре линии PCIe, для подключения 96 линий NVMe (24×4) к процессорам требуются коммутаторы PCIe. Как показано на рисунке выше, каждый CPU подключается к одной из двух сетевых карт и половине NVMe-накопителей. Команды, поступающие на одну сетевую карту, но направленные на накопители, связанные с другим сокетом, должны будут пройти по каналу UPI.
Основные узкие места NVMe-платформ
Пропускная способность для каждого из пронумерованных элементов блок-схемы двухпроцессорной платформы с NVMe-накопителями приведена в таблице ниже, и каждый из них рассматривается подробно.
Теоретический максимум пропускной способности (кол-во каналов – пропускная способность)
1 – 12.5GB/s
2 – 25GB/s
1 – 11.4GB/s
2 – 11.4GB/s
Подключения сетевой карты к PCIe 3.0 x16
Зависит от используемого ПО
Зависит от используемого ПО
PCI switch PCIe 3.0 x16
SSD Interface PCIe 3.0 x4
Узкое место №1: сеть
Сетевые карты, используемые в серверах с NVMe-накопителями, чаще всего представляют собой одно- или двухпортовые 100GbE. Могут быть и другие, но Ethernet и Infiniband сейчас имеют самые высокие скорости, но так как Ethernet распространен больше, то будем рассматривать именно его. 100 GbE имеет чистую полезную нагрузку около 11,4 ГБ/с на порт, поэтому двухпортовая сетевая карта номинально способна работать со скоростью 22,8 ГБ/с.
Сетевые протоколы 3-4 уровня (например RoCE v2 или TCP/IP) накладывают ограничения на производительность сверх того, что представляет собой уровень канала передачи данных (Ethernet), и они могут быть весьма существенными. В таблице 1 учтены накладные расходы протокола, которые утилизируют пропускную способность канала. Но важно отметить, что она не включает дополнительные затраты на пропускную способность, связанные со временем, необходимым сетевому стеку для обработки каждого пакета. Это время может быть значительным и зависит от конкретного выбора сетевой карты и коммутационного оборудования, а также от выбранного протокола.
RoCE v2 — это RDMA-протокол, использующий zero-copy архитектуру, то есть при передаче данных с помощью RoCE v2 исключаются лишние копирования между приложением и буферами операционной системы. RoCE v2 обычно обеспечивает пропускную способность, близкую к значениям, указанным в таблице.
Реализации TCP/IP сильно различаются — компромисс между разгрузкой и нагрузкой, а также выбор того, где должен быть реализован драйвер — в ядре или в пространстве пользователя (kernel-bypass технологии, такие как DPDK и др.) — все это влияет на производительность, что затрудняет обобщения. В настоящее время TCP/IP заметно менее производителен, так как требует больше ресурсов процессора, чем RoCE v2, хотя со временем разрыв будет сокращаться по мере того, как производители сетей будут добавлять аппаратную разгрузку (off-load) для TCP/IP.
Последний потенциально значимый фактор, который не включен в данный анализ — влияние перегруженности сети и стоимость восстановления пропускной способности после ошибок сети (например потери пакетов).
Узкое место №2: подключение сетевой карты
Многие сетевые карты 100 GbE имеют разъем PCIe 3.0 x16. Для однопортовых сетевых карт на PCIe 3.0 пропускная способность сети и слот подключения достаточно хорошо сбалансированы — 11,4 и 14,5 ГБ/с соответственно. Однако для двухпортовых карт подключение к шине PCIe 3.0 x16 становится ограничением пропускной способности, поскольку упирается в шину и способно работать в полудуплексном режиме только со скоростью 14,5 ГБ/с.
Узкое место №3: процессор
Лучшим преимуществом NVMe является то, что он обеспечивает высочайшую производительность за счет устранения узкого места SAS HBA путем прямого подключения к центральному процессору. Но на производительность NVMe влияет количество ядер и частота процессора. Так, по результатам тестов NVMe-накопителей, наилучшая производительность достигается при соотношении двух вычислительных ядер на один NVMe-накопитель при частоте центрального процессора не менее 2.5ГГц.
Узкое место №4: межпроцессорные соединения
Современные серверные процессоры обычно проектируются с архитектурой памяти Non-Uniform Memory Architecture (NUMA). Это означает, что задержка доступа к определенным ячейкам памяти и каналам ввода-вывода неодинакова для всех ядер, поскольку часть трафика должна проходить через межпроцессорные соединения, будь то Intel Ultra Path Interconnect или AMD Infinity Fabric.
Как показано в таблице 1, каналы NUMA спроектированы с очень высокой пропускной способностью по отношению к возможностям ввода-вывода, как со стороны сетевых интерфейсов, так и со стороны NVMe-накопителей. Но, тем не менее, рекомендуется давать нагрузку на дисковую подсистему с того же процессора, к которому подключена сетевая карта.
Узкое место №5: PCIe-коммутатор
Двухсокетные серверные процессоры на базе Intel обычно не имеют достаточного количества линий PCIe 3.0 в процессорах, чтобы обслуживать полный набор из 24 или более NVMe-дисков. Платформы на базе этих процессоров часто включают два внутренних PCIe-коммутатора, которые работают как расширители PCIe.
На примере показана платформа, на которой 12 дисков NVMe x4 подключаются через PCIe-коммутатор к 16 линиям PCIe. Такое подключение делает платформу сбалансированной с точки зрения прохождения IO от клиентов до NVMe-накопителей, так как и сетевые карты, и 12 NVMe-накопителей подключены к PCIe 3.0 x16. Часто эти два места определяют общий предел пропускной способности платформы.
Узкое место №6: подключение NVMe-накопителя
Большинство твердотельных enterprise-накопителей PCIe Gen3 NVMe имеют четыре линии для подключения к хосту. Такой интерфейс обеспечивает теоретическую пропускную способность около 3,6 ГБ/с в каждом направлении, чего более чем достаточно для работы и не будет являться узким местом.
Узкое место №7: NVMe-накопитель
В отличие от других компонентов платформы, рассмотренных в статье, NVMe-накопитель имеет принципиально разные характеристики производительности при чтении и записи. Плашка флэш-памяти разделена на две или четыре части, каждая из которых может одновременно обрабатывать одну операцию чтения, записи или удаления. Производительность твердотельного накопителя зависит от его конструкции, свободного пространства и емкости.
Как правило, сам NVMe-накопитель не будет узким местом в производительности, но несколько устройств будут вынуждены делить пропускную способность PCIe коммутатора, что может повлиять на итоговую производительность.
Заключение
Мы рассмотрели семь узких мест, которые определяют итоговую производительность серверной платформы на NVMe-накопителях. В каждом из пунктов мы разобрали проблемы, которые помогут понять, на что обращать внимание в серверах для того, чтобы получить максимум эффективности от NVMe-накопителей.