OpenBMC Thermal Design

Matthew Barth msbarth at linux.vnet.ibm.com
Thu May 4 00:05:10 AEST 2017


On 05/02/17 4:33 PM, Patrick Venture wrote:
> Fantastic!  Thanks for elaborating.
>
> >> Please elaborate on how the control program will execute it's 
> "pluggable" algorithm?
> > Filling out the associated yaml file for the control application 
> defines how the algorithm will control the fan speeds based on the 
> values, sensors listed, delays, etc.. that will be supported as 
> parameter inputs to the algorithm.
>
> What do you mean by "delays?"
>
No prob, so in our design each temperature sensor that's an input to the 
control algorithm has a defined RPM delta for each degree above or below 
a defined "nominal" temperature range. For each sensor read, the maximum 
RPM delta based on their reported temps are written as the new speed 
target for the zone they are included in. After that occurs, any more 
RPM deltas determined from the sensor readings are ignored for a set 
amount of time(delay), unless the RPM delta is larger than the previous 
RPM change. If that happens, the difference in RPM deltas is then 
written as the new speed target for the zone they are included in again.

Not sure if that describes it well enough, but for example:
Given a core temp's "nominal" temperature range is 75-78C, if that core 
reports a temp of 79C with a defined RPM increase delta of 300rpms per 
degree above, then the fans in the zone containing this core are 
increased 300rpms. After that increase is requested, no increase 
requests 300rpm and less are done until after the delay interval has 
passed. Whereas if another core is reported at 80C, resulting in a 
600rpm increase request during that delay interval, then an additional 
300rpms are added to the previous target and the delay interval 
restarts. After the interval expires it considers all incoming deltas again.

The delay interval is there to help eliminate unnecessary speed change 
requests while the fans are going to their target speed. Also, this 
minimizes the possibility for speed oscillations.

Matt
>
> Patrick
>
>
> On Tue, May 2, 2017 at 2:21 PM, Matthew Barth 
> <msbarth at linux.vnet.ibm.com <mailto:msbarth at linux.vnet.ibm.com>> wrote:
>
>     On 05/02/17 2:33 PM, Patrick Venture wrote:
>>     Please elaborate on the format or layout of the control
>>     configuration file.
>     This will be a yaml file containing the zone and fan definitions
>     with the associated set of parameters that feed into the control
>     algorithm. Currently this contains the zone number, the zone
>     initial speed, and the list of fans(including their inventory
>     path, sensor name, etc...).
>>     Please elaborate on the mechanism planned to import it into
>>     code?  Y'all often use python programs to make c++, will that be
>>     the case here?
>     Correct, that will be the case here as well.
>>     Please elaborate on how the control program will execute it's
>>     "pluggable" algorithm?
>     Filling out the associated yaml file for the control application
>     defines how the algorithm will control the fan speeds based on the
>     values, sensors listed, delays, etc.. that will be supported as
>     parameter inputs to the algorithm.
>>     Please elaborate on how the fans will be controlled?  Will that
>>     be as a group per system or independently per zone?
>     This will be configurable by the yaml file where the fan speeds
>     are set on the zone, which a zone is a group of fans. These zones
>     can be constructed as 1-to-many fans enabling individual fans
>     being controlled or a group of fans being controlled similarly.
>>       -- What is a zone?
>     A grouping of fans
>>
>>     Patrick
>>
>>     On Tue, May 2, 2017 at 11:07 AM, Matthew Barth
>>     <msbarth at linux.vnet.ibm.com <mailto:msbarth at linux.vnet.ibm.com>>
>>     wrote:
>>
>>         Patrick,
>>
>>         As Patrick mentioned a few of us have been working on the fan
>>         control infrastructure currently and wrote up a quick outline
>>         to share our thoughts on the design layout. Let us know if
>>         there are areas you'd like to see more detail.
>>
>>         Matt
>>
>>
>
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ozlabs.org/pipermail/openbmc/attachments/20170503/f2ffb1ef/attachment-0001.html>


More information about the openbmc mailing list