У каждого города будет свой фокус программы. В Москве и Белграде состоится трек C++ Zero Cost — про производительность, системную разработку и инженерные задачи на C++. В Москве и Ереване пройдёт Architecture & Performance — про архитектуру, производительность и реальные продакшен-задачи.
На площадках также будут активности от команд и сервисов Яндекса, а к программе каждого города можно будет подключиться онлайн.
Савва разберёт ограничения eBPF, сложность устройства LuaJIT и челленджи профилирования динамических языков: как увидеть не только низкоуровневый стек рантайма, но и то, что вызывается в Lua машине на самом деле.
На примере экспериментальной библиотеки покажу новые возможности для реализации существующих подходов к runtime-полиморфизму.
Раед разберёт, почему в многопоточной асинхронной системе отмена оказывается нетривиальной задачей: от синхронизации с фреймом корутины до рисков use-after-free и дедлоков. На примере библиотеки YaIO, которая используется в Яндексе для асинхронного IO, он покажет, как шаг за шагом разработать безопасный механизм отмены для C++ корутин.
Рассмотрим масштабирование postgres-кластеров до первой тысячи магазинов, роутинга — после тысячи доменов, и Temporal-пайплайна — на первых 5 тысячах кабинетов.
В заключительной части затронем мониторинг отдельных сайтов внутри общего высоконагруженного потока, где на каждый сайт приходится менее 1% трафика.
В докладе Андрей Аксёнов пройдётся по разным уровням «одновременности» — от micro-ops до MapReduce — и разберёт, что за ними стоит на практике. Без попытки уместить курс лекций в 30 минут: только ключевые прикладные выводы о том, как всё это влияет на код, архитектуру и инженерные решения.
Проектирование WAL — это поиск инженерного компромисса между скоростью записи, временем фиксации транзакций, временем восстановления после сбоя и надёжностью системы хранения. В зависимости от требований, для каждой отдельной СУБД этот компромисс будет решатся по-разному.
В докладе я покажу модель принятия решений при проектировании WAL на примере PostgreSQL, SQLite и DuckDB, а также расскажу, как в OtterBrix мы построили собственный WAL.
Поговорим о текущих ограничениях и о том, что должно измениться в экосистеме C++, чтобы модули стали по-настоящему переносимыми. В том числе — о работе Tooling SG (SG15) и EcoStd.
Покажем, как мы перевели сервис на мультитенантные кластеры, сохранив изоляцию данных, возможность выделять отдельные кластеры крупным клиентам и горизонтально масштабировать систему. Разберем устройство нового слоя хранения, подход к шардированию, а также процесс безопасной миграции организаций между кластерами с минимальным простоем с использованием Yandex Data Transfer. Доклад будет полезен инженерам, которые проектируют высоконагруженные распределенные системы и сталкиваются с проблемами масштабирования и эволюции архитектуры.
В мире HFT эту задачу решили давно: там цена ошибки слишком высока, чтобы мириться с накладными расходами на наблюдаемость. Разберём, как эти же подходы можно применять в обычных продуктовых проектах. Пройдём путь от std::cout до shared memory и rdtsc, разберёмся, как минимизировать обмен кэш-линиями между ядрами, и обсудим различия между Intel со strong memory model и ARM со weak memory model. Отдельно рассмотрим инвалидацию кэшей и то, как организовать эффективную работу не только с одним потоком-логгером, но и с несколькими читателями.
В результате вы получите конкретное решение, которое можно применить уже сейчас: либо чтобы ускорить сервер, либо чтобы собирать больше данных о его работе, не расплачиваясь за это производительностью.
Однако, что мы будем делать, если нам заказали разработку универсальной системы аутентификации? мы должны единообразно аутентифицировать пользователей на web и на ssh, мы должны аутентифицировать ssh-пользователей мы должны аутентифицировать их на разных бэкэндах на кейклоке на лдапе и на локальном хранилище ну именно такая задача встала перед нами в ядро и мы ее с блеском решили И я расскажу вам, как устроена архитектура такого аутентификатора.
Представитель России в Международной рабочей группе по стандартизации C++ (WG21 ISO). Автор многих принятых предложений к стандарту языка C++. Председатель Российской рабочей группы по стандартизации С++. Разрабатывает и поддерживает стандартную библиотеку GCC, библиотеки Boost. Автор Boost-библиотек PFR, TypeIndex, DLL, StackTrace и активный мейнтейнер Any, Conversion, LexicalCast, Variant. Автор книги Boost C++ Application Development Cookbook.
Более 10 лет занимается исследованием новых подходов и созданием решений в областях AdTech, FinTech и ML. В область интересов входят вопросы разработки распределённых систем, параллельной и конкурентной обработки информации. Улучшает мир посредством опенсорса.
Занимается разработкой системы сборки для монорепозитория Яндекса. За плечами 10 лет разработки мобильных картографических приложений (NAVITEL, 2ГИС). В хобби-тайм балуется с вулканом и прямой работой с геймпадом через evdev.
Любит C++, большие ациклические графы и прятать мьютексы от бизнес-логики в многопоточном коде.
Более 20 лет в разработке высоконагруженных систем, с глубокой экспертизой в C++. Прошёл путь от разработчика до руководителя направлений в ведущих IT-компаниях (Яндекс, Лаборатория Касперского, VK).
Окончил матмех УрФУ, где Яндекс преподавал курсы веб-разработки. Через эти курсы попал на стажировку в компанию. Там прошёл путь от стажёра — фронтенд-разработчика до руководителя службы разработки сервиса Погода. Не делегирует всю работу команде, старается много писать на C++, потому что это его страсть.
Руководил командой каталога в бэкенде Яндекс Лавки, а теперь занимается финтехом. Между делом ведёт телеграм-канал this‑>notes. Любит C++ за необъятность.
Более 4 лет развивает профессиональные комьюнити в российских и зарубежных бигтехах. Строит сообщества, организовывает мероприятия и работает со спикерами.
Больше 10 лет пишет на С++ в Яндексе. Занимался обработкой данных, нагруженными бэкендами в рекламе, прошивками устройств. Сейчас занимается бэкендом и инфраструктурой устройств с Алисой. Интересуется устройством компиляторов, любит дебажить странные проблемы.
Более 6 лет развивает профессиональные комьюнити, создаёт tech-контент, организует мероприятия и работает со спикерами. Занималась бэкендом инфраструктуры в EdTech. Сейчас пишет на Go, но любит и C++.
Разрабатывал софт для анализа видео с использованием GPU и векторизации, работая в лаборатории МГУ. Лаборатория до сих пор выпускает ряд топовых бенчмарков и статей. В настоящий момент работает в Яндекс Лавке и занимается курьерским бэкендом на userver. В качестве старшего автора драйвил создание курса по C++ в Яндекс Практикуме, рассказывал на открытых вебинарах про C++20 и GPU. Автор статей о C++ на Хабре с более чем 20 тысячами просмотров.
Более 10 лет опыта профессиональной разработки на C++. Работал в различных областях: обработка AV-контента, таргетирование рекламы, бессерверные вычисления, HFT. Руководил разработкой Marketplace efficiency и логистических сервисов в Яндекс Такси и Лавке. Занимался развитием песочницы AWS Lambda. В настоящее время занимается разработкой платформы для высокочастотной алгоритмической торговли с микро- и наносекундными задержками.
Пишет на C++ с 1999 года. Делал разное: от автоматизации хлебозаводов и крематориев до разработки банковского и биржевого ПО и геймдева. Руководил разработкой складских роботов Yango. Любит опенсорс и головоломные задачи. В настоящее время занимается разработкой движка БД в Databricks.