Back to questions
Junior
25
Расскажи про планировщик Go (MPG-модель, work stealing, handoff и т.д.)
Companies where asked
СБК ПАРУС
Answer from AI
sobes.tech AI
Планировщик Go основан на модели MPG (M — Machine, P — Processor, G — Goroutine):
- G (Goroutine) — легковесная нить исполнения.
- P (Processor) — логический процессор, который связывает G и M.
- M (Machine) — системный поток ОС, который выполняет код.
В Go есть фиксированное число P, которое ограничивает количество одновременно выполняющихся горутин на уровне ОС потоков.
Work Stealing — механизм балансировки нагрузки, когда P с меньшей нагрузкой «ворует» горутины у других P, чтобы равномерно распределить задачи.
Handoff — передача горутины от одного P к другому без помещения в глобальную очередь, что снижает задержки.
Таким образом, планировщик эффективно управляет большим числом горутин на ограниченном числе потоков ОС, обеспечивая высокую производительность и масштабируемость.