The Math of Reliability: Control Hierarchies

The Math of Reliability: Control Hierarchies

Deterministic Processes, Hierarchical Control Systems

SREs are software engineers who primarily focus on software systems. These systems are adaptable and quick to respond to changes.

Cover Image: Functional levels of a Distributed Control System(DCS) by Daniele Pugliesi, CC BY-SA 3.0 creativecommons.org/licenses/by-sa/3.0, via Wikimedia Commons

From this post, I'll start to move away from SRE and share personal insights drawn more from my education (SWE+EE, "Ingegneria Informatica e dell'Automazione", CS and Automation Engineering), personal interests and from my first decade of work (2000-2012), which includes experiences as a consultant, tech lead, or CTO in smaller companies.

Every company, organization, technical system, or individual has specific goals they aim to achieve. Their journey towards these goals takes place within a dynamic system. In reality, these paths are filled with variability, making the process generally unpredictable and influenced by many smaller factors. Since most real-world processes involve feedback loops and uncertainty, they can lead to complex behaviors. The field that studies these systems is known as Cybernetics. Over time, it has expanded into various areas across different disciplines. Nowadays, you rarely hear the term mentioned, and with this fragmentation, we've also lost an holistic, comprehensive view of these topics.

Every company, organization, or technical system worth building in these settings is an actor that exercise control over the trajectory leading to its goals. (In a general sense: this is true even for pure dashboards... their goal is to nudge their users' trajectories toward a more informed state)

When humans create systems with complex behaviors, these systems usually follow certain patterns. We organize control systems in hierarchies.

These patterns may arise from the mathematics of the problems, as we'll soon explore, or from the most efficient methods of accomplishing tasks, and they are ultimately constrained by and reflect our own biology. (If octopuses were the dominant specie, we'd see quite a different structure emerge!)

Deterministic vs. Stochastic processes

I wrote about stochastic processes, let's consider deterministic processes.

If statistical noise leads to such small changes in the output that they don't matter, we're dealing with a deterministic process. These types of problems pop up in many areas of life and in high school or college-level physics. You'd typically solve these problems using difference or differential equations. In their simplest form, they look like this:

$$\begin{align*} y(t+1)-y(t)=f(y(t)) && \text{discrete time}\\ \dot{y}(t)=f(y(t)) && \text{continuous time} \end{align*}$$

Ordinary deterministic processes are simpler to understand than stochastic processes. However, deterministic processes can only approximate their stochastic counterparts under certain conditions.

An interesting question is:

Under what conditions statistical noise does or doesn't matter?

I claim there are two scenarios worth considering (for this practical discussion):

  • When is so small in time or effect compared to the process step or increment that it is small or negligible. This is background noise that when completely negligible gives us a fully deterministic case, and when noise is small but nonzero leads to a non-equilibrium stationary state.

    On Chaos...
    Is this really true? No, but that's what most people think intuitively. I'll expand on the ill effect of this assumption in the near future.
  • Noise can be so significant in both duration and stable enough in magnitude that it becomes a constant or predictable factor over a short-term period. A linear trend that can be in various domains, not just time or space, such as seasonal changes consistent enough to be constant in the frequency domain. The impact of this noise leads to local linear or bounded effects and doesn't significantly affect the variability of trajectories, but just introduce more parallel modes. It also lead to regime switching when these conditions shift.

A more interesting one is:

When do these conditions stop be true?

I'll explore these two cases in detail in follow-up articles.

Control hierarchies

To reach our goals, we need systems that are simple(r) to understand, so we can design and manage them. As we've seen, noise isn't a fixed idea: the definition of noise varies depending on the stochastic process we're considering.

We organize control for both social and technical systems in hierarchies.

Evolutionary forces and principled design choices shape control systems so they adapt to the processes and subprocesses they control, to eliminate as much as possible sources of noise.

If we consider one layer as a reference point:

  • Higher layers of the control hierarchy operate on longer intervals or larger populations, to minimize background noise.

  • Lower layers operate on smaller space or time scales, where the nearly-constant effect of variations make it possible to ignore them or parametrize them away.