Pull to refresh
3
Илья Кокорин@ilyambda

User

Send message

Как мы написали конкурентные структуры данных на C++ и научились их верифицировать

Level of difficultyMedium
Reading time10 min
Reach and readers13K

Привет! В команде ВКонтакте мы переписываем рантайм движков баз данных — они становятся быстрее, надёжнее, а ещё с новым рантаймом проще писать код. Однако есть нюанс: в новом рантайме много конкурентных структур данных, в том числе нужных для работы с корутинами из С++20. Появляется интересная задача — проверять корректность этих конкурентных структур данных до выхода кода в продакшен.

Для решения этой задачи команда ВКонтакте вместе со студентами из университетов ИТМО и СПбГУ работала над научно-исследовательским проектом — верификацией конкурентных структур данных на языке C++. В этой статье подробно расскажем, как мы в рамках проекта проверяли корректность наших конкурентных структур данных и заодно исправили найденную в нашем новом рантайме ошибку.

Читать далее

Information

Rating
Does not participate
Works in
Date of birth
Registered
Activity

Specialization

Бэкенд разработчик, Разработчик баз данных
Старший
Распределённые вычисления
Высоконагруженные системы
Базы данных
Многопоточность
C++
Golang
Git
Английский язык
Научно-исследовательская работа
Алгоритмы и структуры данных