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

    В будущих материалах мы планируем разобрать наши серверы подробней. Будем рады ответить на ваши вопросы в комментариях.
    • +28
    • 4,2k
    • 5
    Bull (Atos technologies)
    23,85
    Bull — технологический бренд компании Atos
    Поделиться публикацией

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

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

        Если вкратце: до 8 ЦПУ межсоединение происходит по технологии Glueless, а с 10 до 32 ЦПУ применяется Bull Coherent Switch следующего, третьего, поколения
        0
        Звучит любопытно, есть какие-то тесты с цифрами?
        Типа «вот кластер с 16 нодами по 2 процессора, вот кластер из 2х bull @16 процессоров, на них развёрнута cloudera CDH / hortonworks HDP одинаковой версии с одинаковыми конфигурациями. Вот тесты запросов, вот результаты terragen/terrasort»?
          0
          На текущий момент проводим тестирование СУБД PostgreSQL на серверах BullSequana S с процессорами Intel Xeon Scalable. В будущем постараемся поделиться результатами с Хабром
          0

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

          Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

          Самое читаемое