Высоконагруженные системы — почему одного Go недостаточно? — Никита Галушко, VK
📌Наш telegram с невероятными новостями и супер вакансиями https://go.kotelov.com/hl_kotelov_telegram Наш сайт https://go.kotelov.com/website_kotelov Отправить CV [email protected] или https://kotelov.com/hr/ — аудио версия подкаста, слушать https://go.kotelov.com/mave_multicore Как 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