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

Аватар автора
kotelov_com
Как VK проектирует код для многоядерных систем? Вроде все ресурсы CPU в твоём распоряжении, но код все равно работает медленно. На Highload++ мы поговорили с Никитой Галушко, старшим инженером в VK — о том, как правильно работать с многопоточностью и многоядерными системами и почему чаще всего хваленный go мешает, а не помогает, если у тебя сотни тысяч соединений и 56 ядер. — как выжать максимум из процессора? — как распределять потоки по ядрам? — как перехитрить ограничения в Go? — можно ли управлять ядрами напрямую? 📌 Ссылки на доклады Никиты: 📌Что обсуждали 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? #kotelovpodcast

0/0


0/0

0/0

0/0