Linux Scheduler simulation

“Summary: Scheduling is one of the most complex—and
interesting—aspects of the Linux kernel. Developing
schedulers that provide suitable behavior for single-core machines
to quad-core servers can be difficult. Luckily, the Linux Scheduler
Simulator (LinSched) hosts your Linux scheduler in user space (for
scheduler prototyping) while modeling arbitrary hardware targets to
validate your scheduler across a spectrum of topologies. Learn
about LinSched and how to experiment with your scheduler for

“Scheduling tasks in Linux is a complex task. Linux operates in
a variety of use models (such as enterprise server, client desktop,
and even embedded devices) over a huge spectrum of processor
topologies (single core, multi-core, multi-core/multi-thread, and
so on). It’s amazing that the small number of scheduling policies
in Linux work at all.

“To make matters worse, measuring the efficacy of scheduling
policies in Linux is difficult, because the scheduler resides deep
in the kernel. Adding introspection such as tracing can actually
change the behavior of the scheduler and hide defects or
inefficiencies. Even more, set up scheduling scenarios to validate
a given workload across the variety of processor topologies, and
you’re ready to pull your hair out.

“Luckily, projects like LinSched (the User-space Linux Scheduler
Simulator) can help solve this problem.”

Complete Story