Asynchronous behavior and local information
The distinction between level-triggered and edge-triggered is pretty interesting. It’s an important concept in async I/O, and what it refers to is the mode of triggering. The first one triggers on level, something like layers; to put it as a metaphor about concentration, as long as the system’s external environment stays at a particular level, it keeps firing notifications. The second one fires once, only at the moment the situation changes. The two are really two different triggering behaviors under one and the same pattern of state change. LT goes by level, with the subject tied to the level, so at level A it keeps sending, at level B it sends less, at level C it doesn’t send. ET refers to the instant of the switch, A to B, a change happens here, send once; B to C, a change happens here, send again.
The way I see it, all of this is really there to explain the alignment problem for local information. Applying the bureaucracy analogy I used earlier in Distributed systems, it’s the problem of the county magistrate counting for less than the clerk who actually handles your case. The two sides act asynchronously, and because the information they hold (state is a kind of information too) is out of place, their behavior ends up out of place. The magistrate doesn’t know what the clerk did, so he makes a wrong decision; the other way around, the clerk doesn’t know about the new order the magistrate handed down, so he takes a wrong action. Alignment is always a shared problem for actors who only hold local information, and not just in programs, in human social activity too, which is where the two show the isomorphism of multi-body systems. So I’ve been thinking about whether their approaches to a solution are also somewhat similar structurally. From what we’ve seen before, that similarity does exist. I wouldn’t say distributed software engineering equals human society, but knowledge about multi-body systems can still transfer to some extent.
Translation note. I wrote this in Chinese. This English version is an LLM translation, so the wording is not mine even though the thinking is. Original: 异步行为与局部信息.