От Netlink к eBPF: радикальное ускорение трассировки интернет-пакетов

Системное программирование

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

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

Доклад не только рассказывает о нюансах работы EBPF с Go, но и дает конкретный кейс с решением, как повысить сетевую производительность, обходя стандартные механизмы ОС (такие, как Netlink). Будет полезно, даже если вы совсем ничего не знаете про EBPF.

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

Сетевые инженеры, разработчики сетевых и высоконагруженных приложений и все те, кто интересуется технологией eBPF.

Тезисы

Подсистема ядра Linux, отвечающая за трассировку сетевых пакетов, использует протокол Netlink для передачи данных в пространство пользователя. При большом объеме трафика свыше 5 Гб/c Netlink создает большую нагрузку на систему и может приводить к потерям пакетов. В докладе показано, как мы применили eBPF для обхода Netlink при передаче трейсов, тем самым повысив производительность и устойчивость всей системы.

Разработчик с более чем 15-летним опытом. Начинал на С и С++, последние 4 года пишет на Gо.
Go-разработчик в компании Wildberries. Работает над инфраструктурными проектами.

Видео