跳转至

分布式系统界面说明

分布式系统界面说明

本页说明分布式系统的 UI 界面区域功能;分布式系统的配置流程请参考 分布式系统配置

ID 项目 描述
1 全局设置模块切换 包括通用设置、可视化工具、系统设置、系统信息、系统配置和 Agent 列表,点击 Agent 列表可对 Agent 列表信息进行管理
2 Agent 名称及在线情况显示 添加的 Agent 名称及是否在线情况
3 Agent 信息详情展示 展示 Agent 的详细信息,包括 Agent uuid、Agent ip、Agent port、System、CPU 和 Memory
4 添加 Agent 按钮 点击添加 Agent 按钮,弹出增加 Agent 弹框
5 Agent 名称 在弹框中输入 Agent 名称,并点击创建按钮,即可新增一个 Agent
6 新增节点按钮 点击此按钮,弹出新增节点弹框,包括输入节点名称、和选择节点类型
7 输入节点名称 输入节点名称
8 节点类型选择 下拉选框包括以下几项:
动力学节点、动态仿真节点、API 服务节点、SimOneDriver 控制器节点、目标级传感器节点、物理级传感器节点(GPU)、Web 可视化节点、可视化节点(GPU)、判定节点、阿波罗控制接入节点、车联网功能节点、VR 节点、模拟控制器节点、用户自定义接入节点。
9 删除节点 点击此按钮弹出删除节点弹框
10 删除 Agent 弹框 点击确定按钮,即可删除选中的 Agent
11 节点信息列表 包括节点 ID、节点名称
12 更多操作选项 点击此按钮,弹出两个按钮包括编辑和删除两个按钮
13 编辑按钮 点击编辑按钮,弹出编辑按钮弹框
14 节点名称 可在此修改节点名称
15 节点类型选择 点击此可弹出下拉选框,修改节点类型
16 启动命令行 可视化 GPU 节点和物理级传感器节点启动 UE 时的命令行参数(设置窗口位置、分辨率、显卡等),详见 传感器分布式节点 — 编辑节点可视化窗口启动参数
17 删除节点按钮 点击删除节点按钮弹出删除节点弹框
18 删除节点确定 点击删除节点弹框中的确定按钮即可删除节点

Agent Launcher

ID 项目 描述
1 Agent 授权状态 包括已授权和未授权
2 Agent ID 此 Agent 的授权码
3 Public IP Agent 绑定的网卡 ip
4 WebIP 地址和端口号 分布式集群中 Master 主机的 IP 地址
5 服务器地址 系统部署的服务器对外的访问地址
6 服务运行状态 绿色代表服务运行正常,红色代表服务运行异常
7 服务日志 点击此按钮跳转到 Foundation 的 Log 日志文件夹
8 停止按钮 点击此按钮,将切换 Agent 的在线和离线状态
9 启动按钮 当重新点击此按钮时,可将离线的 Agent 切换至在线状态
10 启动状态展示 包括两种状态展示 success to start 和 failed to start

分布式系统

1. 架构图

2. 名词解释

模块名称 含义
Master 核心 Master 节点,负责管理各个 Agent,负责 Agent 的增删改查
Agent 分布式节点的代理节点
Work 内部抽象的仿真工作节点,比如 Nodetimer、BridgeIO、VehicleDynamic 等

3. 架构介绍

分布式架构采用主从模式,Master 作为核心节点,管理各个 Agent,每台机器(或者每个 docker)只能有一个 Agent,所以每增加一个 Agent 相当于增加一台机器的资源;

  • Agent 负责 Work 节点的增删改查、启动停止,每个 Agent 可以管理若干个不同的 Work 节点,可以由用户选择在这个 Agent 下使用哪些 Work 节点,非常灵活;

  • Work 节点是具体的工作节点,负责具体的业务,比如 Nodetimer 是时间服务节点,BridgeIO 是 API 数据收发节点,VehicleDynamic 是动力学节点等;

4. 配置节点和代理的原因

(1)资源扩展:一台机器的资源是有限的,采用分布式架构,可横向扩充资源;

(2)用户可配置:可以根据用户自己的需求,选择添加几个 Agent,在每个 Agent 下使用哪些 Work 节点都可以由用户自主选择,灵活性强;

(3)跨平台:无论是 Windows 还是 Linux 系统,都可以轻松的接入分布式架构,一个 docker 也可以作为一个 Agent 接入,兼容不同的平台;

5. 具体用途

(1)多车互动:每个 Agent 配置一台主车,每台主车之间就可以进行交互;

(2)高精度渲染:一台机器的 GPU 性能有限,无法支持多个摄像头、UE 的高精度渲染,可将 UE、摄像头分布到各个 Agent 下,充分利用每一台机器的 GPU 性能,实现多摄像头、多 UE 的高精渲染;

6. 节点或代理如何选择

在 Agent 列表管理下,可以对不同的 Agent(代理)进行增删改查,每台机器(或者 docker)是一个 Agent,每个 Agent 有唯一的 Agent uuid,若 Agent 连接成功,会显示 Agent 的 ip 地址;

在每个 Agent 下,可以选择的节点有以上几种类型,一般而言,选择什么类型的节点取决于这个 Agent 的用途。

示例

比如这个 Agent 要进行高精度渲染,那么需要在这个 Agent 下添加可视化节点(GPU)和物理级传感器节点(GPU),一种类型可以根据需要添加一个或者多个,另外在这个 Agent 下不需要用到的节点可以删除;

常见的节点类型选择参考如下:

使用场景 建议添加的节点类型
算法接入(C++/Python API) API 服务节点
Apollo 算法对接 阿波罗控制接入节点
自研算法对接 用户自定义接入节点
物理级传感器(高精渲染,如摄像头、激光雷达点云数据) 物理级传感器节点(GPU)、可视化节点(GPU)
目标级传感器(真值数据) 目标级传感器节点
动力学仿真 动力学节点
场景评价判定 判定节点
V2X 车联网 车联网功能节点

7. 节点配置不成功的报错及解决方案

No work node

一般缺失某个节点的原因是实际用到了某个节点,但并没有添加;

比如用到了物理级传感器,但是在节点配置里并没有添加,就会出现这个错误;

解决方案是在该 Agent 的节点配置里添加物理级传感器节点(GPU),并重启 SimOne 服务(点击 SimOneLauncher 系统托盘中的 停止启动);