Хабрахабр

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

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

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

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


Типичная glueless-архитектура

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

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

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

Здесь видны все соединения в сервере.
Glued-архитектура Bull BCS2. Каждая нода BCS имеет 7 линков XQPI

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

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

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


Модельный ряд Bullion S

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


Двухпроцессорные модули соединены между собой через сеть XQPI, пропускная способность которой составляет 14 GT/s (миллиардов транзакций в секунду)

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

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

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

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

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 в филиалах одного российского телеком-оператора:

Заключение

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

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

Теги
Показать больше

Похожие статьи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Кнопка «Наверх»
Закрыть