3 ms·
> allows us to start applying the mathematical techniques of control theory and dynamical systems theory. I'm skeptical that this approach will bear much fruit
by vitus 4y ago
> allows us to start applying the mathematical techniques of control theory and dynamical systems theory.
I'm skeptical that this approach will bear much fruit beyond, say, implementing a basic PID (more realistically IMO, proportional) controller (e.g. number of active processing threads is high? reject a greater fraction of incoming requests), for a number of reasons:
- In order to apply state-space systems theory, you need to be able to model your system. Not only is your input/output relationship typically highly nonlinear, you also have a heavy mix of discrete and continuous components.
- Oh, and you have stochastic processes at play here too, whether it's modeling arrival times / sizes of HTTP requests or performance characteristics in the underlying hardware, or even that of RPCs / database queries.
- One classic result of systems theory is that input latency leads to oscillation. One constant of distributed systems is message latency (whether due to propagation delay, or due to retransmissions to combat loss).
Most classical systems theory you'll encounter (short of advanced graduate material) applies specifically to linear time-invariant systems. Guess what, we don't write many of those. And even if you have a nonlinear time-invariant system, there are cases where the linearized model isn't guaranteed to behave the same even locally.
I can't even begin to imagine how you'd accurately model anything beyond the simplest systems.
- mjb 4y agoI think that's a reasonable criticism, but I'm more optimistic that there's value here for two reasons. One is that even a "basic proportional" level of control is under-used, and most practitioners don't even go that far into analyzing the dynamic behavior of their systems. The other is that I think that fixing "local" behaviors where systems are linear enough and time invariant enough is likely to have a lot of value. Many of the "hold down" loops are relatively local effects. You're right that a lot of the techniques of classical control theory (both continuous and discrete-time) are hard to directly apply in a distributed systems context today. I do think there's a lot of value in the patterns of thinking, and that future research along those lines is likely to bear fruit (or, at least, be the genesis of better-suited techniques).