一句话:提出可编程数据转换加速器 Optimus Prime 与内存 schema 抽象,大幅提升微服务数据转换吞吐并降低服务时延。
现代在线服务正从单体应用转向松耦合微服务,微服务间通过网络通信需要数据转换(DT)在内部格式与消息格式之间转换。随着应用运行时、协议栈和网络硬件时延不断降低,数据转换逐渐成为瓶颈。作者提出 Optimus Prime(OP),一种可编程数据转换加速器,其核心是新颖的抽象——内存 schema(in-memory schema),用于表示数据转换操作;该 schema 与现有 DT 框架兼容,并允许任何兼容加速器并行执行一个请求中的多个转换。评估表明,OP 的 DT 吞吐量可匹配当今网卡的线速,相比软件实现吞吐量高约 60 倍,而仅消耗极小的 CPU 芯片面积与功耗;在基于 Thrift 的微服务测试中,服务时延最多降低 30%。
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.
@inproceedings{paperbot5405,
title = {Optimus Prime: Accelerating Data Transformation in Servers},
author = {Arash Pourhabibi and Siddharth Gupta and Hussein Kassir and Mark Sutherland and Zilu Tian and Mario Paulo Drumond and Babak Falsafi and Christoph Koch},
booktitle = {ASPLOS},
year = {2020},
doi = {10.1145/3373376.3378501}
}