Optimus Prime: Accelerating Data Transformation in Servers
Session: Accelerators--Holding hands!
Authors: Arash Pourhabibi (EcoCloud, EPFL); Siddharth Gupta (EcoCloud, EPFL); Hussein Kassir (Zurich Instruments); Mark Sutherland (EcoCloud, EPFL); Zilu Tian (EcoCloud, EPFL); Mario Paulo Drumond (EcoCloud, EPFL); Babak Falsafi (EcoCloud, EPFL); Christoph Koch (EcoCloud, EPFL)
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.