Если вы занимаетесь выращиванием больших баз данных и вдруг упираетесь в потолок производительности — пришло время расширяться. Со 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 ТБ оперативки. Шаг масштабирования составляет два процессора — это облегчает распределение финансовой нагрузки при создании ИТ-инфраструктуры.

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

Комментарии (5)


  1. IT-Tiger
    13.12.2018 11:10

    В статье приводится пример уже устаревшей архитектуры E7-8xxx.
    Как дела обстоят с актуальным поколением процессоров?


    1. FCLM36
      13.12.2018 11:14

      В последующих публикациях опишем принцип межсоединения процессоров Intel Xeon Scalable в сервере BullSequana S.

      Если вкратце: до 8 ЦПУ межсоединение происходит по технологии Glueless, а с 10 до 32 ЦПУ применяется Bull Coherent Switch следующего, третьего, поколения


  1. DrunkBear
    13.12.2018 11:15

    Звучит любопытно, есть какие-то тесты с цифрами?
    Типа «вот кластер с 16 нодами по 2 процессора, вот кластер из 2х bull @16 процессоров, на них развёрнута cloudera CDH / hortonworks HDP одинаковой версии с одинаковыми конфигурациями. Вот тесты запросов, вот результаты terragen/terrasort»?


    1. FCLM36
      13.12.2018 18:13

      На текущий момент проводим тестирование СУБД PostgreSQL на серверах BullSequana S с процессорами Intel Xeon Scalable. В будущем постараемся поделиться результатами с Хабром


  1. acmnu
    13.12.2018 17:22

    Что просходит при доступе к "чужой" памяти? По моим наблюдениям за другими вертикально ориентированными системами это может просадить скорость на порядок в реальной жизни.