CPU-изоляция по memory bandwidth

Хардкор

Внутрянка решений

Аппаратное обеспечение
DevOps / Кубер
Инфраструктура

Доклад принят в программу конференции

Мнение Программного комитета о докладе

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

Целевая аудитория

Разработчики и эксплуатация систем оркестрации (например, K8s), разработчики и архитекторы мультитенантных и высоконагруженных систем.

Тезисы

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

Один такой квест мы рассмотрим на примере приватного вычислительного облака Яндекса. Потребители облака, сервисы Яндекса, запускаются в миллионах контейнеров на более, чем 100 тысячах серверных ЭВМ. Через контейнер потребителям облака предоставляется гарантия на вычислительные ресурсы облака.

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

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

Лев Плинер

Yandex Infrastructure

Руководит службой базовой инфраструктуры. Они разрабатывают Яндексовое ядро Linux и контейнерный рантайм Porto, готовят сеть, диски и GPU-акселераторы для миллионов контейнеров приватного вычислительного облака и эксплуатируют всё это хозяйство.

Yandex Infrastructure

Yandex Infrastructure – это команда, которая предоставляет весь спектр инструментов для разработки и развертывания приложений и сервисов любой сложности. На их инфраструктуре работают большинство сервисов Яндекса и внешних клиентов Yandex Cloud.

Видео