Fri May 10 08:12:28 EDT 2019

Distributed systems and "mirroring"

Compared to shared state systems, in message-only systems there is
usually some form of state mirroring going on, where one task mirrors
some of the state of another task.

This always feels like red tape when implementing.  The duplication of
state is often quite visible in the duplication of code.

Is there a way to make that less of an issue?  I.e. can both sides
share some code and representation that creates actual duplicates of
code structures?

Basically, the idea is is that the local version of object oriented
programming is valuable as a thing in itself.  It is an implementation
detail however: it is object access without comminication overhead,
e.g. just function calls.

It might actually be useful to implement both behind the same
interface, e.g. render a direct C struct access method and an RPC
protocol with marshalling from the same code.

This goes back to most state being caches.