[HN Gopher] PID Controller for controlling the number of servers...
___________________________________________________________________
 
PID Controller for controlling the number of servers in a data-
center
 
Author : se4u
Score  : 27 points
Date   : 2021-07-04 20:07 UTC (2 hours ago)
 
web link (gist.github.com)
w3m dump (gist.github.com)
 
| chrisbolt wrote:
| Useful if you've never heard of PID controller:
| https://en.wikipedia.org/wiki/PID_controller
 
| [deleted]
 
| lmilcin wrote:
| Why not something more intelligent than PID?
| 
| Control theory knows a lot more algorithms. PID is arguably
| simple to implement but is not particularly good algorithm.
| 
| It kinda seems to me as if everybody red only the first page on
| control theory and decided they don't need to read further and
| base their solution on it.
| 
| PID will basically have you experience either large overshoots
| (which you will experience as overcorrecting to changes in
| demand) or slow adaptation to changes.
| 
| There is also possibility that your system changes and your PID
| parameters will cause the whole controller to misbehave.
| 
| I have implemented a controller for espresso machine boiler water
| temperature. Replacing PID with moving horizon estimator allowed
| me to cut time from startup until stable temperature by at least
| half and eliminate any measurable over or undershoots.
 
  | haolez wrote:
  | PID is often good enough and more robust than ad hoc algorithms
  | to do the same.
 
    | lmilcin wrote:
    | PID is poor algorithm in this case because there is
    | relatively large delay between signal to spin up a server and
    | observed effect of it. PID requires a lot of iterations to
    | stabilize, which multiplied by delay will require a lot of
    | time.
    | 
    | A model predictive controller will need much less iterations
    | because it would actually try to predict number of servers
    | necessary based on some kind of model of the server farm.
    | 
    | Parameters for that model can even be learned/adjusted over
    | time, automatically.
 
  | jameshart wrote:
  | PID is a damn sight more sophisticated than most datacenter
  | dynamic capacity control algorithms - most autoscalers barely
  | even qualify as 'bang bang' controllers - they detect a need
  | for more capacity, and add nodes at some artificially
  | constrained rate until capacity is reached or they hit a max
  | cluster size limit. Even rudimentary control theory is an
  | improvement.
  | 
  | Of course the problem with applying PID to server capacity is
  | that compute resources come in discrete chunks that are slow to
  | bring online ('computers') rather than being a continually
  | variable resource.
 
    | lmilcin wrote:
    | I guess progress _must_ be made in small steps... sigh...
 
    | whatshisface wrote:
    | If you have enough of anything it starts acting continuous.
 
  | keithnz wrote:
  | as soon as I saw the title I thought, "huh, that really doesn't
  | sound like a good idea". It would likely be over sensitive or
  | under sensitive and likely require lots of continual tweaking
  | with the tuning. Not to mention the discrete step wouldn't be
  | smoothed out till you have quite a lot of server resources in
  | play.
 
___________________________________________________________________
(page generated 2021-07-04 23:00 UTC)