[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)
        
 (HTM) web link (gist.github.com)
 (TXT) 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)