27.11.2024; Vortrag
Echtzeit-AGOptimized Marshaling for IPC
Inter-process communication requires that all exchanged data is
encoded such that its receiver is able to interpret it well. Since
the internal data presentation of a process is specific to its
underlying language runtime and hardware, messages need to be
marshaled, i.e. transformed into the receiver's native format during
transfer.
In distributed and embedded applications, marshaling can take up a
significant amount of time and energy. Therefore we look at the
current state of marshaling frameworks with a focus on performance.
While previous approaches apply optimizations to the generated stub
code, the overall system performance is limited by the use of a fixed
common wire format that in some situations might lead to unnecessary
data transformations. Further, as a tradeoff between message-size and
marshaling overhead, the optimal choice of a wire format depends on
the system configuration (CPU speed, network bitrate) and the desired
optimization goals (throughput, latency, energy consumption).
We analyze the requirements for a system that is able to optimize
marshaling paths on a per-connection basis such that the required
transformation work is minimized or traded for reduced message size in
a way that benefits the overall system performance.