[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)