@inproceedings{raghavan2023cornflakes, author = {Raghavan, Deepti and Ravi, Shreya and Yuan, Gina and Thaker, Pratiksha and Srivastava, Sanjari and Murray, Micah and Penna, Pedro Henrique and Ousterhout, Amy and Levis, Philip and Zaharia, Matei and Zhang, Irene}, title = {Cornflakes: Zero-Copy Serialization for Microsecond-Scale Networking}, booktitle = {SOSP 2023}, year = {2023}, month = {October}, abstract = {Data serialization is critical for many datacenter applications, but the memory copies required to move application data into packets are costly. Recent zero-copy APIs expose NIC scatter-gather capabilities, raising the possibility of offloading this data movement to the NIC. However, as the memory coordination required for scatter-gather adds bookkeeping overhead, scatter-gather is not always useful. We describe Cornflakes, a hybrid serialization library stack that uses scatter-gather for serialization when it improves performance and falls back to memory copies otherwise. We have implemented Cornflakes within a UDP and TCP networking stack, across Mellanox and Intel NICs. On a Twitter cache trace, Cornflakes achieves 15.4% higher throughput than prior software approaches on a custom key-value store and 8.8% higher throughput than Redis serialization within Redis.}, url = {http://approjects.co.za/?big=en-us/research/publication/cornflakes-zero-copy-serialization-for-microsecond-scale-networking/}, }