From: Fabio Riccardi <fabio@chromium.com>
To: linux-kernel@vger.kernel.org
Subject: a quest for a better scheduler
Date: Mon, 02 Apr 2001 19:23:19 -0700 [thread overview]
Message-ID: <3AC93417.7B7814FC@chromium.com> (raw)
Hello,
I sent a message a few days ago about some limitations I found in the
linux scheduler.
In servers like Apache where a large (> 1000) number of processes can be
running at the same time and where many of them are runnable at the same
time, the default Linux scheduler just starts trashing and the machine
becomes very rapidly unusable.
Performance degradations are quite noticeable on a two-way SMP machine
(20-30% of the CPU gets lost) and are even more glaring on a multi-cpu
machine. As an example, an 8-way Compaq Proliant just crawls with linux.
>From the feedback I received I realized that there are at least two
possible solutions to the problem:
http://lse.sourceforge.net/scheduling/
http://resourcemanagement.unixsolutions.hp.com/WaRM/schedpolicy.html
Indeed I've tried the patches available on the sites for the multi-queue
scheduler and I was amazed by the performance improvement that I got.
Both patches allow me to get to a 100% real CPU utilization on a two way
machine running ~1500 processes.
What those patches do is quite simple, instead of having the single
global process queue present in the normal Linux scheduler, they add
multiple queues (one per CPU). In this way the scheduling decision can
be greatly simplified and almost made local to each CPU. No hotspots, no
global locks (well, almost).
Although some scalability problems are still there (there still is a
global decision to make), the performance improvement obtained and the
simplicity of the solution are remarkable.
The HP patch is probably the most interesting, since it consists of
really a few lines of code and it gets (for what I could measure) the
same kind of performance improvement of the more elaborate (but still
quite simple) sourceforge patch.
Is there any special reason why any of those patches didn't make it to
the mainstream kernel code?
TIA, ciao,
- Fabio
next reply other threads:[~2001-04-03 2:20 UTC|newest]
Thread overview: 44+ messages / expand[flat|nested] mbox.gz Atom feed top
2001-04-03 2:23 Fabio Riccardi [this message]
2001-04-03 8:55 ` a quest for a better scheduler Ingo Molnar
2001-04-03 19:13 ` Mike Kravetz
2001-04-03 18:47 ` Ingo Molnar
2001-04-03 22:43 ` Mike Kravetz
2001-04-04 0:18 ` Fabio Riccardi
2001-04-04 2:47 ` Mike Kravetz
2001-04-04 4:21 ` Fabio Riccardi
2001-04-04 17:27 ` Mike Kravetz
2001-04-04 6:53 ` Ingo Molnar
2001-04-04 16:12 ` Davide Libenzi
2001-04-04 6:28 ` Ingo Molnar
2001-04-03 12:31 ` Alan Cox
2001-04-04 0:33 ` Fabio Riccardi
2001-04-04 0:35 ` Alan Cox
2001-04-04 1:17 ` Fabio Riccardi
2001-04-04 1:50 ` Christopher Smith
2001-04-04 11:57 ` Ingo Molnar
2001-04-04 11:51 ` Ingo Molnar
-- strict thread matches above, loose matches on Subject: below --
2001-04-04 6:36 alad
2001-04-04 13:43 Hubertus Franke
2001-04-04 13:25 ` Ingo Molnar
2001-04-04 13:34 ` Ingo Molnar
2001-04-04 15:08 ` Andrea Arcangeli
2001-04-04 15:44 ` Khalid Aziz
2001-04-04 14:03 Hubertus Franke
2001-04-04 13:23 ` Ingo Molnar
2001-04-04 22:16 ` Tim Wright
2001-04-04 22:54 ` Christopher Smith
2001-04-05 22:38 ` Timothy D. Witham
2001-04-06 3:27 ` Christopher Smith
2001-04-06 18:06 ` Timothy D. Witham
2001-04-06 21:08 ` Michael Peddemors
2001-04-06 22:33 ` Nathan Straz
2001-04-04 15:12 ` Andrea Arcangeli
2001-04-04 15:49 ` Khalid Aziz
2001-04-04 15:28 Hubertus Franke
2001-04-04 15:36 Hubertus Franke
2001-04-04 17:17 Hubertus Franke
2001-04-04 19:06 Hubertus Franke
2001-04-05 23:01 Hubertus Franke
2001-04-05 23:53 Torrey Hoffman
2001-04-06 13:15 Hubertus Franke
2001-04-18 14:50 Yoav Etsion
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=3AC93417.7B7814FC@chromium.com \
--to=fabio@chromium.com \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox