Scheduling threads like Thomas Jefferson

In this post dated September 24, 2024, the author discusses how to schedule workers across a pipeline of queues to minimize total processing time, drawing inspiration from assembly lines and CPUs. They introduce the concept of implicit parallelism via pipelining in software, where stages run independently and are connected by queues. The prototype implementation includes a scheduler that allocates workers based on queue length and average service time per input. Surprisingly, an unexpected connection to Thomas Jefferson’s method of allocating seats in parliaments is uncovered, drawing parallels between parties and stages in the pipeline. The post concludes by highlighting future work and challenges in implementing parallel programming language runtimes using these concepts.

https://stevana.github.io/scheduling_threads_like_thomas_jefferson.html

To top