Repository navigation
HIP 0008: Postcard serialization for host-guest messages - #1999
Conversation
Signed-off-by: Ludvig Liljenberg <4257730+ludfjig@users.noreply.github.com>
There was a problem hiding this comment.
🟡 Changes recommended
The proposal leaves handling of events larger than 4 KiB undefined and omits the snapshot ABI bump and regeneration requirements needed to prevent incompatible snapshots from being resumed.
2 open issues
What changed in this PR
HIP 0008 proposes replacing FlatBuffers with serde and postcard for Hyperlight’s host-guest control messages. This PR contains the design proposal only, not an implementation.
Changes:
- Defines message types, a control-data length field, and trace batching while preserving external byte payloads.
- Describes removing FlatBuffers tooling and generated code.
- Presents preliminary performance results, drawbacks, and alternatives.
| File | Description |
|---|---|
proposals/0008-postcard-serialization/README.md |
Documents the serialization proposal, wire format, benchmarks, and tradeoffs. |
Review effort: Balanced
andreiltd
left a comment
There was a problem hiding this comment.
That was an easy read. Postcard seems like a good candidate for the wire format. IIUC the proposal keeps byte payloads outside the control plane using external bytes, so serialization/deserialization performance isn't much of a concern, as all control messages are expected to be relatively small.
I wonder if you considered the timing for landing this work and fixing: #1987 ?
jsturtevant
left a comment
There was a problem hiding this comment.
couple questions but I like the motivation section, helps understand why we would want to do this!
yoshuawuyts
left a comment
There was a problem hiding this comment.
One question, but otherwise this seems good to me. Thanks @ludfjig!
Signed-off-by: Ludvig Liljenberg <4257730+ludfjig@users.noreply.github.com>
jprendes
left a comment
There was a problem hiding this comment.
This looks great, thanks for putting it together @ludfjig !
In the future I would like to decouple all the data-plane stuff from the control-plane, using external bytes and a customizable serialization.
This proposal to change to serde + postcard is a big enablement for that work!

Rendered