All of lore.kernel.org
 help / color / mirror / Atom feed
From: Nick Piggin <nickpiggin@yahoo.com.au>
To: "Chen, Kenneth W" <kenneth.w.chen@intel.com>
Cc: Ingo Molnar <mingo@elte.hu>,
	linux-kernel@vger.kernel.org, linux-ia64@vger.kernel.org
Subject: Re: Delete scheduler SD_WAKE_AFFINE and SD_WAKE_BALANCE flags
Date: Fri, 29 Jul 2005 08:48:07 +0000	[thread overview]
Message-ID: <42E9ED47.1030003@yahoo.com.au> (raw)
In-Reply-To: <200507290627.j6T6Rrg06842@unix-os.sc.intel.com>

Chen, Kenneth W wrote:
> Nick Piggin wrote on Thursday, July 28, 2005 7:01 PM

> This clearly outlines an issue with the implementation.  Optimize for one
> type of workload has detrimental effect on another workload and vice versa.
> 

Yep. That comes up fairly regularly when tuning the scheduler :(

> 
> I won't try to compromise between the two.  If you do so, we would end up
> with two half baked raw turkey.  Making less aggressive load balance in the
> wake up path would probably reduce performance for the type of workload you
> quoted earlier and for db workload, we don't want any of them at all, not
> even the code to determine whether it should be balanced or not.
> 

Well, that remains to be seen. If it can be made _smarter_, then you
may not have to take such a big compromise.

But either way, there will have to be some compromise made. At the
very least you have to find some acceptable default.

> Do you have an example workload you mentioned earlier that depends on
> SD_WAKE_BALANCE?  I would like to experiment with it so we can move this
> forward instead of paper talk.
> 

Well, you can easily see suboptimal scheduling decisions on many
programs with lots of interprocess communication. For example, tbench
on a dual Xeon:

processes    1               2               3              4

2.6.13-rc4:  187, 183, 179   260, 259, 256   340, 320, 349  504, 496, 500
no wake-bal: 180, 180, 177   254, 254, 253   268, 270, 348  345, 290, 500

Numbers are MB/s, higher is better.

Networking or other IO workloads where processes are tightly coupled
to a specific adapter / interrupt source can also see pretty good
gains.

-- 
SUSE Labs, Novell Inc.

Send instant messages to your online friends http://au.messenger.yahoo.com 

WARNING: multiple messages have this Message-ID (diff)
From: Nick Piggin <nickpiggin@yahoo.com.au>
To: "Chen, Kenneth W" <kenneth.w.chen@intel.com>
Cc: Ingo Molnar <mingo@elte.hu>,
	linux-kernel@vger.kernel.org, linux-ia64@vger.kernel.org
Subject: Re: Delete scheduler SD_WAKE_AFFINE and SD_WAKE_BALANCE flags
Date: Fri, 29 Jul 2005 18:48:07 +1000	[thread overview]
Message-ID: <42E9ED47.1030003@yahoo.com.au> (raw)
In-Reply-To: <200507290627.j6T6Rrg06842@unix-os.sc.intel.com>

Chen, Kenneth W wrote:
> Nick Piggin wrote on Thursday, July 28, 2005 7:01 PM

> This clearly outlines an issue with the implementation.  Optimize for one
> type of workload has detrimental effect on another workload and vice versa.
> 

Yep. That comes up fairly regularly when tuning the scheduler :(

> 
> I won't try to compromise between the two.  If you do so, we would end up
> with two half baked raw turkey.  Making less aggressive load balance in the
> wake up path would probably reduce performance for the type of workload you
> quoted earlier and for db workload, we don't want any of them at all, not
> even the code to determine whether it should be balanced or not.
> 

Well, that remains to be seen. If it can be made _smarter_, then you
may not have to take such a big compromise.

But either way, there will have to be some compromise made. At the
very least you have to find some acceptable default.

> Do you have an example workload you mentioned earlier that depends on
> SD_WAKE_BALANCE?  I would like to experiment with it so we can move this
> forward instead of paper talk.
> 

Well, you can easily see suboptimal scheduling decisions on many
programs with lots of interprocess communication. For example, tbench
on a dual Xeon:

processes    1               2               3              4

2.6.13-rc4:  187, 183, 179   260, 259, 256   340, 320, 349  504, 496, 500
no wake-bal: 180, 180, 177   254, 254, 253   268, 270, 348  345, 290, 500

Numbers are MB/s, higher is better.

Networking or other IO workloads where processes are tightly coupled
to a specific adapter / interrupt source can also see pretty good
gains.

-- 
SUSE Labs, Novell Inc.

Send instant messages to your online friends http://au.messenger.yahoo.com 

  reply	other threads:[~2005-07-29  8:48 UTC|newest]

Thread overview: 60+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-07-28 23:08 Delete scheduler SD_WAKE_AFFINE and SD_WAKE_BALANCE flags Chen, Kenneth W
2005-07-28 23:08 ` Chen, Kenneth W
2005-07-28 23:34 ` Nick Piggin
2005-07-28 23:34   ` Nick Piggin
2005-07-28 23:48 ` Chen, Kenneth W
2005-07-28 23:48   ` Chen, Kenneth W
2005-07-29  1:25   ` Nick Piggin
2005-07-29  1:25     ` Nick Piggin
2005-07-29  1:39 ` Chen, Kenneth W
2005-07-29  1:39   ` Chen, Kenneth W
2005-07-29  1:46   ` Nick Piggin
2005-07-29  1:46     ` Nick Piggin
2005-07-29  1:53 ` Chen, Kenneth W
2005-07-29  1:53   ` Chen, Kenneth W
2005-07-29  2:01   ` Nick Piggin
2005-07-29  2:01     ` Nick Piggin
2005-07-29  6:27 ` Chen, Kenneth W
2005-07-29  6:27   ` Chen, Kenneth W
2005-07-29  8:48   ` Nick Piggin [this message]
2005-07-29  8:48     ` Nick Piggin
2005-07-29  8:53     ` Ingo Molnar
2005-07-29  8:53       ` Ingo Molnar
2005-07-29  8:59       ` Nick Piggin
2005-07-29  8:59         ` Nick Piggin
2005-07-29  9:01         ` Ingo Molnar
2005-07-29  9:01           ` Ingo Molnar
2005-07-29  9:07     ` Ingo Molnar
2005-07-29  9:07       ` Ingo Molnar
2005-07-29 16:40     ` Ingo Molnar
2005-07-29 16:40       ` Ingo Molnar
2005-07-29 11:48   ` [patch] remove wake-balancing Ingo Molnar
2005-07-29 11:48     ` Ingo Molnar
2005-07-29 14:13     ` [sched, patch] better wake-balancing Ingo Molnar
2005-07-29 14:13       ` Ingo Molnar
2005-07-29 15:02       ` [sched, patch] better wake-balancing, #2 Ingo Molnar
2005-07-29 15:02         ` Ingo Molnar
2005-07-29 16:21         ` [sched, patch] better wake-balancing, #3 Ingo Molnar
2005-07-29 16:21           ` Ingo Molnar
2005-07-30  0:08           ` Nick Piggin
2005-07-30  0:08             ` Nick Piggin
2005-07-30  7:19             ` Ingo Molnar
2005-07-30  7:19               ` Ingo Molnar
2005-07-31  1:15               ` Nick Piggin
2005-07-31  1:15                 ` Nick Piggin
2005-08-01 17:13                 ` Siddha, Suresh B
2005-08-01 17:13                   ` Siddha, Suresh B
2005-08-08 23:18           ` Chen, Kenneth W
2005-08-08 23:18             ` Chen, Kenneth W
2005-07-30 23:26         ` [sched, patch] better wake-balancing, #2 Chuck Ebbert
2005-07-30 23:26           ` Chuck Ebbert
2005-07-31  4:35           ` Con Kolivas
2005-07-31  4:35             ` Con Kolivas
2005-07-31  6:29           ` Ingo Molnar
2005-07-31  6:29             ` Ingo Molnar
2005-07-31 13:35         ` Chuck Ebbert
2005-07-31 13:35           ` Chuck Ebbert
2005-07-29 11:26 ` Delete scheduler SD_WAKE_AFFINE and SD_WAKE_BALANCE flags Ingo Molnar
2005-07-29 11:26   ` Ingo Molnar
2005-07-29 17:30 ` Chen, Kenneth W
2005-07-29 17:30   ` Chen, Kenneth W

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=42E9ED47.1030003@yahoo.com.au \
    --to=nickpiggin@yahoo.com.au \
    --cc=kenneth.w.chen@intel.com \
    --cc=linux-ia64@vger.kernel.org \
    --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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.