File tree Expand file tree Collapse file tree 1 file changed +11
-8
lines changed Expand file tree Collapse file tree 1 file changed +11
-8
lines changed Original file line number Diff line number Diff line change 33
44 This scheduler uses a queue per thread to implement a mostly FIFO scheduler.
55 If a thread runs out of fibers to run, it will try to take a fiber from the
6- queues of other threads. Furthermore, threads periodically consider taking
7- fibers from other threads to balance the number of fibers per thread. All of
8- this means that this scheduler should act relatively fairly and work well
9- for concurrent workloads and workloads where fairness matters. This
10- scheduler also gives priority to fibers woken up due to being canceled.
11-
12- 🐌 Due to mostly FIFO scheduling this scheduler performs poorly on highly
13- parallel workloads.
6+ queues of other threads. Threads also periodically consider taking fibers
7+ from other threads to balance the number of fibers per thread. If threads
8+ cannot find work, they will go to sleep. A separate heartbeat thread is used
9+ to wake up threads periodically. All of this means that this scheduler
10+ should act relatively fairly and work well for concurrent workloads and
11+ workloads where fairness matters and that short bursts of parallelism should
12+ not cause slowdowns. This scheduler also gives priority to fibers woken up
13+ due to being canceled.
14+
15+ 🐌 Due to mostly FIFO scheduling this scheduler performs poorly on CPU bound
16+ fine grained parallel workloads.
1417
1518 ℹ️ See {!Picos_mux_fifo} for a single-threaded variation of this scheduler.
1619
You can’t perform that action at this time.
0 commit comments