public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Andi Kleen <andi@firstfloor.org>
To: dipankar@in.ibm.com
Cc: balbir@linux.vnet.ibm.com,
	Linux Kernel <linux-kernel@vger.kernel.org>,
	Suresh B Siddha <suresh.b.siddha@intel.com>,
	Venkatesh Pallipadi <venkatesh.pallipadi@intel.com>,
	Ingo Molnar <mingo@elte.hu>,
	Peter Zijlstra <a.p.zijlstra@chello.nl>,
	Vatsa <vatsa@linux.vnet.ibm.com>,
	Gautham R Shenoy <ego@in.ibm.com>
Subject: Re: [RFC v1] Tunable sched_mc_power_savings=n
Date: Fri, 27 Jun 2008 10:03:06 +0200	[thread overview]
Message-ID: <48649EBA.5010403@firstfloor.org> (raw)
In-Reply-To: <20080627045401.GC26167@in.ibm.com>

Dipankar Sarma wrote:
> On Thu, Jun 26, 2008 at 11:37:08PM +0200, Andi Kleen wrote:
>> Dipankar Sarma wrote:
>>
>>> Some workload managers already do that - they provision cpu and memory
>>> resources based on request rates and response times. Such software is
>>> in a better position to make a decision whether they can live with
>>> reduced performance due to power saving mode or not. The point I am
>>> making is the the kernel doesn't have any notion of transactional
>>> performance 
>> The kernel definitely knows about burstiness vs non burstiness at least
>> (although it currently has no long term memory for that). Does it need
>> more than that for this? Anyways if nice levels were used that is not
>> even needed, because it's ok to run niced processes slower.
>>
>> And your workload manager could just nice processes. It should probably
>> do that anyways to tell ondemand you don't need full frequency.
> 
> The current usage of this we are looking requires system-wide
> settings. That means nicing every process running on the system.
> That seems a little messy. 

Is it less messy than the letting applications negotiate
for the best policy by themselves as someone else suggested on the thread?

> Secondly, even if you nice the processes
> they are still going to be spread all over the CPU packages
> running at lower frequencies due to nice. 

My point was that this could be fixed and you could use nice
(or another per process parameter if you prefer)
as an input to load balancer decisions.

> Using nice, you can force lowering of frequency - but you can do that
> using userspace governor as well - no need to mess with process
> priorities.


> We are talking about a different optimization here - something
> that will give more benefits in powersave mode when you have large
> systems.

Yes it's a different optimization (although the over all theme -- power saving
-- is the same), but is there a real reason it cannot be driven from the
same per process heuristics instead of your ugly global sysctl?

>>>>> In a small-scale datacenters, peak and off-peak hour settings can be
>>>>> potentially done through simple cron jobs.  
>>>> Is there any real drawback from only controlling it through nice levels?
>>> In a system with more than a couple of sockets, it is more beneficial
>>> (power-wise) to pack all work in to a small number of processors
>>> and let the other processors go to very low power sleep. Compared 
>>> to running tasks slowly and spreading them all over the processors.
>> You answered a different question?
> 
> The point is that grouping tasks into small number of sockets is
> more effective than nicing which may still spread the tasks all
> over the sockets. 

Sorry you completely misunderstood me. I know the principle
behind the socket grouping.  And yes it's a different mechanism
from cpu frequency scaling.

My point was just that the heuristics
used by one power saving mechanism (ondemand) could be used
for the other too (socket grouping) -- and it would be certainly
a far saner interface than a global sysctl!.

-Andi

  reply	other threads:[~2008-06-27  8:03 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-06-25 19:11 [RFC v1] Tunable sched_mc_power_savings=n Vaidyanathan Srinivasan
2008-06-26 13:49 ` Andi Kleen
2008-06-26 15:01   ` Dipankar Sarma
2008-06-26 18:31     ` Vaidyanathan Srinivasan
2008-06-26 15:01   ` Balbir Singh
2008-06-26 18:08     ` Andi Kleen
2008-06-26 18:52       ` Vaidyanathan Srinivasan
2008-06-26 19:37         ` David Collier-Brown
2008-06-27  6:50           ` Vaidyanathan Srinivasan
2008-06-26 20:17         ` Andi Kleen
2008-06-26 21:00           ` Dipankar Sarma
2008-06-26 21:37             ` Andi Kleen
2008-06-26 21:43               ` Peter Zijlstra
2008-06-26 22:38                 ` Andi Kleen
2008-06-27  6:24                   ` Vaidyanathan Srinivasan
2008-06-27  7:51                   ` Peter Zijlstra
2008-06-27  8:06                     ` Andi Kleen
2008-06-28 11:35                       ` Tim Connors
2008-06-28 11:55                         ` Andi Kleen
2008-06-28 12:22                       ` Matthew Garrett
2008-06-28 12:36                         ` Andi Kleen
2008-06-28 12:53                           ` Matthew Garrett
2008-06-28 11:22                   ` Tim Connors
2008-06-29 18:02                     ` David Collier-Brown
2008-06-30  4:57                       ` Vaidyanathan Srinivasan
2008-06-30  5:55                         ` Tim Connors
2008-06-30 14:18                         ` David Collier-Brown
2008-06-30 14:31                           ` Andi Kleen
2008-06-27  4:54               ` Dipankar Sarma
2008-06-27  8:03                 ` Andi Kleen [this message]
2008-06-30 16:10                   ` Dipankar Sarma
2008-06-27  7:19           ` Vaidyanathan Srinivasan
2008-06-27  4:15       ` Balbir Singh
2008-06-27  8:08 ` KOSAKI Motohiro
2008-06-27  8:50   ` Vaidyanathan Srinivasan
2008-06-27 12:54   ` David Collier-Brown

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=48649EBA.5010403@firstfloor.org \
    --to=andi@firstfloor.org \
    --cc=a.p.zijlstra@chello.nl \
    --cc=balbir@linux.vnet.ibm.com \
    --cc=dipankar@in.ibm.com \
    --cc=ego@in.ibm.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    --cc=suresh.b.siddha@intel.com \
    --cc=vatsa@linux.vnet.ibm.com \
    --cc=venkatesh.pallipadi@intel.com \
    /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