lkml.org 
[lkml]   [2009]   [Apr]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [RFC PATCH v1 0/3] Saving power by cpu evacuation using sched_mc=n
From
Date
On Mon, 2009-04-27 at 19:50 +0530, Vaidyanathan Srinivasan wrote:
> * Peter Zijlstra <a.p.zijlstra@chello.nl> [2009-04-27 12:09:14]:

> > The whole thing seems to be targeted at thermal management, not power
> > saving. Therefore using the power saving stuff is backwards.
>
> The framework is useful for power savings and thermal management.
> Actually we can generalise this a framework to throttle cores.

To what purpose?

> Power savings need only core evacuation, kernel can decide the most
> optimum cores to evacuate for best power savings. While in thermal
> management we will additional need a 'vector' parameter to direct the
> load to different parts of the system and level the heat generated.

Power saving should not generate idle, it should just accumulate idle in
the most favourable way.

Thermal management must generate idle to avoid hardware breakdown etc.
Does it really need more than a single max_thermal_capacity knob? That
is, does it really matter which die in the machine generates the heat?

If so, why?

> > Provide a knob that provides max_thermal_capacity, and schedule
> > accordingly.
>
> Yes, we can pick a generic name and use this as a function of total
> system capacity to indicate number of cores to evacuate.

No, it should be in a thermal unit, not nr of cores.

> > FWIW I utterly hate these force idle things because they cause the
> > scheduler to become non-work conserving, but I have to concede that
> > software will likely be more suited to handle the thermal overload issue
> > than hardware will ever be -- so for that use case I'm willing to go
> > along.
>
> Yes, I agree with your opinion. However if we can come up with
> a clean framework to take cores out of scheduler's view, then the work
> conserving nature of the scheduler can be preserved on the sub-set of
> cores. Inserting idle states is more intrusive than leaving out full
> cores.

Not really, when you consider the machine (or load-balance domain)
taking out a few cores it still non-work preserving as you take away
capacity.

I'm against taking out capacity for anything other than thermal
management -- full stop.

> > Also, the user interface should be that single thermal capacity knob,
> > more fine grained control is undesired.
>
> For power savings, a single evacuation knob will do. While for
> thermal we will need additional parameters to choose the right cores
> to evacuate. Some sort of directional/vector parameter.

Why? are machines that non-uniform in cooling capacity that it really
matters which core generates the heat? Sounds like badly designed
hardware to me.

I would expect it to only be the total head generated/power taken from
the rack unit.

> > Also, before you continue, expand on the interaction with realtime
> > processes.
>
> Sure. We will run into complications with respect to realtime
> scheduling. You had earlier pointed out a need for variable cpu power
> to achieve fairness for non-realtime tasks in the presence of realtime
> tasks. We should re-visit that idea.

There is that, another point is load generated by SCHED_OTHER tasks
pushing the machine in thermal overload should not shut down the
capacity needed for the real-time tasks.




\
 
 \ /
  Last update: 2009-04-28 10:37    [W:0.063 / U:0.380 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site