Как «склеить» Intel-based сервер и преодолеть scale-up потолок в 8 процессоров

в 13:09, , рубрики: Bull, Блог компании Bull, высокая производительность, масштабируемость, Процессоры, Серверная оптимизация, серверы

Если вы занимаетесь выращиванием больших баз данных и вдруг упираетесь в потолок производительности — пришло время расширяться. Со scale-out расширением понятно: серверы добавляете и горя не знаете. Со scale-up все не так весело. Согласно стандартной glueless-архитектуре, мы берем два процессора, потом добавляем к ним еще два… так доходим до восьми и все. Больше Intel не предусмотрел, копите на новый сервер.

Как «склеить» Intel-based сервер и преодолеть scale-up потолок в 8 процессоров - 1

Но есть и альтернатива — glued-архитектура. В ней двухпроцессорные вычислительные блоки соединяются между собой через нод-контроллеры. С их помощью верхний порог на один сервер поднимается до 16 и более процессоров. В этом посте подробней расскажем о glued-архитектуре вообще и о том, как она реализована в наших серверах.

Прежде чем переходить к glued-архитектуре, честности ради остановимся на плюсах и минусах glueless.

Решения, выполненные согласно glueless-архитектуре, являются типовыми. Процессоры общаются друг с другом без дополнительного устройства, а через штатную шину QPIUPI. В итоге получается немного дешевле чем с glued. Но после каждых восьми процессоров придется тратиться основательно — ставить новый сервер.

Как «склеить» Intel-based сервер и преодолеть scale-up потолок в 8 процессоров - 2
Типичная glueless-архитектура

А c glued-архитектурой, как мы уже сказали, потолок увеличивается до 16 и более процессоров на сервер.

Как работает glued-архитектура Bull BCS2

Достоинства архитектуры Bull BCS2 обеспечиваются двумя компонентами — нод-контроллерами (Resilient eXternal Node-Controller) и процессорным кэшированием. Поддерживаются команды, совместимые с процессорами серии Intel Xeon E7-4800/8800 v4.

Как «склеить» Intel-based сервер и преодолеть scale-up потолок в 8 процессоров - 3
Glued-архитектура Bull BCS2. Здесь видны все соединения в сервере. Каждая нода BCS имеет 7 линков XQPI

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

В результате в архитектуре Bull BCS2 потребляется только 5-10% пропускной способности шины Intel QPI — стандарта для glueless-архитектуры. Что касается задержек доступа к локальной памяти, то они сопоставимы с 4-сокетными glueless-системами и на 44% меньше, чем у 8-сокетных glueless-систем. Согласно характеристикам, общая скорость передачи данных ноды BCS составляет 230 ГБ/сек — на каждый из 7 портов получается 25,6 ГБ/сек. Максимальная пропускная способность составляет 300 ГБ/с.

Как «склеить» Intel-based сервер и преодолеть scale-up потолок в 8 процессоров - 4

В каждом сервере Bullion S на материнской плате стоит вот такой коммутатор. Один линк XQPI (16 сокетов) по предоставляемой скорости эквивалентен десяти 10 GigE портам.

Как «склеить» Intel-based сервер и преодолеть scale-up потолок в 8 процессоров - 5
Модельный ряд Bullion S

В конфигурациях на 4 и 8 процессоров разница между glued и glueless архитектурой незначительна. Однако ситуация меняется при переходе на 16 процессоров. Мы помним, что в glueless для этого нужно уже два сервера. А в сервере Bullion S с glued-архитектурой все влезает и так:

Как «склеить» Intel-based сервер и преодолеть scale-up потолок в 8 процессоров - 6
Двухпроцессорные модули соединены между собой через сеть XQPI, пропускная способность которой составляет 14 GT/s (миллиардов транзакций в секунду)

В слотах размещается любой процессор из семейства E7, за исключением E7-8893, который можно задействовать только в двухпроцессорных конфигурациях. По сравнению с доступом к локальной памяти, задержка NUMA-системы достигает около x1.5 внутри модуля и около x4 между модулями. Узловой контроллер управляет аппаратным разделением и позволяет создавать в серверах Bullion S до 8 отдельных разделов, работающих в операционной системе.

В результате мы получаем возможность разместить до 384 процессорных ядер в одном сервере. Что касается оперативной памяти, то здесь потолок составляет 384 модуля DDR4 по 64 Гб. В сумме получаем 24 терабайта.

Описанная конфигурация актуальна для наших рабочих лошадок — серверов Bullion S. Помимо нее, у нас есть линейка BullSequana S, которая может включать до 32 физических процессоров на базе платформы Intel Purley и архитектуры Skylake и Cascadelake (Q1 2019).

Примеры интеграций

Bullion S рассчитаны на ресурсозатратные задачи — SAP HANA, Oracle, MS SQL, Datalake (с сертификацией Cloudera на BullSequana S), виртуализация/VDI на VMware, и гиперконвергентные решения на базе VMware vSAN. Частично на серверах Bullion S компания Siemens создала крупнейшую платформу SAP HANA в мире. Также на базе Bullion S PWC построила огромное решение для Hadoop и аналитики. Всего решениями Bull пользуются около 300 компаний в мире.

Для того, чтобы вы могли прикинуть возможности наших серверов, приведем план миграции БД Oracle c Power на x86 в филиалах одного российского телеком-оператора:

Как «склеить» Intel-based сервер и преодолеть scale-up потолок в 8 процессоров - 7

Заключение

Благодаря процессорному кэшированию glued-архитектура позволяет процессорам напрямую общаться с другими процессорами в ноде. А быстрые линки — не тормозить при взаимодействии с другими кластерами. На сегодняшний день в один сервер Bullion S влезает до 16 процессоров (384 ядер) и до 24 ТБ оперативки. Шаг масштабирования составляет два процессора — это облегчает распределение финансовой нагрузки при создании ИТ-инфраструктуры.

В будущих материалах мы планируем разобрать наши серверы подробней. Будем рады ответить на ваши вопросы в комментариях.

Автор: FCLM36

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js