Boost logo

Boost Users :

Subject: [Boost-users] [Serialization] Speedding up client-server communication
From: Ruediger Berlich (ruediger.berlich_at_[hidden])
Date: 2010-02-04 19:22:17


Hi there,

I am in the process of speeding up communication between a server and its
clients. Communication involves serialized class data. Messages can be as
large as 100 kilobytes.

I have done some measurements which have shown that, in a cluster with
Gigabit networking, most overhead of the parallelisation seems to come from
the Broker infrastructure and the process of (de-)serialization. Network
latency and/or bandwidth seems to play only a minor role in this
environment.

Hence, apart from optimizing my broker, I'm looking for ways to optimize the
serialization process, as used in my application. As messages are discarded
as soon as they reach the recipient, versions of serialized data do not play
an important role.

Apart from decreasing the frequency and size of data exchanges and using
binary transfers in a homogeneous environment, another way of speeding up
the application seems to be the "Class Information" section discussed e.g.
in http://www.boost.org/doc/libs/1_41_0/libs/serialization/doc/special.html
.

Also, BOOST_IS_BITWISE_SERIALIZABLE(my_class) might help. One question I
have about this is whether a std::vector<POD> would be accessible to this
optimization ? I use quite a few of them.

Do you have further suggestions for ways of influencing the
Boost.Serialization library ?

Thanks and Best Regards,
Ruediger


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net