YuanRong: A Production General-purpose Serverless System for Distributed Applications in the Cloud

Title: YuanRong: A Production General-purpose Serverless System for Distributed Applications in the Cloud

Author: Qiong Chen, Jianmin Qian, Yulin Che, Ziqi Lin, Jianfeng Wang, Jie Zhou, Licheng Song, Yi Liang, Jie Wu, Wei Zheng, Wei Liu, Linfeng Li, Fangming Liu, Kun Tan (Huawei)

Scribe: Kexin Yu (Xiamen University)

Introduction:

The paper presents YuanRong, a production general-purpose serverless system designed to address the limitations of existing Function-as-a-Service (FaaS) platforms. Current FaaS offerings are primarily suited for simple event-driven request handling applications but fail to support more complex distributed applications that require fine-grained coordination between function instances, efficient state and data sharing, and seamless integration with diverse backend services. These limitations hinder the adoption of serverless computing for a broader range of general-purpose workloads.

Key idea and contribution:

To address the above limitations, the authors present the design and implementation of YuanRong, the first production general-purpose serverless platform. YuanRong introduces several novel components to enable efficient coordination and state/data management for distributed applications. First, it develops a fast function system with sub-millisecond invocation latency and locality-aware hierarchical scheduling. Second, it includes a multi-semantic built-in data system that achieves 200-microsecond object exchange latency and 2-millisecond end-to-end latency for 5Gbps streaming data. Third, YuanRong provides an extensible Service Bridge that bridges stateless functions and stateful backend services, enabling connection reuse and distributed transactions.

Evaluation:

image
image

The assessment of the fast function system demonstrates a significant 10-40x reduction in function invocation latency over Ali-FC and AWS Lambda. This highlights the advantages of YuanRong’s approach to shared memory communication and direct function-to-function interaction, rather than the more traditional remote procedure call model.

The evaluation of the multi-semantic data system also shows substantial performance gains. By utilizing shared memory as a local cache for database access, combined with locality-aware placement, YuanRong achieves 2.5-299x faster for put operations and 1.7-11076x faster get operations compared to Redis.

Additionally, the assessment of the service bridge middleware indicates that the overhead introduced by this component is negligible, further contributing to the overall efficiency of the YuanRong platform. More evaluation please refer to the paper.

Questions and opinions

Question 1:

How much will access latency increase by integrating microservices on the YuanRong system?

Answer 1:

According to our test results, the latency is around 1 ms, which is within the acceptable range for users, but we will continue to improve our system to reduce this latency in the future.

Personal thoughts:

YuanRong is the first production-scale serverless platform that supports general-purpose application development. It includes comprehensive optimizations in areas such as function calls, data storage and backend usage. But the evaluation part is a bit thin, I hope there can be more extensive experiments, and I hope to add the practical introduction of the system, such as price-related details.