Dmitry Vyukov — Go scheduler: Implementing language with lightweight concurrency

preview_player
Показать описание
— Hydra 2022 — June 2-3
— —
The Go programming language has native support for concurrency in the form of goroutines (light-weight threads) and channels (FIFO queues). This gives users a very convenient means for writing modern concurrent software and feels almost like magic. But we know there is no magic.

In this talk, Dmitry will look inside of the Go scheduler and expose how this magic is implemented. First, he will give an overview of the main components of the scheduler and overall operation. Then, take a closer look at some specific aspects like blocking system call handling and growable stacks implementation. Lastly, Dmitry will speculate about potential future improvement to the scheduler.
Рекомендации по теме
Комментарии
Автор

Great talk! Dmitriy Vyukov is genious. Who the hell unliked this video ?

maksadbek
Автор

I love how he took time to explain the concepts in depth. Great talk btw.

_wadewilson_
Автор

fantastic talk!! thanks for uploading 🙏 🙏

victornoagbodji
Автор

Informative! If you just come across this video from other tutorials about how golang scheduling works, I totally suggest you watch this video thoroughly! It not only described the GMP module you might have already learned from other materials but also the reasons behind. Also, as mentioned, even if you're not a golang user, you may also get some useful thoughts on how a lightweight coroutine scheduler can be designed.

xiaowei
Автор

Thank you for posting!
I've been looking for this info, it was difficult to find.

DavidDLee
Автор

Rob pike wasn't kidding when he said "Simplicity Is Hard". On the outside golang seems to borrow alot of ideas from Erlang.

johnboy
visit shbcf.ru