Linux 2.6 scheduler improves JVM, SMP, real-time performance
Jul 5, 2006 — by LinuxDevices Staff — from the LinuxDevices Archive — viewsIBM's DeveloperWorks website has published a concise, informative overview of the Linux kernel's scheduler. The article first looks at schedulers in general, and the limitations of the 2.4 kernel's 0(n) scheduler, before turning to Ingo Molnar's 0(1) scheduler, and describing some of the problems it solves.
According to author M. Tim Jones, the 2.6 kernel's 0(1) scheduler was created to improve performance on highly threaded workloads, such as those created by Java Virtual Machines (JVMs). The 0(n) scheduler found in the 2.4 kernel caused the kernel to spend too much time scheduling tasks, and not enough time executing them, when faced with such highly multi-threaded workloads, Jones notes.
The 0(1) scheduler also offers better SMP (symmetrical multi-processing) performance, thanks to separate task queues for each processor, which improve processor cache efficiency, Jones says. Additional improvements include task pre-emption, dynamic task prioritization, and SMP load balancing.
Click below to read the whole story.
This article was originally published on LinuxDevices.com and has been donated to the open source community by QuinStreet Inc. Please visit LinuxToday.com for up-to-date news and articles about Linux and open source.