From: Mike Galbraith <efault@gmx.de>
To: J Louis <handstogether8@gmail.com>
Cc: linux-kernel@vger.kernel.org
Subject: Re: Linux scheduler capabilities for batch jobs.
Date: Tue, 02 Jun 2009 06:57:49 +0200 [thread overview]
Message-ID: <1243918669.5697.70.camel@marge.simson.net> (raw)
In-Reply-To: <6f41bd4b0906010641n1b360dffs6eaed72eb24f60f5@mail.gmail.com>
On Mon, 2009-06-01 at 09:41 -0400, J Louis wrote:
> My problem is analogous to a parallel make. Say I have an 8 CPU
> machine, and I run "make -j8". If the total memory of the 8 jobs
> throws the machine into swap, it begins to thrash and runtime is
> awful.
Thrashing is more of a VM/IO scheduling concern.
> I believe this is aggravated by the scheduler trying to be
> fair, and keeping all 8 processes running.
Yup, fair CPU distribution is the process scheduler's mission, and that
allows tasks to compete for other resources.
> If it was possible to tell
> the scheduler that it was OK not to be fair when scheduling these
> processes, I think the total runtime could be reduced if it put some
> of the processes to sleep while others completed.
The scheduler doesn't know that any given task _ever_ completes.
> Is there a way to
> tell the scheduler it is allowed to do this? Should there be?
No, and I don't think it's feasible for existing classes. You could
invent a new scheduling class, but I think you'd need to invent quite a
bit of infrastructure in the VM to make it work well.
OTOH, the process scheduler doesn't, and shouldn't, make IO resource
decisions, we have IO schedulers to manage who gets what IO bandwidth
when. The same should apply to VM resources. Seems to me what you
really want is a VM scheduler.
-Mike
next prev parent reply other threads:[~2009-06-02 4:57 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-06-01 13:41 Linux scheduler capabilities for batch jobs J Louis
2009-06-01 16:40 ` Rik van Riel
2009-06-01 17:04 ` Avi Kivity
2009-06-03 21:14 ` Bill Davidsen
2009-06-02 4:57 ` Mike Galbraith [this message]
2009-06-17 9:38 ` Pavel Machek
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=1243918669.5697.70.camel@marge.simson.net \
--to=efault@gmx.de \
--cc=handstogether8@gmail.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