Thank you Olivier Giroux for the great talk. I and others really appreciate your time helping others to understand the intrinsics of how concurrency and parallelism work under the hood. Representing the code as graphs really help to illustrate any given point.
I don't quite understand 34:05, why are we able to enter the loop. For example, when 11 tasks with 2 threads, when dealing with the last task, there would be a problem. But I don't see why we would enter a livelock when numbers can be evenly divided.
I think it's because the barrier is for 11 tasks, and so one the first task will block until all tasks has completed, which will block forever if my thread has >=2 tasks assigned. I will never execute my next tasks because I'm stuck in the previous one waiting for all tasks to complete, and I'm assigned of executing at least one more. I think, to present this problem, maybe Oliver presented a more complex example than needed. With just the main thread and two tasks the problem will be the same because of deadlock with myself.
Thank you Olivier Giroux for the great talk. I and others really appreciate your time helping others to understand the intrinsics of how concurrency and parallelism work under the hood. Representing the code as graphs really help to illustrate any given point.
Amazing talk
so much thanks for the great talks
So pleased to hear that you enjoy them!
In 7:40, what does "eventually" exactly mean here?
I don't quite understand 34:05, why are we able to enter the loop. For example, when 11 tasks with 2 threads, when dealing with the last task, there would be a problem. But I don't see why we would enter a livelock when numbers can be evenly divided.
I think it's because the barrier is for 11 tasks, and so one the first task will block until all tasks has completed, which will block forever if my thread has >=2 tasks assigned. I will never execute my next tasks because I'm stuck in the previous one waiting for all tasks to complete, and I'm assigned of executing at least one more. I think, to present this problem, maybe Oliver presented a more complex example than needed. With just the main thread and two tasks the problem will be the same because of deadlock with myself.