Apr 04, 2025; Colloquium
Echtzeit-AGDynamically Transforming Ladder-Typed Data for Efficient IPC
Inter-process communication in distributed software systems requires
marshaling, i.e. methods to encode/decode data for transmission.
Traditional approaches rely on fixed wire formats, which may lead to
unnecessary transformations and suboptimal balancing of transformation
work, particularly under varying network setups and hardware
constraints. Further, resource-constrained devices may be unable to
support frameworks like Protobuf due to their memory requirements.
We propose a system that is able to optimize marshaling on a
per-connection basis, such that firstly overall transformation overhead
is minimized and secondly the required transformation work is balanced
among the nodes to improve overall system performance: The ladder-typed
data morphing compiler (ldmc) creates semantically preserving
transformation code for arbitrary data structures and their
representations based on a description through ladder types.
Given a description of the internal data formats used on both ends of
the communication channel, this results in marshaling code that is
optimized to go directly to the receivers format whithout the use of
some fixed intermediary format.
The proposed system is demonstrated on an example application of data
collection and analysis from a smart sensor network. Using metrics like
required code size and runtime overhead for encoding/decoding, message
size and transmission latency, we compare our system against
state-of-the-art marshaling solutions.