From: Vaidyanathan Srinivasan <svaidy@linux.vnet.ibm.com>
To: David Collier-Brown <David.Collier-Brown@Sun.COM>
Cc: Linux Kernel <linux-kernel@vger.kernel.org>,
Suresh B Siddha <suresh.b.siddha@intel.com>,
Venkatesh Pallipadi <venkatesh.pallipadi@intel.com>,
Peter Zijlstra <a.p.zijlstra@chello.nl>,
Ingo Molnar <mingo@elte.hu>, Dipankar Sarma <dipankar@in.ibm.com>,
Balbir Singh <balbir@linux.vnet.ibm.com>,
Vatsa <vatsa@linux.vnet.ibm.com>,
Gautham R Shenoy <ego@in.ibm.com>,
Andi Kleen <andi@firstfloor.org>,
David Collier-Brown <davecb@Sun.COM>,
Tim Connors <tconnors@astro.swin.edu.au>,
Max Krasnyansky <maxk@qualcomm.com>,
Gregory Haskins <gregory.haskins@gmail.com>
Subject: Re: [RFC PATCH v4 1/7] sched: Framework for sched_mc/smt_power_savings=N
Date: Sat, 22 Nov 2008 23:36:21 +0530 [thread overview]
Message-ID: <20081122180621.GA5441@dirshya.in.ibm.com> (raw)
In-Reply-To: <49270FF3.6080302@sun.com>
* David Collier-Brown <David.Collier-Brown@Sun.COM> [2008-11-21 19:45:55]:
> Vaidyanathan Srinivasan wrote:
> > From: Gautham R Shenoy <ego@in.ibm.com>
> >
> > *** RFC patch of work in progress and not for inclusion. ***
> >
> > Currently the sched_mc/smt_power_savings variable is a boolean, which either
> > enables or disables topology based power savings. This extends the behaviour of
> > the variable from boolean to multivalued, such that based on the value, we
> > decide how aggressively do we want to perform topology based powersavings
> > balance.
> >
> > Variable levels of power saving tunable would benefit end user to match the
> > required level of power savings vs performance trade off depending on the
> > system configuration and workloads.
> >
> > This initial version makes the sched_mc_power_savings global variable to take
> > more values (0,1,2).
>
> Might I suggest a dimensioned number rather than a relative one?
> One might say that 100 represents the full power of a system, meaning
> that all chips/cores are running at full speed, whereas 50 means that
> the power system would attempt to halve the resources available, and
> would return a value that represents the value that the power system
> believes it has achieved. For example, if it could only reduce the
> clock speed by 10%, on a old uniprocessor, it would return 90.
Ideally we would like to have such a metric :) However practically
the power savings and performance tradeoff depends on
1) System configuration (topology, cpu type, cpu features)
2) Workload -- memory bound, IO bound, cpu bound
3) Environment -- system temperature
and many more dimensions that we have not considered yet!
What you are asking for may have been possible if the CPUs were very
simple and performance and power directly corresponded to operating
frequency. Modern CPUs have very widely varying operating
characteristics that greatly depend on workload type. Hence deriving
a metric for power vs performance tradeoff will be very inaccurate and
useless.
We may be able to design the framework in such a way that each level
of settings will provide increasing levels of power savings with
little or no performance impact (depending on the workload).
Power consumption at sched_mc=0 > sched_mc=1 > sched_mc=2 but not in
linear scale.
Also, this is only one of the component of the power saving tunables.
There are various governor settings and platform setting that may
affect the power consumption.
> An additional, second value it might return might be the power
> reduction it believed it had achieved.
Measuring the actual power being consumed will be useful for sys
admins to choose the correct settings. However this is platform
dependent and best left to the platform management tools as compared
to generic scheduler.
We would expect the end user to use the platform management tools to
collect and trend the power consumption data and correlate with the
power saving tunables to decide the best power vs performance
tradeoffs.
> These, by the way, are what my Tadpole GUI shows (;-)) so I'm just
> following someone else's lead.
Can you please provide more details. I could not get a google hit on
the Tadpole GUI which is relevant to this discussion.
Thanks,
Vaidy
next prev parent reply other threads:[~2008-11-22 18:02 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-11-21 8:30 [RFC PATCH v4 0/7] Tunable sched_mc_power_savings=n Vaidyanathan Srinivasan
2008-11-21 8:30 ` [RFC PATCH v4 1/7] sched: Framework for sched_mc/smt_power_savings=N Vaidyanathan Srinivasan
2008-11-21 19:45 ` David Collier-Brown
2008-11-22 18:06 ` Vaidyanathan Srinivasan [this message]
2008-11-21 8:31 ` [RFC PATCH v4 2/7] sched: favour lower logical cpu number for sched_mc balance Vaidyanathan Srinivasan
2008-11-21 8:31 ` [RFC PATCH v4 3/7] sched: nominate preferred wakeup cpu Vaidyanathan Srinivasan
2008-11-23 2:03 ` Peter Zijlstra
2008-11-24 6:14 ` Vaidyanathan Srinivasan
2008-11-21 8:31 ` [RFC PATCH v4 4/7] sched: bias task wakeups to preferred semi-idle packages Vaidyanathan Srinivasan
2008-11-21 8:31 ` [RFC PATCH v4 5/7] sched: activate active load balancing in new idle cpus Vaidyanathan Srinivasan
2008-11-21 8:31 ` [RFC PATCH v4 6/7] sched: re-tune balancing -- revert Vaidyanathan Srinivasan
2008-11-21 8:31 ` [RFC PATCH v4 7/7] sched: fine-tune SD_MC_INIT " Vaidyanathan Srinivasan
2008-11-23 2:09 ` [RFC PATCH v4 0/7] Tunable sched_mc_power_savings=n Peter Zijlstra
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=20081122180621.GA5441@dirshya.in.ibm.com \
--to=svaidy@linux.vnet.ibm.com \
--cc=David.Collier-Brown@Sun.COM \
--cc=a.p.zijlstra@chello.nl \
--cc=andi@firstfloor.org \
--cc=balbir@linux.vnet.ibm.com \
--cc=davecb@Sun.COM \
--cc=dipankar@in.ibm.com \
--cc=ego@in.ibm.com \
--cc=gregory.haskins@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=maxk@qualcomm.com \
--cc=mingo@elte.hu \
--cc=suresh.b.siddha@intel.com \
--cc=tconnors@astro.swin.edu.au \
--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 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.