Skip to content

Commit 883bb19

Browse files
committed
Mention heartbeats
1 parent 31675f0 commit 883bb19

File tree

1 file changed

+11
-8
lines changed

1 file changed

+11
-8
lines changed

lib/picos_mux.multififo/picos_mux_multififo.mli

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,17 @@
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

0 commit comments

Comments
 (0)