Home

openYuanrong

openYuanrong is a Serverless distributed computing engine, dedicated to supporting various distributed applications such as AI, big data, and microservices with a unified Serverless architecture.

Application Scenarios

Suitable for AI computing and general-purpose workloads

Distributed Parallelization for Single-Machine Programs

Using Python, C++, Java multi-language SDKs, just a few lines of code to run single-machine programs in distributed parallel, simplifying distributed application development.

AI Agent

Provides lightweight, flexible, sandbox-style secure isolation, extreme elastic Agent runtime, with native support for distributed wait/notify APIs, improving Agent throughput.

Reinforcement Learning

Integrated with Verl, it is the best distributed backend for asynchronous training on Ascend clusters. Integrated with TransferQueue for efficient data flow in post-training systems.

Inference

Integrated with vLLM-Omni to support full-modality model inference, distributed multi-level cache supports Ascend/GPU hardware D2H/H2D/D2D/RH2D transmission, improving inference performance.

Super Node

Native support for Lingqu Super Node, hardware-affinity, fully unleashing hardware performance.

Microservices

Compatible with Spring Boot microservice framework, supporting microservices deployed as Serverless services on openYuanrong clusters, enjoying benefits like elasticity and zero maintenance.

Key Concepts

openYuanrong aims to provide powerful support for your AI platform and optimize any workload at any scale.

Multi-Language Function Runtime

Provides distributed function programming, supporting Python/Java/C++ languages, achieving high-performance distributed execution with single-machine programming experience.

yuanrong

Function System

Provides large-scale distributed dynamic scheduling, supporting rapid elastic scaling and cross-node migration of function instances, achieving efficient cluster resource utilization.

yuanrong-functionsystem

Data System

Provides heterogeneous distributed multi-level cache, supporting Object/Stream semantics, achieving high-performance data sharing and passing between function instances.

Ecosystem & Tools

Spring adaptor/ray adaptor and other ecosystem compatibility.

Extend Applications with openYuanrong

import torch

from datasystem.ds_tensor_client import DsTensorClient
from torch_npu.npu import current_device
from vllm.distributed.parallel_state import (
    get_tp_group, get_ep_group, get_pp_group
)

from vllm.logger import logger
from collections import OrderedDict

_global_tensor_client = None
_DEV_MGET_TIMEOUT_MS = 10 * 1000

# Create openYuanrong data system client
def get_tensor_client():
    global _global_tensor_client

    if _global_tensor_client:
        return _global_tensor_client

    _global_tensor_client = DsTensorClient(host, port, current_device())
    _global_tensor_client.init()

    return _global_tensor_client


# Publish model parameter metadata to openYuanrong data system
def _publish_to_ds(model, key: str):
    tensor_client = get_tensor_client()
    tensor_list = []
    named_tensors = OrderedDict()
    for name, param in model.named_parameters():
        named_tensors[name] = param.data
    for name, param in named_tensors.items():
        tensor_list.append(param)
    key_list = [key + f"index_{index}" for index in range(len(tensor_list))]

    tensor_client.dev_mset(key_list, tensor_list)


# Load specified model parameters from openYuanrong data system
def _load_from_ds(model, key: str):
    tensor_client = get_tensor_client()
    tensor_list = []
    num_load_success_param = 0
    named_tensors = OrderedDict()
    for name, param in model.named_parameters():
        named_tensors[name] = param.data
    for name, param in named_tensors.items():
        tensor_list.append(param)
    key_list = [key + f"index_{index}" for index in range(len(tensor_list))]

    tensor_client.dev_mget(key_list, tensor_list, _DEV_MGET_TIMEOUT_MS)
    num_load_success_param += len(tensor_list)
    return num_load_success_param

# Key step
# Accelerate model loading using openYuanrong data system
try:
    _load_from_ds(model, key)
except Exception as e:
    logger.info(f"Fallback to load user_callback. error:{e}")
    # Load model using default method
    load_callback(model, model_config)
    _publish_to_ds(model, key)

Dive Deeper

Multi-Language Function Programming Interface

Extend general-purpose Python, C++, Java code with simple, unified primitives, achieving fine-grained control over building distributed applications.

openYuanrong Cluster

Deploy openYuanrong clusters on hosts or Kubernetes to seamlessly scale production workloads.

Latest Blog Posts

Breaking the Multi-Tenant Dilemma in Distributed Computing: openYuanrong Multi-Tenant Isolation

As a general-purpose Serverless distributed computing engine, openYuanrong has fully considered multi-tenant isolation since its inception. It supports multiple tenants sharing the same cluster, while deploying FunctionProxy and DataWorker components as DaemonSets to achieve node-level resource sharing, effectively accelerating cold start efficiency for tenant workloads.

2026-03-04
8 min min read
Read More 

openYuanrong DataFlow: High-Performance Distributed Data Transfer Near Compute

openYuanrong DataFlow is a stream semantics feature based on shared memory Pages provided by the openYuanrong data system, designed to eliminate redundant copying and relay overhead in traditional message middleware. The data system includes three components: Client, Worker, and Directory.

2026-02-28
10 min min read
Read More 

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

We design, implement, and evaluate YuanRong, the first production general-purpose serverless platform with a unified programming interface, multi-language runtime, and a distributed computing kernel for cloud-based applications.

2024-08-04
30 min min read
Read More