Никита Костливцев
Компания: VK / ВКонтакте
ВКонтакте используют движки (кастомные NoSQL базы данных) для решения разных задач: от хранения key-value значений до подбора рекламы.
Расскажу, как устроен многопоточный асинхронный рантайм движков, какие примитивы синхронизации в нем используются, на какие виды они делятся и как менялись со временем. Поговорим о том, какая очередь была выбрана для использования в этих примитивах и почему она нам понравилась настолько, что интегрировалась в весь рантайм. Разберем, какие алгоритмы safe memory reclamation применялись. Много идей при разработке runtime-движков взяли из библиотек Kotlin Coroutines, Rust Tokio и языка Golang.
Доклад будет полезен разработчикам многопоточных фреймворков.
Компания: VK / ВКонтакте