首页

openYuanrong

openYuanrong 是一个 Serverless 分布式计算引擎,致力于以一套统一 Serverless 架构支持 AI、大数据、微服务等各类分布式应用。

应用场景

适用于 AI 智算和通算工作负载

并行化单机程序

使用 Python、C++、Java 多语言 SDK,只需几行代码即可将单机程序分布式并行化运行,简化分布式应用开发。

AI Agent

提供轻量灵活、沙箱式安全隔离、极致弹性的 Agent 运行时,原生支持分布式 wait/notify API,Agent 吞吐提升。

强化学习

与 Verl 集成,是昇腾集群上异步训练最佳分布式后端。与 TransferQueue 集成实现后训练系统中数据的高效流转。

推理

与 vLLM-Omni 集成支持全模态模型推理,分布式多级缓存支持昇腾/GPU硬件D2H/H2D/D2D/RH2D传输,推理性能提升。

超节点

原生支持灵衢超节点,硬件亲和,充分释放硬件性能。

微服务

兼容 Spring Boot 微服务框架,支持微服务以Serverless 服务方式在 openYuanrong 集群部署,享受弹性、免运维等优势。

关键概念

openYuanrong 旨在为您的AI平台提供强大支持,并优化任何规模下的任何工作负载。

多语言函数运行时

提供函数分布式编程,支持Python/Java/C++语言,实现类单机编程高性能分布式运行。

yuanrong

函数系统

提供大规模分布式动态调度,支持函数实例极速弹性扩缩和跨节点迁移,实现集群资源高效利用。

yuanrong-functionsystem

数据系统

提供异构分布式多级缓存,支持Object/Stream语义,实现函数实例间高性能数据共享及传递。

生态系统和工具

Spring adaptor/ray adaptor以及其他生态兼容。

使用 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

# 创建 openYuanrong 数据系统客户端
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


# 将模型参数元数据发布到 openYuanrong 数据系统
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)


# 从 openYuanrong 数据系统中加载指定的模型参数
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

# 关键步骤
# 使用 openYuanrong 数据系统加速模型加载
try:
    _load_from_ds(model, key)
except Exception as e:
    logger.info(f"Fallback to load user_callback. error:{e}")
    # 使用默认方法加载模型
    load_callback(model, model_config)
    _publish_to_ds(model, key)

深入了解

多语言函数编程接口

使用简单、统一的原语扩展通用 Python、C++、Java 代码,实现对构建分布式应用的精细控制。

openYuanrong 集群

在主机或 Kubernetes 上部署 openYuanrong 集群,即可无缝扩展生产工作负载。

最新博文

破解分布式计算多租困局:openYuanrong 多租隔离

openYuanrong 作为一个通用的 Serverless 分布式计算引擎,在构建之初就充分考虑了多租隔离。支持多租户共享同一套集群,同时,通过 DaemonSet 形式部署 FunctionProxy 和 DataWorker 组件,实现节点级别资源共享,有效加速租户工作负载的冷启动效率。

2026-03-04
阅读需 8 分钟
阅读更多 

openYuanrong 数据流:近计算高性能分布式数据流转

openYuanrong 数据流是 openYuanrong 数据系统提供的一个基于共享内存 Page 的流语义,旨在消除传统消息中间件中的冗余拷贝与中转开销。 数据系统中包含三个组件:Client、Worker 和 Directory。

2026-02-28
阅读需 10 分钟
阅读更多 

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 分钟
阅读更多