Network appliances continue to offer novel opportunities to offload processing from computing nodes directly into the data plane. One popular desideratum of network operators and their customers is to move data increasingly faster. A common technique to increase data throughput is to compress it before its transmission. However, this requires compression of the data—a time and energy demanding pre-processing phase—and decompression upon reception—a similarly resource consuming operation. Moreover, if multiple nodes transfer similar data chunks across the network hop (e.g., a given pair of switches), each node effectively wastes resources by executing similar steps. This paper proposes ZipLine, an approach to design and implement (de)compression at line speed leveraging the Tofino hardware platform and its companion P4_16 programming language. We report on lessons learned while building the system and show throughput and compression measurements for synthetic traces that showcase the benefits and trade-offs of our design.
Original language
English
Title of host publication
CoNEXT '20: Proceedings of the 16th International Conference on emerging Networking EXperiments and Technologies