====================================================================
Published: 28 November 2022
Tags: algorithms, cpu, os
Dave Kilian presents lock convoys, which are a problem that causes throughput to collapse in high-performance multithreaded networked systems. The problem arises from the interplay between the designs of code, the CPU, the operating system kernel, and the way locks are implemented in software.
Some highlights:
- "A convoy is a persistent chain reaction of waiting that can occur in any queuing system"
- One small issue can lead to a huge time lag
- If locks have a bunch of waiting threads queued up, a convoy is likely to happen if there's a timing issue