Как «склеить» Intel-based сервер и преодолеть scale-up потолок в 8 процессоров
Если вы занимаетесь выращиванием больших баз данных и вдруг упираетесь в потолок производительности — пришло время расширяться. Со scale-out расширением понятно: серверы добавляете и горя не знаете. Со scale-up все не так весело. Согласно стандартной glueless-архитектуре, мы берем два процессора, потом добавляем к ним еще два… так доходим до восьми и все. Больше Intel не предусмотрел, копите на новый сервер.
Но есть и альтернатива — glued-архитектура. В ней двухпроцессорные вычислительные блоки соединяются между собой через нод-контроллеры. С их помощью верхний порог на один сервер поднимается до 16 и более процессоров. В этом посте подробней расскажем о glued-архитектуре вообще и о том, как она реализована в наших серверах.
Прежде чем переходить к glued-архитектуре, честности ради остановимся на плюсах и минусах glueless.
Решения, выполненные согласно glueless-архитектуре, являются типовыми. Процессоры общаются друг с другом без дополнительного устройства, а через штатную шину QPI\UPI. В итоге получается немного дешевле чем с 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
Благодаря кэшированию объем взаимодействия между процессорами снижается — процессоры в каждом модуле имеют доступ к общему кэшу. Таким образом снижается нагрузка на оперативную память. Нода, в свою очередь, работает как коммутатор трафика и решает проблему «узких горлышек» — перенаправляет трафик по наименее используемому пути.
В результате в архитектуре Bull BCS2 потребляется только 5-10% пропускной способности шины Intel QPI — стандарта для glueless-архитектуры. Что касается задержек доступа к локальной памяти, то они сопоставимы с 4-сокетными glueless-системами и на 44% меньше, чем у 8-сокетных glueless-систем. Согласно характеристикам, общая скорость передачи данных ноды BCS составляет 230 ГБ/сек — на каждый из 7 портов получается 25,6 ГБ/сек. Максимальная пропускная способность составляет 300 ГБ/с.
В каждом сервере Bullion S на материнской плате стоит вот такой коммутатор. Один линк XQPI (16 сокетов) по предоставляемой скорости эквивалентен десяти 10 GigE портам.
Модельный ряд Bullion S
В конфигурациях на 4 и 8 процессоров разница между glued и glueless архитектурой незначительна. Однако ситуация меняется при переходе на 16 процессоров. Мы помним, что в glueless для этого нужно уже два сервера. А в сервере Bullion S с glued-архитектурой все влезает и так:
Двухпроцессорные модули соединены между собой через сеть 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 в филиалах одного российского телеком-оператора:
Заключение
Благодаря процессорному кэшированию glued-архитектура позволяет процессорам напрямую общаться с другими процессорами в ноде. А быстрые линки — не тормозить при взаимодействии с другими кластерами. На сегодняшний день в один сервер Bullion S влезает до 16 процессоров (384 ядер) и до 24 ТБ оперативки. Шаг масштабирования составляет два процессора — это облегчает распределение финансовой нагрузки при создании ИТ-инфраструктуры.
В будущих материалах мы планируем разобрать наши серверы подробней. Будем рады ответить на ваши вопросы в комментариях.