Высоконагруженные системы — почему одного Go недостаточно? — Никита Галушко, VK


Episode Artwork
1.0x
0% played 00:00 00:00
Feb 17 2025 36 mins   6
📌Наш telegram с невероятными новостями и супер вакансиями https://go.kotelov.com/hl_kotelov_telegram

Наш сайт https://go.kotelov.com/website_kotelov

Отправить CV [email protected] или https://kotelov.com/hr/


Как VK проектирует код для многоядерных систем? Вроде все ресурсы CPU в твоём распоряжении, но код все равно работает медленно.

На Highload++ мы поговорили с Никитой Галушко, старшим инженером в VK — о том, как правильно работать с многопоточностью и многоядерными системами и почему чаще всего хваленный go мешает, а не помогает, если у тебя сотни тысяч соединений и 56 ядер.

— как выжать максимум из процессора?

— как распределять потоки по ядрам?

— как перехитрить ограничения в Go?

— можно ли управлять ядрами напрямую?


📌Смотри, что нашел -- тг-канал Никиты https://t.me/b1tw1se


📌 Ссылки на доклады Никиты:

Секреты высокой производительности в многоядерных системах ☠️ https://golangconf.ru/moscow/2024/abstracts/13125

Выжимаем из Go максимум производительности https://www.youtube.com/watch?v=QMC9Kg4Ogxg


📌Что обсуждали

Ссылка на пейпер BRAVO https://arxiv.org/pdf/1810.01553

Реализация BRAVO на Go https://github.com/puzpuzpuz/xsync

Интересные пейперы (тот самый аккаунт в X) https://x.com/pvldb



00:00 Никита Галушко, старший инженер VK

01:42 Почему высокопроизводительные системы написаны на Go?

03:46 Какой нужен процессор для многоядерной архитектуры?

08:03 Как писать структуры данных для управления высокопроизводительными системами?

09:29 Какие проблемы возникают в мьютексах?

18:00 Как правильно искать ответы на сложные вопросы в разработке?

21:53 Зачем вообще тогда нужен Go, если фатализация на ассемблере?

24:23 Что будет, если указать, на каком конкретном ядре запускать процесс?

25:31 C, Rust, Zic — свободные языки, а Go ограничивает разработчика?

28:41 Есть ли зависимость от операционной системы?

29:49 Где искать ответы и какие метрики собирать?

34:43 Блиц:

AMD или Intel?

Windows, Linux или Mac?


#интервью #Highload #финтех #айти #kotelov #котелов #ВалерийКотелов #kotelovpodcast