Yet another Flat Format: делаем zero-copy эффективнее flatbuffers с удобством protobuf
Программный комитет ещё не принял решения по этому докладу
Целевая аудитория
Тезисы
Чтение сериализованных данных — это налог, который платит каждый сервис при получении информации из запроса или работе с объектом из базы данных. Чаще всего этот налог возникает в виде парсинга protobuf, а в продвинутых случаях может быть заменен на значительно более дешевую и столь же неудобную работу с zero-copy flatbuffers представлением.
В Рекламе Яндекса, где рекомендательная система для подбора релевантных кандидатов обрабатывает сотни тысяч объектов на каждый из сотен тысяч запросов, стандартные эффективные подходы к представлению данных становятся слишком дорогими и опасными.
В докладе расскажем, как мы через неудачные попытки пришли к разработке yet another flat format для эффективной и удобной работы с данными в рантайме. Посмотрим, как единая объектная модель упрощает жизнь ML-инженерам, и проведем deep dive во внутреннее устройство и trade-offs flatbuffers, чтобы понять, почему у нас получился не универсальный «убийца flatbuffers» и как осознанный выбор компромиссов при создании формата позволяет экономить десятки тысяч ядер и гигабайты сети на наших кластерах.
Разрабатывает инфраструктуру сервисов доставки данных для рекламного движка в Яндексе.
Видео
Другие доклады секции
Языки программирования и технические стеки