Sobes.tech
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 к другому без помещения в глобальную очередь, что снижает задержки.

Таким образом, планировщик эффективно управляет большим числом горутин на ограниченном числе потоков ОС, обеспечивая высокую производительность и масштабируемость.