This really is a great talk. I spent most of the 90s working with task schedulers, and have recently been playing with Go. I'd never seen any explanation of how Go does scheduling, but this talk makes things crystal clear, and maps nicely onto my experience. Kavya clearly knows her stuff, and tries to keep things interesting by changing intonation and using a little stagecraft, rather than letting viewers drift off to sleep. Nice work!
@AmarjeetAnandsingh5 жыл бұрын
Absolutely amazing presentation. So organized... Thanks kavya for such a great content
@blank001 Жыл бұрын
Great talk and explanation, I would definitely watch this again to get a better grasp, thanks Kavya for this awesome talk.
@arhyth5 жыл бұрын
great presenter. i love her older go channels talk.
@varshathkumarterli369411 ай бұрын
Not sure about you guys, But I'm a beginner and had to rewatch this presentation few times to understand it to the depth. Honestly the content is awesome.
@sbef7 ай бұрын
I've been stuck looking to improve an M:N scheduler for my OS/language... found this video and it answers a TON of design and performance questions I had. (Work stealing run queues were the keyword I was looking for) Excellent talk, thanks a bunch!
@aseemsavio66962 жыл бұрын
Amazing presentation! I was linked to this from Gophers Slack. I'm grateful for the guy who did that!
@jeffliang1665 ай бұрын
Amazing and well organized presentation! 👍
@eoj0967 ай бұрын
can't upvote this enough!
@OfferoC6 жыл бұрын
Awesome presentation. Thank you!
@nowarm Жыл бұрын
this is so awesome and easy to understand. Thank you for sharing!
@alex_martishin11 ай бұрын
Great talk! Very informative
@ishnmu3113 Жыл бұрын
Wow! Clean Presentation and Nicely explained. Thanks Kavya
@vladd31727 ай бұрын
Awesome. Very good explained.
@cadenzah933 жыл бұрын
25:25 nice summary, better watch this few times more
@alihussainkhan69763 ай бұрын
Thanks for such an informative content ! Worth saving hours of googling 😀 Since we can create new threads for the goroutines waiting in the local runQ for threads which are blocked on a long running goroutine, as long as the number of goroutine running threads is
@maheshkottapalli69453 жыл бұрын
Thank you a ton. Awesome presentation.
@wodeqiangne2 жыл бұрын
nice presentation!personally i love her voice
@robgreen135 жыл бұрын
Excellent content and presentation, thank you.
@tanchienhao8 ай бұрын
Awesome talk
@seriyanto4 жыл бұрын
slices at speakerdeck.com/kavya719/the-scheduler-saga
@jamshidiyr5 ай бұрын
Thank you.
@romankonovalov2588 Жыл бұрын
just the best
@richardyang39635 жыл бұрын
On 24:22, what if the T1 wake up? there will be 3 threads, which beyond the limitation of CPU cores?
@dune4995 жыл бұрын
It will not "wake up". It notifies the monitor thread when it's runnable(waiting in the parking). And when the go routine running thread count is less than core number (this can happen if Tmain or T2 has a syscall), the monitor thread will take it from parking and allocate it it's run queue.
@riankrishandi3 жыл бұрын
@@dune499 T1 will not wake up? so how about the g1 inside it? how will it continue the goroutine execution?
@philipedekobi297 Жыл бұрын
@@riankrishandi once the syscall unblocks, T1 will get parked
@tarunpahuja3443 Жыл бұрын
@@philipedekobi297 @tamjidahmed9872 But lets say if the g1 inside T1 is not yet finished, where would it be placed. T1 does not have any associated runqueue.
@adipratapsinghaps3 жыл бұрын
Thanks, Kavya!
@yicai7 Жыл бұрын
Awesome!!!!
@axea45543 жыл бұрын
Great presentation
@abraham79664 жыл бұрын
9:10 Welcome to Ruby.
@asymptotion4 жыл бұрын
Great presentation!
@jmcguckin11 ай бұрын
What about performing work stealing first from cores located on the same die so as to minimize cache misses…
@byonggonchun37503 жыл бұрын
thanks kavya
@learn-with-david-007 Жыл бұрын
thanks
@allanguwatudde7623 Жыл бұрын
nice talk
@nabromov3 жыл бұрын
very useful!
@kamalabuhenamostafa6 жыл бұрын
Stylic Presentation.
@user-ov5nd1fb7s6 жыл бұрын
Nice talk but i still don't know how can you have 200k go routines, with this structure.
@tarunpahuja3443 Жыл бұрын
If there are 10 cores, You can have 1000s go routines on each local distributed queue.
@user-ov5nd1fb7s Жыл бұрын
@@tarunpahuja3443 yea..I know. This comment is more than 4 years old.