-
Notifications
You must be signed in to change notification settings - Fork 505
Replication message overhead, especially for ACK. #1636
Comments
A quick counter of https://github.com/cmu-db/noisepage/blob/master/src/messenger/messenger.cpp#L526 |
In terms of reading these pictures which number is the payload and which is the overall message size? I thinking switching to a smaller data serialization format like protobuf would probably help with individual message size, which is something I'd like to try next semester. |
@jkosh44 First line, |
A quick thought is maybe you can just introduce a new |
Ahh ok, I think I misunderstood then. So the non-data bytes are things like TCP headers? In that case protobuf would reduce payload/non-payload ratio but not help with non-payload data per message. I like the idea of a One option would be for the Though I don't think separating |
A separate optimization is that we can assume messages are not lost by default, which means that we don't need to ACK the majority of messages. |
The message payload is a very small fraction of the overall message.
Here's an example of an ACK:
It is not as bad, but still somewhat bad, for lengthier messages such as TXN_APPLIED. Note that we could theoretically Huffman encode the keys or whatever and significantly shrink the message size, which brings us back to the ACK case:
To fix this, we should examine batching messages, or maintaining a channel to send small messages over.
The text was updated successfully, but these errors were encountered: