Workload Schedulers -- Genesis, Algorithms and Differences
Leszek Sliwko, Vladimir Getov
2025-11-17
Summary
This paper breaks down and compares different types of scheduling systems used by computers, looking at how they've changed over time.
What's the problem?
Modern computers use many different scheduling systems to decide what tasks get done when, but it's hard to understand how these systems relate to each other and how they've developed. There wasn't a clear way to categorize these schedulers and see the common threads between them.
What's the solution?
The paper identifies three main categories of schedulers: those used by individual operating systems to manage programs, those used in clusters of computers to manage jobs, and those used in big data systems to process huge amounts of information. It then traces the history of each type, explaining how they started and what features they've gained over time, focusing on the algorithms they use.
Why it matters?
Understanding the evolution and differences between these scheduling systems is important because it helps us design better scheduling strategies for all kinds of computers, from your phone to massive data centers. It shows that even though these systems operate in different environments, they share similar goals and design principles.
Abstract
This paper presents a novel approach to categorization of modern workload schedulers. We provide descriptions of three classes of schedulers: Operating Systems Process Schedulers, Cluster Systems Jobs Schedulers and Big Data Schedulers. We describe their evolution from early adoptions to modern implementations, considering both the use and features of algorithms. In summary, we discuss differences between all presented classes of schedulers and discuss their chronological development. In conclusion we highlight similarities in the focus of scheduling strategies design, applicable to both local and distributed systems.