mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Mike Kravetz <mkravetz@sequent.com>
To: Ingo Molnar <mingo@elte.hu>
Cc: Fabio Riccardi <fabio@chromium.com>,
	Linux Kernel List <linux-kernel@vger.kernel.org>
Subject: Re: a quest for a better scheduler
Date: Tue, 3 Apr 2001 12:13:08 -0700	[thread overview]
Message-ID: <20010403121308.A1054@w-mikek2.sequent.com> (raw)
In-Reply-To: <3AC93417.7B7814FC@chromium.com> <Pine.LNX.4.30.0104031035271.2794-100000@elte.hu>
In-Reply-To: <Pine.LNX.4.30.0104031035271.2794-100000@elte.hu>; from mingo@elte.hu on Tue, Apr 03, 2001 at 10:55:12AM +0200

On Tue, Apr 03, 2001 at 10:55:12AM +0200, Ingo Molnar wrote:
> 
> you can easily make the scheduler fast in the many-processes case by
> sacrificing functionality in the much more realistic, few-processes case.
> None of the patch i've seen so far maintained the current scheduler's
> few-processes logic. But i invite you to improve the current scheduler's
> many-processes behavior, without hurting its behavior in the few-processes
> case.
> 

Maintaining the current scheduler's logic is exactly what we are trying
to do in the projects at:

http://lse.sourceforge.net/scheduling/

A common design goal for the the two alternative scheduler
implementations at this site is to maintain the current scheduler's
behavior/scheduling decisions.  In the case of the priority queue
scheduler, we have actually used a copy of the existing scheduler
running in parallel (in the same kernel) to determine if we are
making the same scheduling decisions.  Currently, in this implementation
we only deviate from the current scheduler in a small number of cases
where tasks get a boost due to having the same memory map.

The multi-queue implementation is more interesting.  It is also
designed to maintain the behavior of the current scheduler.  However,
as the runqueues get longer (and we start getting contention on the
runqueue locks) it starts to deviate from existing scheduler behavior
and make more local scheduling decisions.  Ideally, this implementation
will exhibit the behavior of the current scheduler at low thread
counts and make more localized decisions as pressure on the scheduler
is increased.

Neither of these implementations are at a point where I would advocate
their adoption; yet.

Can someone tell me what a good workload/benchmark would be to
examine 'low thread count' performance?  In the past people have
used the 'spinning on sched_yield' benchmark.  However, this now
makes little sense with the sched_yield optimizations introduced
in 2.4.  In addition, such a benchmark mostly ignores the
'reschedule_idle' component of the scheduler.  We have developed
a 'token passing' benchmark which attempts to address these issues
(called reflex at the above site).  However, I would really like
to get a pointer to a community acceptable workload/benchmark for
these low thread cases.

-- 
Mike Kravetz                                 mkravetz@sequent.com
IBM Linux Technology Center

  reply	other threads:[~2001-04-03 19:15 UTC|newest]

Thread overview: 44+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-04-03  2:23 Fabio Riccardi
2001-04-03  8:55 ` Ingo Molnar
2001-04-03 19:13   ` Mike Kravetz [this message]
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
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 22:33           ` Nathan Straz
2001-04-06 21:08         ` Michael Peddemors
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=20010403121308.A1054@w-mikek2.sequent.com \
    --to=mkravetz@sequent.com \
    --cc=fabio@chromium.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    /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

all inboxes | Powered by JetHome®