Optimus Prime: Accelerating Data Transformation in Servers
Modern online services are shifting away from monolithic applications to loosely-coupled microservices because of their improved scalability, reliability, programmability and development velocity. Microservices communicating over the datacenter network require data transformation (DT) to convert messages back and forth between their internal formats. This work identifies DT as a bottleneck due to reductions in latency of the surrounding system components, namely application runtimes, protocol stacks, and network hardware. We therefore propose Optimus Prime (OP), a programmable DT accelerator that uses a novel abstraction, an in-memory schema, to represent DT operations. The schema is compatible with today's DT frameworks and enables any compliant accelerator to perform the transformations comprising a request in parallel. Our evaluation shows that OP's DT throughput matches the line rate of today's NICs and has 60x higher throughput compared to software, at a tiny fraction of the CPU's silicon area and power. We also evaluate a set of microservices running on Thrift, and show up to 30% reduction in service latency.
asplos20-op-pourhabibi.pdf
Preprint
openaccess
740.28 KB
Adobe PDF
8e7ea85e7256bc8e6d07fef113685be3
asplos20-op-pourhabibi-acm.pdf
Publisher's version
restricted
Copyright
1.22 MB
Adobe PDF
1ff23644596ac6ccdd79b4644cc1561e