Abstract | ||
---|---|---|
ABSTRACTSerialization frameworks are a fundamental component of scale-out systems, but introduce significant compute overheads. However, they are amenable to acceleration with specialized hardware. To understand the trade-offs involved in architecting such an accelerator, we present the first in-depth study of serialization framework usage at scale by profiling Protocol Buffers (“protobuf”) usage across Google’s datacenter fleet. We use this data to build HyperProtoBench, an open-source benchmark representative of key serialization-framework user services at scale. In doing so, we identify key insights that challenge prevailing assumptions about serialization framework usage. We use these insights to develop a novel hardware accelerator for protobufs, implemented in RTL and integrated into a RISC-V SoC. Applications can easily harness the accelerator, as it integrates with a modified version of the open-source protobuf library and is wire-compatible with standard protobufs. We have fully open-sourced our RTL, which, to the best of our knowledge, is the only such implementation currently available to the community. We also present a first-of-its-kind, end-to-end evaluation of our entire RTL-based system running hyperscale-derived benchmarks and microbenchmarks. We boot Linux on the system using FireSim to run these benchmarks and implement the design in a commercial 22nm FinFET process to obtain area and frequency metrics. We demonstrate an average 6.2 × to 11.2 × performance improvement vs. our baseline RISC-V SoC with BOOM OoO cores and despite the RISC-V SoC’s weaker uncore/supporting components, an average 3.8 × improvement vs. a Xeon-based server. |
Year | DOI | Venue |
---|---|---|
2021 | 10.1145/3466752.3480051 | MICRO |
DocType | Citations | PageRank |
Conference | 1 | 0.34 |
References | Authors | |
0 | 8 |
Name | Order | Citations | PageRank |
---|---|---|---|
Sagar Karandikar | 1 | 58 | 5.94 |
Chris Leary | 2 | 1 | 0.34 |
Chris Kennelly | 3 | 1 | 0.34 |
Jerry Zhao | 4 | 10 | 1.57 |
Dinesh Parimi | 5 | 1 | 0.34 |
Borivoje Nikolić | 6 | 101 | 16.22 |
Krste Asanović | 7 | 2975 | 226.80 |
Parthasarathy Ranganathan | 8 | 3316 | 230.61 |