On 3/15/12 4:25 PM, Manik Surtani wrote:
On 15 Mar 2012, at 04:31, Bela Ban wrote:
> If we touch a lot of keys, then sending *all* of the keys to all owners
> may be sub-optimal; as an optimization, we may want to send only the
> keys to the nodes which need to store them. This would make the PREPARES
> potentially much smaller.
Not really - if we are sending different prepares to different nodes (containing
different writes) then the serialisation overhead goes up since each recipient gets a
different byte buffer. In the current case we reuse the byte buffer.
In my experience, serialization is never the bottleneck, it is
*de-serialization*, so this shouldn't be a problem. Also, I don't see
why serialization of keys [1..9] shouldn't take roughly the same time as
serialization of keys [1..3], [4..6], [7..9].
If we have a TX which touches a lot of keys, unless we break the key set
down into their associated targets, we would have to potentially
transfer a *big* state !
--
Bela Ban, JGroups lead (
http://www.jgroups.org)