-
Type: Task
-
Resolution: Unresolved
-
Priority: Major - P3
-
None
-
Affects Version/s: None
-
Component/s: None
-
Workload Scheduling
-
132
While the FIFO semantics of the PriorityTicketHolder are fair, and typically reduce tail latencies (at the expense of median latency), some workloads also see drops in overall throughput with this implementation. This appears to be caused by the algorithm often waking a thread that is not currently scheduled, incurring higher context switching costs, and can lead to convoying. The SemaphoreTicketHolder implementation appears to do a better job of waking active waiters, and avoiding the convoy.