Control theory in software systems

2021-07-04

Note: this post is more of a series of questions, rather than answers. If you know the answers to these questions, please email me.

Since my education background is in mechanical engineering, I've had some contact with control theory. Most of this involves applying manually-tuned PID controllers to motors and robots. I've also dabbled a bit with feed-forward PID controllers in the control of the Mach number of a supersonic wind tunnel, although that work remained somewhat incomplete, as I didn't really finish testing my feed-forward controller due to the high cost of testing such a system. All this is to say that: while I'm not a controls engineer by any stretch of the words, I think I understand how control theory can be extremely useful for building "intelligent" behavior into different systems.

While control theory is obviously useful in things like motor and chemical process controls, I have yet to see it widely applicable in software systems. Within software systems designed for the Internet, I feel that a number of places can benefit from the application of control theory, but I haven't seen any one do it. Some of these places includes:

I've attempted to look at some of these in the past, but I've always ran into a combination of these problems:

From my experience, it feels like most people working in the field are unaware of control theory and its applications (this really also includes myself; also I could have a very large bias, as my sample size is small). Recently, this topic came up on Hacker News[1]. The comments appears to support both my hypothesis that control theory can be useful and that most in the industry people are unaware of it. It also tells me that at least a few people other than me have thought about this, which is a great comfort as I feel very under-qualified to comment on this subject at the present[2].

Also, given that control theory and optimization are closely related to machine learning, and machine learning is all the rage these days: in which area(s) are the people applying control theory and optimization to problems similar to this?

I suppose this is something I'll have to look into a bit more...

[1] Hacker News comments on PID Controller for controlling the number of servers in a data center

[2] This whole post feels like this XKCD comic, with me being the guy suggesting the logarithm...

Tags: software, math, controls, idea

Home

Comments? Email me at shuhao >at< shuhaowu <dot> com.