PHRYCTORIA: A Messaging System for Transprecision OpenCAPI-attached FPGA Accelerators
Abstract
Messaging frameworks are prevalent in distributed software systems as they simplify the exchange of data between applications running on different platforms. Messages are serialized and deserialized to transform user data structures into binary data for sending across the network. In a similar spirit, modern heterogenous computing platorms typically containing FPGAs can also profit from such messaging frameworks. Efficient compact serialization of data types is needed to take full advantage of the high throughput communication links. Transprecision extensions of FPGA replace native data types with novel low-precision data types. Transprecision extensions are shown to result in less-compact serializations. In this paper, we present a messaging framework for transprecision hardware accelerators which supports messages expressed in Protobuf and automatically generates serialization and deserialization functions. Our messageing framework leverages the varint encoding of Protocol buffers for efficient serialization and deserialization of transprecision data types. Evaluation results show that it can increase the effective throughput of OpenCAPI by up to 7.4x for various transprecision data-types.