Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Оптимизация интерконнекта кластерного решения п...

SECR 2018
October 13, 2018

Оптимизация интерконнекта кластерного решения при помощи InfiniBand RDMA на примере доработки MySQL Cluster

SECR 2018
Михаил Купчук
МТС ИТ

В докладе представлен опыт нашей команды по доработке MySQL Cluster для использования InfiniBand RDMA при взаимодействии узлов и приложений в кластере. В рамках рассмотрения вопроса о горизонтальном расширении промышленного стенда, нами, в качестве альтернативного решения, был разработан рабочий прототип, использующий нативный интерфейс RDMA, который показал 25% увеличение производительности решения (на использованном стенде из четырёх узлов, со 10k до 12.5k бизнес-операций в секунду, каждая из которых содержит в себе до 20-30 оперций с таблицами БД).

Доклад может быть интересен разработчикам и архитекторам, занимающимся высоконагруженными системами, которые рассматривают дополнительные, альтернативные возможности повышения производительности своих систем, кроме внутренней оптимизации либо перехода на полностью альтернативные решения.

SECR 2018

October 13, 2018
Tweet

More Decks by SECR 2018

Other Decks in Programming

Transcript

  1. 2 Оптимизация интерконнекта кластерного решения при помощи InfiniBand RDMA на

    примере доработки MySQL Cluster MySQL Cluster и наш продукт • В нашем продукте используется 4 года в «боевой» среде для хранения балансов абонентов: 5 независимых региональных площадок с нагрузкой по 70k бизнес-операций в сек на каждой • На данный момент production стенды справляются с задачами • Требования к количеству обрабатываемых запросов в единицу времени регулярно растѐт • Горизонтальное масштабирование даѐт результат, но наверняка есть альтернативы • Уменьшение времени обработки запроса никогда не бывает лишним
  2. 3 Оптимизация интерконнекта кластерного решения при помощи InfiniBand RDMA на

    примере доработки MySQL Cluster • Кластерная in-memory БД • Ядро – NoSQL БД NDBCLUSTER • Резервирование с избыточных хранением копий данных на нескольких узлах • Online масштабирование • Для разработки приложений предоставляется свой API • SQL интерфейс через MySQL daemon MySQL Cluster Data node 1 Data node 2 Application node Application node Data node 1 Data node 2 NDB Cluster MySQL daemon
  3. 4 Оптимизация интерконнекта кластерного решения при помощи InfiniBand RDMA на

    примере доработки MySQL Cluster InfiniBand • Высокая пропускная способность (начиная с 10Gb/s и до 100Gb/s) • Низкое время задержки – производителем декларируется < 1μs end to end • RDMA (Remote Direct Memory Access) – технология доступа к памяти удалѐнного компьютера по сети, в которой данные передаются минуя ОС и ЦП
  4. 5 Оптимизация интерконнекта кластерного решения при помощи InfiniBand RDMA на

    примере доработки MySQL Cluster Разработанное решение Сделано • Разработан новый тип transporter’а, использующего InfiniBand RDMA, в клиентской и серверной частях NDB • Использован «родной» API InfiniBand – IB Verbs Не сделано • Поддержка полноценного zero-copy при сетевом взаимодействии • Кастомизация кода менеджеров соединений для максимально эффективного использования RDMA transporter’а
  5. 6 Оптимизация интерконнекта кластерного решения при помощи InfiniBand RDMA на

    примере доработки MySQL Cluster Тестовый стенд и нагрузка Нагрузка • 3 типа бизнес-операций o 2 бизнес-операций на чтение данных, 1 на обновление o Каждая бизнес-операция разворачивается в операции с 2-3 таблицами, с доступом к 30 записями в каждой таблице • Подача осуществляется в многопоточном режиме Data node 1 Data node 2 Application node Application node Benchmark load generator Benchmark load generator NDB Cluster Сервера 2 * Intel Xeon E5-2690 v4 @ 2.60GHz 8 * 16GB RAM 10GE Intel 82599ES PCIE Card 56Gbps IB Card Mellanox MT27500 Family ConnectX-3
  6. 7 Оптимизация интерконнекта кластерного решения при помощи InfiniBand RDMA на

    примере доработки MySQL Cluster Результаты TCP • ~10100 бизнес-операций в секунду • Среднее время отклика от 2.1 до 4.4 мс в зависимости от типа бизнес-операции InfiniBand: • ~12500 бизнес-операций в секунду • Среднее время отклика от 1.15 до 3.08 мс в зависимости от типа бизнес-операции • Экстраполяция на текущие стенды, используемые в продуктиве, даѐт ~87500 бизнес-операций в секунду
  7. 8 Оптимизация интерконнекта кластерного решения при помощи InfiniBand RDMA на

    примере доработки MySQL Cluster Ссылки и контакты • E-mail: [email protected] • Портал по программированию RDMA: https://www.rdmamojo.com/2012/05/18/libibverbs/ • Серия обучающих статей по основам использования IB Verbs: https://thegeekinthecorner.wordpress.com/2010/08/13/building-an-rdma-capable-application-with-ib-verbs- part-1-basics/