Fast Binary Serialization for Grid Systems with XBS

T. Devadithya and K. Chiu (USA)


Binary Protocols, streaming, serializer, scientific data, grid systems


The efficient serialization and deserialization of data is a fundamental operation in many grid systems. Some serializers are message-based, while others are stream based with no inherent message boundaries. Streaming serializers can be more scalable and flexible than message-oriented serializers, by promoting free form conversations not fixed to any particular static structure. This paper presents the design and implementation of the XBS binary serializer, focusing on three important features: efficient serialization of large and small arrays, efficient pass-through of opaque data by grid intermediaries, and efficient representation of numbers with a large dynamic range. The first feature is important because such arrays dominate scientific computing. The second feature is useful for grid intermediaries such as gateways and proxies, which are becoming ever more important as grid systems become more complex, and focus support on legacy applications. The third feature is important for efficiently supporting systems without arbitrary size limits. XBS is a freely-available C++ library and provides an object-oriented API, based on generic programming techniques.

Important Links:

Go Back